- Komponente, potrebne za sistem sledenja vozil na osnovi Arduino:
- Kako lahko z modulom GSM sledimo lokaciji:
- Razlaga vezja za povezovanje GSM in GPS z Arduinom:
- Sistem za sledenje vozil na osnovi GSM in GPS z uporabo Arduino - Delo
- Vmesnik GAM in GPS s kodo Arduino za sledenje lokaciji vozila
Sistemi za sledenje vozil se zelo pogosto uporabljajo v aplikacijah za upravljanje voznega parka in sledenje premoženju. Danes ti sistemi ne morejo samo slediti lokaciji vozila, temveč lahko tudi poročajo o hitrosti in jo celo nadzorujejo na daljavo. Na splošno je sledenje vozil postopek, pri katerem sledimo lokaciji vozila v obliki zemljepisne širine in dolžine (GPS koordinate). GPS koordinate so vrednost lokacije. Ta sistem je zelo učinkovit za uporabo na prostem. Tovrstni projekt sistema za sledenje vozil ima široko sledenje kabinam / taksijem, ukradenim vozilom, šolskim / univerzitetnim avtobusom itd. V tem projektu gremo korak naprej, saj GPS gradi sistem za sledenje vozil na osnovi GSM in GPS z uporabo Arduina. Ta sistem za sledenje vozil se lahko uporablja tudi za sledite vozilu z uporabo GPS in GSM, lahko pa ga uporabite tudi kot sistem za opozarjanje na nesreče, sistem za sledenje vojakom in še veliko več, tako da spremenite strojno in programsko opremo.
V preteklosti smo izdelali tudi številne druge sisteme za sledenje vozil, če jih želite, si jih lahko ogledate
- GPS sledenje vozil in opozarjanje na nesreče z uporabo Arduina
- Sledenje vozil z Google Zemljevidi z uporabo Arduino in ESP8266
- GPS sledenje vozil in opozarjanje na nesreče z uporabo MSP430
- GPS sledenje vozil na osnovi LoRa z uporabo Arduina
- Sledilnik lokacije brez GPS-a z uporabo SIM800 in Arduino
Komponente, potrebne za sistem sledenja vozil na osnovi Arduino:
Za izdelavo preprostega sistema za sledenje vozil, ki toži Arduino, bomo potrebovali naslednje komponente.
- Arduino UNO
- GSM modul
- GPS modul
- 16x2 LCD
- Napajanje
- Povezovanje žic
- 10 KOT
Kako lahko z modulom GSM sledimo lokaciji:
GPS pomeni sistem za globalno določanje položaja in se uporablja za zaznavanje zemljepisne širine in dolžine katere koli lokacije na Zemlji s točno določenim UTC časom (univerzalni koordinirani čas). GPS modul je glavna sestavina našega projekta sistema za sledenje vozil. Ta naprava prejme koordinate s satelita vsako sekundo s časom in datumom.
Modul GPS pošilja podatke, povezane s položajem sledenja, v realnem času in pošlje toliko podatkov v obliki NMEA (glejte spodnjo sliko zaslona). Oblika NMEA je sestavljena iz več stavkov, v katerih potrebujemo le en stavek. Ta stavek se začne od $ GPGGA in vsebuje koordinate, čas in druge koristne informacije. Ta GPGGA se imenuje Global Fix System Fix Data. Več informacij o branju podatkov GPS in njihovih nizih najdete tukaj.
Iz niza $ GPGGA lahko izvlečemo koordinate s štetjem vejic v nizu. Recimo, da najdete niz $ GPGGA in ga shranite v matriko, nato Latitude najdemo po dveh vejicah, Longitude pa po štirih vejic. Zdaj lahko te zemljepisne širine in dolžine uvrstimo v druge nize.
Spodaj je niz $ GPGGA skupaj z opisom:
$ GPGGA, 104534.000,7791.0381, N, 06727.4434, E, 1,08,0.9,510.4, M, 43,9, M,, * 47
$ GPGGA, HHMMSS.SSS, zemljepisna širina, N, dolžina, E, FQ, NOS, HDP, nadmorska višina, M, višina, M,, podatki o kontrolni vsoti
Identifikator |
Opis |
$ GPGGA |
Podatki o popravkih sistema globalnega pozicioniranja |
HHMMSS.SSS |
Čas v obliki ure v minuti in sekundah in milisekundah. |
Zemljepisna širina |
Zemljepisna širina (koordinata) |
N |
Smer N = sever, S = jug |
Zemljepisna dolžina |
Zemljepisna dolžina (koordinata) |
E |
Smer E = vzhod, W = zahod |
FQ |
Popravite podatke o kakovosti |
NOS |
Število uporabljenih satelitov |
HPD |
Horizontalno redčenje natančnosti |
Nadmorska višina |
Nadmorska višina od morske gladine |
M |
Merilnik |
Višina |
Višina |
Kontrolna vsota |
Podatki o kontrolni vsoti |
Razlaga vezja za povezovanje GSM in GPS z Arduinom:
Krožne povezave tega projekta sistema za sledenje vozil so preproste in so prikazane na sliki belwo. Tu je Tx pin modula GPS neposredno povezan z digitalnim pinom 10 Arduino. Z uporabo programske serijske knjižnice tukaj smo dovolili serijsko komunikacijo na pin 10 in 11 ter jih naredili Rx oziroma Tx ter pustili Rx pin modula GPS odprt. Privzeto se za zaporedno komunikacijo uporabljata pin 0 in 1 Arduina, z uporabo knjižnice SoftwareSerial pa lahko omogočimo serijsko komunikacijo na drugih digitalnih nožicah Arduina. Za napajanje modula GPS se uporablja 12-voltno napajanje.
Zatiči Tx in Rx modula GSM so neposredno povezani z zatiči Rx in Tx Arduina. GSM modul se napaja tudi z 12v napajanjem. Izbirni podatkovni zatiči D4, D5, D6 in D7 na LCD-ju so povezani s številkami 5, 4, 3 in 2 Arduino. Ukazni pin RS in EN LCD sta povezana s pinoma št. 2 in 3 Arduino, RW pin pa je neposredno povezan z ozemljitvijo. Potenciometer se uporablja tudi za nastavitev kontrasta ali svetlosti LCD.
Sistem za sledenje vozil na osnovi GSM in GPS z uporabo Arduino - Delo
V tem projektu se Arduino uporablja za nadzor celotnega procesa s sprejemnikom GPS in modulom GSM. GPS sprejemnik se uporablja za zaznavanje koordinat vozila, GSM modul pa pošiljanje koordinat uporabniku prek SMS-a. Dodatni LCD 16x2 se uporablja tudi za prikaz sporočil o stanju ali koordinat. Uporabili smo GPS modul SKG13BL in GSM modul SIM900A.
Ko smo po programiranju pripravljeni na svojo strojno opremo, jo lahko namestimo v svoje vozilo in jo vklopimo. Potem moramo samo poslati SMS, “Track Vehicle”, na sistem, ki je nameščen v našem vozilu. Za pravilno prepoznavanje začetka in konca niza lahko uporabimo tudi predpono (#) ali pripono (*), kot je #Track Vehicle *, kot smo to storili pri teh projektih: Domološka avtomatizacija na osnovi GSM in Brezžična oglasna deska
Poslano sporočilo prejme GSM modul, ki je povezan s sistemom in pošlje podatke o sporočilu Arduinu. Arduino ga prebere in iz celotnega sporočila izvleče glavno sporočilo. In nato primerjajte z vnaprej določenim sporočilom v Arduinu. Če pride do kakršnega koli ujemanja, Arduino prebere koordinate tako, da iz podatkov modula GPS izvleče niz $ GPGGA (GPS deluje zgoraj) in ga pošlje uporabniku z uporabo modula GSM. To sporočilo vsebuje koordinate lokacije vozila.
Vmesnik GAM in GPS s kodo Arduino za sledenje lokaciji vozila
V programski del najprej vključimo knjižnice in določimo nožice za serijsko komunikacijo LCD in programske opreme. Določite tudi nekaj spremenljivk z nizi za shranjevanje podatkov. Programska serijska knjižnica se uporablja za omogočanje serijske komunikacije na pin 10 in 11.
#include
Tu se matrika str uporablja za shranjevanje prejetih sporočil iz modula GSM, gpsString pa za shranjevanje niza GPS. char * test = "$ GPGGA" se uporablja za primerjavo pravega niza, ki ga potrebujemo za koordinate.
Po njem smo v nastavitveni funkciji inicializirali serijsko komunikacijo, LCD, GSM in GPS modul ter na LCD-ju prikazali pozdravno sporočilo.
void setup () {lcd.begin (16,2); Serial.begin (9600); gps.begin (9600); lcd.print ("sledenje vozilu"); lcd.setCursor (0,1);……………
V funkciji zanke prejmemo sporočilo in niz GPS.
void loop () {serialEvent (); če (temp) {get_gps (); sledenje (); }}
Funkcije void init_sms in neveljaven send_sms () se uporablja za sprožitev in pošiljanje sporočil. Uporabite pravilno 10-mestno številko mobilnega telefona v funkciji init_sms .
Funkcija void get_gps () je bila uporabljena za pridobivanje koordinat iz prejetega niza.
Funkcija void gpsEvent () se uporablja za sprejemanje podatkov GPS v Arduino.
Funkcija void serialEvent () se uporablja za sprejemanje sporočil iz GSM in primerjavo prejetega sporočila z vnaprej določenim sporočilom (Track Vehicle).
void serialEvent () {while (Serial.available ()) {if (Serial.find ("Track Vehicle")) {temp = 1; odmor; }…………..
Funkcija inicializacije 'gsm_init () ' se uporablja za inicializiranje in konfiguriranje GSM modula, pri čemer najprej GSM modul preveri, ali je povezan ali ne, s pošiljanjem ukaza 'AT' modulu GSM. Če je odgovor prejet, pomeni, da je pripravljen. Sistem nadaljuje s preverjanjem modula, dokler ni pripravljen ali dokler ne prejme 'OK'. Nato se ECHO izklopi s pošiljanjem ukaza ATE0, sicer bo modul GSM odmeval vse ukaze. Nato se končno preveri razpoložljivost omrežja s pomočjo 'AT + CPIN?' Če je vstavljena kartica SIM kartica in je prisoten PIN, se prikaže odgovor + CPIN: PRIPRAVLJEN. To tudi večkrat preverite, dokler ne najdete omrežja. To lahko jasno razumemo v spodnjem videoposnetku.
Preverite vse zgornje funkcije v spodnjem razdelku kode.