- Az Arduino alapú járműkövető rendszerhez szükséges alkatrészek:
- Hogyan lehet a GSM modult használni a hely nyomon követésére:
- Áramkör magyarázat a GSM és a GPS és az Arduino összekapcsolására:
- GSM és GPS alapú járműkövető rendszer Arduino használatával - Munka
- GAM és GPS interakció az Arduino kóddal a jármű helyének követéséhez
A járműkövető rendszereket nagyon gyakran használják a flottakezelésben és az eszközkövető alkalmazásokban. Ma ezek a rendszerek nemcsak a jármű helyét tudják nyomon követni, hanem jelenteni is tudják a sebességet, és akár távolról is szabályozhatják azt. Általánosságban elmondható, hogy a járművek nyomon követése olyan folyamat, amelyben a jármű helyét földrajzi szélesség és hosszúság (GPS koordináták) formájában követjük nyomon. A GPS koordináták egy hely értéke. Ez a rendszer nagyon hatékony kültéri alkalmazásokhoz. Ez a fajta járműkövető rendszer projekt széles körben foglalkozik fülkék / taxik, ellopott járművek, iskolai / főiskolai buszok stb. Nyomon követésével. Ebben a projektben egy lépéssel haladunk előre egy GPS és egy Arduino-t használó GPS-alapú járműkövető rendszer kiépítésével. Ezt a járműkövető rendszert is fel lehet használni nyomon követni egy járművet GPS és GSM használatával, és használható baleset-észlelő riasztórendszerként, katonakövető rendszerként és még sok másként is, csupán néhány változtatást végrehajtva a hardveren és a szoftveren.
Korábban sok más típusú járműkövető rendszert is építettünk, ha érdekli, megnézheti őket
- GPS járműkövetés és baleseti riasztás az Arduino segítségével
- Járműkövetés a Google Maps segítségével Arduino és ESP8266 segítségével
- GPS járműkövetés és baleset-riasztás az MSP430 segítségével
- LoRa alapú GPS járműkövetés Arduino segítségével
- Helymeghatározó GPS nélkül SIM800 és Arduino segítségével
Az Arduino alapú járműkövető rendszerhez szükséges alkatrészek:
Az Arduino ellen indított egyszerű járműkövető rendszer felépítéséhez a következő alkatrészekre lesz szükségünk.
- Arduino UNO
- GSM modul
- GPS modul
- 16x2 LCD
- Tápegység
- Vezetékek csatlakoztatása
- 10 K POT
Hogyan lehet a GSM modult használni a hely nyomon követésére:
A GPS a globális helymeghatározó rendszert jelenti, és a Föld bármely pontjának szélességi és hosszúsági fokának érzékelésére szolgál, pontos UTC idővel (Universal Time Coordinated). A GPS modul a járműkövető rendszer projektünk fő eleme. Ez az eszköz másodpercenként megkapja a műhold koordinátáit, az idővel és a dátummal együtt.
A GPS modul valós időben küldi a követési pozícióval kapcsolatos adatokat, és ennyi adatot küld NMEA formátumban (lásd az alábbi képernyőképet). Az NMEA formátum több mondatból áll, amelyekben csak egy mondatra van szükségünk. Ez a mondat a $ GPGGA- tól kezdődik, és tartalmazza a koordinátákat, az időt és egyéb hasznos információkat. Ez a GPGGA a Globális Helymeghatározó Rendszer Javítási Adataira utal. Tudjon meg többet a GPS-adatok és azok húrjainak olvasásáról itt.
A $ GPGGA karakterláncból kivonhatjuk a koordinátát, ha megszámoljuk a vesszőket a karakterláncban. Tegyük fel, hogy megtalálta a $ GPGGA karakterláncot, és egy tömbben tárolja, majd a Latitude két vessző után, a Longitude pedig négy vessző után található. Ezeket a szélességi és hosszúsági értékeket más tömbökbe is beilleszthetjük.
Az alábbiakban látható a $ GPGGA karakterlánc a leírásával együtt:
GPGGA, 104534.000.7791.0381, N, 06727.4434, E, 1.08,0.9.510.4, M, 43.9, M,, * 47
$ GPGGA, HHMMSS.SSS, szélesség, N, hosszúság, K, FQ, NOS, HDP, magasság, M, magasság, M,, ellenőrző összeg adatok
Azonosító |
Leírás |
$ GPGGA |
Globális helymeghatározó rendszer rögzíti az adatokat |
HHMMSS.SSS |
Idő óra perc másodpercben és ezredmásodperc formátumban. |
Szélességi kör |
Földrajzi szélesség (koordináták) |
N |
Irány N = észak, S = dél |
Hosszúság |
Hosszúság (koordináta) |
E |
E = kelet, W = nyugat irány |
FQ |
Javítsa a minőségi adatokat |
NOS |
A használt műholdak száma |
HPD |
A pontosság vízszintes hígítása |
Magasság |
Tengerszint feletti magasság |
M |
Méter |
Magasság |
Magasság |
Ellenőrző összeg |
Ellenőrző összeg adatok |
Áramkör magyarázat a GSM és a GPS és az Arduino összekapcsolására:
A járműkövető rendszer projekt áramköri csatlakozásai egyszerűek és a belwo képen láthatóak. Itt a GPS modul Tx tűje közvetlenül csatlakozik az Arduino 10-es számú digitális tűjéhez. A Software Serial Library itt történő használatával engedélyeztük a soros kommunikációt a 10-es és a 11-es tűn, és Rx-ként, illetve Tx-kké tettük őket, és nyitva hagytuk a GPS-modul Rx-tűjét. Alapértelmezés szerint az Arduino 0-as és 1-es érintkezõjét használják a soros kommunikációhoz, de a SoftwareSerial könyvtár használatával engedélyezhetjük a soros kommunikációt az Arduino más digitális csatlakozóin. 12 voltos tápfeszültséget használ a GPS modul.
A GSM modul Tx és Rx csapjai közvetlenül kapcsolódnak az Arduino Rx és Tx tűihez. A GSM modult szintén 12 V-os tápfeszültség táplálja. Az opcionális LCD D4, D5, D6 és D7 adatcsapjai az Arduino 5., 4., 3. és 2. tűjéhez vannak csatlakoztatva. Az LCD RS és EN parancscsapjai az Arduino 2. és 3. számú csatlakozóival vannak összekötve, az RW tű pedig közvetlenül a földdel van összekötve. Potenciométert is használnak az LCD kontrasztjának vagy fényerejének beállításához.
GSM és GPS alapú járműkövető rendszer Arduino használatával - Munka
Ebben a projektben az Arduino-t arra használják, hogy GPS-vevővel és GSM-modullal vezérelje az egész folyamatot. A GPS vevőt a jármű koordinátáinak detektálására, a GSM modult arra használják, hogy a koordinátákat SMS-ben küldje el a felhasználónak. És egy opcionális 16x2 LCD-t is használnak állapotüzenetek vagy koordináták megjelenítésére. Használtuk az SKG13BL GPS modult és a SIM900A GSM modult.
Ha a hardverünkkel programozás után készen állunk, telepíthetjük a járművünkbe és bekapcsolhatjuk. Ezután csak egy SMS-t („Jármű nyomon követése”) kell küldenünk a járművünkbe helyezett rendszernek. Használhatunk néhány előtagot (#) vagy utótagot (*), mint például a #Track Vehicle *, a karakterlánc kezdetének és végének megfelelő azonosításához, hasonlóan ehhez a projekthez: GSM alapú otthoni automatizálás és vezeték nélküli hirdetőtábla
Az elküldött üzeneteket a rendszerhez csatlakozó GSM modul fogadja, amely üzenetadatokat küld az Arduino-nak. Arduino elolvassa és kivonja a fő üzenetet az egész üzenetből. Ezután hasonlítsa össze az Arduino előre definiált üzenetével. Ha bármilyen egyezés történik, az Arduino kiolvassa a koordinátákat azáltal, hogy kivonja a $ GPGGA karakterláncot a GPS modul adataiból (a GPS működését fentebb kifejtettük), és elküldi a felhasználónak a GSM modul segítségével. Ez az üzenet tartalmazza a jármű helyének koordinátáit.
GAM és GPS interakció az Arduino kóddal a jármű helyének követéséhez
A programozási részben először könyvtárakat foglalunk be, és meghatározzuk az LCD és szoftver soros kommunikáció csapjait. Adjon meg néhány változót tömbökkel az adatok tárolásához. A Software Serial Library a soros kommunikáció engedélyezésére szolgál a 10. és 11. tűn.
#include
Itt az str tömböt a GSM-modultól kapott üzenet tárolására, a gpsString- et a GPS-karakterlánc tárolására használják. A char * test = ”$ GPGGA” a megfelelő karakterlánc összehasonlítására szolgál, amelyre szükségünk van a koordinátákhoz.
Ezt követően inicializáltuk a soros kommunikációt, az LCD, a GSM és a GPS modult a beállítási funkcióban, és üdvözlő üzenetet mutattunk az LCD-n.
void setup () {lcd.begin (16,2); Serial.begin (9600); gps.begin (9600); lcd.print ("Járműkövetés"); lcd.setCursor (0,1);……………
A hurok funkcióban üzenetet és GPS karakterláncot kapunk.
void loop () {serialEvent (); if (temp) {get_gps (); követés(); }}
A void init_sms és a void send_sms () funkciókat az üzenet inicializálására és küldésére használják. Használjon megfelelő 10 jegyű mobiltelefonszámot az init_sms funkcióban.
A void get_gps () függvényt használták a koordináták kivonására a kapott karakterláncból.
A void gpsEvent () funkció arra szolgál, hogy GPS adatokat fogadjon az Arduino-ba.
A Function void serialEvent () az üzenet fogadására szolgál a GSM-től, és a kapott üzenet összehasonlításához az előre definiált üzenettel (Track Vehicle).
void serialEvent () {while (Serial.available ()) {if (Serial.find ("Jármű követése")) {temp = 1; szünet; }…………..
Az 'gsm_init () ' inicializáló függvényt a GSM modul inicializálásához és konfigurálásához használják, ahol először a GSM modult ellenőrizzük, hogy csatlakoztatva van-e vagy sem, az 'AT' parancs elküldésével a GSM modulba. Ha a válasz OK, azt jelenti, hogy készen áll. A rendszer folyamatosan ellenőrzi a modult, amíg készen áll, vagy amíg az 'OK' üzenetet meg nem kapja. Ezután az ECHO kikapcsol az ATE0 parancs elküldésével, különben a GSM modul visszhangozza az összes parancsot. Végül a hálózati elérhetőséget ellenőrzik az "AT + CPIN?" parancs, ha a behelyezett kártya SIM-kártya és PIN-kód van, megadja a választ + CPIN: KÉSZ. Ezt addig is többször ellenőrizzük, amíg a hálózat megtalálható. Ezt az alábbi videó egyértelműen megértheti.
Ellenőrizze az összes fenti funkciót az alábbi Kód szakaszban.