Table des matières:

Localisation Tracker avec NodeMCU ESP8266 : 10 étapes
Localisation Tracker avec NodeMCU ESP8266 : 10 étapes

Vidéo: Localisation Tracker avec NodeMCU ESP8266 : 10 étapes

Vidéo: Localisation Tracker avec NodeMCU ESP8266 : 10 étapes
Vidéo: GPS Tracker With NodeMCU Esp8266 | NodeMCU GPS Blynk 2024, Novembre
Anonim
Localisation Tracker avec NodeMCU ESP8266
Localisation Tracker avec NodeMCU ESP8266

Êtes-vous curieux de savoir comment votre NodeMCU peut suivre votre position ? C'est possible, même sans module GPS et sans affichage. La sortie sera les coordonnées où vous vous trouvez et vous les verrez sur votre moniteur série.

La configuration suivante a été utilisée pour NodeMCU 1.0 (module ESP-12E) avec Arduino IDE.

  • Windows 10
  • IDE Arduino v. 1.8.4

Étape 1: De quoi avez-vous besoin

Ce dont vous avez besoin pour suivre ce tutoriel sont les composants suivants:

  • Câble micro-USB
  • NodeMCU ESP8266

De plus, vous aurez besoin de:

  • LocationAPI (de Unwired Labs)
  • Accès au wifi ou à un hotspot

Étape 2: Accédez à Unwired Labs

Aller à Unwired Labs
Aller à Unwired Labs

La géolocalisation est très pratique car lorsque votre GPS est en panne, vous pouvez toujours utiliser la géolocalisation pour suivre votre position. Notre hébergeur qui fournit la géolocalisation, sera https://www.unwiredlabs.com/. Accédez à ce site Web et inscrivez-vous (le bouton orange dans le coin supérieur droit).

Étape 3: Inscrivez-vous pour obtenir un jeton d'API

Inscrivez-vous pour obtenir un jeton API
Inscrivez-vous pour obtenir un jeton API

Sur la page d'inscription, vous devez renseigner votre nom, votre e-mail (votre jeton API sera envoyé à votre e-mail) et votre cas d'utilisation (par exemple, usage personnel). Sélectionnez votre type de compte. La version gratuite fera très bien l'affaire, mais gardez à l'esprit que vous êtes limité et que vous ne pouvez pas suivre votre position 24h/24 et 7j/7. Commençons!

Étape 4: Vérifiez votre e-mail

Accédez à votre e-mail et vous verrez votre jeton API. Copiez le jeton API, car vous en avez besoin pour le code que nous utiliserons. Voici à quoi ressemble l'e-mail:

Salut!

Merci de vous être inscrit à Unwired Labs LocationAPI ! Votre jeton API est « votre code API est ici » (sans les guillemets). Cela donnera 100 demandes/jour gratuitement - pour toujours.

Si vous souhaitez suivre 5 appareils gratuitement, veuillez répondre avec les informations suivantes et nous mettrons à niveau votre compte dans les 12 heures:

1. Type de déploiement (Matériel/Application/Autre):

2. À propos de votre projet:

3. Site Web:

Vous pouvez vous connecter à votre tableau de bord ici: https://unwiredlabs.com/dashboard. Si vous rencontrez des problèmes ou avez des questions, répondez à cet e-mail et je vous aiderai !

Bonne localisation !

Sagar

Laboratoires non câblés

Étape 5: Bibliothèques dont vous aurez besoin

Bibliothèques dont vous aurez besoin
Bibliothèques dont vous aurez besoin

L'étape suivante consiste à ouvrir Arduino et à gérer les bibliothèques. Vous devez installer la bibliothèque ArduinoJson. Les autres bibliothèques sont déjà intégrées. Lorsque vous êtes prêt, vous pouvez commencer à écrire le code.

Étape 6: Ajoutez du code dans Arduino pour vous connecter à LocationAPI

Faites un nouveau croquis et ajoutez le code suivant dans Arduino. Écrivez votre propre nom de wifi/hotspot et votre mot de passe. Collez le jeton API que vous avez reçu dans l'e-mail. Téléchargez votre code sur votre NodeMCU.

#comprendre

#comprendre

#inclure "ESP8266WiFi.h"

// votre réseau SSID (nom) et mot de passe réseau

char myssid = "Votre nom wifi/hotspot"; char mypass = "Votre mot de passe";

// unwiredlabs Nom d'hôte et URL du point de terminaison de géolocalisation

const char* Hôte = "www.unwiredlabs.com"; Point de terminaison de chaîne = "/v2/process.php";

// UnwiredLabs API_Token. Inscrivez-vous ici pour obtenir un jeton gratuit

Jeton de chaîne = "d99cccda52ec0b";

Chaîne jsonString = "{n";

// Variables pour stocker la réponse unwiredlabs

double latitude = 0,0; double longitude = 0,0; double précision = 0,0;

void setup(){

Serial.begin(115200);

// Mettre le WiFi en mode station et se déconnecter d'un AP s'il était précédemment connecté

WiFi.mode(WIFI_STA); WiFi.disconnect(); Serial.println("Configuration terminée");

// On commence par se connecter à un réseau WiFi

Serial.print("Connexion à "); Serial.println(myssid); WiFi.begin(myssid, mypass);

while (WiFi.status() != WL_CONNECTED) {

retard (500); Serial.print("."); } Serial.println("."); }

boucle vide() {

char bssid[6]; DynamicJsonBuffer jsonBuffer;

// WiFi.scanNetworks renverra le nombre de réseaux trouvés

int n = WiFi.scanNetworks(); Serial.println("scan terminé");

si (n == 0) {

Serial.println("Aucun réseau disponible"); } else { Serial.print(n); Serial.println(" réseaux trouvés "); }

// maintenant construire le jsonString…

jsonString = "{n"; jsonString += "\"token\": \""; jsonString += token; jsonString += "\", \n"; jsonString += "\"id\": \"saikirandevice01\", \n"; jsonString += "\"wifi\": [n"; for (int j = 0; j < n; ++j) { jsonString += "{n"; jsonString += "\"bssid\": \""; jsonString += (WiFi. BSSIDstr(j)); jsonString += "\", \n"; jsonString += "\"signal\": "; chaîne json += WiFi. RSSI(j); chaîne json += "\n"; if (j < n - 1) { jsonString += "}, \n"; } else { jsonString += "}\n"; } } chaîne json += ("]\n"); chaîne json += ("}\n"); Serial.println(jsonString);

Client WiFiClientSecure;

//Connectez-vous au client et effectuez l'appel api

Serial.println("URL de demande: https://" + (chaîne)Hôte + point de terminaison); if (client.connect(Host, 443)) { Serial.println("Connecté"); client.println("POST " + point de terminaison + " HTTP/1.1"); client.println("Hôte: " + (Chaîne)Hôte); client.println("Connexion: fermer"); client.println("Type de contenu: application/json"); client.println("User-Agent: Arduino/1.0"); client.print("Contenu-Longueur: "); client.println(jsonString.length()); client.println(); client.print(jsonString); retard (500); }

//Lire et analyser toutes les lignes de la réponse du serveur

while (client.available()) { String line = client.readStringUntil('\r'); JsonObject& root = jsonBuffer.parseObject(line); if (root.success()) { latitude = root["lat"]; longitude = racine["lon"]; précision = racine["précision"];

Serial.println();

Serial.print("Latitude = "); Serial.println(latitude, 6); Serial.print("Longitude = "); Serial.println(longitude, 6); Serial.print("Précision = "); Serial.println (précision); } }

Serial.println ("fermeture de la connexion");

Serial.println(); client.stop();

retard (5000);

}

Étape 7: Ouvrez le moniteur série pour voir si vous êtes connecté

Accédez aux outils dans Arduino et ouvrez le moniteur série. Pour voir si vous êtes connecté à Internet, vous devriez voir ce qui suit sur le moniteur série:

Configuration terminée

Connexion à (votre nom wifi) … scan terminé

Étape 8: Obtenez les coordonnées

Si cela a fonctionné avec succès, vous devriez voir sous analyse effectuée toute une liste de données. La seule chose dont nous avons besoin est le code sous l'URL de demande, nous aurons donc besoin de la latitude et de la longitude. Ce sont les coordonnées.

URL de demande:

Connecté

Latitude = 52,385259

Longitude = 5.196099

Précision = 41,00

fermeture de la connexion

Après 5 secondes, le code sera constamment mis à jour et vous verrez probablement la latitude, la longitude et la précision changer. C'est parce que l'API essaie de suivre l'emplacement aussi précisément que possible.

Étape 9: Accédez à Google Maps

Aller sur Google Maps
Aller sur Google Maps

Rendez-vous sur https://www.google.com/maps/ et saisissez vos coordonnées dans la barre de recherche. Les coordonnées doivent être écrites de la manière suivante: 52.385259, 5.196099. Google Maps devrait montrer où vous vous trouvez sur la carte.

Étape 10: Envoyez l'emplacement à votre mobile

Envoyer l'emplacement à votre mobile
Envoyer l'emplacement à votre mobile

Et tu as fini! Par conséquent, si vous souhaitez envoyer la localisation sur votre mobile, c'est possible. Google Maps vous enverra ensuite un e-mail avec vos coordonnées si vous le souhaitez.

Bonne localisation !

Conseillé: