- Komponenty potřebné pro systém sledování vozidel na bázi Arduino:
- Jak lze GSM modul použít ke sledování polohy:
- Vysvětlení obvodu pro propojení GSM a GPS s Arduino:
- Systém sledování vozidel založený na GSM a GPS pomocí Arduino - pracovní
- Rozhraní GAM a GPS s kódem Arduino pro sledování polohy vozidla
Systémy sledování vozidel se velmi často používají v aplikacích pro správu vozového parku a sledování majetku. Dnes tyto systémy mohou nejen sledovat polohu vozidla, ale také hlásit rychlost a dokonce ji dálkově ovládat. Sledování vozidel je obecně proces, při kterém sledujeme polohu vozidla ve formě zeměpisné šířky a délky (souřadnice GPS). GPS souřadnice jsou hodnotou místa. Tento systém je velmi efektivní pro venkovní použití. Tento druh projektu systému sledování vozidel je široce využíván při sledování kabin / taxíků, odcizených vozidel, školních / vysokoškolských autobusů atd. V tomto projektu jdeme o krok napřed s GPS vybudováním systému sledování vozidel založeného na GSM a GPS pomocí Arduina. Tento systém sledování vozidel lze také použít sledovat vozidlo pomocí GPS a GSM a lze jej také použít jako varovný systém detekce nehod, systém sledování vojáků a mnoho dalších, stačí provést několik změn v hardwaru a softwaru.
Dříve jsme také vytvořili mnoho dalších typů systémů sledování vozidel, v případě zájmu si je můžete prohlédnout
- GPS sledování vozidel a varování před nehodami pomocí Arduina
- Sledování vozidel pomocí Google Maps pomocí Arduino a ESP8266
- GPS sledování vozidel a varování před nehodami pomocí MSP430
- Sledování vozidel GPS založené na LoRa pomocí Arduina
- Tracker polohy bez GPS pomocí SIM800 a Arduino
Komponenty potřebné pro systém sledování vozidel na bázi Arduino:
Abychom mohli postavit jednoduchý systém sledování vozidel žalovající Arduino, budeme potřebovat následující komponenty.
- Arduino UNO
- GSM modul
- GPS modul
- 16x2 LCD
- Zdroj napájení
- Připojení vodičů
- 10 K POT
Jak lze GSM modul použít ke sledování polohy:
GPS znamená Global Positioning System a používá se k detekci zeměpisné šířky a délky jakéhokoli místa na Zemi s přesným časem UTC (Universal Time Coordinated). Modul GPS je hlavní součástí našeho projektu systému sledování vozidel. Toto zařízení přijímá souřadnice ze satelitu každou sekundu s časem a datem.
Modul GPS odesílá data související se sledováním polohy v reálném čase a odesílá tolik dat ve formátu NMEA (viz snímek obrazovky níže). Formát NMEA se skládá z několika vět, ve kterých potřebujeme pouze jednu větu. Tato věta začíná od $ GPGGA a obsahuje souřadnice, čas a další užitečné informace. Toto GPGGA se označuje jako opravná data globálního pozičního systému. Další informace o čtení dat GPS a jejich řetězcích naleznete zde.
Můžeme extrahovat souřadnice z řetězce $ GPGGA počítáním čárek v řetězci. Předpokládejme, že najdete řetězec $ GPGGA a uložíte jej do pole, pak Latitude najdete po dvou čárkách a Longitude najdete po čtyřech čárkách. Nyní lze tyto zeměpisné šířky a délky vložit do jiných polí.
Níže je řetězec $ GPGGA spolu s jeho popisem:
$ GPGGA, 104534 000 7791,0381, N, 06727,4434, E, 1,08,0,9 510,4, M, 43,9, M,, * 47
$ GPGGA, HHMMSS.SSS, zeměpisná šířka, N, zeměpisná délka, E, FQ, NOS, HDP, nadmořská výška, M, výška, M,, data kontrolního součtu
Identifikátor |
Popis |
$ GPGGA |
Údaje o opravách globálního pozičního systému |
HHMMSS.SSS |
Čas v hodinových minutových sekundách a milisekundách. |
Zeměpisná šířka |
Zeměpisná šířka (souřadnice) |
N |
Směr N = sever, S = jih |
Zeměpisná délka |
Zeměpisná délka (souřadnice) |
E |
Směr E = východ, W = západ |
FQ |
Opravte údaje o kvalitě |
NOS |
Počet použitých satelitů |
HPD |
Horizontální ředění přesnosti |
Nadmořská výška |
Nadmořská výška od hladiny moře |
M |
Metr |
Výška |
Výška |
Kontrolní součet |
Data kontrolního součtu |
Vysvětlení obvodu pro propojení GSM a GPS s Arduino:
Připojení obvodu tohoto projektu systému sledování vozidel je jednoduché a je znázorněno na obrázku belwo. Zde je Tx pin modulu GPS přímo připojen k digitálnímu pinu číslo 10 Arduina. Tím, že zde používáme softwarovou sériovou knihovnu, jsme povolili sériovou komunikaci na pinech 10 a 11, udělali jsme jim Rx a Tx a ponechali jsme Rx pin modulu GPS otevřený. Ve výchozím nastavení se pro sériovou komunikaci používají Pin 0 a 1 Arduina, ale pomocí knihovny SoftwareSerial můžeme povolit sériovou komunikaci na jiných digitálních pinech Arduina. K napájení modulu GPS se používá 12voltové napájení.
Kolíky Tx a Rx GSM modulu jsou přímo připojeny k pinům Rx a Tx Arduina. GSM modul je také napájen 12V zdrojem. Volitelné datové piny LCD D4, D5, D6 a D7 jsou připojeny k pinům 5, 4, 3 a 2 na Arduinu. Příkazový pin RS a EN na LCD jsou spojeny s kolíky číslo 2 a 3 Arduino a RW pin je přímo spojen se zemí. Potenciometr se také používá k nastavení kontrastu nebo jasu LCD.
Systém sledování vozidel založený na GSM a GPS pomocí Arduino - pracovní
V tomto projektu se Arduino používá pro řízení celého procesu pomocí GPS přijímače a GSM modulu. Přijímač GPS slouží k detekci souřadnic vozidla, modul GSM slouží k odesílání souřadnic uživateli pomocí SMS. A volitelný 16x2 LCD se také používá pro zobrazení stavových zpráv nebo souřadnic. Použili jsme GPS modul SKG13BL a GSM modul SIM900A.
Když jsme po programování připraveni na hardware, můžeme jej nainstalovat do našeho vozidla a zapnout jej. Pak už jen potřebujeme poslat SMS, „Track Vehicle“, do systému, který je umístěn v našem vozidle. Můžeme také použít nějakou předponu (#) nebo příponu (*) jako #Track Vehicle *, abychom správně identifikovali začátek a konec řetězce, jako jsme to udělali v těchto projektech: GSM Based Home Automation and Wireless Notice Board
Odeslaná zpráva je přijímána GSM modulem, který je připojen k systému a odesílá data zprávy do Arduina. Arduino to přečte a extrahuje hlavní zprávu z celé zprávy. A pak to porovnejte s předdefinovanou zprávou v Arduinu. Pokud dojde k jakékoli shodě, Arduino načte souřadnice extrahováním řetězce $ GPGGA z dat modulu GPS (GPS funguje vysvětleno výše) a odešle jej uživateli pomocí modulu GSM. Tato zpráva obsahuje souřadnice polohy vozidla.
Rozhraní GAM a GPS s kódem Arduino pro sledování polohy vozidla
V programovací části nejprve zahrneme knihovny a definujeme piny pro LCD a softwarovou sériovou komunikaci. Definujte také nějakou proměnnou s poli pro ukládání dat. Software Serial Library se používá k umožnění sériové komunikace na pinech 10 a 11.
#zahrnout
Zde se pole str používá k ukládání přijaté zprávy z GSM modulu a gpsString se používá k ukládání GPS řetězce. char * test = ”$ GPGGA” se používá k porovnání správného řetězce, který potřebujeme pro souřadnice.
Poté jsme inicializovali sériovou komunikaci, LCD, GSM a GPS modul ve funkci nastavení a zobrazili uvítací zprávu na LCD.
void setup () {lcd.begin (16,2); Serial.begin (9600); gps.begin (9600); lcd.print ("Sledování vozidel"); lcd.setCursor (0,1);……………
Ve funkci smyčky dostáváme zprávu a řetězec GPS.
void loop () {serialEvent (); if (temp) {get_gps (); sledování (); }}
Funkce void init_sms a void send_sms () se používají k inicializaci a odeslání zprávy. Použijte správné 10místné číslo mobilního telefonu ve funkci init_sms .
K extrakci souřadnic z přijatého řetězce byla použita funkce void get_gps () .
Funkce void gpsEvent () se používá pro příjem dat GPS do Arduina.
Funkce void serialEvent () se používá pro příjem zpráv z GSM a porovnání přijatých zpráv s předdefinovanými zprávami (Track Vehicle).
void serialEvent () {while (Serial.available ()) {if (Serial.find ("Track Vehicle")) {temp = 1; přestávka; }…………..
Inicializační funkce 'gsm_init () ' se používá pro inicializaci a konfiguraci GSM modulu, kde se nejprve GSM modul zkontroluje, zda je připojen nebo ne zasláním příkazu 'AT' do GSM modulu. Pokud je odpověď v pořádku, znamená to, že je připravena. Systém neustále kontroluje modul, dokud nebude připraven nebo dokud nebude přijato „OK“. Poté se ECHO vypne odesláním příkazu ATE0, jinak GSM modul ozve všechny příkazy. Nakonec se dostupnost sítě zkontroluje pomocí „AT + CPIN?“ příkaz, pokud je vložená karta SIM karta a je přítomen PIN, dává odpověď + CPIN: PŘIPRAVENO. Toto se také opakovaně kontroluje, dokud není nalezena síť. To lze jasně pochopit na videu níže.
Zkontrolujte všechny výše uvedené funkce v části Kód níže.