Мазмуну:

NodeMCU ESP8266 менен жайгашкан жерди көзөмөлдөөчү: 10 кадам
NodeMCU ESP8266 менен жайгашкан жерди көзөмөлдөөчү: 10 кадам

Video: NodeMCU ESP8266 менен жайгашкан жерди көзөмөлдөөчү: 10 кадам

Video: NodeMCU ESP8266 менен жайгашкан жерди көзөмөлдөөчү: 10 кадам
Video: Введение в плату разработки NodeMCU ESP8266 WiFi с примером HTTP-клиента 2024, Июль
Anonim
NodeMCU ESP8266 менен жайгашкан жерди көзөмөлдөөчү
NodeMCU ESP8266 менен жайгашкан жерди көзөмөлдөөчү

Сиздин NodeMCU сиздин жайгашкан жериңизди кантип көзөмөлдөй аларын билгиңиз келеби? Бул GPS модулсуз жана дисплейсиз деле мүмкүн. Чыгуу сиз жайгашкан координаттар болот жана сиз аларды сериялык монитордо көрөсүз.

Төмөнкү орнотуу Arduino IDE менен NodeMCU 1.0 (ESP-12E Module) үчүн колдонулган.

  • Windows 10
  • Arduino IDE v. 1.8.4

1 -кадам: Сизге эмне керек

Бул үйрөткүчтү аткаруу үчүн сизге төмөнкү компоненттер керек:

  • Микро USB кабели
  • NodeMCU ESP8266

Мындан тышкары, сизге керек болот:

  • Жайгашкан жери API (Зымсыз лабораториялардан)
  • WiFi же туташуу чекитине кирүү

2 -кадам: Зымсыз лабораторияларга өтүңүз

Зымсыз лабораторияларга өтүңүз
Зымсыз лабораторияларга өтүңүз

Геолокация абдан ыңгайлуу келет, анткени GPS өчүп турганда, сиз дагы эле жайгашкан жериңизди көзөмөлдөө үчүн Геолокацияны колдоно аласыз. Геолокацияны камсыз кылган биздин хост https://www.unwiredlabs.com/ болот. Ошол вебсайтка кирип, катталыңыз (жогорку оң бурчтагы кызгылт сары баскыч).

3 -кадам: API Токенин алуу үчүн катталыңыз

API Токенин алуу үчүн катталыңыз
API Токенин алуу үчүн катталыңыз

Катталуу барагында сиз аты -жөнүңүздү, электрондук почтаңызды (сиздин API токени электрондук почтаңызга жөнөтүлөт) жана колдонуу мисалын (мисалы, жеке колдонуу) толтурушуңуз керек. Аккаунтуңуздун түрүн тандаңыз. Акысыз версия абдан жакшы болот, бирок чектелгениңизди жана жайгашкан жериңизди 24/7 көзөмөлдөй албасыңызды унутпаңыз. Кел, баштайлы!

4 -кадам: Электрондук почтаңызды текшериңиз

Электрондук почтаңызга өтүңүз жана API токениңизди көрөсүз. API энбелгисин көчүрүңүз, анткени сизге биз колдоно турган код үчүн керек. Электрондук почта ушундай көрүнөт:

Салам!

Unwired Labs LocationAPI менен катталганыңыз үчүн рахмат! Сиздин API токениңиз "сиздин API кодуңуз бул жерде" (тырмакчасыз). Бул 100 сурамдарды/ күндү бекер берет - түбөлүккө.

Эгерде сиз 5 түзмөктү бекер байкап көргүңүз келсе, төмөнкү маалымат менен жооп бериңиз, биз сиздин эсебиңизди 12 сааттын ичинде жаңыртабыз:

1. Жайгаштыруу түрү (Аппараттык/ Колдонмо/ Башка):

2. Сиздин долбоор жөнүндө:

3. Вебсайт:

Сиз бул жерге жеке тактаңызга кире аласыз: https://unwiredlabs.com/dashboard. Эгерде сизде кыйынчылыктар пайда болсо же суроолор болсо, бул электрондук катка жооп бериңиз, мен сизге жардам берем!

Бактылуу жайгашуу!

Sagar

Зымсыз лабораториялар

5 -кадам: Сизге керек болгон китепканалар

Сизге керек болгон китепканалар
Сизге керек болгон китепканалар

Кийинки кадам - Arduino ачуу жана китепканаларды башкарууга баруу. Сиз ArduinoJson китепканасын орнотушуңуз керек. Башка китепканалар мурунтан эле курулган. Даяр болгондо кодду жаза баштасаңыз болот.

6 -кадам: LocationAPI менен туташуу үчүн Arduinoдогу кодду кошуңуз

Жаңы эскиз жасаңыз жана Arduinoго төмөнкү кодду кошуңуз. Өз wifi/hotspot атыңызды жана сырсөзүңүздү жазыңыз. Электрондук катка алган API токенин чаптаңыз. Кодуңузду NodeMCUго жүктөңүз.

#кошуу

#кошуу

#"ESP8266WiFi.h" кошуу

// сиздин тармак SSID (аты) жана тармактын сырсөзү

char myssid = "Сиздин wifi/hotspot атыңыз"; char mypass = "Сиздин сырсөзүңүз";

// керексиз платформалар Hostname & Geolocation Endpoint url

const char* Host = "www.unwiredlabs.com"; Саптын акыркы чекити = "/v2/process.php";

// UnwiredLabs API_Token. Акысыз токен алуу үчүн бул жерге катталыңыз

String токен = "d99cccda52ec0b";

String jsonString = "{ n";

// Түзүлбөгөн жоопту сактоо үчүн өзгөрмөлөр

кош кеңдик = 0.0; кош бойлуулук = 0.0; кош тактык = 0.0;

жараксыз орнотуу () {

Serial.begin (115200);

// WiFi'ди станция режимине коюңуз жана мурда туташкан болсо, АРдан ажыратыңыз

WiFi.mode (WIFI_STA); WiFi.disconnect (); Serial.println ("Орнотуу бүттү");

// Биз WiFi тармагына туташуудан баштайбыз

Serial.print ("Туташууда"); Serial.println (myssid); WiFi.begin (myssid, mypass);

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

кечигүү (500); Serial.print ("."); } Serial.println ("."); }

void loop () {

char bssid [6]; DynamicJsonBuffer jsonBuffer;

// WiFi.scanNetworks табылган тармактардын санын кайтарып берет

int n = WiFi.scanNetworks (); Serial.println ("скандоо бүттү");

эгер (n == 0) {

Serial.println ("Тармактар жок"); } else {Serial.print (n); Serial.println ("тармактар табылды"); }

// азыр jsonStringди куруңуз …

jsonString = "{ n"; jsonString += "\" энбелгиси / ": \" "; jsonString += белгиси; 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 += "\" сигнал / ":"; jsonString += WiFi. RSSI (j); jsonString += "\ n"; if (j <n - 1) {jsonString += "}, / n"; } башка {jsonString += "} n"; }} jsonString += ("] n"); jsonString += ("} n"); Serial.println (jsonString);

WiFiClientSecure кардары;

// Кардарга туташыңыз жана api чалуу жасаңыз

Serial.println ("URL суралууда: https://" + (String) Host + endpoint); if (client.connect (Host, 443)) {Serial.println ("Туташкан"); client.println ("POST" + акыркы чекит + "HTTP/1.1"); client.println ("Host:" + (String) Host); client.println ("Байланыш: жабуу"); client.println ("Content-Type: application/json"); client.println ("Колдонуучу-Агент: Arduino/1.0"); client.print ("Content-Length:"); client.println (jsonString.length ()); client.println (); client.print (jsonString); кечигүү (500); }

// Серверден келген жооптун бардык саптарын окуп, талдаңыз

while (client.available ()) {String line = client.readStringUntil ('\ r'); JsonObject & root = jsonBuffer.parseObject (сап); if (root.success ()) {latitude = root ["lat"]; узундук = тамыр ["lon"]; тактык = тамыр ["тактык"];

Serial.println ();

Serial.print ("Latitude ="); Serial.println (кеңдик, 6); Serial.print ("Узундук ="); Serial.println (узундук, 6); Serial.print ("Тактык ="); Serial.println (тактык); }}

Serial.println ("жабуучу байланыш");

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

кечигүү (5000);

}

7 -кадам: Сериалдык мониторду ачыңыз, эгер сиз туташып турсаңыз

Arduinoдогу куралдарга барып, сериялык мониторду ачыңыз. Интернетке туташканыңызды билиш үчүн сериялык монитордо төмөнкүлөрдү көрүшүңүз керек:

Орнотуу бүттү

(Wi -Fi атыңызга) туташууда… сканерленди

8 -кадам: Координаттарды алыңыз

Эгер ал ийгиликтүү иштесе, анда сканерленген маалыматтардын толук тизмесин көрүшүңүз керек. Бизге керек болгон нерсе - бул URL сураган URL астындагы код, андыктан бизге кеңдик жана узундук керек болот. Бул координаттар.

URL сурап жатат:

Туташты

Latitude = 52.385259

Узундук = 5.196099

Тактык = 41.00

байланышты жабуу

5 секунддан кийин код дайыма жаңыртылып турат жана сиз кеңдиктин, узундуктун жана тактыктын өзгөрүшүн көрөсүз. Себеби API мүмкүн болушунча так жайгашкан жерин көзөмөлдөөгө аракет кылат.

9 -кадам: Google Карталарга өтүңүз

Google Карталарга өтүңүз
Google Карталарга өтүңүз

Https://www.google.com/maps/ дарегине өтүп, издөө тилкесине координаттарыңызды териңиз. Координаттар төмөнкүчө жазылышы керек: 52.385259, 5.196099. Google Карталар картада кайда экениңизди көрсөтүшү керек.

10 -кадам: Мобилдик телефонуңузга жайгашкан жерди жөнөтүңүз

Жайгашкан жерди мобилдик телефонуңузга жөнөтүңүз
Жайгашкан жерди мобилдик телефонуңузга жөнөтүңүз

Жана… Бүттүңүз! Ошондуктан, эгер сиз жайгашкан жериңизди мобилдик телефонуңузга жөнөткүңүз келсе, бул мүмкүн. Кааласаңыз, Google Карталар координаттарыңыз менен электрондук кат жөнөтөт.

Бактылуу жайгашуу!

Сунушталууда: