- Composants requis pour le système de suivi de véhicule basé sur Arduino:
- Comment le module GSM peut-il être utilisé pour suivre l'emplacement:
- Explication du circuit pour l'interfaçage du GSM et du GPS avec Arduino:
- Système de suivi de véhicule basé sur GSM et GPS utilisant Arduino - Fonctionnement
- Interfaçage GAM et GPS avec le code Arduino pour suivre l'emplacement du véhicule
Les systèmes de suivi des véhicules sont très couramment utilisés dans les applications de gestion de flotte et de suivi des actifs. Aujourd'hui, ces systèmes peuvent non seulement suivre l'emplacement du véhicule, mais peuvent également signaler la vitesse et même le contrôler à distance. En général, le suivi des véhicules est un processus dans lequel nous suivons l'emplacement du véhicule sous forme de latitude et de longitude (coordonnées GPS). Les coordonnées GPS sont la valeur d'un emplacement. Ce système est très efficace pour les applications extérieures. Ce type de projet de système de suivi de véhicule est largement utilisé dans le suivi des taxis / taxis, des véhicules volés, des bus scolaires / universitaires, etc. Ce système de suivi de véhicule peut également être utilisé pour suivre un véhicule à l'aide du GPS et du GSM et peut également être utilisé comme système d'alerte de détection d'accident, système de suivi de soldat et bien d'autres, en apportant simplement quelques modifications au matériel et au logiciel.
Nous avons également construit de nombreux autres types de systèmes de suivi de véhicules précédemment, vous pouvez les vérifier si vous êtes intéressé
- Suivi de véhicule GPS et alerte d'accident à l'aide d'Arduino
- Suivi de véhicule avec Google Maps en utilisant Arduino et ESP8266
- Suivi de véhicule GPS et alerte d'accident à l'aide du MSP430
- Suivi de véhicule GPS basé sur LoRa à l'aide d'Arduino
- Localisation Tracker sans GPS utilisant SIM800 et Arduino
Composants requis pour le système de suivi de véhicule basé sur Arduino:
Pour construire un système de suivi de véhicule simple poursuivant Arduino, nous aurons besoin des composants suivants.
- Arduino UNO
- Module GSM
- Module GPS
- Écran LCD 16x2
- Source de courant
- Connexion des fils
- POT 10 K
Comment le module GSM peut-il être utilisé pour suivre l'emplacement:
GPS signifie Global Positioning System et est utilisé pour détecter la latitude et la longitude de n'importe quel endroit sur la Terre, avec l'heure UTC exacte (temps universel coordonné). Le module GPS est le composant principal de notre projet de système de suivi de véhicule. Cet appareil reçoit les coordonnées du satellite pour chaque seconde, avec heure et date.
Le module GPS envoie les données liées à la position de suivi en temps réel, et il envoie autant de données au format NMEA (voir la capture d'écran ci-dessous). Le format NMEA se compose de plusieurs phrases, dans lesquelles nous n'avons besoin que d'une seule phrase. Cette phrase commence à partir de $ GPGGA et contient les coordonnées, l'heure et d'autres informations utiles. Ce GPGGA est appelé Global Positioning System Fix Data. En savoir plus sur la lecture des données GPS et de ses chaînes ici.
Nous pouvons extraire les coordonnées de la chaîne $ GPGGA en comptant les virgules dans la chaîne. Supposons que vous trouviez la chaîne $ GPGGA et que vous la stockiez dans un tableau, alors Latitude se trouve après deux virgules et Longitude après quatre virgules. Maintenant, ces latitude et longitude peuvent être placées dans d'autres tableaux.
Vous trouverez ci-dessous la chaîne $ GPGGA, accompagnée de sa description:
$ GPGGA, 104534.000,7791.0381, N, 06727.4434, E, 1,08,0.9,510,4, M, 43,9, M`` * 47
$ GPGGA, HHMMSS.SSS, latitude, N, longitude, E, FQ, NOS, HDP, altitude, M, hauteur, M, données de somme de contrôle
Identifiant |
La description |
$ GPGGA |
Données de correction du système de positionnement global |
HHMMSS.SSS |
Heure au format heure minute seconde et millisecondes. |
Latitude |
Latitude (coordonnée) |
N |
Direction N = Nord, S = Sud |
Longitude |
Longitude (coordonnée) |
E |
Direction E = Est, W = Ouest |
FQ |
Corriger les données de qualité |
NOS |
Nombre de satellites utilisés |
HPD |
Dilution horizontale de précision |
Altitude |
Altitude par rapport au niveau de la mer |
M |
Mètre |
la taille |
la taille |
Somme de contrôle |
Données de contrôle |
Explication du circuit pour l'interfaçage du GSM et du GPS avec Arduino:
Les connexions de circuit de ce projet de système de suivi de véhicule sont simples et sont illustrées dans l'image ci-dessous. Ici, la broche Tx du module GPS est directement connectée à la broche numérique numéro 10 d'Arduino. En utilisant la bibliothèque série logicielle ici, nous avons autorisé la communication série sur les broches 10 et 11, et les avons respectivement rendus Rx et Tx et laissé la broche Rx du module GPS ouverte. Par défaut, les broches 0 et 1 d'Arduino sont utilisées pour la communication série, mais en utilisant la bibliothèque SoftwareSerial, nous pouvons autoriser la communication série sur d'autres broches numériques de l'Arduino. Une alimentation de 12 volts est utilisée pour alimenter le module GPS.
Les broches Tx et Rx du module GSM sont directement connectées aux broches Rx et Tx d'Arduino. Le module GSM est également alimenté par une alimentation 12v. Les broches de données D4, D5, D6 et D7 d'un écran LCD en option sont connectées aux broches 5, 4, 3 et 2 d'Arduino. Les broches de commande RS et EN de l'écran LCD sont connectées aux broches 2 et 3 de l'Arduino et la broche RW est directement connectée à la terre. Un potentiomètre est également utilisé pour régler le contraste ou la luminosité de l'écran LCD.
Système de suivi de véhicule basé sur GSM et GPS utilisant Arduino - Fonctionnement
Dans ce projet, Arduino est utilisé pour contrôler l'ensemble du processus avec un récepteur GPS et un module GSM. Le récepteur GPS est utilisé pour détecter les coordonnées du véhicule, le module GSM est utilisé pour envoyer les coordonnées à l'utilisateur par SMS. Et un écran LCD 16x2 en option est également utilisé pour afficher les messages d'état ou les coordonnées. Nous avons utilisé le module GPS SKG13BL et le module GSM SIM900A.
Lorsque nous sommes prêts avec notre matériel après la programmation, nous pouvons l'installer dans notre véhicule et le mettre sous tension. Ensuite, il suffit d'envoyer un SMS «Track Vehicle» au système qui est placé dans notre véhicule. Nous pouvons également utiliser un préfixe (#) ou un suffixe (*) comme #Track Vehicle *, pour identifier correctement le début et la fin de la chaîne, comme nous l'avons fait dans ces projets: Domotique basée sur GSM et tableau d'affichage sans fil
Le message envoyé est reçu par le module GSM qui est connecté au système et envoie les données du message à Arduino. Arduino le lit et extrait le message principal de l'ensemble du message. Et puis comparez-le avec un message prédéfini dans Arduino. Si une correspondance se produit, Arduino lit les coordonnées en extrayant la chaîne $ GPGGA des données du module GPS (fonctionnement du GPS expliqué ci-dessus) et l'envoie à l'utilisateur en utilisant le module GSM. Ce message contient les coordonnées de l'emplacement du véhicule.
Interfaçage GAM et GPS avec le code Arduino pour suivre l'emplacement du véhicule
Dans la partie programmation, nous incluons d'abord des bibliothèques et définissons des broches pour la communication série LCD et logiciel. Définissez également une variable avec des tableaux pour stocker des données. Software Serial Library est utilisé pour permettre la communication série sur les broches 10 et 11.
#comprendre
Ici, le tableau str est utilisé pour stocker le message reçu du module GSM et gpsString est utilisé pour stocker la chaîne GPS. char * test = "$ GPGGA" est utilisé pour comparer la bonne chaîne dont nous avons besoin pour les coordonnées.
Après cela, nous avons initialisé la communication série, le module LCD, GSM et GPS dans la fonction de configuration et affiché un message de bienvenue sur l'écran LCD.
void setup () {lcd.begin (16,2); Serial.begin (9600); gps.begin (9600); lcd.print ("Suivi de véhicule"); lcd.setCursor (0,1);……………
En fonction de boucle, nous recevons un message et une chaîne GPS.
boucle void () {serialEvent (); if (temp) {get_gps (); suivi(); }}
Les fonctions void init_sms et void send_sms () sont utilisées pour initialiser et envoyer le message. Utilisez le bon numéro de téléphone portable à 10 chiffres, dans la fonction init_sms .
La fonction void get_gps () a été utilisée pour extraire les coordonnées de la chaîne reçue.
La fonction void gpsEvent () est utilisée pour recevoir des données GPS dans l'Arduino.
La fonction void serialEvent () est utilisée pour recevoir un message du GSM et comparer le message reçu avec un message prédéfini (Track Vehicle).
void serialEvent () {while (Serial.available ()) {if (Serial.find ("Track Vehicle")) {temp = 1; Pause; }…………..
La fonction d'initialisation 'gsm_init () ' est utilisée pour initialiser et configurer le module GSM, où tout d'abord, le module GSM est vérifié s'il est connecté ou non en envoyant la commande 'AT' au module GSM. Si la réponse OK est reçue, cela signifie qu'elle est prête. Le système continue de vérifier le module jusqu'à ce qu'il soit prêt ou jusqu'à ce que «OK» soit reçu. Ensuite, ECHO est désactivé en envoyant la commande ATE0, sinon le module GSM fera écho à toutes les commandes. Enfin, la disponibilité du réseau est vérifiée via le 'AT + CPIN?' commande, si la carte insérée est une carte SIM et que le code PIN est présent, il donne la réponse + CPIN: READY. Ceci est également vérifié à plusieurs reprises jusqu'à ce que le réseau soit trouvé. Cela peut être clairement compris par la vidéo ci-dessous.
Vérifiez toutes les fonctions ci-dessus dans la section Code ci-dessous.