Betrouwbare Auto GPS Tracker met Real-time Thinger.io Kaartintegratie
Onderdelen en benodigdheden
- Arduino Leonardo (hardware serial voor GPS) – 1×
- SIM900 development board (GSM/GPRS) – 1×
- u-blox NEO-6M GPS module – 1×
- GPS-antenne – 1×
- Weerstand 220 Ω – 2×
- LED (status) – 2×
- Soldeerprint 7×5 cm (voor status LEDs) – 1×
- 12V naar 5V step-down module – 1×
- Adafruit SD-kaartlezer (5V tolerant) – 1×
- Micro SD-kaart – 1×
Tools
- Solderbout
Apps en online diensten
- Thinger.io Platform (gratis IoT met dashboards)
Over dit project
Gestart als simpele GPS-tracker, uitgegroeid tot multipurpose tracker voor in de auto. Functies:
- Elke 2 minuten GPS-coördinaten naar Thinger.io (kaart op dashboard) via HTTP POST.
- SMS-commando's:
POS(locatie + Google Maps link),GETKM(afstand),RESETKM(teller reset). - Software-odometer: SMS-herinnering elke XX km (bijv. 4000 km voor olievangbak).
Componenten: NEO-6M GPS (hardware serial), SIM900 (software serial), Leonardo (2 hardware serials), SD-kaart (SPI, PetitFS bibliotheek voor geheugenbesparing), 3D-print behuizing (STL's bijgeleverd).

NeoGPS instellen
NeoGPS is lichtgewicht (minder RAM dan TinyGPS++). Na installatie: vervang GPSPort.h in bibliotheekmap door:
#ifndef GPSport_h
#define GPSport_h
#define gpsPort Serial1
#define GPS_PORT_NAME "Serial1"
#define DEBUG_PORT Serial
#endif
Voor andere boards: pas Serial1 aan (bijv. Serial2 op Mega).
Nauwkeurigheid: GPS drift zorgt voor kleine afwijkingen. Software telt alleen beweging >10 m per 15 s. Meetinterval 15 s (verlaag voor hogere precisie).
PetitFS instellen (SD-kaart)
Ultra-lichtgewicht FAT-bibliotheek (standaard SD-lib te groot). Beperkingen: geen aanmaken/uitbreiden bestanden, geen append, 1 bestand tegelijk. Wel voldoende voor 1 waarde (afstand).
- In
pffArduino.h:SD_CS_PINop 10 zetten. - In
pffconf.h: zet_USE_DIR,_USE_LSEEK,_FS_FAT12,_FS_FAT16op 0 (bespaart flash). - Fix compilatiefout in
pff.cpp: voeg return-typeFRESULTtoe aan ontbrekende functie.
SD-kaart voorbereiden: Formateer FAT32 (officiële SD Formatter). Plaats dist.txt en settings.txt (uit projectbestanden) op de kaart. PetitFS is kieskeurig over formaat; gebruik de meegeleverde bestanden. dist.txt = startafstand (bijv. 0), settings.txt = triggerafstand in meters voor SMS.
SIM900 voorbereiden
- Externe voeding ≥2 A (5–9 V DC, 5,5 mm jack).
- Power selector naar external.
- Serial selector → Software Serial (jumper instellen).
- Software power-on: soldeer jumper R13, verbind SIM900 pin 9 met Arduino D7.
- SIM-kaart: PIN-uitzetten via telefoon.
- Firmware ≥ B10 vereist! Check met
AT+CGMR. Oudere versies ondersteunen geenContent-type: application/jsonin HTTP POST. Update handleiding: SIM900 firmware update.
Code-aanpassingen
- APN: in
connectGPRS()vervangTeleXXXdoor jouw provider APN. - Tijdzone:
#define UTC_OFFSET 1(UTC+1). - SMS-notificatie: in
loop()sectie bijtriggerDistance(uitsettings.txt). Tekst/nummer aanpassen of uitschakelen. - Standaard nummer voor notificaties:
#define DEFAULT_NUMBER "+4712345678". - Debug: haal
// while (!Serial);weg bij standalone gebruik.
Thinger.io integratie
- Account aanmaken → Bucket maken (database).
- HTTP Device maken (korte naam! Lange naam = lange auth key > 256 bytes buffer).
- Device callback → Settings → Write bucket naar jouw bucket.
- Noteer Method URL en Authorization header (zonder "Bearer").
- In
postDataThinger(): vervang URL en auth key. Gebruik https:// (niet https://) – SIM900 ondersteunt geen SSL. - Succes: seriële monitor toont
+HTTPACTION: 1,200,0.






Meer velden toevoegen: breid sprintf(httpContent, ...) uit met extra JSON-velden.
Behuizing (3D-print)
STL-bestanden bijgeleverd: bovenkant (normaal/compact), onderkant, klambesjes voor SIM900. M3 schroeven. Print 0,2 mm zonder supports. Montagegaten in bovenkant na printen boren (3 mm).

Aansluiting op autobatterij
Aangesloten op sigarettestopcontact (ingeschakeld met contact). Voor permanente voeding: direct op batterij met eventueel powerbank als buffer. Step-down module (12V→5V, 2× USB) voedt Arduino en SIM900. Stroomverbruik ~110 mA (meer bij slecht GSM-dekking).

Bekende issues
- SMS-commando tijdens HTTP POST wordt gemist (wacht even, stuur opnieuw).
- Geen auto-reconnect bij netwerkherstel na opstart zonder dekking (mogelijke toekomstige fix).
Code
Hoofdsketch: GPS_tracker_Leonardo_v2.ino (zie projectpagina voor volledige code met alle bibliotheken: NeoGPS, Time, PetitFS).
3D-print bestanden
- Bovenkant (normaal/compact)
- Onderkant
- SIM900 klemmen (2×)
dist.txtensettings.txtvoor SD-kaart
Schema

Productieproces
- Strijkplank Productie: Ontwerp, Materialen en Productieproces
- Surfplank Constructie en Ontwerp: Van Polynesische Wortels tot Moderne Innovatie
- Sensordata integreren in een Raspberry Pi: Een praktische gids
- De PSoC 6 Pioneer Board met IoT Add-On Shield Beheersen: Een Ontwikkelaarsgids
- De risico's van rijden met te lage motor-koelvloeistof
- Intern Integratiesystemen Inzetten voor Precisiefabrieken
- Raspberry Pi onthult RP2040 MCU en $4 Pico‑bord
- Outdoor GPS Activatracking: Trends, Uitdagingen en Opkomende Technologieën
- Python's map()-functie beheersen: syntaxis, voorbeelden en best practices
- Java HashMap: Een Uitgebreide Gids
- Versnel COVID-19 Medicijn Hergebruik met BIOVIA Living Map