Sisällysluettelo:

Sijainnin seuranta NodeMCU ESP8266: 10 vaihetta
Sijainnin seuranta NodeMCU ESP8266: 10 vaihetta

Video: Sijainnin seuranta NodeMCU ESP8266: 10 vaihetta

Video: Sijainnin seuranta NodeMCU ESP8266: 10 vaihetta
Video: LDmicro 18: GPS-будильник Ublox NEO-6M (программирование лестничной схемы ПЛК микроконтроллера с помощью LDmicro) 2024, Marraskuu
Anonim
Sijainnin seuranta NodeMCU ESP8266: lla
Sijainnin seuranta NodeMCU ESP8266: lla

Oletko utelias siitä, miten NodeMCU voi seurata sijaintiasi? Se on mahdollista, jopa ilman GPS -moduulia ja ilman näyttöä. Lähtö on sijaintisi koordinaatit ja näet ne sarjamonitorissasi.

Seuraavaa asetusta käytettiin NodeMCU 1.0: ssa (ESP-12E-moduuli) Arduino IDE: n kanssa.

  • Windows 10
  • Arduino IDE v. 1.8.4

Vaihe 1: Mitä tarvitset

Tämän opetusohjelman noudattamiseksi tarvitset seuraavat komponentit:

  • Micro -USB -kaapeli
  • NodeMCU ESP8266

Lisäksi tarvitset:

  • SijaintiAPI (Unwired Labsilta)
  • Pääsy wifiin tai hotspotiin

Vaihe 2: Siirry langattomiin laboratorioihin

Siirry Unwired Labsiin
Siirry Unwired Labsiin

Maantieteellinen sijainti on erittäin kätevä, koska kun GPS on poissa päältä, voit silti käyttää sijaintitietoa sijaintisi seuraamiseen. Maantieteellistä sijaintia tarjoava isäntämme on https://www.unwiredlabs.com/. Siirry kyseiselle verkkosivustolle ja rekisteröidy (oranssi painike oikeassa yläkulmassa).

Vaihe 3: Rekisteröidy saadaksesi API -tunnuksen

Rekisteröidy saadaksesi API -tunnuksen
Rekisteröidy saadaksesi API -tunnuksen

Ilmoittautumissivulla sinun on annettava nimesi, sähköpostiosoitteesi (sovellusliittymän tunnuksesi lähetetään sähköpostiisi) ja käyttötapa (esimerkiksi henkilökohtaiseen käyttöön). Valitse tilisi tyyppi. Ilmainen versio toimii hienosti, mutta muista, että olet rajoitettu etkä voi seurata sijaintiasi 24/7. Aloitetaan!

Vaihe 4: Tarkista sähköpostisi

Siirry sähköpostiisi ja näet API -tunnuksesi. Kopioi sovellusliittymän tunnus, koska tarvitset sen käyttämäämme koodiin. Tältä sähköposti näyttää:

Hei!

Kiitos rekisteröitymisestäsi Unwired Labs LocationAPI: n kanssa! API -tunnuksesi on "API -koodisi on täällä" (ilman lainausmerkkejä). Tämä antaa 100 pyyntöä päivässä ilmaiseksi - ikuisesti.

Jos haluat seurata 5 laitetta ilmaiseksi, vastaa seuraaviin tietoihin ja päivitämme tilisi 12 tunnin kuluessa:

1. Käyttöönoton tyyppi (laitteisto/ sovellus/ muu):

2. Tietoja projektistasi:

3. Verkkosivusto:

Voit kirjautua hallintapaneeliin täältä: https://unwiredlabs.com/dashboard. Jos kohtaat ongelmia tai sinulla on kysyttävää, vastaa tähän sähköpostiviestiin, niin autan sinua!

Hyvää paikantamista!

Sagar

Langattomat laboratoriot

Vaihe 5: Tarvitsemasi kirjastot

Tarvittavat kirjastot
Tarvittavat kirjastot

Seuraava vaihe on avata Arduino ja siirtyä kirjastojen hallintaan. Sinun on asennettava ArduinoJson -kirjasto. Muut kirjastot ovat jo sisäänrakennettuja. Kun olet valmis, voit aloittaa koodin kirjoittamisen.

Vaihe 6: Lisää koodi Arduinossa yhteyden muodostamiseen LocationAPI: n kanssa

Tee uusi luonnos ja lisää seuraava koodi Arduinossa. Kirjoita oma wifi/hotspot -nimesi ja salasanasi. Liitä sähköpostissa saamasi sovellusliittymämerkki. Lataa koodi NodeMCU -laitteeseesi.

#sisältää

#sisältää

#include "ESP8266WiFi.h"

// verkkosi SSID (nimi) ja verkon salasana

char myssid = "Sinun wifi/hotspot -nimesi"; char mypass = "Salasanasi";

// unsiredlabs Isäntänimen ja maantieteellisen sijainnin päätepisteen URL -osoite

const char* Isäntä = "www.unwiredlabs.com"; Merkkijonon päätepiste = "/v2/process.php";

// UnwiredLabs API_Token. Rekisteröidy tästä saadaksesi ilmaisen tunnuksen

Merkkijonomerkki = "d99cccda52ec0b";

Jono jsonString = "{ n";

// Muuttujat, jotka tallentavat Wiredlabs -vastauksen

kaksinkertainen leveysaste = 0,0; kaksinkertainen pituusaste = 0,0; kaksinkertainen tarkkuus = 0,0;

void setup () {

Sarja.alku (115200);

// Aseta WiFi asematilaan ja katkaise yhteys tukiasemaan, jos se on aiemmin liitetty

WiFi.mode (WIFI_STA); WiFi. Irrota (); Serial.println ("Asennus valmis");

// Aloitamme muodostamalla yhteyden WiFi -verkkoon

Serial.print ("Yhdistäminen"); Serial.println (myssid); WiFi.begin (myssid, mypass);

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

viive (500); Serial.print ("."); } Sarja.println ("."); }

void loop () {

char bssid [6]; DynamicJsonBuffer jsonBuffer;

// WiFi.scanNetworks palauttaa löydettyjen verkkojen määrän

int n = WiFi.scanNetworks (); Serial.println ("skannaus valmis");

jos (n == 0) {

Serial.println ("Ei verkkoja saatavilla"); } else {Serial.print (n); Serial.println ("verkot löydetty"); }

// rakenna nyt 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 += "\" signaali / ":"; jsonString += WiFi. RSSI (j); jsonString += "\ n"; jos (j <n - 1) {jsonString += "}, / n"; } else {jsonString += "} n"; }} jsonString += ("] n"); jsonString += ("} n"); Sarja.println (jsonString);

WiFiClientSecure -asiakas;

// Yhdistä asiakas ja soita api -puhelu

Serial.println ("Pyynnön URL -osoite: https://" + (String) Host + endpoint); if (client.connect (isäntä, 443)) {Serial.println ("Yhdistetty"); client.println ("POST" + päätepiste + "HTTP/1.1"); client.println ("Isäntä:" + (merkkijono) isäntä); client.println ("Yhteys: sulje"); client.println ("Sisältötyyppi: application/json"); client.println ("Käyttäjäagentti: Arduino/1.0"); client.print ("Content-Length:"); client.println (jsonString.length ()); client.println (); client.print (jsonString); viive (500); }

// Lue ja jäsennä kaikki palvelimen vastauksen rivit

while (client.available ()) {String line = client.readStringUntil ('\ r'); JsonObject & root = jsonBuffer.parseObject (rivi); if (root.success ()) {leveysaste = juuri ["lat"]; pituusaste = juuri ["lon"]; tarkkuus = juuri ["tarkkuus"];

Sarja.println ();

Serial.print ("Leveysaste ="); Sarja.println (leveysaste, 6); Serial.print ("Pituusaste ="); Sarja.println (pituusaste, 6); Serial.print ("Tarkkuus ="); Serial.println (tarkkuus); }}

Serial.println ("sulkeva yhteys");

Sarja.println (); client.stop ();

viive (5000);

}

Vaihe 7: Avaa sarjamonitori nähdäksesi, oletko yhteydessä

Siirry Arduinon työkaluihin ja avaa sarjamonitori. Jos haluat nähdä, oletko yhteydessä Internetiin, sinun pitäisi nähdä sarjamonitorissa seuraava:

Asennus tehty

Yhdistetään (wifi -nimesi)… skannaus valmis

Vaihe 8: Hae koordinaatit

Jos se toimi onnistuneesti, sinun pitäisi nähdä alla skannaus tehty koko luettelo tiedoista. Ainoa asia, jonka tarvitsemme, on pyytävän URL -osoitteen alla oleva koodi, joten tarvitsemme leveys- ja pituusasteita. Nämä ovat koordinaatit.

Pyynnön URL -osoite:

Yhdistetty

Leveysaste = 52.385259

Pituusaste = 5.196099

Tarkkuus = 41.00

sulkeva liitäntä

Viiden sekunnin kuluttua koodi päivittyy jatkuvasti ja näet todennäköisesti leveys-, pituus- ja tarkkuuden muuttuvan. Tämä johtuu siitä, että sovellusliittymä yrittää parhaiten seurata sijaintia mahdollisimman tarkasti.

Vaihe 9: Siirry Google Mapsiin

Siirry Google Mapsiin
Siirry Google Mapsiin

Siirry osoitteeseen https://www.google.com/maps/ ja kirjoita koordinaatit hakupalkkiin. Koordinaatit on kirjoitettava seuraavasti: 52.385259, 5.196099. Google Mapsin pitäisi näyttää sijaintisi kartalla.

Vaihe 10: Lähetä sijainti matkapuhelimeesi

Lähetä sijainti matkapuhelimeesi
Lähetä sijainti matkapuhelimeesi

Ja… olet valmis! Siksi, jos haluat lähettää sijainnin matkapuhelimeesi, se on mahdollista. Google Maps lähettää halutessasi sähköpostin koordinaateistasi.

Hyvää paikantamista!

Suositeltava: