- Komponenty wymagane dla systemu śledzenia pojazdów opartego na Arduino:
- Jak można wykorzystać moduł GSM do śledzenia lokalizacji:
- Objaśnienie obwodu dla połączenia GSM i GPS z Arduino:
- System śledzenia pojazdów oparty na GSM i GPS wykorzystujący Arduino - działa
- Łączenie GAM i GPS z kodem Arduino w celu śledzenia lokalizacji pojazdu
Systemy śledzenia pojazdów są bardzo często używane w aplikacjach do zarządzania flotą i śledzenia zasobów. Obecnie systemy te mogą nie tylko śledzić położenie pojazdu, ale także raportować prędkość, a nawet sterować nim zdalnie. Ogólnie rzecz biorąc, śledzenie pojazdów to proces, w którym śledzimy lokalizację pojazdu w postaci szerokości i długości geograficznej (współrzędne GPS). Współrzędne GPS to wartość lokalizacji. Ten system jest bardzo wydajny do zastosowań zewnętrznych. Ten rodzaj projektu systemu śledzenia pojazdów jest szeroko stosowany w śledzeniu taksówek / taksówek, skradzionych pojazdów, autobusów szkolnych / uniwersyteckich itp. W tym projekcie idziemy o krok do przodu, budując system śledzenia pojazdów oparty na GSM i GPS przy użyciu Arduino. Ten system śledzenia pojazdów może być również używany do Śledź pojazd za pomocą GPS i GSM i może być również używany jako system ostrzegania o wypadkach, system śledzenia żołnierzy i wiele innych, po prostu wprowadzając kilka zmian w sprzęcie i oprogramowaniu.
Wcześniej zbudowaliśmy również wiele innych typów systemów śledzenia pojazdów, możesz je sprawdzić, jeśli jesteś zainteresowany
- Śledzenie pojazdów GPS i alarmy o wypadkach za pomocą Arduino
- Śledzenie pojazdów za pomocą Google Maps przy użyciu Arduino i ESP8266
- Śledzenie pojazdów GPS i ostrzeżenia o wypadkach za pomocą MSP430
- Śledzenie pojazdów GPS w oparciu o LoRa za pomocą Arduino
- Lokalizator lokalizacji bez GPS za pomocą SIM800 i Arduino
Komponenty wymagane dla systemu śledzenia pojazdów opartego na Arduino:
Aby zbudować prosty system śledzenia pojazdów pozywający Arduino, będziemy potrzebować następujących komponentów.
- Arduino UNO
- Moduł GSM
- Moduł GPS
- Wyświetlacz LCD 16x2
- Zasilacz
- Podłączanie przewodów
- 10 K POT
Jak można wykorzystać moduł GSM do śledzenia lokalizacji:
GPS oznacza Global Positioning System i służy do wykrywania szerokości i długości geograficznej dowolnego miejsca na Ziemi z dokładnym czasem UTC (Universal Time Coordinated). Moduł GPS jest głównym elementem naszego projektu systemu śledzenia pojazdów. To urządzenie odbiera współrzędne z satelity co każdą sekundę, wraz z godziną i datą.
Moduł GPS wysyła dane związane ze śledzeniem pozycji w czasie rzeczywistym, a tak wiele danych w formacie NMEA (patrz zrzut ekranu poniżej). Format NMEA składa się z kilku zdań, w których potrzebujemy tylko jednego zdania. To zdanie zaczyna się od $ GPGGA i zawiera współrzędne, czas i inne przydatne informacje. Ten GPGGA jest nazywany danymi poprawek globalnego systemu pozycjonowania. Dowiedz się więcej o odczytywaniu danych GPS i ich ciągów tutaj.
Możemy wyodrębnić współrzędne z ciągu $ GPGGA, licząc przecinki w ciągu. Załóżmy, że znajdujesz ciąg $ GPGGA i zapisujesz go w tablicy, wtedy szerokość geograficzną można znaleźć po dwóch przecinkach, a długość geograficzną po czterech przecinkach. Teraz te szerokości i długości geograficzne można umieścić w innych tablicach.
Poniżej znajduje się ciąg $ GPGGA wraz z opisem:
$ GPGGA, 104534.000, 7791.0381, N, 06727.4434, E, 1,08,0,9,510,4, M, 43,9, M,, * 47
$ GPGGA, HHMMSS.SSS, szerokość, N, długość geograficzna, E, FQ, NOS, HDP, wysokość, M, wysokość, M,, dane sumy kontrolnej
Identyfikator |
Opis |
$ GPGGA |
Dane poprawki systemu Global Positioning |
HHMMSS.SSS |
Czas w formacie godzina minuta sekundy i milisekundy. |
Szerokość |
Szerokość geograficzna (współrzędna) |
N |
Kierunek N = północ, S = południe |
Długość geograficzna |
Długość geograficzna (współrzędna) |
mi |
Kierunek E = wschód, W = zachód |
FQ |
Popraw dane dotyczące jakości |
NOS |
Liczba używanych satelitów |
HPD |
Poziome osłabienie precyzji |
Wysokość |
Wysokość nad poziomem morza |
M |
Metr |
Wysokość |
Wysokość |
Suma kontrolna |
Dane sumy kontrolnej |
Objaśnienie obwodu dla połączenia GSM i GPS z Arduino:
Połączenia obwodów tego projektu systemu śledzenia pojazdów są proste i pokazano na poniższym obrazku. Tutaj pin Tx modułu GPS jest bezpośrednio połączony z cyfrowym pinem nr 10 Arduino. Używając tutaj Software Serial Library, zezwoliliśmy na komunikację szeregową na pinach 10 i 11 i zrobiliśmy je odpowiednio Rx i Tx i zostawiliśmy otwarty pin Rx modułu GPS. Domyślnie Pin 0 i 1 Arduino są używane do komunikacji szeregowej, ale korzystając z biblioteki SoftwareSerial, możemy zezwolić na komunikację szeregową na innych pinach cyfrowych Arduino. Do zasilania modułu GPS używane jest zasilanie 12 V.
Piny Tx i Rx modułu GSM są bezpośrednio połączone z pinami Rx i Tx Arduino. Moduł GSM jest również zasilany napięciem 12 V. Opcjonalne piny danych wyświetlacza LCD D4, D5, D6 i D7 są podłączone do pinów 5, 4, 3 i 2 Arduino. Pin rozkazowy RS i EN wyświetlacza LCD są połączone z pinami nr 2 i 3 Arduino, a pin RW jest bezpośrednio połączony z masą. Potencjometr służy również do ustawiania kontrastu lub jasności wyświetlacza LCD.
System śledzenia pojazdów oparty na GSM i GPS wykorzystujący Arduino - działa
W tym projekcie Arduino służy do sterowania całym procesem za pomocą odbiornika GPS i modułu GSM. Odbiornik GPS służy do wykrywania współrzędnych pojazdu, moduł GSM służy do wysyłania współrzędnych do użytkownika SMS-em. Opcjonalny wyświetlacz LCD 16x2 służy również do wyświetlania komunikatów o stanie lub współrzędnych. Użyliśmy modułu GPS SKG13BL i modułu GSM SIM900A.
Kiedy będziemy gotowi z naszym sprzętem po zaprogramowaniu, możemy go zainstalować w naszym pojeździe i zasilić. Następnie wystarczy wysłać SMS-a „Śledź pojazd” do systemu umieszczonego w naszym pojeździe. Możemy również użyć jakiegoś prefiksu (#) lub sufiksu (*), jak #Track Vehicle *, aby poprawnie zidentyfikować początek i koniec ciągu, tak jak to zrobiliśmy w tych projektach: Automatyka domowa na bazie GSM i bezprzewodowa tablica ogłoszeń
Wysłana wiadomość jest odbierana przez podłączony do systemu moduł GSM i przesyła dane wiadomości do Arduino. Arduino odczytuje go i wyodrębnia główną wiadomość z całej wiadomości. A następnie porównaj to z predefiniowaną wiadomością w Arduino. Jeśli wystąpi jakiekolwiek dopasowanie, Arduino odczytuje współrzędne, wyodrębniając ciąg $ GPGGA z danych modułu GPS (działanie GPS wyjaśniono powyżej) i wysyłając je do użytkownika za pomocą modułu GSM. Ta wiadomość zawiera współrzędne lokalizacji pojazdu.
Łączenie GAM i GPS z kodem Arduino w celu śledzenia lokalizacji pojazdu
W części programistycznej najpierw włączamy biblioteki i definiujemy piny do komunikacji szeregowej LCD i oprogramowania. Zdefiniuj także jakąś zmienną z tablicami do przechowywania danych. Oprogramowanie Serial Library umożliwia komunikację szeregową na pinach 10 i 11.
#zawierać
Tutaj tablica str jest używana do przechowywania odebranej wiadomości z modułu GSM, a gpsString jest używana do przechowywania ciągu GPS. char * test = ”$ GPGGA” służy do porównania odpowiedniego ciągu, którego potrzebujemy jako współrzędne.
Następnie zainicjowaliśmy komunikację szeregową, wyświetlacz LCD, moduł GSM i GPS w funkcji konfiguracji i pokazaliśmy wiadomość powitalną na wyświetlaczu LCD.
void setup () {lcd.begin (16,2); Serial.begin (9600); gps.begin (9600); lcd.print ("Śledzenie pojazdów"); lcd.setCursor (0,1);……………
W funkcji pętli otrzymujemy komunikat i ciąg GPS.
void loop () {serialEvent (); if (temp) {get_gps (); śledzenie(); }}
Funkcje void init_sms i void send_sms () służą do inicjalizacji i wysyłania wiadomości. Użyj prawidłowego 10-cyfrowego numeru telefonu komórkowego w funkcji init_sms .
Do wyodrębnienia współrzędnych z otrzymanego ciągu użyto funkcji void get_gps () .
Funkcja void gpsEvent () służy do odbierania danych GPS do Arduino.
Funkcja void serialEvent () służy do odbierania wiadomości z GSM i porównywania odebranej wiadomości z predefiniowaną wiadomością (Track Vehicle).
void serialEvent () {while (Serial.available ()) {if (Serial.find ("Śledź pojazd")) {temp = 1; przerwa; }…………..
Funkcja inicjalizacji „gsm_init () ” służy do inicjalizacji i konfiguracji modułu GSM, gdzie najpierw sprawdza się, czy moduł GSM jest podłączony, czy nie, wysyłając polecenie „AT” do modułu GSM. Jeśli otrzymano odpowiedź OK, oznacza to, że jest gotowa. System sprawdza, czy moduł jest gotowy lub do otrzymania „OK”. Następnie ECHO jest wyłączane przez wysłanie komendy ATE0, w przeciwnym razie moduł GSM powtórzy wszystkie komendy. Wreszcie dostępność sieci jest sprawdzana za pomocą „AT + CPIN?” polecenie, jeśli włożona karta jest kartą SIM i obecny jest PIN, daje odpowiedź + CPIN: READY. Jest to również sprawdzane wielokrotnie, aż do znalezienia sieci. Można to wyraźnie zrozumieć na poniższym filmie.
Sprawdź wszystkie powyższe funkcje w sekcji Kod poniżej.