- Components necessaris per al sistema de seguiment de vehicles basat en Arduino:
- Com es pot utilitzar el mòdul GSM per fer un seguiment de la ubicació:
- Explicació del circuit per a la interfície GSM i GPS amb Arduino:
- Sistema de seguiment de vehicles basat en GSM i GPS que utilitza Arduino - Working
- Interfície GAM i GPS amb el codi Arduino per rastrejar la ubicació del vehicle
Els sistemes de seguiment de vehicles s’utilitzen molt sovint en aplicacions de gestió de flotes i seguiment d’actius. Avui en dia, aquests sistemes no només poden rastrejar la ubicació del vehicle, sinó que també poden informar de la velocitat i fins i tot controlar-la remotament. En general, el seguiment de vehicles és un procés en el qual realitzem un seguiment de la ubicació del vehicle en forma de latitud i longitud (coordenades GPS). Les coordenades GPS són el valor d’una ubicació. Aquest sistema és molt eficient per a aplicacions a l’exterior. Aquest tipus de projecte de sistema de rastreig de vehicles s’utilitza àmpliament en el seguiment de taxis, vehicles robats, autobusos escolars / universitaris, etc. Aquest sistema de seguiment de vehicles també es pot utilitzar fer un seguiment d’un vehicle mitjançant GPS i GSM i també es pot fer servir com a sistema d’alerta de detecció d’accidents, sistema de seguiment de soldats i molts més, només fent pocs canvis en el maquinari i el programari.
Anteriorment, també hem creat molts altres tipus de sistemes de seguiment de vehicles. Podeu consultar-los si us interessa
- Seguiment de vehicles GPS i alerta d'accidents mitjançant Arduino
- Seguiment de vehicles amb Google Maps mitjançant Arduino i ESP8266
- Seguiment de vehicles GPS i alerta d'accidents mitjançant MSP430
- Seguiment de vehicles GPS basat en LoRa mitjançant Arduino
- Localitzador sense GPS mitjançant SIM800 i Arduino
Components necessaris per al sistema de seguiment de vehicles basat en Arduino:
Per construir un sistema senzill de seguiment de vehicles que demanden Arduino, necessitarem els components següents.
- Arduino UNO
- Mòdul GSM
- Mòdul GPS
- LCD de 16x2
- Font d'alimentació
- Connexió de cables
- 10 K POT
Com es pot utilitzar el mòdul GSM per fer un seguiment de la ubicació:
GPS significa Sistema de Posicionament Global (Global Positioning System) i s’utilitza per detectar la latitud i la longitud de qualsevol ubicació de la Terra, amb hora UTC exacta (temps universal coordinat). El mòdul GPS és el component principal del nostre sistema de seguiment de vehicles. Aquest dispositiu rep les coordenades del satèl·lit per cada segon, amb hora i data.
![]()
El mòdul GPS envia les dades relacionades amb la posició de seguiment en temps real i envia tantes dades en format NMEA (vegeu la captura de pantalla següent). El format NMEA consta de diverses frases, en què només necessitem una frase. Aquesta frase comença a partir de $ GPGGA i conté les coordenades, el temps i altra informació útil. Aquest GPGGA es refereix a dades de correcció del sistema de posicionament global. Obteniu més informació sobre la lectura de dades GPS i les seves cadenes aquí.
Podem extreure coordenades de la cadena $ GPGGA comptant les comes de la cadena. Suposem que trobeu una cadena $ GPGGA i la deseu en una matriu; llavors Latitude es pot trobar després de dues comes i la Longitud es pot trobar després de quatre comes. Ara, aquestes latituds i longituds es poden posar en altres matrius.

A continuació es mostra la cadena $ GPGGA, juntament amb la seva descripció:
$ GPGGA, 104534.000,7791.0381, N, 06727.4434, E, 1,08,0,9,510,4, M, 43,9, M,, * 47
$ GPGGA, HHMMSS.SSS, latitud, N, longitud, E, FQ, NOS, HDP, altitud, M, alçada, M,, dades de suma de verificació
|
Identificador |
Descripció |
|
$ GPGGA |
Dades de correcció del sistema de posicionament global |
|
HHMMSS.SSS |
Temps en format hora hora segon i mil·lisegons. |
|
Latitud |
Latitud (coordenada) |
|
N |
Direcció N = nord, S = sud |
|
Longitud |
Longitud (coordenada) |
|
E |
Direcció E = Est, O = Oest |
|
FQ |
Corregir dades de qualitat |
|
NOS |
Nombre de satèl·lits que s’utilitzen |
|
HPD |
Dilució horitzontal de precisió |
|
Altitud |
Altitud respecte al nivell del mar |
|
M |
Metre |
|
Alçada |
Alçada |
|
Suma de control |
Dades de suma de verificació |
Explicació del circuit per a la interfície GSM i GPS amb Arduino:
Les connexions de circuit d’aquest projecte de sistema de seguiment de vehicles són senzilles i es mostren a la imatge següent. Aquí el pin Tx del mòdul GPS està directament connectat al pin digital número 10 d’Arduino. Mitjançant l’ús de Software Serial Library aquí, hem permès la comunicació en sèrie als pins 10 i 11 i els hem fet Rx i Tx respectivament i hem deixat obert el pin Rx del mòdul GPS. Per defecte, els pins 0 i 1 d’Arduino s’utilitzen per a la comunicació en sèrie, però mitjançant la biblioteca SoftwareSerial podem permetre la comunicació en sèrie en altres pins digitals de l’Arduino. L’alimentació de 12 volts s’utilitza per alimentar el mòdul GPS.
![]()
Els pins Tx i Rx del mòdul GSM estan connectats directament als pins Rx i Tx d’Arduino. El mòdul GSM també funciona amb alimentació de 12v. Els pins de dades D4, D5, D6 i D7 d'un LCD opcional estan connectats als pins número 5, 4, 3 i 2 d'Arduino. El pin de comandament RS i EN de la pantalla LCD es connecten amb els pins número 2 i 3 d’Arduino i el pin RW està connectat directament a terra. També es fa servir un potenciòmetre per configurar el contrast o la brillantor de la pantalla LCD.
Sistema de seguiment de vehicles basat en GSM i GPS que utilitza Arduino - Working
En aquest projecte, Arduino s’utilitza per controlar tot el procés amb un receptor GPS i un mòdul GSM. El receptor GPS s’utilitza per detectar coordenades del vehicle, el mòdul GSM s’utilitza per enviar les coordenades a l’usuari per SMS. I també s’utilitza una pantalla LCD de 16x2 opcional per mostrar missatges d’estat o coordenades. Hem utilitzat el mòdul GPS SKG13BL i el mòdul GSM SIM900A.
![]()
Quan estem preparats amb el nostre maquinari després de la programació, el podem instal·lar al nostre vehicle i encendre'l. Aleshores només hem d’enviar un SMS, “Track Vehicle”, al sistema que es col·loca al nostre vehicle. També podem utilitzar algun prefix (#) o sufix (*) com #Track Vehicle *, per identificar correctament l’inici i el final de la cadena, tal com vam fer en aquests projectes: domòtica basada en GSM i tauler d’anuncis sense fils
El mòdul GSM que rep el missatge enviat està connectat al sistema i envia les dades del missatge a Arduino. Arduino el llegeix i extreu el missatge principal de tot el missatge. I després compareu-lo amb un missatge predefinit a Arduino. Si es produeix cap coincidència, Arduino llegeix les coordenades extret la cadena $ GPGGA de les dades del mòdul GPS (el funcionament del GPS s’explica més amunt) i l’envia a l’usuari mitjançant el mòdul GSM. Aquest missatge conté les coordenades de la ubicació del vehicle.
Interfície GAM i GPS amb el codi Arduino per rastrejar la ubicació del vehicle
A la primera part de programació, incloem biblioteques i definim pins per a la comunicació en sèrie de programari i LCD. Definiu també algunes variables amb matrius per emmagatzemar dades. El programari Serial Library s’utilitza per permetre la comunicació en sèrie als pins 10 i 11.
#incloure
Aquí la matriu str s'utilitza per emmagatzemar el missatge rebut del mòdul GSM i gpsString s'utilitza per emmagatzemar la cadena GPS. char * test = "$ GPGGA" s'utilitza per comparar la cadena adequada que necessitem per a coordenades.
Després d'això, hem inicialitzat la comunicació en sèrie, el mòdul LCD, GSM i GPS en funció de configuració i hem mostrat un missatge de benvinguda a la pantalla LCD.
void setup () {lcd.begin (16,2); Serial.begin (9600); gps.begin (9600); lcd.print ("Seguiment de vehicles"); lcd.setCursor (0,1);……………
En funció de bucle rebem un missatge i una cadena GPS.
bucle buit () {serialEvent (); if (temp) {get_gps (); tracking (); }}
Les funcions void init_sms i void send_sms () s’utilitzen per inicialitzar i enviar missatges. Utilitzeu el número de telèfon mòbil de 10 dígits adequat, a la funció init_sms .
La funció void get_gps () s'ha utilitzat per extreure les coordenades de la cadena rebuda.
La funció void gpsEvent () s’utilitza per rebre dades GPS a l’Arduino.
La funció void serialEvent () s’utilitza per rebre missatges de GSM i comparar el missatge rebut amb un missatge predefinit (Track Vehicle).
void serialEvent () {while (Serial.available ()) {if (Serial.find ("Track Vehicle")) {temp = 1; trencar; }…………..
La funció d'inicialització 'gsm_init () ' s'utilitza per inicialitzar i configurar el mòdul GSM, en primer lloc, es comprova si el mòdul GSM està connectat o no enviant l'ordre 'AT' al mòdul GSM. Si es rep la resposta OK, vol dir que ja està a punt. El sistema continua comprovant el mòdul fins que estigui llest o fins que es rebi "OK". A continuació, ECHO es desactiva enviant l'ordre ATE0, en cas contrari, el mòdul GSM farà ressò de totes les ordres. Aleshores, finalment, es comprova la disponibilitat de la xarxa mitjançant el "AT + CPIN?" ordre, si la targeta inserida és la targeta SIM i hi ha el PIN, es dóna la resposta + CPIN: LIST. Això també es comprova repetidament fins que es troba la xarxa. Això es pot entendre clarament al vídeo següent.
Consulteu totes les funcions anteriors a la secció de codi següent.
