- Arduino-pohjaiseen ajoneuvojen seurantajärjestelmään vaadittavat komponentit:
- Kuinka GSM-moduulia voidaan käyttää sijainnin seuraamiseen:
- Piirin selitys GSM: n ja GPS: n liittymiselle Arduinoon:
- Arduinoa käyttävä GSM- ja GPS-pohjainen ajoneuvojen seurantajärjestelmä - Työskentely
- GAM- ja GPS-liitännät Arduino-koodin kanssa ajoneuvon sijainnin seuraamiseksi
Ajoneuvojen seurantajärjestelmiä käytetään hyvin yleisesti kaluston hallinnassa ja omaisuuden seurantasovelluksissa. Nykyään nämä järjestelmät voivat paitsi seurata ajoneuvon sijaintia, myös ilmoittaa nopeuden ja jopa hallita sitä etänä. Ajoneuvojen seuranta on yleensä prosessi, jossa seuraamme ajoneuvon sijaintia leveys- ja pituusasteiden (GPS-koordinaatit) muodossa. GPS-koordinaatit ovat sijainnin arvo. Tämä järjestelmä on erittäin tehokas ulkokäyttöön. Tällainen ajoneuvojen seurantajärjestelmäprojekti on laajalti seuraamassa ohjaamoja / takseja, varastettuja ajoneuvoja, koulu- / korkeakoulubusseja jne. Tässä projektissa aiomme edetä askeleen eteenpäin rakentamalla GPS- ja GPS-pohjaisen ajoneuvojen seurantajärjestelmän Arduinoa käyttäen. Tätä ajoneuvojen seurantajärjestelmää voidaan käyttää myös Seuraa ajoneuvoa GPS: n ja GSM: n avulla, ja sitä voidaan käyttää myös onnettomuuksien havaitsemishälytysjärjestelmänä, Soldier Tracking System -järjestelmänä ja monina muina tekemällä vain vähän muutoksia laitteistoihin ja ohjelmistoihin.
Olemme myös aiemmin rakentaneet monia muita ajoneuvojen seurantajärjestelmiä, voit tarkistaa ne, jos olet kiinnostunut
- GPS-ajoneuvojen seuranta ja onnettomuustiedotus Arduinolla
- Ajoneuvojen seuranta Google Mapsilla Arduinolla ja ESP8266: lla
- GPS-ajoneuvojen seuranta ja onnettomuustiedotus MSP430: n avulla
- LoRa-pohjainen GPS-ajoneuvojen seuranta Arduinolla
- Sijainnin seuranta ilman GPS: ää SIM800: n ja Arduinon avulla
Arduino-pohjaiseen ajoneuvojen seurantajärjestelmään vaadittavat komponentit:
Jotta voimme rakentaa yksinkertaisen ajoneuvojen seurantajärjestelmän, joka haastaa Arduinoa, tarvitsemme seuraavat komponentit.
- Arduino UNO
- GSM-moduuli
- GPS-moduuli
- 16x2 LCD
- Virtalähde
- Johtojen liittäminen
- 10 K POT
Kuinka GSM-moduulia voidaan käyttää sijainnin seuraamiseen:
GPS tarkoittaa globaalia paikannusjärjestelmää ja sitä käytetään minkä tahansa maan sijainnin leveys- ja pituuspiirin tunnistamiseen tarkalla UTC-ajalla (Universal Time Coordinated). GPS-moduuli on ajoneuvojen seurantajärjestelmäprojektimme pääkomponentti. Tämä laite vastaanottaa satelliitilta jokaisen sekunnin koordinaatit, kellonajan ja päivämäärän.
GPS-moduuli lähettää seurantapaikkaan liittyvät tiedot reaaliajassa, ja se lähettää niin paljon tietoja NMEA-muodossa (katso alla oleva kuvakaappaus). NMEA-muoto koostuu useista lauseista, joissa tarvitsemme vain yhden lauseen. Tämä lause alkaa $ GPGGA: sta ja sisältää koordinaatit, ajan ja muuta hyödyllistä tietoa. Tätä GPGGA: ta kutsutaan globaalin paikannusjärjestelmän korjaustiedoksi. Lisätietoja GPS-tietojen ja niiden merkkijonojen lukemisesta on täällä.
Voimme poimia koordinaatin $ GPGGA-merkkijonosta laskemalla merkkijonossa olevat pilkut. Oletetaan, että löydät $ GPGGA-merkkijonon ja tallennat sen matriisiin, niin Latitude löytyy kahden pilkun jälkeen ja Longitude neljän pilkun jälkeen. Nyt nämä leveys- ja pituuspiirit voidaan sijoittaa muihin matriiseihin.
Alla on $ GPGGA-merkkijono ja sen kuvaus:
$ GPGGA, 104534.000,7791.0381, N, 06727.4434, E, 1,08,0,9,510,4, M, 43,9, M,, * 47
$ GPGGA, HHMMSS.SSS, leveysaste, N, pituusaste, E, FQ, NOS, HDP, korkeus, M, korkeus, M`` tarkistussummatiedot
Tunniste |
Kuvaus |
$ GPGGA |
Globaalin paikannusjärjestelmän korjaustiedot |
HHMMSS.SSS |
Aika tunnissa sekunteina ja millisekunteina. |
Leveysaste |
Leveysaste (koordinaatti) |
N |
Suunta N = pohjoinen, S = etelä |
Pituusaste |
Pituusaste (koordinaatti) |
E |
Suunta E = itä, W = länsi |
FQ |
Korjaa laatutiedot |
NOS |
Käytettyjen satelliittien lukumäärä |
HPD |
Tarkkuuden vaakasuora laimennus |
Korkeus |
Korkeus merenpinnasta |
M |
Mittari |
Korkeus |
Korkeus |
Tarkistussumma |
Tarkistussummatiedot |
Piirin selitys GSM: n ja GPS: n liittymiselle Arduinoon:
Tämän ajoneuvojen seurantajärjestelmäprojektin piiriliitännät ovat yksinkertaisia ja näkyvät kuvassa belwo. Tässä GPS-moduulin Tx-nasta on kytketty suoraan Arduinon digitaaliseen nastanumeroon 10. Käyttämällä tässä ohjelmistosarjakirjastoa, olemme sallineet sarjaliikenteen nastoissa 10 ja 11, tehneet niistä vastaavasti Rx ja Tx ja jättäneet GPS-moduulin Rx-nastan auki. Oletusarvoisesti Arduinon nastoja 0 ja 1 käytetään sarjaliikenteeseen, mutta käyttämällä SoftwareSerial-kirjastoa voimme sallia sarjaliikenteen muilla Arduinon digitaalisilla nastoilla. 12 voltin syöttöä käytetään GPS-moduulin virtalähteeseen.
GSM-moduulin Tx- ja Rx-nastat on kytketty suoraan Arduinon nastoihin Rx ja Tx. GSM-moduuli toimii myös 12 V: n virtalähteellä. Lisävarusteena saatavan nestekidenäytön datanastat D4, D5, D6 ja D7 on kytketty Arduinon tapiin numeroihin 5, 4, 3 ja 2. LCD-näytön komentotappi RS ja EN on kytketty Arduinon tapiin numeroihin 2 ja 3 ja RW-nasta on kytketty suoraan maahan. Potentiometriä käytetään myös nestekidenäytön kontrastin tai kirkkauden asettamiseen.
Arduinoa käyttävä GSM- ja GPS-pohjainen ajoneuvojen seurantajärjestelmä - Työskentely
Tässä projektissa Arduinoa käytetään koko prosessin ohjaamiseen GPS-vastaanottimella ja GSM-moduulilla. GPS-vastaanotinta käytetään ajoneuvon koordinaattien havaitsemiseen, GSM-moduulia käytetään koordinaattien lähettämiseen käyttäjälle tekstiviestillä. Valinnaista 16x2-nestekidenäyttöä käytetään myös tilaviestien tai koordinaattien näyttämiseen. Olemme käyttäneet GPS-moduulia SKG13BL ja GSM-moduulia SIM900A.
Kun olemme valmiita laitteistomme kanssa ohjelmoinnin jälkeen, voimme asentaa sen ajoneuvoosi ja käynnistää sen. Sitten meidän on vain lähetettävä tekstiviesti "Track Vehicle" ajoneuvoon sijoitetulle järjestelmälle. Voimme myös käyttää etuliitettä (#) tai loppuliitettä (*), kuten #Track Vehicle *, merkkijonon alun ja lopun tunnistamiseksi oikein, kuten teimme näissä projekteissa: GSM-pohjainen kotiautomaatio ja langaton ilmoitustaulu
Lähetetyt viestit vastaanotetaan järjestelmään yhdistetyllä GSM-moduulilla, joka lähettää viestidatan Arduinolle. Arduino lukee sen ja poimi pääviestin koko viestistä. Ja sitten vertaa sitä ennalta määritettyyn viestiin Arduinossa. Jos vastaavuuksia esiintyy, Arduino lukee koordinaatit purkamalla $ GPGGA-merkkijonon GPS-moduulin tiedoista (GPS toimii yllä selitettynä) ja lähettää sen käyttäjälle GSM-moduulia käyttämällä. Tämä viesti sisältää ajoneuvon sijainnin koordinaatit.
GAM- ja GPS-liitännät Arduino-koodin kanssa ajoneuvon sijainnin seuraamiseksi
Ohjelmointiosaan sisällytämme ensin kirjastot ja määritämme nastat LCD- ja ohjelmistojen sarjaliikenteeseen. Määritä myös joitain muuttujia matriiseilla tietojen tallentamista varten. Ohjelmistosarjakirjastoa käytetään sarjaliikenteen sallimiseksi nastoissa 10 ja 11.
#sisältää
Tässä taulukkoa str käytetään vastaanotetun viestin tallentamiseen GSM-moduulista ja gpsStringia GPS-merkkijonon tallentamiseen. char * test = ”$ GPGGA” käytetään vertaamaan oikeaa merkkijonoa, jota tarvitsemme koordinaateille.
Sen jälkeen olemme alustaneet sarjaliikenteen, LCD-, GSM- ja GPS-moduulin asetustoiminnossa ja osoittaneet tervetuloviestin LCD-näytöllä.
void setup () {lcd.begin (16,2); Sarjan alku (9600); gps.begin (9600); lcd.print ("Ajoneuvojen seuranta"); lcd.setCursor (0,1);……………
Loop-toiminnossa vastaanotetaan viesti ja GPS-merkkijono.
void loop () {serialEvent (); if (temp) {get_gps (); seuranta(); }}
Funktioita void init_sms ja void send_sms () käytetään alustamaan ja lähettämään viesti. Käytä oikeaa 10-numeroista matkapuhelinnumeroa init_sms- toiminnossa.
Funktiota void get_gps () on käytetty poimimaan koordinaatit vastaanotetusta merkkijonosta.
Funktion void gpsEvent () käytetään GPS-tietojen vastaanottamiseen Arduinoon.
Toimintoa void serialEvent () käytetään vastaanottamaan viesti GSM: ltä ja vertaamaan vastaanotettua viestiä ennalta määritettyyn viestiin (Track Vehicle).
void serialEvent () {while (Serial.available ()) {if (Serial.find ("Track Vehicle")) {temp = 1; tauko; }…………..
Alustustoimintoa 'gsm_init () ' käytetään alustamiseksi ja konfiguroidaan GSM-moduuli, jossa ensiksi, GSM-moduuli tarkastetaan onko se kytketty vai ei lähettämällä "AT-komennon GSM-moduuli. Jos vastaus on OK, se tarkoittaa, että se on valmis. Järjestelmä jatkaa moduulin tarkistamista, kunnes se on valmis tai kunnes OK tulee. Sitten ECHO kytketään pois päältä lähettämällä ATE0-komento, muuten GSM-moduuli toistaa kaikki komennot. Sitten lopuksi verkon saatavuus tarkistetaan 'AT + CPIN?' komento, jos asetettu kortti on SIM-kortti ja PIN-koodi on läsnä, se antaa vastauksen + CPIN: VALMIS. Tämä tarkistetaan myös toistuvasti, kunnes verkko löytyy. Tämä voidaan ymmärtää selvästi alla olevasta videosta.
Tarkista kaikki yllä olevat toiminnot alla olevasta Koodi-osiosta.