Tracker32 su Cloud con ESP32 e Google Apps Script

Il progetto, pubblicato sul numero 286 della rivista Elettronica In, propone un tracciatore GPS autonomo, basato su scheda Heltec WiFi Kit 32 con ESP32 e display OLED 128×64, capace di operare sia offline su microSD sia online con sincronizzazione su Cloud tramite Google Apps Script. L’obiettivo è memorizzare coordinate, altitudine e velocità durante gli spostamenti, quindi trasferire i dati a una pagina web personalizzabile quando il dispositivo rileva una rete WiFi “amica”. L’uso tipico prevede di portare il dispositivo nello zaino o in auto e ritrovare a fine giornata il percorso completo online.

Il modulo GPS è interfacciato in seriale (lettura NMEA a 9600 baud) e richiede un breve tempo di aggancio ai satelliti; per limitare le scritture su SD, il firmware salva i dati a intervalli configurabili. Un LED verde segnala l’aggancio. I file su SD vengono gestiti per evitare sprechi di spazio: dopo l’upload riuscito sul Cloud, il file temporaneo locale viene eliminato. In caso di connessione assente, il sistema continua l’acquisizione offline; alla prima rete disponibile, riprende e completa l’upload dal punto esatto.

Per l’interfaccia locale viene utilizzato un web server asincrono con ESPAsyncWebServer e AsyncTCP, pubblicando pagine HTML/JS (memorizzate in Flash con PROGMEM) e placeholder sostituiti a runtime da callback in C++. Dalla stessa interfaccia è possibile visualizzare lo stato (ad es. numero di righe GPS su SD), forzare la pausa, cancellare file e modificare parametri, mantenendo il server reattivo durante l’esecuzione del resto dell’applicazione.

Il trasferimento al Cloud avviene tramite richieste POST in blocchi (ad es. 10 righe per volta), con conferma del numero di righe scritte e dell’ultimo timestamp, così da riprendere correttamente dopo eventuali interruzioni. I dati “raw” sono archiviati in un foglio “Map” con colonne DateTime, Lat, Lon, Elevation e Description (es. “pause from web”, “pause from no moves”). La stringa “Stop” chiude la sessione e copia i dati in un foglio nominato con la data, aggiornando anche “History”. In senso inverso, l’ESP32 invia GET periodiche a un foglio “Control” per ricevere comandi (es. gestione reti amiche, parametri GPS) e riportare lo stato del dispositivo.

Per lo sviluppo si consiglia PlatformIO integrato in Visual Studio Code, con progetto suddiviso in più file per WiFi, GPS, SD, JSON, Cloud e utilità, semplificando compilazione, upload e controllo versione. La pagina web su Cloud, realizzata con file HTML, jQuery e Bootstrap, visualizza tabella e mappa del percorso, una barra di avanzamento e azioni su click; sono presenti anche pagine dedicate per reti e parametri. Il risultato è una piattaforma estendibile (es. sensori qualità dell’aria, barometro) e pronta a evolversi.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Menu