- Componenti necessari per il sistema di tracciamento dei veicoli basato su Arduino:
- Come può essere utilizzato il modulo GSM per monitorare la posizione:
- Spiegazione del circuito per l'interfacciamento di GSM e GPS con Arduino:
- Sistema di localizzazione dei veicoli basato su GSM e GPS che utilizza Arduino - Funzionante
- Interfaccia GAM e GPS con codice Arduino per monitorare la posizione del veicolo
I sistemi di tracciamento dei veicoli sono molto comunemente utilizzati nelle applicazioni di gestione della flotta e di tracciamento delle risorse. Oggi questi sistemi non solo possono tracciare la posizione del veicolo, ma possono anche segnalare la velocità e persino controllarla a distanza. In generale, il monitoraggio dei veicoli è un processo in cui tracciamo la posizione del veicolo sotto forma di latitudine e longitudine (coordinate GPS). Le coordinate GPS sono il valore di una posizione. Questo sistema è molto efficiente per scopi di applicazione all'aperto. Questo tipo di progetto del sistema di tracciamento dei veicoli è ampiamente utilizzato nel tracciamento di taxi / taxi, veicoli rubati, autobus scolastici / universitari, ecc. Questo sistema di localizzazione dei veicoli può essere utilizzato anche per traccia un veicolo utilizzando GPS e GSM e può anche essere utilizzato come sistema di allarme rilevamento incidenti, sistema di monitoraggio soldato e molti altri, semplicemente apportando poche modifiche all'hardware e al software.
Abbiamo anche costruito molti altri tipi di sistemi di localizzazione dei veicoli in precedenza, puoi verificarli se interessati
- Monitoraggio GPS del veicolo e avviso di incidente utilizzando Arduino
- Monitoraggio dei veicoli con Google Maps utilizzando Arduino e ESP8266
- Monitoraggio GPS del veicolo e avviso di incidente utilizzando MSP430
- Tracciamento GPS dei veicoli basato su LoRa utilizzando Arduino
- Localizzatore di posizione senza GPS utilizzando SIM800 e Arduino
Componenti necessari per il sistema di tracciamento dei veicoli basato su Arduino:
Per costruire un semplice sistema di tracciamento dei veicoli che fa causa ad Arduino avremo bisogno dei seguenti componenti.
- Arduino UNO
- Modulo GSM
- Modulo GPS
- LCD 16x2
- Alimentazione elettrica
- Collegamento dei cavi
- 10 K POT
Come può essere utilizzato il modulo GSM per monitorare la posizione:
GPS è l'acronimo di Global Positioning System e viene utilizzato per rilevare la latitudine e la longitudine di qualsiasi luogo sulla Terra, con l'ora esatta UTC (Universal Time Coordinated). Il modulo GPS è il componente principale del nostro progetto di sistema di localizzazione dei veicoli. Questo dispositivo riceve le coordinate dal satellite per ogni secondo, con ora e data.
Il modulo GPS invia i dati relativi alla posizione di tracciamento in tempo reale e invia tanti dati in formato NMEA (vedi lo screenshot qui sotto). Il formato NMEA è composto da più frasi, in cui è necessaria solo una frase. Questa frase parte da $ GPGGA e contiene le coordinate, l'ora e altre informazioni utili. Questo GPGGA è denominato Global Positioning System Fix Data. Scopri di più sulla lettura dei dati GPS e delle relative stringhe qui.
Possiamo estrarre le coordinate dalla stringa $ GPGGA contando le virgole nella stringa. Supponiamo di trovare la stringa $ GPGGA e di memorizzarla in un array, quindi Latitude può essere trovata dopo due virgole e Longitude può essere trovata dopo quattro virgole. Ora queste latitudine e longitudine possono essere inserite in altri array.
Di seguito è riportata la stringa $ GPGGA, insieme alla sua descrizione:
$ GPGGA, 104534.000,7791.0381, N, 06727.4434, E, 1,08,0.9,510.4, M, 43,9, M`` * 47
$ GPGGA, HHMMSS.SSS, latitudine, N, longitudine, E, FQ, NOS, HDP, altitudine, M, altezza, M, dati di checksum
Identificatore |
Descrizione |
$ GPGGA |
Dati di correzione del sistema di posizionamento globale |
HHMMSS.SSS |
Tempo in formato ora minuti secondi e millisecondi. |
Latitudine |
Latitudine (coordinate) |
N |
Direzione N = Nord, S = Sud |
Longitudine |
Longitudine (coordinate) |
E |
Direzione E = Est, W = Ovest |
FQ |
Correggi dati di qualità |
NOS |
Numero di satelliti utilizzati |
HPD |
Diluizione orizzontale della precisione |
Altitudine |
Altitudine dal livello del mare |
M |
Meter |
Altezza |
Altezza |
Checksum |
Dati di checksum |
Spiegazione del circuito per l'interfacciamento di GSM e GPS con Arduino:
I collegamenti del circuito di questo progetto del sistema di tracciamento dei veicoli sono semplici e sono mostrati nell'immagine qui di seguito. Qui il pin Tx del modulo GPS è direttamente collegato al pin digitale numero 10 di Arduino. Usando la Software Serial Library qui, abbiamo consentito la comunicazione seriale sui pin 10 e 11, e li abbiamo resi rispettivamente Rx e Tx e lasciato aperto il pin Rx del modulo GPS. Per impostazione predefinita, i Pin 0 e 1 di Arduino sono usati per la comunicazione seriale ma utilizzando la libreria SoftwareSerial, possiamo consentire la comunicazione seriale su altri pin digitali di Arduino. L'alimentazione a 12 Volt viene utilizzata per alimentare il modulo GPS.
I pin Tx e Rx del modulo GSM sono direttamente collegati ai pin Rx e Tx di Arduino. Il modulo GSM è anche alimentato da 12v. I pin dati D4, D5, D6 e D7 di un LCD opzionale sono collegati ai pin numero 5, 4, 3 e 2 di Arduino. I pin di comando RS ed EN dell'LCD sono collegati con i pin numero 2 e 3 di Arduino e il pin RW è direttamente collegato a terra. Un potenziometro viene utilizzato anche per impostare il contrasto o la luminosità del display LCD.
Sistema di localizzazione dei veicoli basato su GSM e GPS che utilizza Arduino - Funzionante
In questo progetto, Arduino viene utilizzato per controllare l'intero processo con un ricevitore GPS e un modulo GSM. Il ricevitore GPS viene utilizzato per rilevare le coordinate del veicolo, il modulo GSM viene utilizzato per inviare le coordinate all'utente tramite SMS. Inoltre, viene utilizzato un LCD 16x2 opzionale per visualizzare messaggi di stato o coordinate. Abbiamo utilizzato il modulo GPS SKG13BL e il modulo GSM SIM900A.
Quando siamo pronti con il nostro hardware dopo la programmazione, possiamo installarlo nel nostro veicolo e accenderlo. Quindi dobbiamo solo inviare un SMS, "Track Vehicle", al sistema che è inserito nel nostro veicolo. Possiamo anche usare un prefisso (#) o un suffisso (*) come #Track Vehicle *, per identificare correttamente l'inizio e la fine della stringa, come abbiamo fatto in questi progetti: Domotica basata su GSM e Bacheca wireless
Il messaggio inviato viene ricevuto dal modulo GSM che è collegato al sistema e invia i dati del messaggio ad Arduino. Arduino lo legge ed estrae il messaggio principale dall'intero messaggio. E poi confrontalo con il messaggio predefinito in Arduino. Se si verifica una corrispondenza, Arduino legge le coordinate estraendo la stringa $ GPGGA dai dati del modulo GPS (il funzionamento del GPS spiegato sopra) e inviala all'utente utilizzando il modulo GSM. Questo messaggio contiene le coordinate della posizione del veicolo.
Interfaccia GAM e GPS con codice Arduino per monitorare la posizione del veicolo
Nella prima parte della programmazione includiamo le librerie e definiamo i pin per la comunicazione seriale LCD e software. Definire anche alcune variabili con array per la memorizzazione dei dati. La libreria seriale software viene utilizzata per consentire la comunicazione seriale sui pin 10 e 11.
#includere
Qui l'array str viene utilizzato per memorizzare il messaggio ricevuto dal modulo GSM e gpsString viene utilizzato per memorizzare la stringa GPS. char * test = "$ GPGGA" viene utilizzato per confrontare la stringa corretta di cui abbiamo bisogno per le coordinate.
Dopo di che abbiamo inizializzato la comunicazione seriale, LCD, modulo GSM e GPS nella funzione di configurazione e mostrato un messaggio di benvenuto sul display LCD.
void setup () {lcd.begin (16,2); Serial.begin (9600); gps.begin (9600); lcd.print ("Vehicle Tracking"); lcd.setCursor (0,1);……………
Nella funzione loop riceviamo messaggio e stringa GPS.
void loop () {serialEvent (); if (temp) {get_gps (); tracking (); }}
Le funzioni void init_sms e void send_sms () sono usate per inizializzare e inviare messaggi. Utilizzare il numero corretto di cellulare a 10 cifre, nella funzione init_sms .
La funzione void get_gps () è stata utilizzata per estrarre le coordinate dalla stringa ricevuta.
La funzione void gpsEvent () viene utilizzata per ricevere dati GPS in Arduino.
La funzione void serialEvent () viene utilizzata per ricevere messaggi da GSM e confrontare il messaggio ricevuto con un messaggio predefinito (Track Vehicle).
void serialEvent () {while (Serial.available ()) {if (Serial.find ("Track Vehicle")) {temp = 1; rompere; }…………..
La funzione di inizializzazione "gsm_init () " viene utilizzata per inizializzare e configurare il modulo GSM, dove in primo luogo, il modulo GSM viene controllato se è connesso o meno inviando il comando "AT" al modulo GSM. Se viene ricevuta una risposta OK, significa che è pronto. Il sistema continua a verificare la presenza del modulo finché non è pronto o finché non viene ricevuto "OK". Quindi ECHO viene spento inviando il comando ATE0, altrimenti il modulo GSM farà eco a tutti i comandi. Quindi, infine, la disponibilità della rete viene verificata tramite "AT + CPIN?" comando, se la scheda inserita è SIM e il PIN è presente, dà la risposta + CPIN: READY. Anche questo viene controllato ripetutamente finché non viene trovata la rete. Questo può essere chiaramente compreso dal video qui sotto.
Controllare tutte le funzioni di cui sopra nella sezione Codice di seguito.