Mundarija:

Covid19 Stat IoT displeyi: 5 qadam
Covid19 Stat IoT displeyi: 5 qadam

Video: Covid19 Stat IoT displeyi: 5 qadam

Video: Covid19 Stat IoT displeyi: 5 qadam
Video: The Story of Coronavirus (full version), English 2024, Iyul
Anonim
Image
Image
Kerakli narsalar
Kerakli narsalar

Hozirgi kunda dunyo koronavirus pandemiyasida va boshqa ko'plab mamlakatlar singari Hindistonda ham qulab tushdi, shuning uchun men mamlakatning koronavirus statistikasini real vaqtda yangilab turadigan IoT displeyini yaratish g'oyasini oldim. Men Hindiston ma'lumotlarini taqdim etadigan API -dan foydalanaman, lekin siz kodni biroz o'zgartirgan holda har qanday API -dan foydalanishingiz mumkin.

1 -qadam: kerakli narsalar

Kerakli narsalar
Kerakli narsalar
Kerakli narsalar
Kerakli narsalar

IoT displeyini yaratish uchun sizga kerak bo'lgan narsalar:

  • NodeMCU (ESP8266)
  • 16x2 LCD modul (I2C)
  • Non paneli (ixtiyoriy)
  • Ba'zi simlar/ jumperlar
  • USB kabeli

2 -qadam: ulanishlar

Ulanishlar
Ulanishlar
Ulanishlar
Ulanishlar
Ulanishlar
Ulanishlar

Ulanishlar juda oson. Ulanish uchun faqat 4 ta sim bor. Siz esp8266 -ni joylashtirish uchun non panelidan foydalanishingiz mumkin, so'ngra LCD -modulga ulanishingiz mumkin yoki ulanish uchun to'g'ridan -to'g'ri ayol -ayol o'tish simlarini ishlatishingiz mumkin.

Ulanishlar (ESP-> LCD):

  1. VIN -> VCC (5V uchun)
  2. GND -> GND
  3. D2 -> SDA
  4. D1 -> SCL

Endi esp8266 -ni USB kabeli bilan kompyuterga ulang, endi biz faqat kodni yuklashimiz kerak.

3 -qadam: kodlash

Kodlash
Kodlash

Ko'pchiligingizning savollaringiz bo'ladi, bu qanday ishlaydi?

Shunday qilib, u avval Wi -Fi tarmog'iga ulanadi va keyin JSON ma'lumotlarini yig'ish uchun API -ga ulanadi, keyin JSON ma'lumotlarini dekodlaydi va bu qiymatlarni o'zgaruvchiga saqlaydi, keyin LCD qiymatlarni ko'rsatadi va bu tsiklda davom etadi.

Men ishlatgan API https://coronago.xyz/api/data.json bo'lib, u o'z ma'lumotlarini https://www.covid19india.org/ saytidan oladi, u faqat Hindiston uchun ma'lumot beradi, lekin boshqa mamlakatlar uchun API ko'p., siz har qanday API -dan foydalanishingiz mumkin, lekin unga HTTP orqali kirish mumkinligiga ishonch hosil qiling.

Birinchidan, Arduino IDE uchun ESP8266 karta qo'llab -quvvatlashini o'rnatishingiz kerak. Ushbu qo'llanmani kuzatib boring.

Ikkinchi narsa - barcha kerakli kutubxonalarni o'rnatish, ularni Arduino kutubxona menejeridan osongina o'rnatish mumkin.

Keyin kodni oching va Wi -Fi ma'lumotlarini o'zgartiring va kodni yuklang.

kod bu erda mening GitHub omborimda-https://github.com/Soumojit28/covid19-iot-display.

4 -qadam: Kodni tushuntirish va boshqa API -dan foydalanish

Kodni tushuntirish va boshqa API -dan foydalanish
Kodni tushuntirish va boshqa API -dan foydalanish

Kod juda oddiy

Bo'sh o'rnatish qismida u LCD modulini ishga tushiradi va qaragan xabarni ko'rsatadi, keyin wifi tarmog'iga ulanadi.

Loop qismida u APIdan JSON ma'lumotlarini oladi va uni o'zgarmaydigan holda saqlaydigan reklama kodini ochadi, so'ngra ketma -ket monitor va LCD displeyda ko'rsatiladi.

boshqa API -dan foydalanish uchun siz ushbu kod satridagi manzilni o'zgartirishingiz kerak

http.begin ("https://coronago.xyz/api/data.json"); // API

API HTTP ulanishi bilan ishlashi kerak bo'lgan yana bir narsa, HTTPS ulanishi bu kodda ishlamaydi va siz -1 xato olasiz.

API JSON ma'lumotlarini shunga o'xshash tarzda qaytaradi

Endi bu keyingi kod JSON kodini ochadi va qiymatlarni o'zgaruvchiga saqlaydi, bu butunlay API va JSON qaytaradigan ma'lumotlarga bog'liq. Ammo o'zgartirish oson, qo'shimcha ma'lumot olish uchun siz ushbu qo'llanmani tekshirishingiz mumkin.

StaticJsonBuffer JSONBuffer; // Xotira havzasi JsonObject & parsed = JSONBuffer.parseObject (yuk); // Xabarni tasdiqlash tasdiqlandi = tahlil qilindi ["tasdiqlandi"]; tiklandi = tahlil qilindi ["tiklandi"]; o'lim = tahlil qilingan ["o'lim"]; joriy_aktiv = tahlil qilingan ["faol"];

Shundan so'ng, kod o'zgaruvchilarni ketma -ket monitor va LCD displeyda ko'rsatadi.

Serial.print ("tasdiqlangan:"); Serial.println (tasdiqlangan); Serial.print ("tiklandi:"); Serial.println (tiklandi); Serial.print ("currenty_active:"); Serial.println (joriy_aktiv); Serial.print ("o'lim:"); Serial.println (o'lim); if (httpCode == 200) {// ma'lumotlarni lcd lcd.clear () da ko'rsatish; lcd.setCursor (0, 0); lcd.print ("Tasdiqlangan:"); lcd.print (tasdiqlangan); lcd.setCursor (0, 1); lcd.print ("O'limlar:"); lcd.print (o'lim); kechikish (2500); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Faol:"); lcd.print (joriy_aktiv); lcd.setCursor (0, 1); lcd.print ("Qayta tiklandi:"); lcd.print (tiklandi); kechikish (2500);

}

5 -qadam: Xulosa

Bu statistikani har doim kuzatib borish uchun ajoyib loyiha va siz uni blokirovka qilingan vaziyatda vaqt o'tkazish uchun qura olasizmi?

Agar sizga yordam kerak bo'lsa, siz meni sharhlar orqali so'rashingiz yoki Github -da muammoni ochishingiz mumkin

github.com/Soumojit28/covid19-iot-display kod bilan bog'liq har qanday muammolar uchun.

Rahmat.

Tavsiya: