- Componente necesare pentru sistemul de urmărire a vehiculelor bazat pe Arduino:
- Cum poate fi utilizat modulul GSM pentru a urmări locația:
- Explicația circuitului pentru interfața GSM și GPS cu Arduino:
- Sistem de urmărire a vehiculelor bazat pe GSM și GPS folosind Arduino - Functionare
- Interfață GAM și GPS cu codul Arduino pentru a urmări locația vehiculului
Sistemele de urmărire a vehiculelor sunt foarte frecvent utilizate în gestionarea flotei și în aplicațiile de urmărire a activelor. Astăzi, aceste sisteme nu numai că pot urmări locația vehiculului, ci pot raporta viteza și chiar o pot controla de la distanță. În general, urmărirea vehiculelor este un proces în care urmărim locația vehiculului sub formă de latitudine și longitudine (coordonate GPS). Coordonatele GPS sunt valoarea unei locații. Acest sistem este foarte eficient pentru aplicații în exterior. Acest tip de proiect de sistem de urmărire a vehiculelor se află pe scară largă în urmărirea cabinelor / taxiurilor, a vehiculelor furate, a autobuzelor școlare / universitare, etc. Acest sistem de urmărire a vehiculului poate fi, de asemenea, utilizat urmăriți un vehicul folosind GPS și GSM și pot fi, de asemenea, utilizate ca sistem de alertă de detectare a accidentelor, sistem de urmărire a soldaților și multe altele, făcând doar câteva modificări în hardware și software.
Am construit, de asemenea, multe alte tipuri de sisteme de urmărire a vehiculelor, le puteți verifica dacă sunteți interesat
- Urmărirea GPS a vehiculelor și alerta de accidente folosind Arduino
- Urmărirea vehiculelor cu Google Maps folosind Arduino și ESP8266
- Urmărirea GPS a vehiculelor și alerta de accidente folosind MSP430
- Urmărirea GPS a vehiculelor bazată pe LoRa utilizând Arduino
- Localizator de urmărire fără GPS folosind SIM800 și Arduino
Componente necesare pentru sistemul de urmărire a vehiculelor bazat pe Arduino:
Pentru a construi un sistem simplu de urmărire a vehiculului care dă în judecată Arduino, vom avea nevoie de următoarele componente.
- Arduino UNO
- Modul GSM
- Modul GPS
- 16x2 LCD
- Alimentare electrică
- Conectarea firelor
- 10 K POT
Cum poate fi utilizat modulul GSM pentru a urmări locația:
GPS înseamnă Sistem de poziționare globală și este utilizat pentru a detecta latitudinea și longitudinea oricărei locații de pe Pământ, cu ora UTC exactă (timpul universal coordonat). Modulul GPS este componenta principală a proiectului nostru de sistem de urmărire a vehiculului. Acest dispozitiv primește coordonatele de la satelit pentru fiecare secundă, cu ora și data.
Modulul GPS trimite datele legate de poziția de urmărire în timp real și trimite atât de multe date în format NMEA (vezi captura de ecran de mai jos). Formatul NMEA constă în mai multe propoziții, în care avem nevoie doar de o propoziție. Această propoziție începe de la $ GPGGA și conține coordonatele, timpul și alte informații utile. Acest GPGGA este menționat la datele de corecție ale sistemului de poziționare globală. Aflați mai multe despre citirea datelor GPS și șirurile sale aici.
Putem extrage coordonatele din șirul $ GPGGA numărând virgulele din șir. Să presupunem că găsiți șirul $ GPGGA și îl stocați într-o matrice, atunci Latitude poate fi găsită după două virgule, iar Longitudina poate fi găsită după patru virgule. Acum, aceste latitudini și longitudini pot fi plasate în alte matrice.
Mai jos este șirul $ GPGGA, împreună cu descrierea sa:
$ 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, înălțime, M,, date de control
Identificator |
Descriere |
$ GPGGA |
Date de remediere a sistemului de poziționare globală |
HHMMSS.SSS |
Timp în oră minut secunde și format de milisecunde. |
Latitudine |
Latitudine (coordonată) |
N |
Direcția N = Nord, S = Sud |
Longitudine |
Longitudine (coordonată) |
E |
Direcția E = Est, W = Vest |
FQ |
Remediați datele de calitate |
NOS |
Numărul de sateliți utilizați |
HPD |
Diluarea orizontală a preciziei |
Altitudine |
Altitudine față de nivelul mării |
M |
Metru |
Înălţime |
Înălţime |
Suma de control |
Date privind suma de verificare |
Explicația circuitului pentru interfața GSM și GPS cu Arduino:
Conexiunile la circuit ale acestui proiect de sistem de urmărire a vehiculului sunt simple și sunt prezentate în imaginea de mai jos. Aici pinul Tx al modulului GPS este conectat direct la pinul digital numărul 10 al Arduino. Folosind Software Serial Library aici, am permis comunicarea în serie pe pinii 10 și 11, le-am făcut Rx și respectiv Tx și am lăsat pinul Rx al modulului GPS deschis. În mod implicit, pinul 0 și 1 din Arduino sunt utilizați pentru comunicații seriale, dar utilizând biblioteca SoftwareSerial, putem permite comunicarea serială pe alți pini digitali ai Arduino. Alimentarea cu 12 volți este utilizată pentru alimentarea modulului GPS.
Pinii Tx și Rx ai modulului GSM sunt conectați direct la pinii Rx și Tx ai Arduino. Modulul GSM este alimentat și de sursa de 12V. Pinii de date D4, D5, D6 și D7 ai unui LCD opțional sunt conectați la pinul 5, 4, 3 și 2 din Arduino. Pinul de comandă RS și EN al ecranului LCD sunt conectate cu pinul nr. 2 și 3 al Arduino, iar pinul RW este conectat direct la masă. Un potențiometru este, de asemenea, utilizat pentru setarea contrastului sau luminozității ecranului LCD.
Sistem de urmărire a vehiculelor bazat pe GSM și GPS folosind Arduino - Functionare
În acest proiect, Arduino este utilizat pentru controlul întregului proces cu un receptor GPS și un modul GSM. Receptorul GPS este utilizat pentru detectarea coordonatelor vehiculului, modulul GSM este utilizat pentru trimiterea coordonatelor către utilizator prin SMS. Și un LCD opțional de 16x2 este, de asemenea, utilizat pentru afișarea mesajelor de stare sau a coordonatelor. Am folosit modulul GPS SKG13BL și modulul GSM SIM900A.
Când ne pregătim cu hardware-ul nostru după programare, îl putem instala în vehiculul nostru și îl putem alimenta. Apoi, trebuie doar să trimitem un SMS, „Urmăriți vehiculul”, către sistemul care este plasat în vehiculul nostru. De asemenea, putem folosi un prefix (#) sau un sufix (*), cum ar fi #Track Vehicle *, pentru a identifica în mod corespunzător începutul și sfârșitul șirului, așa cum am făcut în aceste proiecte: Automatizare bazată pe GSM și Panou de anunțuri wireless
Mesajul trimis este primit de modulul GSM care este conectat la sistem și trimite datele mesajului către Arduino. Arduino îl citește și extrage mesajul principal din întregul mesaj. Și apoi comparați-l cu mesajul predefinit din Arduino. Dacă apare o potrivire, Arduino citește coordonatele extragând $ GPGGA String din datele modulului GPS (funcționarea GPS explicată mai sus) și o trimite utilizatorului utilizând modulul GSM. Acest mesaj conține coordonatele de localizare a vehiculului.
Interfață GAM și GPS cu codul Arduino pentru a urmări locația vehiculului
În prima parte a programării, includem biblioteci și definim pini pentru comunicații seriale LCD și software. De asemenea, definiți o variabilă cu tablouri pentru stocarea datelor. Software Serial Library este utilizat pentru a permite comunicarea în serie pe pinii 10 și 11.
#include
Aici matricea str este utilizată pentru stocarea mesajelor primite de la modulul GSM și gpsString este folosită pentru stocarea șirului GPS. char * test = ”$ GPGGA” este folosit pentru a compara șirul potrivit de care avem nevoie pentru coordonate.
După aceasta, am inițializat comunicarea serială, modulul LCD, GSM și GPS în funcția de configurare și am afișat un mesaj de bun venit pe ecranul LCD.
void setup () {lcd.begin (16,2); Serial.begin (9600); gps.begin (9600); lcd.print („Urmărirea vehiculului”); lcd.setCursor (0,1);……………
În funcția de buclă primim mesaj și șir GPS.
bucla void () {serialEvent (); if (temp) {get_gps (); tracking (); }}
Funcțiile void init_sms și void send_sms () sunt utilizate pentru inițializarea și trimiterea mesajului. Utilizați telefonul mobil cu 10 cifre nu, în funcția init_sms .
Funcția void get_gps () a fost utilizată pentru a extrage coordonatele din șirul primit.
Funcția void gpsEvent () este utilizată pentru primirea datelor GPS în Arduino.
Funcția void serialEvent () este utilizată pentru primirea mesajului de la GSM și compararea mesajului primit cu mesajul predefinit (Track Vehicle).
void serialEvent () {while (Serial.available ()) {if (Serial.find ("Track Vehicle")) {temp = 1; pauză; }…………..
Funcția de inițializare „gsm_init () ” este utilizată pentru inițializarea și configurarea modulului GSM, unde, în primul rând, modulul GSM este verificat dacă este conectat sau nu prin trimiterea comenzii „AT” la modulul GSM. Dacă este primit răspunsul OK, înseamnă că este gata. Sistemul continuă să verifice modulul până când devine gata sau până când se primește „OK”. Apoi ECHO este oprit prin trimiterea comenzii ATE0, altfel modulul GSM va face ecou la toate comenzile. Apoi, în sfârșit, disponibilitatea rețelei este verificată prin „AT + CPIN?” comanda, dacă cardul introdus este cartela SIM și codul PIN este prezent, acesta dă răspunsul + CPIN: GATA. Acest lucru este verificat în mod repetat până când rețeaua este găsită. Acest lucru poate fi clar înțeles de videoclipul de mai jos.
Verificați toate funcțiile de mai sus în secțiunea Cod de mai jos.