Inhoudsopgave:
- Stap 1: Wat heb je nodig?
- Stap 2: Ga naar Unwired Labs
- Stap 3: Meld u aan om een API-token te krijgen
- Stap 4: Controleer uw e-mail
- Stap 5: Bibliotheken die u nodig heeft
- Stap 6: Code toevoegen in Arduino om verbinding te maken met LocationAPI
- Stap 7: Open de seriële monitor om te zien of u verbonden bent
- Stap 8: Verkrijg de coördinaten
- Stap 9: Ga naar Google Maps
- Stap 10: Locatie naar uw mobiel verzenden
Video: Locatietracker met NodeMCU ESP8266 - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
Ben je benieuwd hoe je NodeMCU je locatie kan volgen? Het kan, ook zonder GPS-module en zonder display. De uitvoer zal de coördinaten zijn waar u zich bevindt en u zult ze zien in uw seriële monitor.
De volgende setup werd gebruikt voor NodeMCU 1.0 (ESP-12E Module) met Arduino IDE.
- Windows 10
- Arduino IDE v. 1.8.4
Stap 1: Wat heb je nodig?
Wat je nodig hebt om deze tutorial te volgen, zijn de volgende onderdelen:
- Micro-USB-kabel
- NodeMCU ESP8266
Verder heb je nodig:
- Locatie-API (van Unwired Labs)
- Toegang tot wifi of een hotspot
Stap 2: Ga naar Unwired Labs
Geolocatie is erg handig, want als je GPS niet werkt, kun je Geolocatie nog steeds gebruiken om je locatie te volgen. Onze host die geolocatie biedt, is https://www.unwiredlabs.com/. Ga naar die website en meld je aan (de oranje knop in de rechterbovenhoek).
Stap 3: Meld u aan om een API-token te krijgen
Op de aanmeldingspagina moet u uw naam, e-mail (uw API-token wordt naar uw e-mail verzonden) en use case (bijvoorbeeld persoonlijk gebruik) invullen. Selecteer uw accounttype. De gratis versie doet het prima, maar houd er rekening mee dat je beperkt bent en je locatie niet 24/7 kunt volgen. Laten we beginnen!
Stap 4: Controleer uw e-mail
Ga naar je e-mail en je ziet je API-token. Kopieer de API-token, want die heb je nodig voor de code die we gaan gebruiken. Zo ziet de e-mail eruit:
Hallo!
Bedankt voor het aanmelden bij Unwired Labs LocationAPI! Uw API-token is 'uw API-code is hier' (zonder aanhalingstekens). Dit geeft 100 gratis verzoeken per dag - voor altijd.
Als je 5 apparaten gratis wilt volgen, reageer dan met de volgende details en we zullen je account binnen 12 uur upgraden:
1. Implementatietype (Hardware/App/Overig):
2. Over uw project:
3. Website:
U kunt hier inloggen op uw dashboard: https://unwiredlabs.com/dashboard. Als u problemen ondervindt of vragen heeft, beantwoordt u deze e-mail en ik help u verder!
Gelukkig lokaliseren!
Sagar
Bekabelde Labs
Stap 5: Bibliotheken die u nodig heeft
De volgende stap is om Arduino te openen en bibliotheken te beheren. U moet de ArduinoJson-bibliotheek installeren. De andere bibliotheken zijn al ingebouwd. Als je klaar bent, kun je beginnen met het schrijven van de code.
Stap 6: Code toevoegen in Arduino om verbinding te maken met LocationAPI
Maak een nieuwe schets en voeg de volgende code toe in Arduino. Schrijf uw eigen wifi/hotspot-naam en uw wachtwoord. Plak de API-token die je in de e-mail hebt ontvangen. Upload uw code naar uw NodeMCU.
#erbij betrekken
#erbij betrekken
#include "ESP8266WiFi.h"
// uw netwerk-SSID (naam) en netwerkwachtwoord
char myssid = "Uw wifi/hotspot-naam"; char mypass = "Uw wachtwoord";
// unwiredlabs Hostnaam & Geolocatie Eindpunt url
const char* Host = "www.unwiredlabs.com"; String eindpunt = "/v2/process.php";
// UnwiredLabs API_Token. Meld u hier aan om een gratis token te krijgen
Tekenreekstoken = "d99cccda52ec0b";
String jsonString = "{n";
// Variabelen om de reactie van unwiredlabs op te slaan
dubbele breedtegraad = 0,0; dubbele lengtegraad = 0,0; dubbele nauwkeurigheid = 0,0;
ongeldige setup(){
Serieel.begin(115200);
// Stel wifi in op stationsmodus en verbreek de verbinding met een AP als deze eerder was verbonden
WiFi.modus (WIFI_STA); WiFi.verbinding verbreken(); Serial.println("Setup klaar");
// We beginnen door verbinding te maken met een wifi-netwerk
Serial.print("Verbinding maken met "); Serial.println(myssid); WiFi.begin(myssid, mypass);
while (WiFi.status() != WL_CONNECTED) {
vertraging (500); Serieel.print("."); } Serieel.println("."); }
lege lus() {
char bssid[6]; DynamischeJsonBuffer jsonBuffer;
// WiFi.scanNetworks retourneert het aantal gevonden netwerken
int n = WiFi.scanNetworks(); Serial.println("scan klaar");
als (n == 0) {
Serial.println("Geen netwerken beschikbaar"); } else { Serial.print(n); Serial.println ("netwerken gevonden"); }
// bouw nu de 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 += "\"signaal\": "; jsonString += WiFi. RSSI(j); jsonString += "\n"; if (j < n - 1) { jsonString += "}, \n"; } else { jsonString += "}\n"; } } jsonString += ("]\n"); jsonString += ("}\n"); Serial.println(jsonString);
WiFiClientSecure-client;
// Maak verbinding met de client en voer de api-oproep
Serial.println("Aanvraag-URL: https://" + (String)Host + eindpunt); if (client.connect(Host, 443)) { Serial.println("Verbonden"); client.println("POST" + eindpunt + "HTTP/1.1"); client.println("Host: " + (String)Host); client.println("Verbinding: sluiten"); client.println ("Inhoudstype: applicatie/json"); client.println ("Gebruiker-agent: Arduino/1.0"); client.print ("Inhoudslengte: "); client.println(jsonString.length()); klant.println(); client.print(jsonString); vertraging (500); }
//Lees en ontleden alle regels van het antwoord van de server
while (client.available()) { String line = client.readStringUntil('\r'); JsonObject& root = jsonBuffer.parseObject(regel); if (root.success()) { latitude = root["lat"]; lengtegraad = wortel ["lon"]; nauwkeurigheid = wortel ["nauwkeurigheid"];
Serieel.println();
Serial.print("Breedte = "); Serial.println (breedtegraad, 6); Serial.print("Lengte = "); Serial.println (lengtegraad, 6); Serial.print("Nauwkeurigheid = "); Serial.println(nauwkeurigheid); } }
Serial.println("verbinding sluiten");
Serieel.println(); klant.stop();
vertraging (5000);
}
Stap 7: Open de seriële monitor om te zien of u verbonden bent
Ga naar tools in Arduino en open de seriële monitor. Om te zien of je verbonden bent met internet, zou je het volgende moeten zien op de seriële monitor:
Installatie klaar
Verbinding maken met (uw wifi-naam) … scan voltooid
Stap 8: Verkrijg de coördinaten
Als het met succes werkte, zou u onder scan gedaan een hele lijst met gegevens moeten zien. Het enige dat we nodig hebben, is de code onder de aanvragende URL, dus we hebben de lengte- en breedtegraad nodig. Dit zijn de coördinaten.
Aanvraag-URL:
Verbonden
Breedtegraad = 52.385259
Lengtegraad = 5.196099
Nauwkeurigheid = 41,00
verbinding sluiten
Na 5 seconden wordt de code constant bijgewerkt en ziet u waarschijnlijk de breedtegraad, lengtegraad en nauwkeurigheid veranderen. Dat komt omdat de API zijn best doet om de locatie zo precies mogelijk te volgen.
Stap 9: Ga naar Google Maps
Ga naar https://www.google.com/maps/ en typ je coördinaten in de zoekbalk. De coördinaten moeten op de volgende manier worden geschreven: 52.385259, 5.196099. Google Maps zou moeten laten zien waar u zich op de kaart bevindt.
Stap 10: Locatie naar uw mobiel verzenden
En je bent klaar! Dus als je de locatie naar je mobiel wilt sturen, is dat mogelijk. Google Maps stuurt vervolgens een e-mail met uw coördinaten als u dat wilt.
Gelukkig lokaliseren!
Aanbevolen:
Digitale klok met netwerktijd met behulp van de ESP8266: 4 stappen (met afbeeldingen)
Digitale netwerkklok met de ESP8266: we leren hoe we een schattige kleine digitale klok kunnen bouwen die communiceert met NTP-servers en de netwerk- of internettijd weergeeft. We gebruiken de WeMos D1 mini om verbinding te maken met een wifi-netwerk, de NTP-tijd te verkrijgen en deze weer te geven op een OLED-module. De video hierboven
DIY slimme weegschaal met wekker (met wifi, ESP8266, Arduino IDE en Adafruit.io): 10 stappen (met afbeeldingen)
DIY Slimme Weegschaal Met Wekker (met Wi-Fi, ESP8266, Arduino IDE en Adafruit.io): In mijn vorige project ontwikkelde ik een slimme weegschaal met Wi-Fi. Het kan het gewicht van de gebruiker meten, het lokaal weergeven en naar de cloud sturen. U kunt hier meer informatie over krijgen op onderstaande link: https://www.instructables.com/id/Wi-Fi-Smart-Scale-wi
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino - Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter - RC Helikopter - RC-vliegtuig met Arduino: 5 stappen (met afbeeldingen)
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino | Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter | RC Helikopter | Rc-vliegtuig met Arduino: een Rc-auto besturen | Quadcopter | Drone | RC vliegtuig | RC-boot, we hebben altijd een ontvanger en zender nodig, stel dat we voor RC QUADCOPTER een 6-kanaals zender en ontvanger nodig hebben en dat type TX en RX is te duur, dus we gaan er een maken op onze
Beginnersgids voor ESP8266 en tweeten met ESP8266: 17 stappen (met afbeeldingen)
Beginnersgids voor ESP8266 en tweeten met ESP8266: ik leerde over Arduino 2 jaar geleden. Dus begon ik te spelen met eenvoudige dingen zoals LED's, knoppen, motoren enz. Toen dacht ik dat het niet cool zou zijn om verbinding te maken om dingen te doen zoals het weergeven van de het weer van de dag, aandelenkoersen, treintijden op een LCD-scherm. Ik
NODEMCU 1.0 (ESP8266) GECONTROLEERD RELAIS MET BLYNK (VIA HET WEB): 5 stappen (met afbeeldingen)
NODEMCU 1.0 (ESP8266) GECONTROLEERD RELAIS MET BEHULP VAN BLYNK (OVER HET WEB): HI GUYS, MIJN NAAM IS P STEVEN LYLE JYOTHI EN DIT IS MIJN EERSTE INSTRUCTIES OVER HET BEDIENEN VAN RELAIS DOOR NODEMCU ESP8266-12E VIA BLYNK VIA DE INTERNETSO LETS MIJN SLECHTE ENGELS