Construisez un tracker GPS avec Seeed Studio XIAO ESP32-S3 et Geofencing

GPS Tracker with Geofence Using Xiao ESP32 S3

En utilisant le Traceur GPS avec XIAO ESP32-S3nous sommes en mesure de suivre l’emplacement de nos appareils et de nos animaux de compagnie via WiFi sans avoir à acheter de forfait de téléphonie mobile. Le XIAO ESP32-S3 est un microcontrôleur compact et puissant de Seeed Studio qui s’interface avec le module GPS Neo-6M. Cela permet aux données de localisation GPS d’être envoyées directement via votre Wi-Fi du XIAO ESP32-S3 aux serveurs Cloud.

Principales caractéristiques du traceur GPS XIAO ESP32-S3

Aucun service cellulaire requis – Économisez de l’argent en n’ayant pas à acheter de service de téléphonie mobile.
Technologie de géolocalisation – Détecte automatiquement si vous quittez les zones désignées et vous avertit
Notifications SMS – Non seulement il vous avertit si une barrière géographique est franchie, mais il vous indique exactement où se trouvait l’appareil lorsqu’il a franchi la limite de la barrière géographique.
Stockage d’emplacement hors ligne – Lorsque le WiFi n’est pas disponible, l’emplacement sera mis en mémoire tampon. Lorsque le WiFi est restauré, l’emplacement mis en mémoire tampon sera automatiquement synchronisé avec le service Cloud.
Cartographie en temps réel – Utilisez GeoLinker pour suivre vos appareils sur des cartes interactives.
Service gratuit – Tous les nouveaux utilisateurs de GeoLinker reçoivent un service gratuit pour 10 000 enregistrements d’historique de localisation.

Comment fonctionne le traceur GPS avec le système XIAO ESP32-S3

Le tracker GPS utilisant Seeed Studio XIAO ESP32-S3 offre plusieurs avantages par rapport aux trackers GSM traditionnels.

1. Collecte de signaux GPS : Le module GPS Neo-6M acquiert les signaux satellite GPS puis détermine les coordonnées précises de latitude et de longitude.
2. Traitement des données : Le microcontrôleur XIAO ESP32-S3 traite les informations GPS via un canal de communication série (UART) fonctionnant à 9 600 bauds.
3. Transmission Wi-Fi : L’ESP32-S3 transmet les coordonnées GPS au GeoLinker Cloud toutes les 15 secondes (paramètre réglable sur l’ESP32-S3).
4. Archives de données en ligne : Le GeoLinker Cloud conserve un historique complet des mouvements en stockant chaque point avec son horodatage respectif.
5. Surveillance des barrières géographiques : La formule Haversine calcule à tout moment la distance entre la position d’origine définie et l’emplacement actuel.
6. Notifications d’alertes : Si l’appareil franchit la limite définie de 50 mètres (réglable), un SMS sera envoyé à partir de l’API SMS Circuit Digest Cloud.
7. Mise en mémoire tampon des données hors ligne : En cas de déconnexion du réseau Wi-Fi, l’ESP32-S3 conservera ses données GPS dans une mémoire tampon de données.
8. Synchronisation des données : Lors de la reconnexion de la connexion Internet, les données mises en mémoire tampon seront d’abord téléchargées. Les téléchargements ultérieurs de données « en temps réel » suivront.

S. Non Composants Quantité

Détails

1. Xiao-ESP32-S3

1

Microcontrôleur principal utilisé pour le traitement, la connectivité Wi-Fi et l’envoi des données GPS vers le cloud.
2. Module Néo-6m

1

Reçoit les signaux satellite et fournit les coordonnées de latitude et de longitude en temps réel.
3. Planche à pain

1

Utilisé pour prototyper le circuit sans soudure.
4. Fils de connexion

Montant requis

Pour établir des connexions entre l’ESP32-S3 et le module GPS.
5. Antenne GPS externe

1

Se connecte au module NEO-6M pour assurer une réception satellite GPS forte et stable
  • Bibliothèques requises :
    Bibliothèque GeoLinker (pour la communication cloud)
    Bibliothèque TinyGPSPlus (pour l’analyse des données GPS)
    Bibliothèque WiFiClientSecure (pour les connexions HTTPS)

Schéma de circuit détaillé montrant les connexions des broches entre le module GPS XIAO ESP32-S3 et Neo-6M pour le projet de suivi GPS

Broche du module GPS Neo-6M Broche XIAO ESP32-S3 Type de connexion Remarques
VCC 5V Alimentation Neo-6M nécessite 3,3 V-5 V ; XIAO fournit une sortie 5 V stable
GND GND Référence au sol Un terrain d’entente essentiel pour une communication fiable
Émission (transmission) GPIO44 (réception) Données série (GPS → ESP32) Transmet des phrases NMEA à un débit de 9 600 bauds
RX (réception) GPIO 43 (TX) Données série (ESP32 → GPS) Facultatif : pour envoyer des commandes de configuration au GPS

Configuration matérielle en temps réel montrant XIAO ESP32-S3 connecté au module GPS Neo-6M avec antenne externe sur la planche à pain

Page d'accueil de Circuit Digest Cloud affichant le bouton de connexion et les fonctionnalités de la plate-forme pour l'accès à l'API du tracker GPS

Formulaire d'inscription Circuit Digest Cloud pour créer un nouveau compte afin d'accéder aux API de suivi GPS GeoLinker

Interface de génération de clé API dans Circuit Digest Cloud affichant la vérification du captcha et les limites d'utilisation

Circuit Digest Cloud offre de généreuses limites de niveau gratuit pour votre tracker GPS avec XIAO ESP32-S3 :

Points de données de suivi GPS : 10 000 points de données par clé API
Appels API SMS : 100 messages par clé API
Appels API ANPR : 100 requêtes par clé API (pour les projets futurs)

#include 
#include 
#include 
HardwareSerial gpsSerial(1);  
#define GPS_RX 44
#define GPS_TX 43
#define GPS_BAUD 9600
const char* ssid = "Yourname";
const char* password = "yourpassword";
const char* apiKey = "youruniqueapikey";
const char* deviceID = "ESP-32_Tracker";
const uint16_t updateInterval = 15;
const bool enableOfflineStorage = true;
const float homeLat = 11.011160;
const float homeLon = 77.013080;
bool alertSent = false;
double distanceBetween(double lat1, double lon1, double lat2, double lon2) {
 double R = 6371000;
 double dLat = radians(lat2 - lat1);
 double dLon = radians(lon2 - lon1);  
...}
void sendSMS(float latitude, float longitude) {
 WiFiClientSecure client;
 client.setInsecure();
 HTTPClient http;
 String apiUrl = "https://www.raspberryme.cloud/send_sms?ID=" + String(templateID);
 http.begin(client, apiUrl);
 http.addHeader("Authorization", apiKey);
 http.addHeader("Content-Type", "application/json");
 String payload = "{\"mobiles\":\"" + String(mobileNumber) +
                  "\",\"var1\":\"ESP32\",\"var2\":\"" +
                  String(latitude, 6) + "," + String(longitude, 6) + "\"}";
 http.POST(payload);
}
uint8_t status = geo.loop();
while (gpsSerial.available()) gps.encode(gpsSerial.read());
if (gps.location.isUpdated()) {
 float latitude = gps.location.lat();
 float longitude = gps.location.lng();
 double dist = distanceBetween(homeLat, homeLon, latitude, longitude);
 if (dist > 50 && !alertSent) {
   sendSMS(latitude, longitude);
   alertSent = true;
 }
 if (dist <= 50 && alertSent) alertSent = false;
}
  • Si distance > 50 mune alerte SMS est envoyée.
  • Lorsque le tracker revient à l’intérieur de la limite, l’alerte est réinitialisée.

Vous pouvez personnaliser votre firmware pour votre tracker GPS en utilisant Seeed Studio XIAO ESP32 S3 à d’autres fins.

  • Intervalle de mise à jour – Pour équilibrer le compromis entre précision et utilisation des données : modifiez la variable updateInterval (plage comprise entre 1 et 60 secondes), en la modifiant en fonction de vos besoins.
  • Rayon de géoclôture – Adaptez le rayon de votre géofence à vos besoins de surveillance spécifiques. (10 – 5000 mètres)
  • Plusieurs barrières géographiques – Vous pouvez surveiller plusieurs géofences en configurant un tableau de coordonnées ou d’emplacements à partir desquels calculer la zone de géofence appropriée.
  • Alertes de vitesse – Pour créer des alertes d’avertissement de vitesse, ajoutez des instructions de condition GPS.speed.kmph().
  • Surveillance de la batterie – Faites vérifier un moniteur de batterie pour déterminer l’état de la batterie et, si nécessaire, avertissez lorsqu’elle est faible.

Le tracker GPS XIAO ESP32-S3 s'est connecté avec succès au point d'accès mobile affichant l'état du Wi-Fi

Mode hors ligne du traceur GPS affichant la mise en mémoire tampon des données locales lorsque la connexion Wi-Fi est perdue

Interface cartographique GeoLinker affichant les données de suivi GPS en temps réel avec historique des itinéraires

Alerte SMS reçue sur un téléphone mobile indiquant les coordonnées GPS lorsque la barrière géographique a été violée

Carte d'itinéraire de suivi GPS complète montrant l'intégralité du voyage avec tous les points de cheminement

» Gestion des véhicules et de la flotte : L’intégration de ces capacités de suivi en temps réel, ainsi que des alertes de géorepérage et de l’historique des itinéraires, entraînera une amélioration considérable de la répartition et de la planification des itinéraires.

» Protection des actifs : Vous pourrez regarder grâce à une caméra, un équipement coûteux et être informé par SMS si quelqu’un les déplace sans votre permission. La petite taille de l’équipement permet de se cacher facilement.

» Sécurité des enfants : Vous saurez où se trouvent les enfants, recevrez une notification lorsqu’ils sortiront d’une zone spécifiée et conserverez les données pour un usage quotidien.

» Surveillance des personnes âgées : Les soignants seront informés en étant alertés si une personne âgée atteinte de démence ou à mobilité réduite a accédé à une zone de danger, et la possibilité de mettre en cache localement les données constitue une protection contre la perte de données.

» Suivi des animaux : Un système d’alerte de géorepérage et un historique d’itinéraire, ainsi qu’un collier résistant aux intempéries, vous permettront de retrouver rapidement les animaux perdus.

Accédez au code source complet, aux schémas de circuit et à la documentation de ce tracker GPS avec le projet Seeed Studio XIAO :

  • Suivi des véhicules en temps réel
  • Surveillance des actifs

⇥ 7. Quelle est la distance maximale entre le traceur GPS et le point d’accès Wi-Fi ?
En général, la portée d’un ESP32-S3 utilisant le Wi-Fi est d’environ 50 à 100 mètres lorsque les deux appareils sont en ligne de mire ; elle s’étendra généralement de 20 à 40 mètres à travers des murs et/ou d’autres types d’obstacles. Lors du suivi d’un véhicule, la possibilité de se connecter à un point d’accès créé par un téléphone portable permet de suivre un véhicule partout où il y a un signal cellulaire. Si l’installation est permanente, il existe des prolongateurs de portée Wi-Fi qui assureront une couverture jusqu’à plusieurs centaines de mètres.

⇥ 8. Est-il possible de suivre plusieurs appareils avec un seul compte GeoLinker ?
La réponse est oui ; cependant, vous devez attribuer un identifiant d’appareil unique à chaque traceur GPS dans le code que vous écrivez pour cet appareil. Une fois terminé, tous vos appareils seront affichés sur une seule interface cartographique GeoLinker avec différents codes de couleur pour la trace de chaque appareil. L’historique de tous les appareils peut être consulté, les itinéraires peuvent être comparés et plusieurs barrières géographiques peuvent être gérées. Il est important de savoir que tous les appareils utilisent le même quota de 10 000 points de données alloué par votre clé API.

Autres projets de suivi de localisation que vous pouvez essayer

  Comment utiliser le module GPS avec STM32F103C8 pour obtenir les coordonnées de localisationTraqueur de localisation GPS basé sur l'IoT utilisant NodeMCU et le module GPS - Enregistrez les coordonnées GPS et affichez-les sur Google MapsTracker de véhicule basé sur Arduino utilisant GPS et GSM

Retrouvez l’histoire de Raspberry Pi dans cette vidéo :

YouTube video

  • Seeed Studio XIAO ESP32-S3-2,4 GHz Wi-FI, BLE 5.0, Double cœur, Charge de Batterie Prise en Charge, efficacité énergétique et Interface Riche, idéal pour Les Maisons intelligentes, l'IoT, Les
  • Seeed Studio XIAO ESP32C3 – Petite Carte MCU avec Wi-FI et BLE pour Les scénarios de contrôle IoT. Microcontrôleur avec Charge de Batterie, efficacité énergétique et Interface Riche pour