- Nepieciešamās sastāvdaļas transportlīdzekļu izsekošanas sistēmai Arduino:
- Kā GSM moduli var izmantot, lai izsekotu atrašanās vietu:
- Ķēdes skaidrojums par GSM un GPS saskarni ar Arduino:
- GSM un GPS balstīta transportlīdzekļu izsekošanas sistēma, izmantojot Arduino - Darbs
- GAM un GPS mijiedarbība ar Arduino kodu, lai izsekotu transportlīdzekļa atrašanās vietu
Transportlīdzekļu izsekošanas sistēmas ļoti bieži tiek izmantotas autoparka pārvaldībā un aktīvu izsekošanas lietojumprogrammās. Mūsdienās šīs sistēmas var ne tikai izsekot transportlīdzekļa atrašanās vietai, bet arī ziņot par ātrumu un pat kontrolēt to attālināti. Parasti transportlīdzekļu izsekošana ir process, kurā mēs izsekojam transportlīdzekļa atrašanās vietu platuma un garuma (GPS koordinātu) veidā. GPS koordinātas ir atrašanās vietas vērtība. Šī sistēma ir ļoti efektīva lietošanai ārpus telpām. Šāda veida transportlīdzekļu izsekošanas sistēmas projekts tiek plaši izmantots kabīņu / taksometru, nozagtu transportlīdzekļu, skolas / koledžas autobusu utt. Izsekošanā. Šajā projektā mēs ejam vienu soli priekšā, izveidojot GPS, izmantojot Arduino, izveidojot GSM un GPS balstītu transportlīdzekļu izsekošanas sistēmu. Arī šo transportlīdzekļu izsekošanas sistēmu var izmantot izsekot transportlīdzeklim, izmantojot GPS un GSM, un to var izmantot arī kā nelaimes gadījumu atklāšanas brīdināšanas sistēmu, karavīru izsekošanas sistēmu un daudz ko citu, veicot tikai dažas izmaiņas aparatūrā un programmatūrā.
Iepriekš mēs esam izveidojuši arī daudzus citus transportlīdzekļu izsekošanas sistēmu tipus, ja vēlaties, varat tos pārbaudīt
- GPS transportlīdzekļu izsekošana un brīdināšana par nelaimes gadījumiem, izmantojot Arduino
- Transportlīdzekļu izsekošana, izmantojot Google Maps, izmantojot Arduino un ESP8266
- GPS transportlīdzekļu izsekošana un brīdināšana par negadījumiem, izmantojot MSP430
- LoRa bāzes GPS transportlīdzekļu izsekošana, izmantojot Arduino
- Atrašanās vietas izsekotājs bez GPS, izmantojot SIM800 un Arduino
Nepieciešamās sastāvdaļas transportlīdzekļu izsekošanas sistēmai Arduino:
Lai izveidotu vienkāršu transportlīdzekļu izsekošanas sistēmu ar Arduino, mums būs nepieciešami šādi komponenti.
- Arduino UNO
- GSM modulis
- GPS modulis
- 16x2 LCD
- Enerģijas padeve
- Vadu savienošana
- 10 K POT
Kā GSM moduli var izmantot, lai izsekotu atrašanās vietu:
GPS apzīmē globālo pozicionēšanas sistēmu un tiek izmantots, lai noteiktu jebkuras vietas uz Zemes platumu un garumu ar precīzu UTC laiku (universālā laika koordinēts). GPS modulis ir galvenā sastāvdaļa mūsu transportlīdzekļu izsekošanas sistēmas projektā. Šī ierīce saņem satelīta koordinātas par katru sekundi, norādot laiku un datumu.
GPS modulis reāllaikā nosūta datus, kas saistīti ar izsekošanas pozīciju, un tik daudz datu NMEA formātā (skat. Ekrānuzņēmumu zemāk). NMEA formāts sastāv no vairākiem teikumiem, kuros mums vajadzīgs tikai viens teikums. Šis teikums sākas ar $ GPGGA un satur koordinātas, laiku un citu noderīgu informāciju. Šis GPGGA attiecas uz globālās pozicionēšanas sistēmas labošanas datiem. Uzziniet vairāk par GPS datu un to virkņu lasīšanu šeit.
Saskaitot virknes komatus, mēs varam iegūt koordinātas no $ GPGGA virknes. Pieņemsim, ka atrodat virkni $ GPGGA un glabājat to masīvā, tad Latitude var atrast pēc diviem komatiem un Longitude - pēc četriem komatiem. Tagad šo platumu un garumu var ievietot citos masīvos.
Zemāk ir $ GPGGA virkne kopā ar aprakstu:
GPGGA, 104534.000,7791.0381, N, 06727.4434, E, 1,08,0,9,510,4, M, 43,9, M,, * 47
$ GPGGA, HHMMSS.SSS, platums, N, garums, E, FQ, NOS, HDP, augstums, M, augstums, M,, kontrolsummas dati
Identifikators |
Apraksts |
$ GPGGA |
Globālās pozicionēšanas sistēmas fiksēšanas dati |
HHMMSS.SSS |
Laiks stundas minūtēs sekundēs un milisekundes formātā. |
Platums |
Platums (koordinātas) |
N |
Virziens N = ziemeļi, S = dienvidi |
Garums |
Garums (koordinātas) |
E |
Virziens E = Austrumi, W = Rietumi |
FQ |
Labot kvalitātes datus |
NOS |
Izmantoto satelītu skaits |
HPD |
Horizontāls precizitātes atšķaidījums |
Augstums |
Augstums no jūras līmeņa |
M |
Skaitītājs |
Augstums |
Augstums |
Kontrolsumma |
Kontrolsummas dati |
Ķēdes skaidrojums par GSM un GPS saskarni ar Arduino:
Šī transportlīdzekļa izsekošanas sistēmas projekta shēmas savienojumi ir vienkārši un parādīti attēlā belwo. Šeit GPS moduļa Tx tapa ir tieši savienota ar Arduino digitālo tapu numuru 10. Šeit izmantojot programmatūras sērijas bibliotēku, mēs esam atļāvuši sērijveida saziņu uz tapām 10 un 11, padarījām tās attiecīgi par Rx un Tx un atstājām GPS moduļa Rx tapu atvērtu. Pēc noklusējuma Arduino 0 un 1 tapas tiek izmantotas sērijveida saziņai, taču, izmantojot SoftwareSerial bibliotēku, mēs varam atļaut seriālu saziņu ar citām Arduino digitālajām tapām. GPS moduļa darbināšanai izmanto 12 voltu barošanu.
GSM moduļa Tx un Rx tapas ir tieši savienotas ar Arduino tapām Rx un Tx. GSM moduli darbina arī 12v barošana. Izvēles LCD datu tapas D4, D5, D6 un D7 ir savienotas ar Arduino tapām 5, 4, 3 un 2. LCD komandtapa RS un EN ir savienota ar Arduino tapu numuriem 2 un 3, un RW tapa ir tieši savienota ar zemi. LCD kontrasta vai spilgtuma iestatīšanai tiek izmantots arī potenciometrs.
GSM un GPS balstīta transportlīdzekļu izsekošanas sistēma, izmantojot Arduino - Darbs
Šajā projektā Arduino tiek izmantots visa procesa kontrolei ar GPS uztvērēju un GSM moduli. GPS uztvērējs tiek izmantots transportlīdzekļa koordinātu noteikšanai, GSM modulis tiek izmantots koordinātu nosūtīšanai lietotājam ar īsziņu. Papildus 16x2 LCD tiek izmantots arī statusa ziņojumu vai koordinātu parādīšanai. Mēs izmantojām GPS moduli SKG13BL un GSM moduli SIM900A.
Kad mēs esam gatavi ar savu aparatūru pēc programmēšanas, mēs varam to instalēt savā transportlīdzeklī un ieslēgt. Tad mums vienkārši jānosūta īsziņa “Track Vehicle” uz sistēmu, kas ievietota mūsu transportlīdzeklī. Mēs varam izmantot arī dažus prefiksus (#) vai sufiksus (*), piemēram, #Track Vehicle *, lai pareizi identificētu virknes sākumu un beigas, tāpat kā mēs to darījām šajos projektos: GSM bāzes mājas automatizācija un bezvadu paziņojumu dēlis
Nosūtīto ziņojumu saņem GSM modulis, kas ir savienots ar sistēmu un nosūta ziņojumu datus uz Arduino. Arduino to nolasa un izvelk galveno ziņojumu no visa ziņojuma. Un pēc tam salīdziniet to ar iepriekš noteiktu ziņojumu Arduino. Ja notiek kāda sakritība, Arduino nolasa koordinātas, iegūstot $ GPGGA virkni no GPS moduļa datiem (GPS darbojas iepriekš paskaidrots) un nosūta to lietotājam, izmantojot GSM moduli. Šis ziņojums satur transportlīdzekļa atrašanās vietas koordinātas.
GAM un GPS mijiedarbība ar Arduino kodu, lai izsekotu transportlīdzekļa atrašanās vietu
Programmēšanas daļā vispirms mēs iekļaujam bibliotēkas un definējam LCD un programmatūras sērijveida saziņas tapas. Datu glabāšanai definējiet arī dažus mainīgos ar masīviem. Programmatūras sērijas bibliotēka tiek izmantota, lai atļautu sērijveida saziņu ar 10. un 11. kontaktu.
# iekļaut
Šeit masīvs str tiek izmantots saņemto ziņojumu glabāšanai no GSM moduļa un gpsString tiek izmantots GPS virkņu glabāšanai. char * test = “$ GPGGA” tiek izmantots, lai salīdzinātu pareizo virkni, kas mums nepieciešama koordinātām.
Pēc tam mēs esam inicializējuši sērijveida sakarus, LCD, GSM un GPS moduli iestatīšanas funkcijā un parādījuši sveiciena ziņojumu LCD.
void setup () {lcd.begin (16,2); Sērijas sākums (9600); gps.begin (9600); lcd.print ("Transportlīdzekļu izsekošana"); lcd.setCursor (0,1);……………
Cilpas funkcijā mēs saņemam ziņojumu un GPS virkni.
void loop () {serialEvent (); ja (temp) {get_gps (); izsekošana (); }}
Funkcijas void init_sms un void send_sms () tiek izmantotas, lai inicializētu un nosūtītu ziņojumu. Funkcijā init_sms izmantojiet pareizu 10 ciparu mobilā tālruņa numuru .
Funkcija void get_gps () ir izmantota, lai izvilktu koordinātas no saņemtās virknes.
Funkcija void gpsEvent () tiek izmantota GPS datu saņemšanai Arduino.
Funkcija void serialEvent () tiek izmantota, lai saņemtu ziņojumu no GSM un salīdzinātu saņemto ziņojumu ar iepriekš noteiktu ziņojumu (Track Vehicle).
void serialEvent () {while (Serial.available ()) {if (Serial.find ("Track Vehicle")) {temp = 1; pārtraukums; }…………..
Inicializācijas funkcija 'gsm_init () ' tiek izmantota, lai inicializētu un konfigurētu GSM moduli, kur, pirmkārt, GSM modulis tiek pārbaudīts, vai tas ir savienots vai nav, nosūtot komandu 'AT' uz GSM moduli. Ja atbilde ir saņemta labi, tas nozīmē, ka tā ir gatava. Sistēma turpina pārbaudīt moduli, līdz tas kļūst gatavs vai kamēr nav saņemts “OK”. Tad ECHO tiek izslēgts, nosūtot komandu ATE0, pretējā gadījumā GSM modulis atbalsos visas komandas. Tad visbeidzot tīkla pieejamība tiek pārbaudīta, izmantojot “AT + CPIN?” komandu, ja ievietotā karte ir SIM karte un ir PIN, tā dod atbildi + CPIN: READY. To pārbauda arī atkārtoti, līdz tiek atrasts tīkls. To var skaidri saprast zemāk esošajā videoklipā.
Pārbaudiet visas iepriekš minētās funkcijas zemāk esošajā sadaļā Kods.