Table des matières:

Traqueur GPS LTE Arduino + Tableau de bord IoT (Partie 2) : 6 étapes (avec photos)
Traqueur GPS LTE Arduino + Tableau de bord IoT (Partie 2) : 6 étapes (avec photos)

Vidéo: Traqueur GPS LTE Arduino + Tableau de bord IoT (Partie 2) : 6 étapes (avec photos)

Vidéo: Traqueur GPS LTE Arduino + Tableau de bord IoT (Partie 2) : 6 étapes (avec photos)
Vidéo: GPS Tracking 2024, Juillet
Anonim
Image
Image
Configuration de ThingsBoard
Configuration de ThingsBoard

Introduction et récapitulation de la partie 1

Oui, il est temps pour un autre Instructable sur le tracker GPS SIM7000 avec Arduino et LTE ! Si vous ne l'avez pas déjà fait, veuillez consulter le didacticiel de démarrage pour le bouclier Botletics SIM7000 CAT-M/NB-IoT, puis lisez la partie 1 du didacticiel de suivi GPS. En tant que tel, je vais supposer que vous avez tout le matériel configuré et prêt à publier des données sur le cloud, tout ce que nous avons vraiment besoin de faire dans ce didacticiel est de nous familiariser avec ThingsBoard et de faire un autre essai routier pour voir les données étonnantes qu'il contient. spectacles!

Dans la partie 1, nous avons réussi à obtenir de notre astucieux tracker GPS pour envoyer des données à dweet.io et récupéré les données sur freeboard.io pour visualiser les données. Cependant, j'ai vite réalisé que la fonctionnalité de carte était assez boiteuse sur le franc-bord car elle ne vous permet pas de déplacer le curseur ou même de redimensionner la fenêtre du widget. Cela m'a conduit à une meilleure solution: ThingsBoard.io qui est un tableau de bord IoT super génial (et gratuit !) qui vous permet de stocker, visualiser et personnaliser le diable de vos données ! Vous pouvez faire glisser pour réorganiser les widgets (et cela fonctionne dans Chrome contrairement au franc-bord), et la qualité globale est la crème de la crème. Plus important encore, le widget Google Map vous permet de vous déplacer librement, de zoomer et de dézoomer et de sélectionner différents styles (satellite, vue sur la route, etc.) et vous permet même de faire glisser et déposer le petit gars jaune sur la route pour des vues sur la rue !

Étape 1: Configuration de ThingsBoard

Configuration de ThingsBoard
Configuration de ThingsBoard
Configuration de ThingsBoard
Configuration de ThingsBoard

Configuration du compte et de l'appareil ThingsBoard

La première chose à faire est d'aller sur la page d'accueil de ThingsBoard, puis de créer un compte en cliquant sur le bouton de menu en haut à droite et en sélectionnant "Démo en direct". Créez un compte, vérifiez votre compte dans un e-mail qu'ils vous envoient, puis reconnectez-vous à l'écran d'accueil de la démo en direct. Cela devrait vous amener à un écran où vous pouvez gérer tous vos appareils, éditer des tableaux de bord, etc.

Ensuite, sélectionnez l'onglet "Périphériques" sur le côté gauche. Cela devrait faire apparaître un tas d'appareils de démonstration comme les démos ESP8266, DHT22, Arduino et Pi, etc. Créez un nouvel appareil en cliquant sur le bouton rouge "+" en bas à droite, entrez un nom et choisissez "par défaut" pour le type d'appareil. Après avoir cliqué sur "AJOUTER", vous devriez voir votre nouvel appareil dans l'onglet Appareils. Cliquez sur "Gérer les informations d'identification" et vous devriez voir une petite fenêtre pop-up montrant le jeton d'accès de l'appareil. Il s'agit essentiellement de l'ID de l'appareil et est analogue à l'ID de l'appareil utilisé pour publier des données sur dweet.io. Vous pouvez remplacer cet ID d'appareil par le numéro IMEI de votre bouclier si vous le souhaitez, mais vous pouvez également simplement utiliser le jeton généré automatiquement. Copiez ce jeton car vous en aurez besoin dans le croquis Arduino.

Exemple de configuration Arduino

Dans ce didacticiel, nous utiliserons exactement le même exemple de croquis Arduino que dans le premier didacticiel, mais cette fois, j'ai mis à jour le croquis pour inclure le code permettant d'envoyer des données directement à ThingsBoard.io au lieu de dweet.io dans la partie 1. Comme toujours, vous pouvez trouver l'exemple de code ici sur Github.

La première chose que vous devez faire est de commenter les lignes qui font que le bouclier est posté sur dweet.io:

// GET request /* // Vous pouvez ajuster le contenu de la requête si vous n'avez pas besoin de certaines choses comme la vitesse, l'altitude, etc. sprintf(URL, "https://dweet.io/dweet/for/%s ?lat=%s&long=%s&speed=%s&head=%s&alt=%s&temp=%s&batt=%s", imei, latBuff, longBuff, speedBuff, headBuff, altBuff, tempBuff, battBuff);

compteur entier = 0; // Ceci compte le nombre de tentatives échouées

// Essayez un total de trois fois si la publication a échoué (essayez 2 fois supplémentaires) while (counter < 3 && !fona.postData("GET", URL, "")) { // Ajoutez les guillemets "" comme troisième entrée car pour la requête GET, il n'y a pas de "corps" Serial.println(F("Échec de la publication des données, nouvelle tentative…")); compteur++; // Incrémenter le délai du compteur (1000); } */

Ensuite, dé-commentez les lignes publiées sur Thingsboard.io:

// Essayons une requête POST à thingsboard.io const char* token = "YOUR_DEVICE_TOKEN"; // À partir de l'appareil Thingsboard.io sprintf(URL, "https://demo.thingsboard.io/api/v1/%s/telemetry", jeton); sprintf(body, "{"latitude\":%s, \"longitude\":%s, \"speed\":%s, \"head\":%s, \"alt\":%s, \"temp\":%s, \"batt\":%s}", latBuff, longBuff, speedBuff, headBuff, altBuff, tempBuff, battBuff); // sprintf(body, "{"lat\":%s, \"long\":%s}", latBuff, longBuff); // Si tout ce que tu veux c'est lat/long

compteur entier = 0;

while (!fona.postData("POST", URL, corps)) { Serial.println(F("Impossible de terminer HTTP POST…")); compteur++; retard(1000); }

Téléchargez le code sur votre Arduino, assurez-vous que la carte SIM et l'antenne sont connectées, et vérifiez que le shield envoie le code au cloud avant de continuer !

REMARQUE: l'Arduino Uno a très peu de mémoire (RAM) et la publication sur Thingsboard peut provoquer le plantage de l'Arduino. Si vous rencontrez un redémarrage de l'esquisse à peu près à l'emplacement de la fonction postData() ou un autre comportement étrange, c'est probablement ce qui se passe. La solution la plus simple consiste à remplacer l'Uno par un Arduino Mega ou une carte avec plus de RAM. Vous pouvez également essayer de minimiser la taille des tableaux et de diviser les données en plusieurs publications.

Étape 2: vérifier la réception des données

Vérifier la réception des données
Vérifier la réception des données

Afin de vérifier que les données sont correctement envoyées à ThingsBoard, accédez à la même page de détails de l'appareil (cliquez sur la vignette de l'appareil GPS Tracker dans la page « Appareils »), puis cliquez sur l'onglet « Dernière télémétrie ». Si votre traceur GPS envoie des valeurs à ThingsBoard, vous devriez voir les dernières valeurs ici et elles seront mises à jour en temps réel au fur et à mesure qu'elles arrivent.

Maintenant que vous avez vérifié que ThingsBoard obtient réellement les données, il est temps de configurer le tableau de bord afin que nous puissions visualiser nos données au moment où nous les collectons ! (Ou après coup)

Étape 3: Configuration du tableau de bord

Configuration du tableau de bord
Configuration du tableau de bord
Configuration du tableau de bord
Configuration du tableau de bord
Configuration du tableau de bord
Configuration du tableau de bord

C'est maintenant l'heure de la partie amusante ! Cliquez maintenant sur l'onglet « Tableaux de bord » sur la gauche et sélectionnez votre appareil de suivi GPS. Cela devrait faire apparaître une nouvelle page qui vous demande d'ajouter des widgets. Cliquez sur le bouton "+" en bas à droite et "créer un nouveau widget" pour faire apparaître un menu déroulant de widgets parmi lesquels choisir. Pour l'instant ajoutons une "jauge numérique". La sélection de cette option devrait charger un tas d'aperçus pour tous les différents types de jauges numériques parmi lesquels vous pouvez choisir. Lorsque vous cliquez sur l'un d'eux, un autre écran s'affiche pour vous permettre de configurer les paramètres du widget. La première chose que vous devez ajouter est la source de données (votre appareil de suivi GPS qui envoie les données à ThingsBoard). Appuyez sur le bouton "+ AJOUTER", sélectionnez votre appareil "GPS Tracker" et sélectionnez la variable appropriée que vous souhaitez que le widget affiche. Dans ce cas, choisissons la variable "temp" (température).

Maintenant, si vous souhaitez ajouter des éléments comme un titre pour le widget, allez dans l'onglet "Paramètres", cochez "Afficher le titre" et entrez un titre. Il y a beaucoup d'autres choses que vous pouvez faire sous l'onglet « Avancé », mais je vous laisse enquêter vous-même ! Amusez-vous à changer les plages de valeurs, le texte des étiquettes, les couleurs et plus encore ! Après avoir ajouté le widget, il apparaîtra en bas à gauche de votre tableau de bord (vous devrez peut-être faire défiler vers le bas si plusieurs widgets remplissent l'écran). Vous pouvez modifier le widget à tout moment en appuyant sur le bouton du widget si vous êtes déjà dans le mode d'édition du tableau de bord, ou entrez dans le mode d'édition en appuyant d'abord sur le bouton crayon en bas à droite de l'ensemble de l'écran pour vous permettre de modifier les widgets. Assez simple!

Étape 4: Ajout d'une carte

Ajout d'une carte !
Ajout d'une carte !
Ajout d'une carte !
Ajout d'une carte !
Ajout d'une carte !
Ajout d'une carte !
Ajout d'une carte !
Ajout d'une carte !

Désormais, pour un traceur GPS, une carte est indispensable ! Ajoutons-en un en créant un nouveau widget (bouton "+" en bas à droite à nouveau) et cette fois faites défiler vers le bas et sélectionnez "Cartes". Allez-y et cliquez sur l'un d'eux et les options s'afficheront. Ajoutez la source de données comme d'habitude, mais cette fois, sélectionnez les variables "lat" et "long" car elles auront besoin des deux pour obtenir l'emplacement. Ensuite, allez dans l'onglet "Paramètres" et ici vous pouvez définir la fenêtre de temps des données à afficher sur la carte. Par exemple, vous voudrez peut-être que seules les 2 dernières minutes de données apparaissent, ou vous voudrez peut-être toutes les données depuis hier, ou peut-être vous voulez juste une fenêtre temporelle fixe (comme 14h00 hier à 10h00 aujourd'hui).

Si vous le souhaitez, vous pouvez ensuite aller dans l'onglet "Avancé" et sélectionner le type de carte (feuille de route, satellite, hybride ou terrain). La partie la plus importante de tout cela est peut-être de vérifier les noms des clés de latitude et de longitude. Assurez-vous que ces noms correspondent exactement aux noms de variables que vous envoyez réellement à ThingsBoard. Par exemple, si votre croquis Arduino indique qu'il envoie des variables "lat" et "long" (ce qui est le cas par défaut), vous devez alors changer les noms de clé en "lat" et "long" et utiliser "latitude" et "longitude" ne récupérera pas vos données !

Encore une fois, après avoir ajouté la carte, elle apparaîtra en bas du tableau de bord. Faites-le simplement glisser pour le repositionner sur le tableau de bord et cliquez et faites glisser les bords pour le redimensionner. Si votre fenêtre horaire a été correctement définie, vous devriez voir votre position actuelle apparaître sur la carte. Super chouette hein ? Nous sommes maintenant prêts pour un vrai test !

Étape 5: Essai routier

Test routier
Test routier
Test routier
Test routier

Tester le traceur GPS est super simple ! Branchez simplement l'Arduino sur un adaptateur USB de voiture pour l'alimenter, assurez-vous que le voyant vert s'allume et il devrait commencer à envoyer des données ! Pour modifier le taux d'échantillonnage du tracker GPS, assurez-vous de trouver cette ligne de code dans l'exemple d'esquisse:

#define samplingRate 10 // Le temps entre les publications, en secondes

et réglez-le sur ce que vous voulez. J'ai trouvé que 10s fonctionne assez bien pour un essai routier tranquille, mais si vous êtes rapide et furieux, vous voudrez peut-être un taux d'échantillonnage encore plus élevé !

Étape 6: Résultats

Résultats
Résultats
Résultats
Résultats
Résultats
Résultats

Dans les images ci-dessus, vous pouvez voir la configuration de mon tableau de bord. J'ai ajouté des graphiques pour représenter graphiquement des données historiques pour des éléments tels que la vitesse, l'altitude et la température, et j'ai également inclus des jauges en temps réel au cas où je voudrais les voir en temps réel lors d'un autre voyage sur la route (imagez-le dans un camping-car !).

La carte était géniale et j'ai réussi à collecter des données vraiment précises sur un itinéraire que j'ai emprunté. De plus, les données de vitesse étaient extrêmement précises car nous n'avons jamais dépassé les 40 mph environ (le graphique est en km/h) sur les routes de la ville. Les nombreuses fluctuations de vitesse s'expliquent par les feux tricolores. Dans l'ensemble, d'excellents résultats et imaginez à quoi d'autre nous pourrions l'utiliser ! Vous pouvez l'installer sur un camping-car, une moto, une voiture, etc. et le faire suivre tout le temps et afficher les résultats sur ThingsBoard !

Pour résumer, dans ce tutoriel, nous avons programmé notre tracker GPS pour envoyer des données directement à ThingsBoard via des requêtes HTTP POST et géré les données sur un tableau de bord. Vous pouvez ajouter plusieurs appareils et tableaux de bord, chacun contenant plusieurs widgets qui ont l'air super cool et ont beaucoup d'options de personnalisation ! ThingsBoard s'est avéré être un outil très puissant (et gratuit !) pour afficher les données IoT et il y a même d'autres fonctionnalités que je n'ai même pas effleurées. N'hésitez pas à jouer avec et à voir ce que vous trouvez.

  • Si vous avez aimé ce tutoriel, si vous avez créé le vôtre ou si vous avez des questions, veuillez laisser un commentaire ci-dessous !
  • Assurez-vous de donner un cœur à cet Instructable et abonnez-vous ici et sur ma chaîne YouTube pour des didacticiels liés à Arduino plus impressionnants !
  • Si vous souhaitez soutenir ce que je fais, envisagez d'acheter votre propre bouclier Botletics SIM7000 sur Amazon.com !

Sur ce, je vous verrai la prochaine fois !

Conseillé: