Innholdsfortegnelse:
- Trinn 1: Hva trenger du
- Trinn 2: Gå til Unwired Labs
- Trinn 3: Registrer deg for å få API -token
- Trinn 4: Sjekk e -posten din
- Trinn 5: Biblioteker du trenger
- Trinn 6: Legg til kode i Arduino for å koble til med LocationAPI
- Trinn 7: Åpne Serial Monitor for å se om du er tilkoblet
- Trinn 8: Få koordinatene
- Trinn 9: Gå til Google Maps
- Trinn 10: Send posisjon til mobilen din
Video: Stedsporing med NodeMCU ESP8266: 10 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:24
Er du nysgjerrig på hvordan NodeMCU kan spore posisjonen din? Det er mulig, selv uten en GPS -modul og uten skjerm. Utgangen vil være koordinater der du befinner deg, og du vil se dem på din serielle skjerm.
Følgende oppsett ble brukt for NodeMCU 1.0 (ESP-12E Module) med Arduino IDE.
- Windows 10
- Arduino IDE v. 1.8.4
Trinn 1: Hva trenger du
Det du trenger for å følge denne opplæringen er følgende komponenter:
- Micro USB -kabel
- NodeMCU ESP8266
Videre trenger du:
- LocationAPI (fra Unwired Labs)
- Tilgang til wifi eller et hotspot
Trinn 2: Gå til Unwired Labs
Geolokalisering er veldig nyttig fordi når GPS -en er nede, kan du fortsatt bruke Geolocation til å spore posisjonen din. Verten vår som tilbyr geografisk plassering, vil være https://www.unwiredlabs.com/. Gå til nettstedet og registrer deg (den oransje knappen øverst til høyre).
Trinn 3: Registrer deg for å få API -token
På registreringssiden må du fylle ut ditt navn, e -post (API -tokenet ditt blir sendt til e -posten din) og brukstilfelle (for eksempel personlig bruk). Velg kontotypen din. Gratisversjonen vil fungere helt fint, men husk at du er begrenset og ikke kan spore posisjonen din døgnet rundt. La oss komme i gang!
Trinn 4: Sjekk e -posten din
Gå til e -posten din, så ser du API -tokenet ditt. Kopier API -tokenet, fordi du trenger det for koden vi skal bruke. Slik ser e -posten ut:
Hallo!
Takk for at du registrerte deg hos Unwired Labs LocationAPI! API -tokenet ditt er 'API -koden din er her' (uten anførselstegn). Dette vil gi 100 forespørsler/ dag gratis - for alltid.
Hvis du vil spore 5 enheter gratis, kan du svare med følgende informasjon, så oppgraderer du kontoen din innen 12 timer:
1. Distribusjonstype (maskinvare/ app/ annet):
2. Om prosjektet ditt:
3. Nettsted:
Du kan logge deg på dashbordet her: https://unwiredlabs.com/dashboard. Hvis du får problemer eller har spørsmål, svar på denne e -posten, så hjelper jeg deg!
Glad lokalisering!
Sagar
Ukablede laboratorier
Trinn 5: Biblioteker du trenger
Det neste trinnet er å åpne Arduino og gå for å administrere biblioteker. Du må installere ArduinoJson -biblioteket. De andre bibliotekene er allerede innebygd. Når du er klar, kan du begynne å skrive koden.
Trinn 6: Legg til kode i Arduino for å koble til med LocationAPI
Lag en ny skisse og legg til følgende kode i Arduino. Skriv ditt eget wifi/hotspot -navn og passord. Lim inn API -tokenet du mottok i e -posten. Last opp koden din til NodeMCU.
#inkludere
#inkludere
#include "ESP8266WiFi.h"
// nettverks -SSID (navn) og nettverkspassord
char myssid = "Ditt wifi/hotspot -navn"; char mypass = "Ditt passord";
// unwiredlabs Hostname & Geolocation Endpoint url
const char* Host = "www.unwiredlabs.com"; String endepunkt = "/v2/process.php";
// UnwiredLabs API_Token. Registrer deg her for å få et gratis token
String token = "d99cccda52ec0b";
String jsonString = "{ n";
// Variabler for lagring av unwiredlabs -respons
dobbel breddegrad = 0,0; dobbel lengdegrad = 0,0; dobbel nøyaktighet = 0,0;
ugyldig oppsett () {
Serial.begin (115200);
// Sett WiFi til stasjonsmodus og koble fra en AP hvis den tidligere var tilkoblet
WiFi.mode (WIFI_STA); WiFi. Koble fra (); Serial.println ("Oppsett utført");
// Vi starter med å koble til et WiFi -nettverk
Serial.print ("Koble til"); Serial.println (myssid); WiFi. Begynner (myssid, mypass);
mens (WiFi.status ()! = WL_CONNECTED) {
forsinkelse (500); Serial.print ("."); } Serial.println ("."); }
void loop () {
røye bssid [6]; DynamicJsonBuffer jsonBuffer;
// WiFi.scanNetworks returnerer antall nettverk som er funnet
int n = WiFi.scanNetworks (); Serial.println ("scan done");
hvis (n == 0) {
Serial.println ("Ingen nettverk tilgjengelig"); } annet {Serial.print (n); Serial.println ("nettverk funnet"); }
// bygg nå 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 / ":"; jsonString += WiFi. RSSI (j); jsonString += "\ n"; hvis (j <n - 1) {jsonString += "}, / n"; } annet {jsonString += "} n"; }} jsonString += ("] n"); jsonString += ("} n"); Serial.println (jsonString);
WiFiClientSecure -klient;
// Koble til klienten og ring api
Serial.println ("Be om URL: https://" + (String) Host + endepunkt); if (client.connect (Host, 443)) {Serial.println ("Tilkoblet"); client.println ("POST" + endepunkt + "HTTP/1.1"); client.println ("Host:" + (String) Host); client.println ("Tilkobling: lukk"); client.println ("Innholdstype: applikasjon/json"); client.println ("User-Agent: Arduino/1.0"); client.print ("Content-Length:"); client.println (jsonString.length ()); client.println (); client.print (jsonString); forsinkelse (500); }
// Les og analyser alle linjene i svaret fra serveren
while (client.available ()) {String line = client.readStringUntil ('\ r'); JsonObject & root = jsonBuffer.parseObject (line); hvis (root.success ()) {latitude = root ["lat"]; lengdegrad = root ["lon"]; precision = root ["precision"];
Serial.println ();
Serial.print ("Latitude ="); Serial.println (breddegrad, 6); Serial.print ("Lengdegrad ="); Serial.println (lengdegrad, 6); Serial.print ("Nøyaktighet ="); Serial.println (nøyaktighet); }}
Serial.println ("lukke tilkobling");
Serial.println (); client.stop ();
forsinkelse (5000);
}
Trinn 7: Åpne Serial Monitor for å se om du er tilkoblet
Gå til verktøy i Arduino og åpne den serielle skjermen. For å se om du er koblet til internett, bør du se følgende på den serielle skjermen:
Oppsettet gjort
Kobler til (ditt wifi -navn) … skanningen er ferdig
Trinn 8: Få koordinatene
Hvis det fungerte vellykket, bør du se under skanning en hel liste med data. Det eneste vi trenger er koden under URL -en som ber om det, så vi trenger breddegrad og lengdegrad. Dette er koordinatene.
Be om URL:
Tilkoblet
Breddegrad = 52.385259
Lengdegrad = 5.196099
Nøyaktighet = 41,00
lukking av tilkobling
Etter 5 sekunder vil koden stadig oppdateres, og du vil sannsynligvis se breddegrad, lengdegrad og nøyaktighet endres. Det er fordi API -et prøver å best å spore stedet så presist som mulig.
Trinn 9: Gå til Google Maps
Gå til https://www.google.com/maps/ og skriv inn koordinatene i søkefeltet. Koordinatene må skrives på følgende måte: 52.385259, 5.196099. Google Maps skal vise hvor du befinner deg på kartet.
Trinn 10: Send posisjon til mobilen din
Og … du er ferdig! Derfor, hvis du vil sende posisjonen til mobilen din, er det mulig. Google Maps sender deretter en e -post med koordinatene dine hvis du vil.
Glad for å finne!
Anbefalt:
Internett -klokke: Vis dato og klokkeslett med en OLED ved bruk av ESP8266 NodeMCU med NTP -protokoll: 6 trinn
Internett -klokke: Vis dato og klokkeslett med en OLED Bruke ESP8266 NodeMCU Med NTP -protokoll: Hei folkens i denne instruksen vil vi bygge en internettklokke som får tid fra internett, så dette prosjektet trenger ikke noen RTC for å kjøre, det trenger bare en fungerende internettforbindelse Og for dette prosjektet trenger du en esp8266 som vil ha en
Få tid fra internett ved hjelp av ESP8266 - NTP -klokkeprosjekt med ESP8266 Nodemcu: 5 trinn
Få tid fra internett ved hjelp av ESP8266 | NTP Clock Project With ESP8266 Nodemcu: I denne opplæringen ser vi hvordan du får tid til å bruke ESP8266/nodemcu med Arduino IDE. Å få tid er spesielt nyttig i datalogging for å stemple avlesningene dine. Hvis ESP8266 -prosjektet ditt har tilgang til Internett, kan du få tid ved å bruke Network T
Kontroll LED -bord med telefon med NodeMCU, ESP8266 og MAX7219: 8 trinn
Kontroll LED -bord med telefon Med NodeMCU, ESP8266 og MAX7219: Jeg vil bruke telefonen til å kontrollere LED -kortet som et svingesignal. Så ESP8266 vil fungere som et tilgangspunkt, mikrokontroller og også en server. Webserveren vil ha en enkel webside med 3 knapper: Drei VENSTRE, Drei HØYRE og Drei SOS. Teksten
NODEMCU LUA ESP8266 Med CD4017 tiårsteller: 4 trinn (med bilder)
NODEMCU LUA ESP8266 Med CD4017 Decade Counter: CD4017 er en tiårsteller / skillelinje. Dette betyr at når den mottar en puls, teller den den og sender en utgang til den riktige pinnen. Det er en ganske enkel IC å bruke, og du kan enten bygge kretsen på et brødbrett eller kjøpe en fra Ebay for
NODEMCU LUA ESP8266 Med MCP23017 16 Bit Port Expander IC: 6 trinn (med bilder)
NODEMCU LUA ESP8266 Med MCP23017 16 Bit Port Expander IC: MCP23017 er en relativt enkel IC å lage et kort for siden den har Port A og B på hver side av brikken og pinnene er i rekkefølge. På samme måte er I2C adressebussen alle sammen også. Det er 2 pinner på denne IC som ikke er brukt som den