- Komponenter som krävs för Arduino-baserat fordonsspårningssystem:
- Hur kan GSM-modulen användas för att spåra plats:
- Kretsförklaring för gränssnitt mellan GSM och GPS med Arduino:
- GSM- och GPS-baserat fordonsspårningssystem med Arduino - Working
- GAM och GPS-gränssnitt med Arduino-kod för att spåra fordonsplats
Fordonsspårningssystem används mycket ofta i fordonspark- och tillgångsspårningsapplikationer. Idag kan dessa system inte bara spåra fordonets plats utan kan också rapportera hastigheten och till och med fjärrstyra den. Generellt är spårning av fordon en process där vi spårar fordonets plats i form av latitud och longitud (GPS-koordinater). GPS-koordinater är värdet på en plats. Detta system är mycket effektivt för applikationer för utomhusbruk. Den här typen av fordonsspårningssystemprojekt handlar mycket om att spåra hytter / taxibilar, stulna fordon, skolbussar etc. I det här projektet går vi ett steg framåt med GPS som bygger ett GSM- och GPS-baserat fordonsspårningssystem med Arduino. Detta fordonsspårningssystem kan också användas för att spåra ett fordon med GPS och GSM och kan också användas som system för varningssystem för olyckor, soldatspårningssystem och många fler, genom att bara göra några ändringar i hårdvara och programvara.
Vi har också byggt många andra typer av fordonsspårningssystem tidigare, du kan kolla in dem om du är intresserad
- GPS-fordonsspårning och olycksalarm med Arduino
- Fordonsspårning med Google Maps med Arduino och ESP8266
- GPS-fordonsspårning och olycksalarm med MSP430
- LoRa-baserad GPS-fordonsspårning med Arduino
- Location Tracker utan GPS med SIM800 och Arduino
Komponenter som krävs för Arduino-baserat fordonsspårningssystem:
För att bygga ett enkelt spårningssystem för fordon som stämmer Arduino behöver vi följande komponenter.
- Arduino UNO
- GSM-modul
- GPS-modul
- 16x2 LCD
- Strömförsörjning
- Anslutande ledningar
- 10 K POT
Hur kan GSM-modulen användas för att spåra plats:
GPS står för Global Positioning System och används för att upptäcka latitud och longitud för vilken plats som helst på jorden, med exakt UTC-tid (Universal Time Coordinated). GPS-modulen är huvudkomponenten i vårt fordonsspårningssystemprojekt. Enheten tar emot koordinaterna från satelliten för varje sekund, med tid och datum.
GPS-modulen skickar data relaterade till spårningsposition i realtid och skickar så många data i NMEA-format (se skärmdumpen nedan). NMEA-formatet består av flera meningar, där vi bara behöver en mening. Denna mening börjar från $ GPGGA och innehåller koordinater, tid och annan användbar information. Denna GPGGA hänvisas till fixeringsdata för globalt positioneringssystem. Lär dig mer om att läsa GPS-data och dess strängar här.
Vi kan extrahera koordinat från $ GPGGA-sträng genom att räkna komma i strängen. Antag att du hittar $ GPGGA-sträng och lagrar den i en matris, då kan Latitude hittas efter två komma och longitud kan hittas efter fyra komma. Nu kan dessa latitud och longitud placeras i andra matriser.
Nedan är $ GPGGA-strängen, tillsammans med dess beskrivning:
$ GPGGA, 104534.000,7791.0381, N, 06727.4434, E, 1,08,0,9,510,4, M, 43,9, M,, * 47
$ GPGGA, HHMMSS.SSS, latitud, N, longitud, E, FQ, NOS, HDP, höjd, M, höjd, M,, kontrollsumdata
Identifierare |
Beskrivning |
$ GPGGA |
Data för fixering av globalt positioneringssystem |
HHMMSS.SSS |
Tid i timme minut sekunder och millisekunder format. |
Latitud |
Latitud (Koordinat) |
N |
Riktning N = Nord, S = Syd |
Longitud |
Longitud (koordinat) |
E |
Riktning E = öst, W = väst |
FQ |
Fixa kvalitetsdata |
NOS |
Antal satelliter som används |
HPD |
Horisontell utspädning av precision |
Höjd över havet |
Höjd från havsnivå |
M |
Meter |
Höjd |
Höjd |
Kontrollsumma |
Data för kontrollsumman |
Kretsförklaring för gränssnitt mellan GSM och GPS med Arduino:
Kretsanslutningar för detta fordonsspårningssystemprojekt är enkla och visas i bilden nedan. Här är Tx-stift på GPS-modulen direkt ansluten till det digitala stiftet nummer 10 på Arduino. Genom att använda Software Serial Library här har vi tillåtit seriekommunikation på stift 10 och 11 och gjort dem till Rx respektive Tx och lämnat Rx-stiftet på GPS-modulen öppen. Som standard används stift 0 och 1 i Arduino för seriell kommunikation men med hjälp av SoftwareSerial-biblioteket kan vi tillåta seriell kommunikation på andra digitala stift i Arduino. 12-voltsförsörjning används för att driva GPS-modulen.
GSM-modulens Tx- och Rx-stift är direkt anslutna till stift Rx och Tx av Arduino. GSM-modulen drivs också av 12v-matning. En valfri LCD-datapinne D4, D5, D6 och D7 är ansluten till stift nummer 5, 4, 3 och 2 på Arduino. Kommandostift RS och EN på LCD är anslutna med stift nummer 2 och 3 på Arduino och RW-stift är direkt ansluten till jord. En potentiometer används också för att ställa in kontrast eller ljusstyrka på LCD-skärmen.
GSM- och GPS-baserat fordonsspårningssystem med Arduino - Working
I detta projekt används Arduino för att styra hela processen med en GPS-mottagare och GSM-modul. GPS-mottagare används för att detektera koordinater för fordonet, GSM-modulen används för att skicka koordinaterna till användaren via SMS. Och en valfri 16x2 LCD-skärm används också för att visa statusmeddelanden eller koordinater. Vi har använt GPS-modul SKG13BL och GSM-modul SIM900A.
När vi är klara med vår hårdvara efter programmering kan vi installera den i vårt fordon och slå på den. Då behöver vi bara skicka ett SMS, "Track Vehicle", till systemet som är placerat i vårt fordon. Vi kan också använda något prefix (#) eller suffix (*) som #Track Vehicle *, för att korrekt identifiera start och slut på strängen, som vi gjorde i dessa projekt: GSM Based Home Automation och Wireless Notice Board
Skickat meddelande tas emot av GSM-modulen som är ansluten till systemet och skickar meddelandedata till Arduino. Arduino läser det och extraherar huvudmeddelandet från hela meddelandet. Och jämför sedan det med fördefinierat meddelande i Arduino. Om någon matchning uppstår läser Arduino koordinater genom att extrahera $ GPGGA-sträng från GPS-moduldata (GPS fungerar förklarad ovan) och skicka den till användaren med hjälp av GSM-modulen. Detta meddelande innehåller koordinaterna för fordonets plats.
GAM och GPS-gränssnitt med Arduino-kod för att spåra fordonsplats
I programmeringsdelen först inkluderar vi bibliotek och definierar stift för LCD- och mjukvaruseriekommunikation. Definiera också en variabel med matriser för lagring av data. Software Serial Library används för att tillåta seriell kommunikation på stift 10 och 11.
#omfatta
Här används array str för lagring av mottaget meddelande från GSM-modulen och gpsString används för lagring av GPS-sträng. char * test = ”$ GPGGA” används för att jämföra rätt sträng som vi behöver för koordinater.
Efter det har vi initierat seriell kommunikation, LCD, GSM & GPS-modul i installationsfunktionen och visat ett välkomstmeddelande på LCD.
ogiltig installation () {lcd.begin (16,2); Serial.begin (9600); gps.begin (9600); lcd.print ("Vehicle Tracking"); lcd.setCursor (0,1);……………
I loop-funktionen får vi meddelande och GPS-sträng.
void loop () {serialEvent (); om (temp) {get_gps (); spårning (); }}
Funktioner void init_sms och void send_sms () används för att initiera och skicka meddelande. Använd rätt 10-siffrigt mobilnummer i init_sms- funktionen.
Funktionen void get_gps () har använts för att extrahera koordinaterna från den mottagna strängen.
Function void gpsEvent () används för att ta emot GPS-data till Arduino.
Function void serialEvent () används för att ta emot meddelande från GSM och jämföra det mottagna meddelandet med fördefinierat meddelande (Track Vehicle).
ogiltigt serialEvent () {while (Serial.available ()) {if (Serial.find ("Track Vehicle")) {temp = 1; ha sönder; }…………..
Initialiseringsfunktionen 'gsm_init () ' används för att initialisera och konfigurera GSM-modulen, där GSM-modulen först kontrolleras om den är ansluten eller inte genom att skicka 'AT' -kommandot till GSM-modulen. Om svaret OK tas emot betyder det att det är klart. Systemet fortsätter att kontrollera modulen tills den blir klar eller tills "OK" tas emot. Sedan stängs ECHO av genom att skicka ATE0-kommandot, annars kommer GSM-modulen att eka alla kommandon. Slutligen kontrolleras nätverks tillgänglighet genom "AT + CPIN?" kommandot, om det isatta kortet är SIM-kort och PIN finns, ger det svaret + CPIN: KLAR. Detta kontrolleras också upprepade gånger tills nätverket hittas. Detta kan tydligt förstås av videon nedan.
Kontrollera alla ovanstående funktioner i kodavsnittet nedan.