- Komponentai, reikalingi „Arduino“ pagrįstai transporto priemonių sekimo sistemai:
- Kaip galima naudoti GSM modulį vietovei stebėti:
- Grandinės paaiškinimas, kaip susieti GSM ir GPS su „Arduino“:
- GSM ir GPS pagrįsta transporto priemonių sekimo sistema naudojant „Arduino“ - veikia
- GAM ir GPS sąsajos su „Arduino“ kodu transporto priemonės buvimo vietai stebėti
Transporto priemonių stebėjimo sistemos labai dažnai naudojamos parko valdymo ir turto stebėjimo programose. Šiandien šios sistemos gali ne tik stebėti transporto priemonės buvimo vietą, bet ir pranešti apie greitį ir net valdyti jį nuotoliniu būdu. Apskritai transporto priemonių sekimas yra procesas, kurio metu mes stebime transporto priemonės buvimo vietą platumos ir ilgumos forma (GPS koordinatės). GPS koordinatės yra vietos vertė. Ši sistema yra labai efektyvi lauko darbams. Tokio tipo transporto priemonių stebėjimo sistemos projektas plačiai naudojamas sekant kabinas / taksi, pavogtas transporto priemones, mokyklų / kolegijų autobusus ir kt. Šiame projekte einame vienu žingsniu į priekį, kurdami GPS, kurdami GSM ir GPS pagrįstą transporto priemonių stebėjimo sistemą naudodami „Arduino“. Ši transporto priemonių sekimo sistema taip pat gali būti naudojama sekite transporto priemonę naudodami GPS ir GSM, taip pat galite naudoti kaip avarijų aptikimo perspėjimo sistemą, kareivių sekimo sistemą ir daugelį kitų, atlikdami tik keletą techninės ir programinės įrangos pakeitimų.
Anksčiau mes taip pat sukūrėme daugybę kitų tipų transporto priemonių stebėjimo sistemų, jei norite, galite jas patikrinti
- GPS transporto priemonių sekimas ir įspėjimas apie avarijas naudojant „Arduino“
- Transporto priemonių stebėjimas naudojant „Google Maps“ naudojant „Arduino“ ir ESP8266
- GPS transporto priemonių sekimas ir įspėjimas apie avarijas naudojant MSP430
- „LoRa“ pagrįstas GPS transporto priemonių sekimas naudojant „Arduino“
- „Location Tracker“ be GPS, naudojant SIM800 ir „Arduino“
Komponentai, reikalingi „Arduino“ pagrįstai transporto priemonių sekimo sistemai:
Norėdami sukurti paprastą transporto priemonės stebėjimo sistemą, kuri paduos į teismą „Arduino“, mums reikės šių komponentų.
- „Arduino UNO“
- GSM modulis
- GPS modulis
- 16x2 LCD ekranas
- Maitinimas
- Laidų sujungimas
- 10 K POD
Kaip galima naudoti GSM modulį vietovei stebėti:
GPS reiškia pasaulinę padėties nustatymo sistemą ir naudojamas nustatyti bet kurios žemės vietos platumą ir ilgumą, nurodant tikslų UTC laiką (universalusis laikas koordinuojamas). GPS modulis yra pagrindinis mūsų transporto priemonių stebėjimo sistemos projekto komponentas. Šis prietaisas gauna koordinates iš palydovo kiekvienai sekundei, nurodydamas laiką ir datą.
GPS modulis realiuoju laiku siunčia duomenis, susijusius su stebėjimo padėtimi, ir tiek daug duomenų siunčia NMEA formatu (žr. Toliau pateiktą ekrano kopiją). NMEA formatas susideda iš kelių sakinių, kuriuose mums reikia tik vieno sakinio. Šis sakinys prasideda nuo $ GPGGA ir jame yra koordinatės, laikas ir kita naudinga informacija. Ši GPGGA vadinama visuotinės padėties nustatymo sistemos taisymo duomenimis. Sužinokite daugiau apie GPS duomenų ir jų eilučių skaitymą čia.
Mes galime išgauti koordinates iš $ GPGGA eilutės skaičiuodami kablelius eilutėje. Tarkime, kad rasite $ GPGGA eilutę ir ją saugote masyve, tada Platumą galima rasti po dviejų kablelių, o Ilgumą - po keturių kablelių. Dabar šią platumą ir ilgumą galima įdėti į kitus masyvus.
Žemiau yra $ GPGGA eilutė kartu su jos aprašymu:
GPGGA, 104534.000, 7791.0381, N, 06727.4434, E, 1,08,0.9,510,4, M, 43,9, M,, * 47
$ GPGGA, HHMMSS.SSS, platuma, N, ilguma, E, FQ, NOS, HDP, aukštis, M, aukštis, M, kontrolinės sumos duomenys
Identifikatorius |
apibūdinimas |
$ GPGGA |
Visuotinės padėties nustatymo sistemos pataisų duomenys |
HHMMSS.SSS |
Laikas valandomis minutėmis sekundėmis ir milisekundžių formatu. |
Platuma |
Platuma (koordinatė) |
N |
Kryptis N = šiaurė, S = pietūs |
Ilguma |
Ilguma (koordinatė) |
E |
Kryptis E = rytai, W = vakarai |
FQ |
Pataisykite kokybės duomenis |
NOS |
Naudojamų palydovų skaičius |
HPD |
Horizontalus tikslumo skiedimas |
Aukštis |
Aukštis nuo jūros lygio |
M |
Skaitiklis |
Aukštis |
Aukštis |
Kontrolinė suma |
Kontrolinės sumos duomenys |
Grandinės paaiškinimas, kaip susieti GSM ir GPS su „Arduino“:
Šio transporto priemonės stebėjimo sistemos projekto grandinių jungtys yra paprastos ir parodytos paveikslėlyje. Čia GPS modulio Tx kaištis yra tiesiogiai prijungtas prie „Arduino“ skaitmeninio kaiščio numerio 10. Čia naudodami programinės įrangos nuosekliąją biblioteką leidome nuoseklų ryšį 10 ir 11 kaiščiuose, padarėme juos atitinkamai Rx ir Tx, o GPS modulio Rx kaištį palikome atvirą. Pagal numatytuosius nustatymus nuosekliam ryšiui naudojami „Arduino“ 0 ir 1 kaiščiai, tačiau naudodami „SoftwareSerial“ biblioteką galime leisti nuoseklųjį ryšį per kitus skaitmeninius „Arduino“ kaiščius. 12 modulių maitinimas naudojamas maitinant GPS modulį.
GSM modulio Tx ir Rx kaiščiai yra tiesiogiai prijungti prie „Arduino“ kaiščių Rx ir Tx. GSM modulis taip pat maitinamas 12v maitinimo šaltiniu. Pasirenkami LCD duomenų kaiščiai D4, D5, D6 ir D7 yra prijungti prie „Arduino“ 5, 4, 3 ir 2 kontaktų. LCD komandinis kaištis RS ir EN yra sujungtas su „Arduino“ 2 ir 3 kaiščiais, o „RW“ kaištis tiesiogiai sujungtas su žeme. Potenciometras taip pat naudojamas LCD kontrastui ar ryškumui nustatyti.
GSM ir GPS pagrįsta transporto priemonių sekimo sistema naudojant „Arduino“ - veikia
Šiame projekte „Arduino“ naudojamas viso proceso valdymui naudojant GPS imtuvą ir GSM modulį. GPS imtuvas naudojamas transporto priemonės koordinatėms aptikti, GSM modulis naudojamas koordinatėms siųsti SMS vartotojui. Taip pat pasirenkamas 16x2 skystųjų kristalų ekranas taip pat naudojamas būsenos pranešimams ar koordinatėms rodyti. Mes naudojome GPS modulį SKG13BL ir GSM modulį SIM900A.
Kai būsime pasirengę aparatinę įrangą po programavimo, galėsime ją įdiegti į savo transporto priemonę ir ją įjungti. Tada mums tereikia išsiųsti SMS žinutę „Sekti transporto priemonę“ į sistemą, kuri dedama į mūsų transporto priemonę. Mes taip pat galime naudoti priešdėlį (#) ar priesagą (*), pvz., #Track Vehicle *, kad tinkamai nustatytume eilutės pradžią ir pabaigą, kaip tai darėme šiuose projektuose: GSM namų automatizavimas ir belaidžio pranešimų lenta
Išsiųstą pranešimą gauna GSM modulis, kuris yra prijungtas prie sistemos ir siunčia pranešimų duomenis „Arduino“. „Arduino“ ją skaito ir ištraukia pagrindinį pranešimą iš viso pranešimo. Tada palyginkite jį su iš anksto nustatytu pranešimu „Arduino“. Jei įvyksta bet kokia atitiktis, „Arduino“ nuskaito koordinates išgaunant $ GPGGA eilutę iš GPS modulio duomenų (GPS veikia aukščiau paaiškinta) ir išsiunčia vartotojui naudodamas GSM modulį. Šiame pranešime nurodomos transporto priemonės buvimo vietos koordinatės.
GAM ir GPS sąsajos su „Arduino“ kodu transporto priemonės buvimo vietai stebėti
Pirmiausia programavimo dalyje mes įtraukiame bibliotekas ir nustatome LCD ir programinės įrangos nuosekliojo ryšio kaiščius. Taip pat apibrėžkite keletą kintamųjų su masyvais duomenims saugoti. Programinės įrangos nuoseklioji biblioteka naudojama norint nuosekliai bendrauti 10 ir 11 kaiščiuose.
# įtraukti
Čia masyvo g naudojama saugoti gautą pranešimą iš GSM modulio ir gpsString naudojama saugoti GPS eilutę. char * test = „$ GPGGA“ naudojamas norint palyginti tinkamą eilutę, kurios mums reikia koordinatėms.
Po to mes inicijavome nuoseklųjį ryšį, LCD, GSM ir GPS modulį sąrankos funkcijoje ir parodėme sveikinimo pranešimą LCD.
negaliojanti sąranka () {lcd.begin (16,2); Serijos pradžia (9600); GPS pradžia (9600); lcd.print („Transporto priemonės sekimas“); lcd.setCursor (0,1);……………
Pagal ciklo funkciją gauname pranešimą ir GPS eilutę.
void loop () {serialEvent (); if (temp) {get_gps (); sekimas (); }}
Funkcijos void init_sms ir void send_sms () yra naudojamos inicijuojant ir siunčiant pranešimą. Funkcijoje init_sms naudokite tinkamą 10 skaitmenų mobiliojo telefono numerį .
Funkcija void get_gps () buvo naudojama norint išgauti koordinates iš gautos eilutės.
Funkcija void gpsEvent () naudojama GPS duomenims priimti į „Arduino“.
Funkcija void serialEvent () naudojama priimant pranešimą iš GSM ir lyginant gautą pranešimą su iš anksto nustatytu pranešimu („Track Vehicle“).
void serialEvent () {while (Serial.available ()) {if (Serial.find ("Stebėti transporto priemonę")) {temp = 1; pertrauka; }…………..
Inicializavimo funkcija „gsm_init () “ naudojama inicijuojant ir konfigūruojant GSM modulį, kur pirmiausia GSM modulis tikrinamas, ar jis prijungtas, ar ne, siunčiant komandą „AT“ į GSM modulį. Jei atsakymas gautas gerai, reiškia, kad jis yra paruoštas. Sistema nuolat tikrina modulį, kol jis bus parengtas arba kol bus gautas „Gerai“. Tada ECHO išjungiamas siunčiant komandą ATE0, kitaip GSM modulis atkartos visas komandas. Tada galiausiai tinklo prieinamumas patikrinamas per „AT + CPIN?“ komandą, jei įdėta kortelė yra SIM kortelė ir yra PIN kodas, ji pateikia atsakymą + CPIN: READY. Tai taip pat tikrinama pakartotinai, kol bus rastas tinklas. Tai gali aiškiai suprasti toliau pateiktas vaizdo įrašas.
Patikrinkite visas pirmiau nurodytas funkcijas žemiau esančiame Kodo skyriuje.