- Komponenter, der kræves til Arduino-baseret køretøjssporingssystem:
- Hvordan kan GSM-modul bruges til at spore placering:
- Forklaring til kredsløb til grænseflade mellem GSM og GPS med Arduino:
- GSM og GPS-baseret køretøjssporingssystem ved hjælp af Arduino - Working
- GAM og GPS-grænseflade med Arduino-kode for at spore køretøjets placering
Vehicle Tracking-systemer bruges meget almindeligt i flådestyring og aktivsporing. I dag kan disse systemer ikke kun spore køretøjets placering, men kan også rapportere hastigheden og endda styre den eksternt. Generelt er sporing af køretøjer en proces, hvor vi sporer køretøjets placering i form af bredde og længdegrad (GPS-koordinater). GPS-koordinater er værdien af en placering. Dette system er meget effektivt til udendørs applikationsformål. Denne form for køretøjssporingssystemprojekt er bredt i sporing af førerhus / taxaer, stjålne køretøjer, skole- / universitetsbusser osv. I dette projekt går vi et skridt foran med GPS, der bygger et GSM- og GPS-baseret køretøjssporingssystem ved hjælp af Arduino. Dette sporingssystem til køretøjer kan også bruges til spore et køretøj ved hjælp af GPS og GSM og kan også bruges som alarmsystem til ulykkesdetektering, soldatsporingssystem og mange flere ved blot at foretage få ændringer i hardware og software.
Vi har også tidligere bygget mange andre typer køretøjssporingssystemer, du kan tjekke dem ud, hvis du er interesseret
- GPS-køretøjssporing og ulykkesalarm ved hjælp af Arduino
- Sporing af køretøjer med Google Maps ved hjælp af Arduino og ESP8266
- GPS-køretøjssporing og ulykkesalarm ved hjælp af MSP430
- LoRa-baseret GPS-køretøjssporing ved hjælp af Arduino
- Location Tracker uden GPS ved hjælp af SIM800 og Arduino
Komponenter, der kræves til Arduino-baseret køretøjssporingssystem:
For at opbygge et simpelt køretøjssporingssystem, der sagsøger Arduino, har vi brug for følgende komponenter.
- Arduino UNO
- GSM-modul
- GPS-modul
- 16x2 LCD
- Strømforsyning
- Tilslutning af ledninger
- 10 K POT
Hvordan kan GSM-modul bruges til at spore placering:
GPS står for Global Positioning System og bruges til at registrere bredde og længdegrad for enhver placering på jorden med nøjagtig UTC-tid (Universal Time Coordinated). GPS-modul er hovedkomponenten i vores køretøjssporingssystemprojekt. Denne enhed modtager koordinaterne fra satellitten for hvert sekund med tid og dato.
GPS-modul sender data relateret til sporingsposition i realtid, og det sender så mange data i NMEA-format (se skærmbilledet nedenfor). NMEA-format består af flere sætninger, hvor vi kun har brug for en sætning. Denne sætning starter fra $ GPGGA og indeholder koordinater, tid og andre nyttige oplysninger. Denne GPGGA henvises til data om Global Positioning System Fix. Lær mere om læsning af GPS-data og dens strenge her.
Vi kan udtrække koordinater fra $ GPGGA-streng ved at tælle kommaerne i strengen. Antag at du finder $ GPGGA-streng og gemmer den i en matrix, så kan Latitude findes efter to kommaer og længdegrad kan findes efter fire kommaer. Nu kan disse breddegrader og længdegrader placeres i andre arrays.
Nedenfor er $ GPGGA-strengen sammen med beskrivelsen:
$ GPGGA, 104534.000,7791.0381, N, 06727.4434, E, 1,08,0,9,510,4, M, 43,9, M,, * 47
$ GPGGA, HHMMSS.SSS, breddegrad, N, længdegrad, E, FQ, NOS, HDP, højde, M, højde, M,, kontrolsumdata
Identifikator |
Beskrivelse |
$ GPGGA |
Data om Global Positioning-systemrettelse |
HHMMSS.SSS |
Tid i time minut sekunder og millisekunder format. |
Breddegrad |
Breddegrad (Koordinat) |
N |
Retning N = Nord, S = Syd |
Længde |
Længdegrad (Koordinat) |
E |
Retning E = øst, W = vest |
FQ |
Ret kvalitetsdata |
NOS |
Antal anvendte satellitter |
HPD |
Vandret fortynding af præcision |
Højde |
Højde fra havets overflade |
M |
Måler |
Højde |
Højde |
Kontrolsum |
Data om kontrolsum |
Forklaring til kredsløb til grænseflade mellem GSM og GPS med Arduino:
Kredsløbstilslutninger til dette køretøjssporingssystemprojekt er enkle og vises i billedet nedenfor. Her er Tx-stift på GPS-modulet direkte forbundet til det digitale pin nummer 10 på Arduino. Ved at bruge softwareseriebibliotek her har vi tilladt seriel kommunikation på pin 10 og 11 og gjort dem henholdsvis Rx og Tx og efterladt Rx-pin i GPS-modulet åben. Som standard bruges pin 0 og 1 i Arduino til seriel kommunikation, men ved hjælp af SoftwareSerial-biblioteket kan vi tillade seriel kommunikation på andre digitale pins i Arduino. 12 volt forsyning bruges til at drive GPS-modulet.
GSM-modulets Tx- og Rx-stifter er direkte forbundet til pin Rx og Tx fra Arduino. GSM-modulet drives også af 12v forsyning. En valgfri LCD-datapinne D4, D5, D6 og D7 er forbundet til pin 5, 4, 3 og 2 i Arduino. Kommandostik RS og EN på LCD er forbundet med pin nummer 2 og 3 i Arduino, og RW pin er direkte forbundet med jorden. Et potentiometer bruges også til at indstille kontrast eller lysstyrke på LCD.
GSM og GPS-baseret køretøjssporingssystem ved hjælp af Arduino - Working
I dette projekt bruges Arduino til at styre hele processen med en GPS-modtager og GSM-modul. GPS-modtager bruges til at detektere koordinater af køretøjet, GSM-modul bruges til at sende koordinaterne til brugeren via SMS. Og en valgfri 16x2 LCD bruges også til visning af statusmeddelelser eller koordinater. Vi har brugt GPS-modul SKG13BL og GSM-modul SIM900A.
Når vi er klar med vores hardware efter programmering, kan vi installere den i vores køretøj og tænde den. Så skal vi bare sende en SMS, "Track Vehicle", til det system, der er placeret i vores køretøj. Vi kan også bruge noget præfiks (#) eller suffiks (*) som #Track Vehicle * til korrekt at identificere start og slutning af strengen, som vi gjorde i disse projekter: GSM-baseret hjemmeautomatisering og trådløs opslagstavle
Sendt besked modtages af GSM-modulet, der er forbundet til systemet og sender meddelelsesdata til Arduino. Arduino læser det og udtrækker hovedmeddelelsen fra hele meddelelsen. Og sammenlign det derefter med foruddefineret besked i Arduino. Hvis der opstår nogen match, læser Arduino koordinater ved at udtrække $ GPGGA-streng fra GPS-moduldata (GPS fungerer forklaret ovenfor) og sende det til brugeren ved hjælp af GSM-modul. Denne meddelelse indeholder koordinaterne for køretøjets placering.
GAM og GPS-grænseflade med Arduino-kode for at spore køretøjets placering
I programmeringsdelen først inkluderer vi biblioteker og definerer ben til LCD & seriel kommunikation. Definer også nogle variabler med arrays til lagring af data. Software Serial Library bruges til at tillade seriel kommunikation på pin 10 og 11.
#omfatte
Her bruges array str til lagring af modtaget besked fra GSM-modul og gpsString bruges til lagring af GPS-streng. char * test = ”$ GPGGA” bruges til at sammenligne den rigtige streng, som vi har brug for til koordinater.
Efter det har vi initialiseret seriel kommunikation, LCD, GSM & GPS modul i opsætningsfunktion og vist en velkomstbesked på LCD.
ugyldig opsætning () {lcd.begin (16,2); Serial.begin (9600); gps.begin (9600); lcd.print ("Vehicle Tracking"); lcd.setCursor (0,1);……………
I loop-funktion modtager vi besked og GPS-streng.
ugyldig loop () {serialEvent (); hvis (temp) {get_gps (); sporing (); }}
Funktioner ugyldige init_sms og ugyldige send_sms () bruges til initialisering og afsendelse af besked. Brug det rigtige 10-cifrede mobiltelefonnummer i init_sms- funktionen.
Funktionen void get_gps () er blevet brugt til at udtrække koordinaterne fra den modtagne streng.
Funktion ugyldigt gpsEvent () bruges til at modtage GPS-data til Arduino.
Funktion ugyldig serialEvent () bruges til at modtage besked fra GSM og sammenligne den modtagne besked med foruddefineret besked (Track Vehicle).
ugyldigt serialEvent () {while (Serial.available ()) {if (Serial.find ("Track Vehicle")) {temp = 1; pause; }…………..
Initialiseringsfunktionen 'gsm_init () ' bruges til initialisering og konfiguration af GSM-modulet, hvor GSM-modulet først kontrolleres, om det er tilsluttet eller ikke ved at sende 'AT' -kommandoen til GSM-modulet. Hvis svaret OK modtages, betyder det, at det er klar. Systemet fortsætter med at kontrollere modulet, indtil det bliver klar, eller indtil 'OK' modtages. Derefter slukkes ECHO ved at sende kommandoen ATE0, ellers ekko GSM-modulet alle kommandoerne. Derefter kontrolleres netværks tilgængelighed gennem 'AT + CPIN?' kommando, hvis indsat kort er SIM-kort og PIN er til stede, giver det svaret + CPIN: KLAR. Dette kontrolleres også gentagne gange, indtil netværket findes. Dette kan tydeligt forstås af videoen nedenfor.
Kontroller alle ovenstående funktioner i kodeafsnittet nedenfor.