- Erforderliche Komponenten für ein Arduino-basiertes Fahrzeugverfolgungssystem:
- Wie kann das GSM-Modul verwendet werden, um den Standort zu verfolgen:
- Schaltungserklärung für die Schnittstelle von GSM und GPS mit Arduino:
- GSM- und GPS-basiertes Fahrzeugverfolgungssystem mit Arduino - Working
- GAM- und GPS-Schnittstelle mit Arduino-Code zur Verfolgung des Fahrzeugstandorts
Fahrzeugverfolgungssysteme werden sehr häufig in Flottenmanagement- und Asset-Tracking-Anwendungen verwendet. Heute können diese Systeme nicht nur den Standort des Fahrzeugs verfolgen, sondern auch die Geschwindigkeit melden und sogar fernsteuern. Im Allgemeinen ist die Verfolgung von Fahrzeugen ein Prozess, bei dem wir den Fahrzeugstandort in Form von Breiten- und Längengraden (GPS-Koordinaten) verfolgen. GPS-Koordinaten sind der Wert eines Standorts. Dieses System ist für Außenanwendungszwecke sehr effizient. Diese Art von Fahrzeugverfolgungssystem-Projekt ist weit verbreitet bei der Verfolgung von Taxis / Taxis, gestohlenen Fahrzeugen, Schul- / Hochschulbussen usw. In diesem Projekt gehen wir dem GPS-Aufbau eines GSM- und GPS-basierten Fahrzeugverfolgungssystems mit Arduino einen Schritt voraus. Dieses Fahrzeugverfolgungssystem kann auch verwendet werden Verfolgen Sie ein Fahrzeug mithilfe von GPS und GSM und können Sie es auch als Unfallerkennungssystem, Soldatenverfolgungssystem und vieles mehr verwenden, indem Sie nur wenige Änderungen an Hardware und Software vornehmen.
Wir haben bereits viele andere Arten von Fahrzeugverfolgungssystemen gebaut. Sie können diese bei Interesse überprüfen
- GPS-Fahrzeugverfolgung und Unfallwarnung mit Arduino
- Fahrzeugverfolgung mit Google Maps mit Arduino und ESP8266
- GPS-Fahrzeugverfolgung und Unfallwarnung mit MSP430
- LoRa-basiertes GPS-Fahrzeug-Tracking mit Arduino
- Location Tracker ohne GPS mit SIM800 und Arduino
Erforderliche Komponenten für ein Arduino-basiertes Fahrzeugverfolgungssystem:
Um ein einfaches Fahrzeugverfolgungssystem für Arduino zu bauen, benötigen wir die folgenden Komponenten.
- Arduino UNO
- GSM-Modul
- GPS-Modul
- 16x2 LCD
- Energieversorgung
- Kabel anschließen
- 10 K POT
Wie kann das GSM-Modul verwendet werden, um den Standort zu verfolgen:
GPS steht für Global Positioning System und wird verwendet, um den Breiten- und Längengrad eines beliebigen Ortes auf der Erde mit der genauen UTC-Zeit (Universal Time Coordinated) zu erfassen. Das GPS-Modul ist die Hauptkomponente in unserem Projekt zum Fahrzeugverfolgungssystem. Dieses Gerät empfängt die Koordinaten vom Satelliten für jede Sekunde mit Uhrzeit und Datum.
Das GPS-Modul sendet die Daten zur Verfolgungsposition in Echtzeit und sendet so viele Daten im NMEA-Format (siehe Abbildung unten). Das NMEA-Format besteht aus mehreren Sätzen, in denen wir nur einen Satz benötigen. Dieser Satz beginnt bei $ GPGGA und enthält die Koordinaten, die Zeit und andere nützliche Informationen. Dieses GPGGA wird als Fixdaten für das globale Positionierungssystem bezeichnet. Erfahren Sie hier mehr über das Lesen von GPS-Daten und deren Zeichenfolgen.
Wir können die Koordinate aus der $ GPGGA-Zeichenfolge extrahieren, indem wir die Kommas in der Zeichenfolge zählen. Angenommen, Sie finden eine $ GPGGA-Zeichenfolge und speichern sie in einem Array. Dann wird Latitude nach zwei Kommas und Longitude nach vier Kommas gefunden. Jetzt können diese Breiten- und Längengrade in andere Arrays eingefügt werden.
Unten finden Sie den $ GPGGA-String mit seiner Beschreibung:
$ GPGGA, 104534.000.7791.0381, N, 06727.4434, E, 1.08.0.9.510.4, M, 43.9, M,, * 47
$ GPGGA, HHMMSS.SSS, Breite, N, Länge, E, FQ, NOS, HDP, Höhe, M, Höhe, M,, Prüfsummen-Daten
Kennung |
Beschreibung |
$ GPGGA |
Fixdaten des Global Positioning Systems |
HHMMSS.SSS |
Zeit in Stunden, Minuten, Sekunden und Millisekunden. |
Breite |
Breitengrad (Koordinate) |
N. |
Richtung N = Nord, S = Süd |
Längengrad |
Längengrad (Koordinate) |
E. |
Richtung E = Ost, W = West |
FQ |
Qualitätsdaten korrigieren |
NOS |
Anzahl der verwendeten Satelliten |
HPD |
Horizontale Verdünnung der Präzision |
Höhe |
Höhe vom Meeresspiegel |
M. |
Meter |
Höhe |
Höhe |
Prüfsumme |
Prüfsummen-Daten |
Schaltungserklärung für die Schnittstelle von GSM und GPS mit Arduino:
Die Schaltkreisverbindungen dieses Fahrzeugverfolgungssystemprojekts sind einfach und werden im folgenden Bild gezeigt. Hier ist der Tx-Pin des GPS-Moduls direkt mit dem digitalen Pin Nummer 10 von Arduino verbunden. Durch die Verwendung der Software Serial Library haben wir die serielle Kommunikation an Pin 10 und 11 zugelassen, sie auf Rx bzw. Tx eingestellt und den Rx-Pin des GPS-Moduls offen gelassen. Standardmäßig werden Pin 0 und 1 von Arduino für die serielle Kommunikation verwendet. Mithilfe der SoftwareSerial-Bibliothek können wir jedoch die serielle Kommunikation über andere digitale Pins des Arduino zulassen. Die 12-Volt-Versorgung dient zur Stromversorgung des GPS-Moduls.
Die Tx- und Rx-Pins des GSM-Moduls sind direkt mit den Pins Rx und Tx von Arduino verbunden. Das GSM-Modul wird auch mit 12 V versorgt. Die Datenpins D4, D5, D6 und D7 eines optionalen LCD sind mit Pin 5, 4, 3 und 2 von Arduino verbunden. Der Befehlspin RS und EN des LCD sind mit Pin 2 und 3 von Arduino verbunden, und der RW-Pin ist direkt mit Masse verbunden. Ein Potentiometer wird auch zum Einstellen des Kontrasts oder der Helligkeit des LCD verwendet.
GSM- und GPS-basiertes Fahrzeugverfolgungssystem mit Arduino - Working
In diesem Projekt wird Arduino verwendet, um den gesamten Prozess mit einem GPS-Empfänger und einem GSM-Modul zu steuern. Der GPS-Empfänger dient zur Erfassung der Koordinaten des Fahrzeugs, das GSM-Modul zum Senden der Koordinaten an den Benutzer per SMS. Ein optionales 16x2-LCD wird auch zum Anzeigen von Statusmeldungen oder Koordinaten verwendet. Wir haben das GPS-Modul SKG13BL und das GSM-Modul SIM900A verwendet.
Wenn wir nach der Programmierung mit unserer Hardware fertig sind, können wir sie in unser Fahrzeug einbauen und einschalten. Dann müssen wir nur noch eine SMS mit dem Titel „Track Vehicle“ an das System senden, das sich in unserem Fahrzeug befindet. Wir können auch ein Präfix (#) oder Suffix (*) wie #Track Vehicle * verwenden, um den Anfang und das Ende der Zeichenfolge richtig zu identifizieren, wie wir es in diesen Projekten getan haben: GSM-basierte Hausautomation und Wireless Notice Board
Die gesendete Nachricht wird vom GSM-Modul empfangen, das mit dem System verbunden ist und Nachrichtendaten an Arduino sendet. Arduino liest es und extrahiert die Hauptnachricht aus der gesamten Nachricht. Und dann vergleiche es mit einer vordefinierten Nachricht in Arduino. Wenn eine Übereinstimmung auftritt, liest Arduino die Koordinaten, indem er $ GPGGA String aus den GPS-Moduldaten extrahiert (GPS-Funktion oben erläutert) und sie mithilfe des GSM-Moduls an den Benutzer sendet. Diese Nachricht enthält die Koordinaten des Fahrzeugstandorts.
GAM- und GPS-Schnittstelle mit Arduino-Code zur Verfolgung des Fahrzeugstandorts
Im ersten Programmierteil schließen wir Bibliotheken ein und definieren Pins für die serielle LCD- und Software-Kommunikation. Definieren Sie auch eine Variable mit Arrays zum Speichern von Daten. Die Software Serial Library ermöglicht die serielle Kommunikation an Pin 10 und 11.
#einschließen
Hier wird Array Str zum Speichern der vom GSM-Modul empfangenen Nachricht und gpsString zum Speichern des GPS-Strings verwendet. char * test = ”$ GPGGA” wird verwendet, um die richtige Zeichenfolge zu vergleichen, die wir für Koordinaten benötigen.
Danach haben wir die serielle Kommunikation, das LCD-, GSM- und GPS-Modul in der Setup-Funktion initialisiert und eine Begrüßungsnachricht auf dem LCD angezeigt.
void setup () {lcd.begin (16,2); Serial.begin (9600); gps.begin (9600); lcd.print ("Fahrzeugverfolgung"); lcd.setCursor (0,1);……………
In der Schleifenfunktion erhalten wir eine Nachricht und einen GPS-String.
void loop () {serialEvent (); if (temp) {get_gps (); Verfolgung(); }}
Die Funktionen void init_sms und void send_sms () werden zum Initialisieren und Senden von Nachrichten verwendet. Verwenden Sie in der Funktion init_sms die richtige 10-stellige Handynummer .
Die Funktion void get_gps () wurde verwendet, um die Koordinaten aus der empfangenen Zeichenfolge zu extrahieren.
Die Funktion void gpsEvent () wird zum Empfangen von GPS-Daten in das Arduino verwendet.
Die Funktion void serialEvent () wird zum Empfangen von Nachrichten von GSM und zum Vergleichen der empfangenen Nachricht mit einer vordefinierten Nachricht (Track Vehicle) verwendet.
void serialEvent () {while (Serial.available ()) {if (Serial.find ("Track Vehicle")) {temp = 1; Unterbrechung; }…………..
Die Initialisierungsfunktion 'gsm_init () ' wird zum Initialisieren und Konfigurieren des GSM-Moduls verwendet. Dabei wird zunächst geprüft, ob das GSM-Modul verbunden ist oder nicht, indem der Befehl 'AT' an das GSM-Modul gesendet wird. Wenn die Antwort OK empfangen wird, bedeutet dies, dass sie bereit ist. Das System sucht so lange nach dem Modul, bis es bereit ist oder bis 'OK' empfangen wird. Dann wird ECHO durch Senden des ATE0-Befehls ausgeschaltet, andernfalls gibt das GSM-Modul alle Befehle wieder. Anschließend wird die Netzwerkverfügbarkeit über die 'AT + CPIN?' Befehl: Wenn die eingelegte Karte eine SIM-Karte ist und eine PIN vorhanden ist, wird die Antwort + CPIN: BEREIT angezeigt. Dies wird auch wiederholt überprüft, bis das Netzwerk gefunden wurde. Dies kann durch das folgende Video klar verstanden werden.
Überprüfen Sie alle oben genannten Funktionen im folgenden Codeabschnitt.