Realizziamo una scatola nera per automobile con ESPertino

Proponiamo, in questo articolo, la realizzazione di una scatola nera per automobile. La sua realizzazione è eseguita usando ESPertino e utilizza diverse tecnologie che si intersecano tra loro, come la realizzazione di uno sketch per ESP32, la ricezione e la decodifica delle stringhe NMEA GPS, la gestione del WiFi e la comunicazione via protocollo HTTP. Per la presenza di tutti questi ingredienti, il progetto non è proprio semplice ma la sua realizzazione regalerà tanta conoscenza e soddisfazione a quanti la effettueranno.

Introduzione

ESPertino è ancora protagonista di un ambizioso progetto, quello di una scatola nera con cui è possibile tenere sotto controllo alcuni parametri della nostra automobile. Come detto prima, il progetto è abbastanza importante poiché, in esso, sono coinvolte parecchie conoscenze, richiamate per scopo didattico e sperimentale. E, soprattutto, per far comprendere come una realizzazione può essere portata avanti seguendo metodologie alternative e diverse, magari più confacenti ai gusti e alle competenze del progettista.

Cosa registra la nostra scatola nera

Il sistema è formato da ESPertino (con a bordo ESP32) e corredato dal sensore di luce e di livello di batteria. La nostra scatola nera è in grado, dunque, di rilevare e registrare, costantemente e in tempo reale, le seguenti grandezze:

  • La data e l'ora della registrazione;
  • Il livello di luce ambientale, utile per monitorare l'illuminazione intorno al veicolo, ingresso in gallerie, ecc;
  • Il livello di tensione erogata dalla batteria, in ogni momento;
  • La latitudine della posizione;
  • La longitudine della posizione.

Le ultime due grandezze sono rilevate da un ricevitore GPS, collegato anch'esso con ESPertino. E' possibile non includerle, se esse non sono necessarie nel proprio sistema di monitoraggio.

Schema a blocchi

La figura 1 mostra lo schema a blocchi della scatola nera, con tutte le parti e i dispositivi che interagiscono tra di loro. Come si vede, i componenti sono i seguenti:

  • Il sensore di luce;
  • La tensione della batteria monitorata dall'ADC;
  • Il ricevitore GPS;
  • ESPertino;
  • Un telefono che funge da router per Internet;
  • Un web server per la registrazione dati (un provider con hosting oppure un web server locale casalingo con accesso dall'esterno della rete).
Figura 1: Schema a blocchi della scatola nera.

Figura 1: Schema a blocchi della scatola nera.

Schema elettrico

La figura 2 illustra lo schema elettrico dell'intero sistema. E' abbastanza semplice, non lo è altrettanto la modalità di interazione tra le parti, cosa che vedremo in seguito. E' composto, essenzialmente, da tre parti fondamentali:

  • Il sensore di luce, rappresentato da un partitore di tensione composto da una fotoresistenza e da una resistenza fissa. Il nodo centrale fornisce una tensione proporzionale alla quantità di luce che colpisce il sensore stesso ed è, quindi, immessa nell'ingresso ADC dell'ESP32;
  • Il sensore del livello di batteria è rappresentato da un altro partitore di tensione, configurato come divisore per 10. Questo perché il livello massimo registrabile dall'ESP32 è pari a 3.3V e una tensione di 12V lo distruggerebbe subito. Con il divisore per 10, una tensione di 1.2V, ad esempio, equivarrebbe ad una di 12V della batteria. Si può realizzare facilmente tale partitore utilizzando una resistenza di 90k (quella superiore) e una di 10k (quella inferiore). I calcoli sono stati effettuati, naturalmente, con la legge di Ohm. La figura 3 mostra tale partitore con i vari punti di lavoro;
  • Un ricevitore GPS per ottenere le coordinate di posizione.
Figura 2: Schema elettrico della scatola nera.

Figura 2: Schema elettrico della scatola nera.

 

Figura 3: Il divisore per 10 per il monitoraggio della batteria dell'auto

Figura 3: Il divisore per 10 per il monitoraggio della batteria dell'auto

Come interpretare i dati provenienti dai satelliti GPS

La decodifica dei dati raccolti con un ricevitore GPS è relativamente semplice. Tali informazioni sono restituite all'utente attraverso una sequenza di caratteri. Tale insieme di dati è detta stringa NMEA (National Marine Electronics Association). Il programmatore, con un opportuno linguaggio di programmazione, può estrarre questa successione di caratteri, per poi esaminare le varie parti che la compongono. Tale standard è stato introdotto dalla marina americana. Un esempio di log NMEA potrebbe essere il seguente:

$GPRMC,165030.00,A,1729.87492,N,01103.20141,E,0.332,,040912,,,A*74
$GPVTG,,T,,M,0.532,N,0.984,K,A*22
$GPGGA,165030.00,3729.87492,N,01403.20141,E,1,10,0.91,680.7,M,37.6,M,,*50
$GPGSA,A,3,06,22,19,16,14,11,01,30,32,21,,,1.45,0.91,1.12*04
$GPGSV,3,1,12,01,10,269,27,03,87,262,09,06,76,124,32,11,21,284,14*7B
$GPGSV,3,2,12,14,22,122,20,16,35,202,34,18,28,047,17,19,55,318,13*7E
$GPGSV,3,3,12,21,07,071,23,22,68,070,19,30,10,183,35,32,09,212,25*7C
$GPGLL,3721.87492,N,02403.20141,E,165030.00,A,A*67

[...]

ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 3025 parole ed è riservato agli ABBONATI. Con l'Abbonamento avrai anche accesso a tutti gli altri Articoli Tecnici che potrai leggere in formato PDF per un anno. ABBONATI ORA, è semplice e sicuro.

Scarica subito una copia gratis

3 Commenti

  1. Avatar photo Giovanni Di Maria 6 Giugno 2017
  2. Avatar photo wallace 6 Giugno 2017

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend