Mundarija:

NodeMCU ESP8266 bilan joylashuvni kuzatuvchi: 10 qadam
NodeMCU ESP8266 bilan joylashuvni kuzatuvchi: 10 qadam

Video: NodeMCU ESP8266 bilan joylashuvni kuzatuvchi: 10 qadam

Video: NodeMCU ESP8266 bilan joylashuvni kuzatuvchi: 10 qadam
Video: Введение в плату разработки NodeMCU ESP8266 WiFi с примером HTTP-клиента 2024, Noyabr
Anonim
NodeMCU ESP8266 bilan joylashuvni kuzatuvchi
NodeMCU ESP8266 bilan joylashuvni kuzatuvchi

NodeMCU sizning joylashuvingizni qanday kuzatishi mumkinligi sizni qiziqtiradimi? Bu GPS modulisiz va displeysiz ham mumkin. Chiqish siz joylashgan koordinatalar bo'ladi va siz ularni ketma -ket monitorda ko'rasiz.

Quyidagi sozlash Arduino IDE bilan NodeMCU 1.0 (ESP-12E moduli) uchun ishlatilgan.

  • Windows 10
  • Arduino IDE v. 1.8.4

1 -qadam: Sizga nima kerak

Ushbu qo'llanmani bajarish uchun sizga quyidagi komponentlar kerak bo'ladi:

  • Mikro USB kabeli
  • NodeMCU ESP8266

Bundan tashqari, sizga kerak bo'ladi:

  • ManzilAPI (simsiz laboratoriyalardan)
  • Wi -Fi yoki ulanish nuqtasiga kirish

2 -qadam: Simsiz laboratoriyalarga o'ting

Simsiz laboratoriyalarga o'ting
Simsiz laboratoriyalarga o'ting

Geolokatsiya juda qulay, chunki GPS ishlamay qolganda, siz joylashuvingizni kuzatishda Geolocation -dan foydalanishingiz mumkin. Bizning geografik joylashuvni ta'minlaydigan xostimiz https://www.unwiredlabs.com/ bo'ladi. Ushbu veb -saytga o'ting va ro'yxatdan o'ting (yuqori o'ng burchakdagi to'q sariq tugma).

3 -qadam: API tokenini olish uchun ro'yxatdan o'ting

API tokenini olish uchun ro'yxatdan o'ting
API tokenini olish uchun ro'yxatdan o'ting

Ro'yxatdan o'tish sahifasida siz ismingizni, elektron pochtangizni (API tokeningiz elektron pochtangizga yuboriladi) va foydalanish holatini (masalan, shaxsiy foydalanish) to'ldirishingiz kerak. Hisob turini tanlang. Bepul versiya juda yaxshi ishlaydi, lekin shuni yodda tutingki, siz cheklangansiz va 24/7 joylashuvingizni kuzatib tura olmaysiz. Qani boshladik!

4 -qadam: E -pochtangizni tekshiring

E -pochtangizga o'ting va siz API tokenini ko'rasiz. API tokenidan nusxa ko'chiring, chunki biz foydalanadigan kod uchun sizga kerak. Elektron pochta manzili shunday ko'rinadi:

Salom!

Unwired Labs LocationAPI -da ro'yxatdan o'tganingiz uchun tashakkur! Sizning API tokeningiz "sizning API kodingiz shu erda" (tirnoqsiz). Bu kuniga 100 ta so'rovni bepul beradi - abadiy.

Agar siz 5 ta qurilmani bepul kuzatishni xohlasangiz, iltimos, quyidagi tafsilotlar bilan javob bering, biz hisobingizni 12 soat ichida yangilaymiz:

1. Joylashtirish turi (Uskuna/ Ilova/ Boshqa):

2. Sizning loyihangiz haqida:

3. Veb -sayt:

Siz bu erda boshqaruv paneliga kirishingiz mumkin: https://unwiredlabs.com/dashboard. Agar muammoga duch kelsangiz yoki savollaringiz bo'lsa, ushbu elektron pochtaga javob bering, men sizga yordam beraman!

Baxtli joylashuv!

Sagar

Simsiz laboratoriyalar

5 -qadam: Sizga kerak bo'lgan kutubxonalar

Sizga kerak bo'lgan kutubxonalar
Sizga kerak bo'lgan kutubxonalar

Keyingi qadam - Arduino -ni ochish va kutubxonalarni boshqarishga o'tish. ArduinoJson kutubxonasini o'rnatishingiz kerak. Boshqa kutubxonalar allaqachon o'rnatilgan. Tayyor bo'lgach, siz kodni yozishni boshlashingiz mumkin.

6 -qadam: LocationAPI bilan bog'lanish uchun Arduino -ga kod qo'shing

Yangi eskiz yarating va Arduino -ga quyidagi kodni qo'shing. O'z Wi -Fi/kirish nuqtasi nomini va parolingizni yozing. E -pochtaga olgan API tokenini joylashtiring. Kodni NodeMCU -ga yuklang.

#qo'shing

#qo'shing

#"ESP8266WiFi.h" ni qo'shing

// tarmoq SSID (nomi) va tarmoq paroli

char myssid = "Wi -Fi/ulanish nuqtangiz nomi"; char mypass = "Sizning parolingiz";

// simsiz tarmoqlar Xost nomi va Geolocation Endpoint url

const char* Xost = "www.unwiredlabs.com"; Satrning oxirgi nuqtasi = "/v2/process.php";

// UnwiredLabs API_Token. Https://unwiredlabs.com/trial bepul tokenini olish uchun bu erda ro'yxatdan o'ting

String belgisi = "d99cccda52ec0b";

JsonString qatori = "{ n";

// Kablolanmagan javoblarni saqlash uchun o'zgaruvchilar

er -xotin kenglik = 0,0; ikki uzunlik = 0,0; ikki tomonlama aniqlik = 0,0;

bo'sh o'rnatish () {

Serial.begin (115200);

// WiFi -ni stantsiya rejimiga qo'ying va agar u ilgari ulangan bo'lsa, AP -dan uzing

WiFi rejimi (WIFI_STA); WiFi.disconnect (); Serial.println ("O'rnatish bajarildi");

// Biz Wi -Fi tarmog'iga ulanishdan boshlaymiz

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

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

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

void loop () {

char bssid [6]; DynamicJsonBuffer jsonBuffer;

// WiFi.scanNetworks topilgan tarmoqlar sonini qaytaradi

int n = WiFi.scanNetworks (); Serial.println ("skanerlash bajarildi");

agar (n == 0) {

Serial.println ("Tarmoq mavjud emas"); } boshqa {Serial.print (n); Serial.println ("tarmoqlar topildi"); }

// endi jsonString -ni yarating …

jsonString = "{ n"; jsonString += "\" belgisi / ": \" "; jsonString += belgisi; jsonString +=" / ", / n"; jsonString += "\" id / ": \" saikirandevice01 / ", / n"; jsonString += "\" wifi / ": [ n"; uchun (int j = 0; j <n; ++ j) {jsonString += "{ n"; jsonString += "\" bssid / ": \" "; jsonString += (WiFi. BSSIDstr (j)); jsonString +=" / ", / n"; jsonString += "\" signal / ":"; jsonString += WiFi. RSSI (j); jsonString += "\ n"; agar (j <n - 1) {jsonString += "}, / n"; } boshqa {jsonString += "} n"; }} jsonString += ("] n"); jsonString += ("} n"); Serial.println (jsonString);

WiFiClientSecure mijozi;

// Mijozga ulaning va api -ga qo'ng'iroq qiling

Serial.println ("URL so'ralmoqda: https://" + (String) Xost + oxirgi nuqta); if (client.connect (Xost, 443)) {Serial.println ("Ulangan"); client.println ("POST" + oxirgi nuqta + "HTTP/1.1"); client.println ("Xost:" + (String) Xost); client.println ("Ulanish: yopish"); client.println ("Kontent turi: application/json"); client.println ("Foydalanuvchi-Agent: Arduino/1.0"); client.print ("Content-Length:"); mijoz.println (jsonString.length ()); mijoz.println (); client.print (jsonString); kechikish (500); }

// Serverdan javobning barcha satrlarini o'qing va tahlil qiling

while (client.available ()) {String line = client.readStringUntil ('\ r'); JsonObject & root = jsonBuffer.parseObject (chiziq); if (root.success ()) {enlik = ildiz ["lat"]; uzunlik = ildiz ["lon"]; aniqlik = ildiz ["aniqlik"];

Serial.println ();

Serial.print ("Kenglik ="); Serial.println (kenglik, 6); Serial.print ("Uzunlik ="); Serial.println (uzunlik, 6); Serial.print ("Aniqlik ="); Serial.println (aniqlik); }}

Serial.println ("yopilish aloqasi");

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

kechikish (5000);

}

7 -qadam: Agar ulangan bo'lsangiz, ketma -ket monitorni oching

Arduino asboblariga o'ting va ketma -ket monitorni oching. Internetga ulanganligingizni bilish uchun ketma -ket monitorda quyidagilarni ko'rishingiz kerak:

Sozlash tugallandi

(Wi -Fi tarmog'ingiz nomiga) ulanmoqda… skanerlandi

8 -qadam: Koordinatalarni oling

Agar u muvaffaqiyatli ishlagan bo'lsa, skanerlash ostida ma'lumotlarning to'liq ro'yxatini ko'rishingiz kerak. Bizga kerak bo'lgan yagona narsa bu so'ralayotgan URL ostidagi kod, shuning uchun bizga kenglik va uzunlik kerak bo'ladi. Bu koordinatalar.

URL so'rovi:

Ulangan

Kenglik = 52.385259

Uzunlik = 5.196099

Aniqlik = 41.00

yopilish aloqasi

5 soniyadan so'ng kod doimiy ravishda yangilanadi va siz kenglik, uzunlik va aniqlik o'zgarishini ko'rasiz. Buning sababi shundaki, API joylashuvni iloji boricha aniqroq kuzatishga harakat qiladi.

9 -qadam: Google Xaritalarga o'ting

Google Xaritalarga o'ting
Google Xaritalarga o'ting

Https://www.google.com/maps/ saytiga o'ting va qidiruv satriga koordinatalaringizni kiriting. Koordinatalarni quyidagicha yozish kerak: 52.385259, 5.196099. Google Xaritalar sizning joylashuvingizni xaritada ko'rsatishi kerak.

10 -qadam: Joylashuvni mobil telefoningizga yuboring

Joylashuvni mobil telefoningizga yuboring
Joylashuvni mobil telefoningizga yuboring

Va … ishingiz tugadi! Shuning uchun, agar siz manzilni mobil telefoningizga yubormoqchi bo'lsangiz, bu mumkin. Agar xohlasangiz, Google Xaritalar sizning koordinatalaringiz bilan elektron pochta xabarini yuboradi.

Baxtli joylashuv!

Tavsiya: