Orodha ya maudhui:

Kufuatilia Mahali Pamoja na NodeMCU ESP8266: Hatua 10
Kufuatilia Mahali Pamoja na NodeMCU ESP8266: Hatua 10

Video: Kufuatilia Mahali Pamoja na NodeMCU ESP8266: Hatua 10

Video: Kufuatilia Mahali Pamoja na NodeMCU ESP8266: Hatua 10
Video: Введение в плату разработки NodeMCU ESP8266 WiFi с примером HTTP-клиента 2024, Novemba
Anonim
Kufuatilia Mahali Pamoja na NodeMCU ESP8266
Kufuatilia Mahali Pamoja na NodeMCU ESP8266

Je! Una hamu ya kujua jinsi NodeMCU yako inaweza kufuatilia eneo lako? Inawezekana, hata bila moduli ya GPS na bila onyesho. Pato litakuwa kuratibu mahali ulipo na utawaona kwenye mfuatiliaji wako wa serial.

Usanidi ufuatao ulitumika kwa NodeMCU 1.0 (Moduli ya ESP-12E) na Arduino IDE.

  • Windows 10
  • Arduino IDE dhidi ya 1.8.4

Hatua ya 1: Unahitaji Nini

Unachohitaji ili kufuata mafunzo haya ni vifaa vifuatavyo:

  • Cable ndogo ya USB
  • NodeMCU ESP8266

Kwa kuongezea, utahitaji:

  • MahaliAPI (kutoka Maabara Yasiyo na waya)
  • Acces kwa wifi au hotspot

Hatua ya 2: Nenda kwenye Maabara yasiyotumiwa

Nenda kwenye Maabara ambayo hayana waya
Nenda kwenye Maabara ambayo hayana waya

Geolocation inakuja kwa urahisi sana kwa sababu wakati GPS yako iko chini, bado unaweza kutumia Geolocation kufuatilia eneo lako. Mwenyeji wetu ambaye hutoa geolocation, atakuwa https://www.unwiredlabs.com/. Nenda kwenye wavuti hiyo na ujisajili (kitufe cha chungwa kwenye kona ya juu kulia).

Hatua ya 3: Jisajili ili Upate Ishara ya API

Jisajili ili Upate Ishara ya API
Jisajili ili Upate Ishara ya API

Kwenye ukurasa wa kujisajili, lazima ujaze jina lako, barua pepe (ishara yako ya API itatumwa kwa barua pepe yako) na utumie kesi (kwa mfano, matumizi ya kibinafsi). Chagua aina ya akaunti yako. Toleo la bure litafanya vizuri, lakini kumbuka kuwa wewe ni mdogo na hauwezi kufuatilia eneo lako 24/7. Tuanze!

Hatua ya 4: Angalia Barua pepe yako

Nenda kwa barua pepe yako na utaona ishara yako ya API. Nakili ishara ya API, kwa sababu unahitaji hiyo kwa nambari tutakayotumia. Hivi ndivyo barua pepe inavyoonekana:

Halo!

Asante kwa kujiandikisha na Maabara yasiyotumiwaAPI! Ishara yako ya API ni 'nambari yako ya API iko hapa' (bila nukuu). Hii itatoa maombi 100 / siku bure - milele.

Ikiwa ungependa kufuatilia vifaa 5 bila malipo, tafadhali jibu na maelezo yafuatayo na tutaboresha akaunti yako ndani ya masaa 12:

1. Aina ya kupelekwa (Vifaa vya ujenzi / Programu / Nyingine):

2. Kuhusu mradi wako:

3. Tovuti:

Unaweza kuingia kwenye dashibodi yako hapa: https://unwiredlabs.com/dashboard. Ikiwa unapata shida au una maswali, jibu barua pepe hii na nitakusaidia!

Kupata Upya!

Sagar

Maabara yasiyo na waya

Hatua ya 5: Maktaba Utahitaji

Maktaba Utahitaji
Maktaba Utahitaji

Hatua inayofuata ni kufungua Arduino na kwenda kusimamia maktaba. Unahitaji kusanikisha maktaba ya ArduinoJson. Maktaba zingine tayari zimejengwa. Ukiwa tayari, unaweza kuanza kuandika nambari.

Hatua ya 6: Ongeza Nambari katika Arduino ili Unganisha na MahaliAPI

Tengeneza mchoro mpya na ongeza nambari ifuatayo katika Arduino. Andika jina lako la wifi / hotspot na nywila yako. Bandika ishara ya API uliyopokea kwenye barua pepe. Pakia nambari yako kwa NodeMCU yako.

# pamoja

# pamoja

# pamoja na "ESP8266WiFi.h"

// SSID ya mtandao wako (jina) & nywila ya mtandao

char myssid = "Jina lako la wifi / hotspot"; char mypass = "Nenosiri lako";

// jina la mwenyeji lisilo na waya na url ya Mwisho wa Maeneo

const char * Jeshi = "www.unwiredlabs.com"; Kamba ya mwisho = "/v2/process.php";

// API ya UnwiredLabs API_Token. Jisajili hapa kupata ishara ya bure

Ishara ya kamba = "d99cccda52ec0b";

Kamba jsonString = "{ n";

// Vigezo vya kuhifadhi majibu yasiyotumiwa

latitudo mbili = 0.0; longitudo mbili = 0.0; usahihi mara mbili = 0.0;

usanidi batili () {

Serial. Kuanza (115200);

// Weka WiFi kwa hali ya kituo na utenganishe kutoka kwa AP ikiwa hapo awali ilikuwa imeunganishwa

Njia ya WiFi (WIFI_STA); Kuondoa WiFi (); Serial.println ("Usanidi umefanywa");

// Tunaanza kwa kuungana na mtandao wa WiFi

Serial.print ("Kuunganisha kwa"); Serial.println (myssid); Anza WiFi (myssid, mypass);

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

kuchelewesha (500); Printa ya serial ("."); } Serial.println ("."); }

kitanzi batili () {

char bssid [6]; DynamicJsonBuffer jsonBuffer;

// WiFi.scanNetworks itarudisha idadi ya mitandao iliyopatikana

int n = WiFi.scanNetworks (); Serial.println ("skanisho imefanywa");

ikiwa (n == 0) {

Serial.println ("Hakuna mitandao inapatikana"); } mwingine {Serial.print (n); Serial.println ("mitandao imepatikana"); }

// sasa jenga jsonString…

jsonString = "{ n"; jsonString + = "\" ishara / ": \" "; jsonString + = ishara; jsonString + =" / ", / n"; jsonString + = "\" id / ": \" saikirandevice01 / ", / n"; jsonString + = "\" wifi / ": [ n"; kwa (int j = 0; j <n; ++ j) {jsonString + = "{ n"; jsonString + = "\" bssid / ": \" "; jsonString + = (WiFi. BSSIDstr (j)); jsonString + =" / ", / n"; jsonString + = "\" ishara / ":"; jsonString + = WiFi. RSSI (j); jsonString + = "\ n"; ikiwa (j <n - 1) {jsonString + = "}, / n"; } mwingine {jsonString + = "} n"; }} jsonString + = ("] n"); jsonString + = ("} n"); Serial.println (jsonString);

Mteja wa WiFiClientSecure;

// Unganisha kwa mteja na piga simu ya api

Serial.println ("URL ya Kuomba: https://" + (String) Host + endpoint); ikiwa (mteja.connect (Jeshi, 443)) {Serial.println ("Imeunganishwa"); mteja.println ("POST" + mwisho wa mwisho + "HTTP / 1.1"); mteja.println ("Jeshi:" + (Kamba) Jeshi); mteja.println ("Uunganisho: funga"); mteja.println ("Aina ya Maudhui: programu / json"); mteja.println ("Wakala wa Mtumiaji: Arduino / 1.0"); alama ya mteja ("Urefu wa Yaliyomo:"); mteja.println (jsonString.length ()); mteja.println (); alama ya mteja (jsonString); kuchelewesha (500); }

// Soma na uchanganue mistari yote ya jibu kutoka kwa seva

wakati (mteja anapatikana ()) {String line = client.readStringUntil ('\ r'); JsonObject & mzizi = jsonBuffer.parseObject (mstari); ikiwa (root.success ()) {latitude = mzizi ["lat"]; longitudo = mzizi ["lon"]; usahihi = mzizi ["usahihi"];

Serial.println ();

Serial.print ("Latitudo ="); Serial.println (latitudo, 6); Serial.print ("Longitude ="); Serial.println (longitudo, 6); Serial.print ("Usahihi ="); Serial.println (usahihi); }}

Serial.println ("kufunga unganisho");

Serial.println (); mteja.acha ();

kuchelewesha (5000);

}

Hatua ya 7: Fungua Monitor Monitor ili uone ikiwa umeunganishwa

Nenda kwa zana huko Arduino na ufungue mfuatiliaji wa serial. Ili kuona ikiwa umeunganishwa kwenye mtandao, unapaswa kuona zifuatazo kwenye mfuatiliaji wa serial:

Usanidi umekamilika

Kuunganisha kwa (jina lako la wifi)… skanisho imekamilika

Hatua ya 8: Pata Kuratibu

Ikiwa ilifanya kazi kwa ufanisi, unapaswa kuona chini ya skanisho kufanywa orodha nzima ya data. Kitu pekee tunachohitaji ni nambari iliyo chini ya URL inayoomba, kwa hivyo tutahitaji latitudo na longitudo. Hizi ni kuratibu.

Kuomba URL:

Imeunganishwa

Latitudo = 52.385259

Longitude = 5.196099

Usahihi = 41.00

kufunga muunganisho

Baada ya sekunde 5 nambari hiyo itasasishwa kila wakati na labda utaona latitudo, longitudo na mabadiliko ya usahihi. Hiyo ni kwa sababu API inajaribu ni bora kufuatilia eneo kwa usahihi iwezekanavyo.

Hatua ya 9: Nenda kwenye Ramani za Google

Nenda kwenye Ramani za Google
Nenda kwenye Ramani za Google

Nenda kwa https://www.google.com/maps/ na andika kuratibu zako katika upau wa utaftaji. Kuratibu zinahitaji kuandikwa kwa njia ifuatayo: 52.385259, 5.196099. Ramani za Google zinapaswa kuonyesha mahali ulipo kwenye ramani.

Hatua ya 10: Tuma Mahali kwa Simu yako

Tuma Mahali kwa Simu yako
Tuma Mahali kwa Simu yako

Na … Umemaliza! Kwa hivyo, ikiwa unataka kutuma eneo kwenye rununu yako, inawezekana. Ramani za Google zitatuma barua pepe na kuratibu zako ikiwa unataka.

Kupata furaha!

Ilipendekeza: