Satura rādītājs:

Atrašanās vietas izsekotājs ar NodeMCU ESP8266: 10 soļi
Atrašanās vietas izsekotājs ar NodeMCU ESP8266: 10 soļi

Video: Atrašanās vietas izsekotājs ar NodeMCU ESP8266: 10 soļi

Video: Atrašanās vietas izsekotājs ar NodeMCU ESP8266: 10 soļi
Video: Extract GPS location in Arduino with NEO-6m or NEO-7M module 2024, Decembris
Anonim
Atrašanās vietas izsekotājs ar NodeMCU ESP8266
Atrašanās vietas izsekotājs ar NodeMCU ESP8266

Vai jūs interesē, kā jūsu NodeMCU var izsekot jūsu atrašanās vietai? Tas ir iespējams pat bez GPS moduļa un bez displeja. Rezultāts būs koordinātas, kur atrodaties, un jūs tās redzēsit sērijas monitorā.

NodeMCU 1.0 (ESP-12E modulis) ar Arduino IDE tika izmantota šāda iestatīšana.

  • Windows 10
  • Arduino IDE v. 1.8.4

1. darbība. Kas jums nepieciešams

Lai izpildītu šo apmācību, ir nepieciešami šādi komponenti:

  • Mikro USB kabelis
  • NodeMCU ESP8266

Turklāt jums būs nepieciešams:

  • LocationAPI (no Unwired Labs)
  • Piekļuve wifi vai tīklājam

2. darbība. Dodieties uz Laboratorijas bez vadiem

Dodieties uz Unwired Labs
Dodieties uz Unwired Labs

Ģeogrāfiskā atrašanās vieta ir ļoti ērta, jo, kad jūsu GPS nav, jūs joprojām varat izmantot ģeogrāfisko atrašanās vietu, lai izsekotu savu atrašanās vietu. Mūsu saimnieks, kas nodrošina ģeogrāfisko atrašanās vietu, būs https://www.unwiredlabs.com/. Dodieties uz šo vietni un reģistrējieties (oranžā poga augšējā labajā stūrī).

3. darbība: reģistrējieties, lai iegūtu API marķieri

Reģistrējieties, lai iegūtu API marķieri
Reģistrējieties, lai iegūtu API marķieri

Reģistrācijas lapā jums jāievada savs vārds, e -pasts (jūsu API marķieris tiks nosūtīts uz jūsu e -pastu) un lietošanas gadījums (piemēram, personiskai lietošanai). Izvēlieties sava konta veidu. Bezmaksas versija darbosies lieliski, taču paturiet prātā, ka esat ierobežots un nevarat izsekot savai atrašanās vietai visu diennakti. Sāksim!

4. darbība: pārbaudiet savu e -pastu

Dodieties uz savu e -pastu un jūs redzēsit savu API marķieri. Kopējiet API marķieri, jo jums tas ir nepieciešams, lai izmantotu kodu. E -pasts izskatās šādi:

Sveiki!

Paldies, ka reģistrējāties Unwired Labs LocationAPI! Jūsu API marķieris ir “jūsu API kods ir šeit” (bez pēdiņām). Tas dos 100 pieprasījumus dienā bez maksas - uz visiem laikiem.

Ja vēlaties bez maksas izsekot 5 ierīcēm, lūdzu, atbildiet, norādot šādu informāciju, un mēs 12 stundu laikā atjaunināsim jūsu kontu:

1. Izvietošanas veids (aparatūra/ lietotne/ cits):

2. Par savu projektu:

3. Vietne:

Jūs varat pieteikties savā informācijas panelī šeit: https://unwiredlabs.com/dashboard. Ja rodas problēmas vai rodas jautājumi, atbildiet uz šo e -pasta ziņojumu, un es jums palīdzēšu!

Laimīgu atrašanās vietu!

Sagar

Bez vadu laboratorijas

5. darbība: vajadzīgās bibliotēkas

Jums vajadzīgās bibliotēkas
Jums vajadzīgās bibliotēkas

Nākamais solis ir atvērt Arduino un doties pārvaldīt bibliotēkas. Jums jāinstalē ArduinoJson bibliotēka. Pārējās bibliotēkas jau ir iebūvētas. Kad esat gatavs, varat sākt rakstīt kodu.

6. darbība: pievienojiet kodu Arduino, lai izveidotu savienojumu ar LocationAPI

Izveidojiet jaunu skici un pievienojiet šādu kodu Arduino. Uzrakstiet savu wifi/tīklāja nosaukumu un paroli. Ielīmējiet e -pastā saņemto API marķieri. Augšupielādējiet savu kodu savā NodeMCU.

#iekļaut

#iekļaut

#include "ESP8266WiFi.h"

// jūsu tīkla SSID (nosaukums) un tīkla parole

char myssid = "Jūsu wifi/tīklāja nosaukums"; char mypass = "Jūsu parole";

// uniredlabs Hostname & Geolocation Endpoint url

const char* Saimnieks = "www.unwiredlabs.com"; Virknes galapunkts = "/v2/process.php";

// UnwiredLabs API_Token. Reģistrējieties šeit, lai iegūtu bezmaksas marķieri

String token = "d99cccda52ec0b";

String jsonString = "{ n";

// Mainīgie, lai saglabātu bezvadu plātņu atbildi

dubults platums = 0,0; dubultā garums = 0,0; dubultā precizitāte = 0,0;

void setup () {

Serial.begin (115200);

// Iestatiet WiFi stacijas režīmā un atvienojiet to no AP, ja tas iepriekš bija pievienots

WiFi.mode (WIFI_STA); WiFi.disconnect (); Serial.println ("Iestatīšana pabeigta");

// Mēs sākam, izveidojot savienojumu ar WiFi tīklu

Serial.print ("Savienojuma izveide"); Serial.println (myssid); WiFi.begin (myssid, mypass);

kamēr (WiFi.status ()! = WL_CONNECTED) {

kavēšanās (500); Sērijas nospiedums ("."); } Serial.println ("."); }

void loop () {

char bssid [6]; DynamicJsonBuffer jsonBuffer;

// WiFi.scanNetworks atgriezīs atrasto tīklu skaitu

int n = WiFi.scanNetworks (); Serial.println ("skenēšana pabeigta");

ja (n == 0) {

Serial.println ("Tīkli nav pieejami"); } cits {Sērijas nospiedums (n); Serial.println ("atrasti tīkli"); }

// tagad izveidojiet jsonString …

jsonString = "{ n"; jsonString += "\" marķieris / ": \" "; jsonString += marķieris; jsonString +=" / ", / n"; jsonString += "\" id / ": \" saikirandevice01 / ", / n"; jsonString += "\" wifi / ": [n"; par (int j = 0; j <n; ++ j) {jsonString += "{ n"; jsonString += "\" bssid / ": \" "; jsonString += (WiFi. BSSIDstr (j)); jsonString +=" / ", / n"; jsonString += "\" signāls / ":"; jsonString += WiFi. RSSI (j); jsonString += "\ n"; ja (j <n - 1) {jsonString += "}, / n"; } cits {jsonString += "} n"; }} jsonString += ("] n"); jsonString += ("} n"); Serial.println (jsonString);

WiFiClientSecure klients;

// Izveidojiet savienojumu ar klientu un veiciet api zvanu

Serial.println ("Pieprasot URL: https://" + (String) Host + galapunkts); if (client.connect (resursdators, 443)) {Serial.println ("Savienots"); client.println ("POST" + galapunkts + "HTTP/1.1"); client.println ("Host:" + (String) Host); client.println ("Savienojums: aizvērt"); client.println ("Satura tips: lietojumprogramma/json"); client.println ("Lietotāja aģents: Arduino/1.0"); client.print ("Content-Length:"); klients.println (jsonString.length ()); klients.println (); client.print (jsonString); kavēšanās (500); }

// Lasiet un parsējiet visas atbildes rindas no servera

while (client.available ()) {String line = client.readStringUntil ('\ r'); JsonObject & root = jsonBuffer.parseObject (līnija); ja (root.success ()) {platums = sakne ["lat"]; garums = sakne ["lon"]; precizitāte = sakne ["precizitāte"];

Sērijas.println ();

Serial.print ("Latitude ="); Serial.println (platums, 6); Serial.print ("Garums ="); Sērijas.println (garums, 6); Serial.print ("Precizitāte ="); Serial.println (precizitāte); }}

Serial.println ("slēgšanas savienojums");

Sērijas.println (); client.stop ();

kavēšanās (5000);

}

7. darbība. Atveriet sērijas monitoru, lai redzētu, vai esat izveidojis savienojumu

Dodieties uz Arduino rīkiem un atveriet sērijas monitoru. Lai redzētu, vai ir izveidots savienojums ar internetu, sērijas monitorā vajadzētu redzēt šādu informāciju:

Iestatīšana pabeigta

Notiek savienojuma izveide ar (jūsu wifi nosaukumu)… skenēšana ir pabeigta

8. darbība: iegūstiet koordinātas

Ja tas darbojās veiksmīgi, skenēšanas laikā vajadzētu redzēt visu datu sarakstu. Vienīgais, kas mums nepieciešams, ir kods zem pieprasītāja URL, tāpēc mums būs nepieciešami platuma un garuma grādi. Šīs ir koordinātas.

Pieprasītais URL:

Savienots

Platums = 52.385259

Garums = 5.196099

Precizitāte = 41.00

slēgšanas savienojums

Pēc 5 sekundēm kods tiks pastāvīgi atjaunināts, un jūs, iespējams, redzēsit platuma, garuma un precizitātes izmaiņas. Tas ir tāpēc, ka API cenšas vislabāk izsekot atrašanās vietu pēc iespējas precīzāk.

9. darbība: dodieties uz Google Maps

Dodieties uz Google Maps
Dodieties uz Google Maps

Dodieties uz vietni https://www.google.com/maps/ un meklēšanas joslā ierakstiet savas koordinātas. Koordinātas jāraksta šādā veidā: 52.385259, 5.196099. Google Maps kartē vajadzētu parādīt jūsu atrašanās vietu.

10. darbība: nosūtiet atrašanās vietu uz savu mobilo tālruni

Nosūtiet atrašanās vietu uz savu mobilo tālruni
Nosūtiet atrašanās vietu uz savu mobilo tālruni

Un … jūs esat pabeidzis! Tāpēc, ja vēlaties nosūtīt atrašanās vietu uz savu mobilo tālruni, tas ir iespējams. Pēc tam Google Maps, ja vēlaties, nosūtīs e -pastu ar jūsu koordinātām.

Laimīgu atrašanās vietu!

Ieteicams: