Mundarija:

HTTP orqali XinaBox va Ubidots yordamida ob -havo stantsiyasini qanday qurish mumkin: 7 qadam
HTTP orqali XinaBox va Ubidots yordamida ob -havo stantsiyasini qanday qurish mumkin: 7 qadam

Video: HTTP orqali XinaBox va Ubidots yordamida ob -havo stantsiyasini qanday qurish mumkin: 7 qadam

Video: HTTP orqali XinaBox va Ubidots yordamida ob -havo stantsiyasini qanday qurish mumkin: 7 qadam
Video: ESP32 Tutorial 32 - Car Reverse Range Waring with LCD and buzzer | SunFounder's IoT Learnig kit 2024, Iyul
Anonim
HTTP orqali XinaBox va Ubidots yordamida ob -havo stantsiyasini qanday qurish mumkin
HTTP orqali XinaBox va Ubidots yordamida ob -havo stantsiyasini qanday qurish mumkin

XinaBox xChips (IP01, CW01 va SW01) yordamida Ubidots -da o'z ob -havo stantsiyasini qanday qurishni bilib oling.

Rasm
Rasm

ESP8266 Core va Wi-Fi moduli (xChip CW01) foydalanuvchilarga XinaBox modulli xChips-dan ma'lumotlarni bulutga yuborish imkonini beradi. Bu ma'lumotni Ubidots -da masofadan turib kuzatish mumkin, bu erda foydalanuvchilar IoT vositalaridan foydalanishlari mumkin.

XChip SW01 ilg'or ob -havo sensori (Bosch BME280) harorat, namlik va atmosfera bosimini o'lchaydi, undan balandlik, bulut bazasi va shudring nuqtasini ham hisoblash mumkin.

Ushbu qo'llanmada biz HTTP protokoli yordamida sensor ma'lumotlarini Ubidotlarga yuboramiz. Buni MQTT protokoli yordamida ham amalga oshirish mumkin.

Ushbu qo'llanmaning oxirida siz XinaBox qurilmangizdagi ob -havo sharoitlarini Ubidots yordamida masofadan turib istalgan joydan kuzatib borishingiz va o'lchashingiz mumkin bo'ladi.

1 -qadam: talablar

  • 1x CW01 - WiFi yadrosi (ESP8266/ESP -12F)
  • 1x IP01 - USB dasturlash interfeysi (FT232R)
  • 1x SW01 - Kengaytirilgan ob -havo sensori (BME280)
  • 1x XC10 - 10 to'plamli xBUS ulagichlari
  • Arduino IDE
  • Ubidots hisob

2 -qadam: Uskuna sozlamalari

XC10 xBUS ulagichlari yordamida CW01, SW01 va IP01 ni ulang. Siz uni quyidagi diagrammada ko'rsatilgan tarzda ulashingiz mumkin. Iltimos, xChips -ni qanday yig'ish bo'yicha qo'llanmani ko'ring.

Rasm
Rasm

Keyin, qurilma va kompyuterni IP01 USB orqali ulang. Buning uchun xFlasher dasturidan foydalanib, kod tayyor bo'lgandan keyin yonib ketadi. XFlasher -dan foydalanish bo'yicha qo'llanmani ko'ring.

3 -qadam: Arduino IDE -ni sozlash

1. Arduino IDE 1.8.8 ni o'rnating

2. Bu kutubxonalarni Arduino -ga o'rnating: ESP8266 Arduino, Ubidots ESP8266, xCore, xSW01.

QAYD: Agar siz kutubxonalarni qanday o'rnatishni bilmasangiz, havolani ko'ring: Arduino kutubxonalarini o'rnatish

3. ESP8266 platformasi o'rnatilgan holda, siz ishlayotgan ESP8266 qurilmasini tanlang. Bunday holda, biz "CW01 (ESP12F moduli)" bilan ishlaymiz. Arduino IDE -dan taxtangizni tanlash uchun "NodeMCU 1.0 (ESP12E moduli)" ni tanlang.

ESLATMA: ESP12F va ESP12E bu maqsadda almashtiriladi.

4 -qadam: Kodni tushunish

Kutubxonalar, shu jumladan:

#"UbidotsMicroESP8266.h" ni qo'shing

#qo'shing #qo'shing

Wi-Fi va Ubidots hisob ma'lumotlarini kiriting:

#define TOKEN "Your-Token" // Ubidots TOKEN-ni bu erga qo'ying

#Define WIFISSID "Your-SSID" // Bu yerga Wi-Fi SSID-ni qo'ying "parol-of-ssid" parolini aniqlang // Wi-Fi parolingizni bu erga qo'ying.

Sizning noyob Ubidots TOKEN sizning Ubidots hisobingizdan olinadi. Ubidots TOKEN -ni qaerdan topishni bilish uchun quyidagi havolaga qarang.

Bir martalik sozlash, o'z-o'zini tushuntirish uchun sharhlarga qarang:

bo'sh o'rnatish () {

// Serial.begin (115200) ketma -ket monitor yordamida 115200 da nosozliklarni tuzatish; // Access Point mijoziga ulaning.wifiConnection (WIFISSID, PASSWORD); // I2C aloqasi boshlanadi Wire.begin (); // SW01 sensorini ishga tushiring SW01.begin (); // Biroz kechikish, 2-3 soniya kechikish (DELAY_TIME); }

Operatsiyani davom ettiring va uni doimiy ravishda yangilab turing:

void loop () {

// SW01 float tempC, namlik, bosim, altdan o'qilgan ma'lumotlarni saqlash uchun o'zgaruvchini yarating; // qurilma o'zgaruvchilarini yaratish tempC = 0; namlik = 0; bosim = 0; alt=0; // SW01.poll () ma'lumotlarini yig'ish uchun so'rov sensori; // Ma'lumotlarni qurilma o'zgaruvchilariga saqlash tempC = SW01.getTempC (); // Selsiydagi harorat Serial.println ("Harorat:"); Serial.print (tempC); Serial.println (" *C"); Serial.println (); namlik = SW01.getHumidity (); Serial.println ("Namlik:"); Ketma -ket bosma (namlik); Serial.println (" %"); Serial.println (); bosim = SW01.getPressure (); Serial.println ("Bosim:"); Ketma -ket chop etish (bosim); Serial.println ("Pa"); Serial.println (); alt=SW01.getAltitude (101325); Serial.println ("Balandlik:"); Serial.print (alt); Serial.println ("m"); Serial.println (); // ubidots o'zgaruvchilarini yaratish client.add ("Harorat (*C)", tempC); kechikish (500); client.add ("Namlik (%)", namlik); kechikish (500); client.add ("Bosim (Pa)", bosim); kechikish (500); client.add ("Balandlik (m)", balandlik); // barcha nuqtalarni yuborish client.sendAll (rost); // kechiktirishni barqarorlashtirish uchun sensorlar o'qishlari orasidagi kechikish (DELAY_TIME); }

To'liq kod:

#"UbidotsMicroESP8266.h" ni qo'shing

#include #include #define TOKEN "Your-Token" // Ubidots TOKEN-ni joylashtiring #"Your-SSID" WIFISSID-ni belgilang // Wi-Fi SSID-ni qo'ying "parol-of-ssid" parolini aniqlang // Bu yerga qo'ying. sizning Wi-Fi parolingiz Ubidots mijozi (TOKEN); const int DELAY_TIME = 2000; xSW01 SW01; // SW01 sensori bo'shligini sozlash ob'ektini yaratish () {Serial.begin (115200); client.wifiConnection (WIFISSID, PASSWORD); Wire.begin (); // SW01 sensorini ishga tushiring SW01.begin (); kechikish (DELAY_TIME); } void loop () {// SW01 float tempC, namlik, bosim, altdan o'qilgan ma'lumotlarni saqlash uchun o'zgaruvchini yarating; tempC = 0; namlik = 0; bosim = 0; alt=0; // SW01.poll () ma'lumotlarini yig'ish uchun so'rov sensori; // Ma'lumotlarni xotira o'zgaruvchilariga saqlash tempC = SW01.getTempC (); // Selsiydagi harorat Serial.println ("Harorat:"); Serial.print (tempC); Serial.println (" *C"); Serial.println (); namlik = SW01.getHumidity (); Serial.println ("Namlik:"); Ketma -ket bosma (namlik); Serial.println (" %"); Serial.println (); bosim = SW01.getPressure (); Serial.println ("Bosim:"); Ketma -ket chop etish (bosim); Serial.println ("Pa"); Serial.println (); alt=SW01.getAltitude (101325); Serial.println ("Balandlik:"); Serial.print (alt); Serial.println ("m"); Serial.println (); // ubidots o'zgaruvchilarini yaratish client.add ("Harorat (*C)", tempC); kechikish (500); client.add ("Namlik (%)", namlik); kechikish (500); client.add ("Bosim (Pa)", bosim); kechikish (500); client.add ("Balandlik (m)", balandlik); // barcha nuqtalarni yuborish client.sendAll (rost); // kechiktirishni barqarorlashtirish uchun sensorlar o'qishlari orasidagi kechikish (DELAY_TIME); }

5 -qadam: Ubidotlarga kiring

1. Ubidots hisobingizni oching. Siz 4 o'zgaruvchiga ega "ESP8266" nomli qurilmani ko'rasiz (quyidagi rasmga qarang).

Qurilmani vizualizatsiya qilish

Rasm
Rasm

O'zgaruvchilarni vizualizatsiya qilish

Rasm
Rasm

Agar siz qurilmaning nomini o'zgartirmoqchi bo'lsangiz, koddan foydalaning:

client.setDataSourceName ("New_name");

6 -qadam: Ubidotlarda boshqaruv panelini yaratish

Boshqaruv paneli (statik va dinamik) - bu qurilma ma'lumotlarini va ma'lumotlardan olingan ma'lumotni tartibga solish va taqdim etish uchun foydalanuvchi interfeysi. Boshqarish panelida ma'lumotlarni jadvallar, ko'rsatkichlar, boshqaruv elementlari, jadvallar, grafiklar va boshqa o'lchamlar, shakllar va shakllar sifatida ko'rsatadigan vidjetlar mavjud.

Ubidots hisob qaydnomangizda yangi boshqaruv panelini yaratish uchun buni qanday qilishni o'rganish uchun quyidagi Ubidots qo'llanmasiga qarang.

Ma'lumot sifatida, Ubidots boshqaruv paneli yaratilgandan so'ng sizda quyidagi rasmga o'xshash narsa bo'lishi kerak:

Rasm
Rasm

PRO MASLAHAT: Bundan tashqari, grafik va hisobot berish vositalari ham mavjud. Agar siz bu haqda ko'proq bilmoqchi bo'lsangiz, ushbu qo'llanmani ko'rib chiqishingizni tavsiya qilamiz.

Rasm
Rasm

7 -qadam: Xulosa

Ushbu qo'llanmada biz XinaBox ob -havo stantsiyasini Ubidotlarga qanday kodlash va ulashni ko'rsatdik. Bu masofadan turib kuzatish imkonini beradi va uni 10-15 daqiqada bajarish mumkin.

Boshqa o'quvchilar ham foydali deb topdilar …

  • UbiFunctions: AmbientWeather platformasidagi ma'lumotlarni Ubidotlarga birlashtirish
  • Tahlil: sintetik o'zgaruvchilar asoslari
  • Ubidots MQTT va NodeMcu yordamida haroratni nazorat qilish

Tavsiya: