Talaan ng mga Nilalaman:

Tracker ng Lokasyon Sa NodeMCU ESP8266: 10 Mga Hakbang
Tracker ng Lokasyon Sa NodeMCU ESP8266: 10 Mga Hakbang

Video: Tracker ng Lokasyon Sa NodeMCU ESP8266: 10 Mga Hakbang

Video: Tracker ng Lokasyon Sa NodeMCU ESP8266: 10 Mga Hakbang
Video: LDmicro 18: Ublox NEO-6M GPS Alarm Clock (Microcontroller PLC Ladder Programming with LDmicro) 2024, Hulyo
Anonim
Tracker ng Lokasyon Sa NodeMCU ESP8266
Tracker ng Lokasyon Sa NodeMCU ESP8266

Sigurado ka bang malaman kung paano masusubaybayan ng iyong NodeMCU ang iyong lokasyon? Posible, kahit na walang module ng GPS at walang display. Ang output ay magiging mga coordinate kung saan ka matatagpuan at makikita mo ang mga ito sa iyong serial monitor.

Ang sumusunod na pag-setup ay ginamit para sa NodeMCU 1.0 (ESP-12E Module) na may Arduino IDE.

  • Windows 10
  • Arduino IDE v. 1.8.4

Hakbang 1: Ano ang Kailangan Mo

Ang kailangan mo upang sundin ang tutorial na ito ay ang mga sumusunod na sangkap:

  • Micro USB cable
  • NodeMCU ESP8266

Bukod dito, kakailanganin mo ang:

  • LocationAPI (mula sa Unwired Labs)
  • Mga acc sa wifi o isang hotspot

Hakbang 2: Pumunta sa Unwired Labs

Pumunta sa Unwired Labs
Pumunta sa Unwired Labs

Napaka-madaling gamiting Geolocation dahil kapag ang iyong GPS ay mababa, maaari mo pa ring gamitin ang Geolocation upang subaybayan ang iyong lokasyon. Ang aming host na nagbibigay ng geolocation, ay magiging https://www.unwiredlabs.com/. Pumunta sa website na iyon at mag-sign up (ang orange na pindutan sa kanang sulok sa itaas).

Hakbang 3: Mag-sign Up upang makakuha ng Token ng API

Mag-sign Up upang makakuha ng Token ng API
Mag-sign Up upang makakuha ng Token ng API

Sa pahina ng pag-sign up, kailangan mong punan ang iyong pangalan, email (ipapadala ang iyong token ng API sa iyong email) at paggamit ng kaso (halimbawa, personal na paggamit). Piliin ang uri ng iyong account. Magagawa lamang ang libreng bersyon, ngunit tandaan na limitado ka at hindi masusubaybayan ang iyong lokasyon nang 24/7. Magsimula na tayo!

Hakbang 4: Suriin ang Iyong Email

Pumunta sa iyong email at makikita mo ang iyong API token. Kopyahin ang API token, dahil kailangan mo iyon para sa code na gagamitin namin. Ganito ang hitsura ng email:

Kamusta!

Salamat sa pag-sign up sa Unwired Labs LokasyonAPI! Ang iyong API token ay 'ang iyong API code ay narito' (walang mga quote). Magbibigay ito ng 100 mga kahilingan / araw nang libre - magpakailanman.

Kung nais mong subaybayan ang 5 mga aparato nang libre, mangyaring tumugon sa mga sumusunod na detalye at i-upgrade namin ang iyong account sa loob ng 12 oras:

1. Uri ng pag-deploy (Hardware / App / Iba pa):

2. Tungkol sa iyong proyekto:

3. Website:

Maaari kang mag-login sa iyong dashboard dito: https://unwiredlabs.com/dashboard. Kung nagkakaroon ka ng problema o may mga katanungan, tumugon sa email na ito at tutulungan kita!

Maligayang Paghanap!

Sagar

Mga Unwired Labs

Hakbang 5: Mga Aklatan na Kakailanganin Mo

Mga Aklatan na Kakailanganin Mo
Mga Aklatan na Kakailanganin Mo

Ang susunod na hakbang ay buksan ang Arduino at pumunta upang pamahalaan ang mga aklatan. Kailangan mong i-install ang ArduinoJson library. Ang iba pang mga aklatan ay naka-built in na. Kung handa ka na, maaari mong simulang isulat ang code.

Hakbang 6: Magdagdag ng Code sa Arduino upang Kumonekta Sa LokasyonAPI

Gumawa ng isang bagong sketch at idagdag ang sumusunod na code sa Arduino. Sumulat ng iyong sariling pangalan ng wifi / hotspot at ang iyong password. I-paste ang API token na iyong natanggap sa email. I-upload ang iyong code sa iyong NodeMCU.

# isama

# isama

# isama ang "ESP8266WiFi.h"

// iyong network SSID (pangalan) at network password

char myssid = "Ang iyong pangalan ng wifi / hotspot"; char mypass = "Ang iyong password";

// unwiredlabs Hostname at Geolocation Endpoint url

const char * Host = "www.unwiredlabs.com"; String endpoint = "/v2/process.php";

// UnwiredLabs API_Token. Pag-sign up dito upang makakuha ng isang libreng token

String token = "d99cccda52ec0b";

String jsonString = "{ n";

// Mga variable upang maiimbak ang tugon na hindi naislab

dobleng latitude = 0.0; dobleng longitude = 0.0; dobleng kawastuhan = 0.0;

walang bisa ang pag-setup () {

Serial.begin (115200);

// Itakda ang WiFi sa mode ng istasyon at idiskonekta mula sa isang AP kung dati itong nakakonekta

WiFi.mode (WIFI_STA); WiFi.disconnect (); Serial.println ("Tapos na ang pag-set up");

// Nagsisimula kami sa pamamagitan ng pagkonekta sa isang WiFi network

Serial.print ("Kumokonekta sa"); Serial.println (myssid); WiFi.begin (myssid, mypass);

habang (WiFi.status ()! = WL_CONNected) {

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

void loop () {

char bssid [6]; DynamicJsonBuffer jsonBuffer;

// Ibabalik ng WiFi.scanNetworks ang bilang ng mga nahanap na network

int n = WiFi.scanNetworks (); Serial.println ("tapos na ang pag-scan");

kung (n == 0) {

Serial.println ("Walang magagamit na mga network"); } iba pa {Serial.print (n); Serial.println ("nahanap ang mga network"); }

// now build the jsonString…

jsonString = "{ n"; jsonString + = "\" token / ": \" "; jsonString + = token; jsonString + =" / ", / n"; jsonString + = "\" id / ": \" saikirandevice01 / ", / n"; jsonString + = "\" wifi / ": [ n"; para sa (int j = 0; j <n; ++ j) {jsonString + = "{ n"; jsonString + = "\" bssid / ": \" "; jsonString + = (WiFi. BSSIDstr (j)); jsonString + =" / ", / n"; jsonString + = "\" signal / ":"; jsonString + = WiFi. RSSI (j); jsonString + = "\ n"; kung (j <n - 1) {jsonString + = "}, / n"; } iba pa {jsonString + = "} n"; }} jsonString + = ("] n"); jsonString + = ("} n"); Serial.println (jsonString);

Client ng WiFiClientSecure;

// Kumonekta sa kliyente at tumawag sa api

Serial.println ("Humihiling ng URL: https://" + (String) Host + endpoint); kung (client.connect (Host, 443)) {Serial.println ("Nakakonekta"); client.println ("POST" + endpoint + "HTTP / 1.1"); client.println ("Host:" + (String) Host); client.println ("Koneksyon: malapit"); client.println ("Uri ng Nilalaman: application / json"); client.println ("User-Agent: Arduino / 1.0"); client.print ("Haba ng Nilalaman:"); client.println (jsonString.length ()); client.println (); client.print (jsonString); pagkaantala (500); }

// Basahin at i-parse ang lahat ng mga linya ng tugon mula sa server

habang (client.available ()) {String line = client.readStringUntil ('\ r'); JsonObject & root = jsonBuffer.parseObject (linya); kung (root.success ()) {latitude = root ["lat"]; longitude = ugat ["lon"]; kawastuhan = ugat ["katumpakan"];

Serial.println ();

Serial.print ("Latitude ="); Serial.println (latitude, 6); Serial.print ("Longitude ="); Serial.println (longitude, 6); Serial.print ("Kawastuhan ="); Serial.println (kawastuhan); }}

Serial.println ("pagsasara ng koneksyon");

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

pagkaantala (5000);

}

Hakbang 7: Buksan ang Serial Monitor upang Makita Kung Nakakonekta Ka

Pumunta sa mga tool sa Arduino at buksan ang serial monitor. Upang makita kung nakakonekta ka sa internet, dapat mong makita ang sumusunod sa serial monitor:

Tapos na ang pag-set up

Kumokonekta sa (iyong pangalan ng wifi)… tapos na ang pag-scan

Hakbang 8: Kunin ang Mga Coordinate

Kung matagumpay itong gumana, dapat mong makita sa ilalim ng pag-scan ang tapos ng isang buong listahan ng data. Ang tanging bagay na kailangan namin ay ang code sa ilalim ng humihiling na URL, kaya kakailanganin namin ang latitude at ang longitude. Ito ang mga coordinate.

Humihiling ng URL:

Nakakonekta

Latitude = 52.385259

Longhitud = 5.196099

Kawastuhan = 41.00

pagsasara ng koneksyon

Pagkatapos ng 5 segundo ang code ay patuloy na mai-update at malamang na makikita mo ang pagbabago ng latitude, longitude at kawastuhan. Iyon ay dahil sinusubukan ng API pinakamahusay na subaybayan ang lokasyon nang tumpak hangga't maaari.

Hakbang 9: Pumunta sa Google Maps

Pumunta sa Google Maps
Pumunta sa Google Maps

Pumunta sa https://www.google.com/maps/ at i-type ang iyong mga coordinate sa search bar. Ang mga coordinate ay kailangang isulat sa sumusunod na paraan: 52.385259, 5.196099. Dapat ipakita ang Google Maps kung saan ka matatagpuan sa mapa.

Hakbang 10: Ipadala ang Lokasyon sa Iyong Mobile

Ipadala ang Lokasyon sa Iyong Mobile
Ipadala ang Lokasyon sa Iyong Mobile

At… Tapos ka na! Samakatuwid, kung nais mong ipadala ang lokasyon sa iyong mobile, posible. Magpapadala ang Google Maps ng isang email kasama ang iyong mga coordinate kung nais mo.

Maligayang paghahanap!

Inirerekumendang: