Talaan ng mga Nilalaman:

Covid19 Stat IoT Display: 5 Hakbang
Covid19 Stat IoT Display: 5 Hakbang

Video: Covid19 Stat IoT Display: 5 Hakbang

Video: Covid19 Stat IoT Display: 5 Hakbang
Video: IoT Happy Hour #5: Fold for Covid 2024, Nobyembre
Anonim
Image
Image
Mga bagay na Kailangan
Mga bagay na Kailangan

Ang mundo na kasalukuyang nasa pandemiyang coronavirus at tulad ng maraming iba pang mga bansa ang lockdown nito sa India din, kaya nakuha ko ang ideyang ito upang lumikha ng isang IoT display na magbibigay ng isang realtime na pag-update ng Corona Statistic ng bansa. Gumagamit ako ng isang API na nagbibigay ng data ng India, Ngunit maaari mong gamitin ang anumang API na may kaunting pagbabago sa code.

Hakbang 1: Mga Bagay na Kailangan

Mga bagay na Kailangan
Mga bagay na Kailangan
Mga bagay na Kailangan
Mga bagay na Kailangan

Narito ang mga bagay na kakailanganin mong ipakita ang IoT:

  • NodeMCU (ESP8266)
  • 16x2 LCD module (I2C)
  • Breadboard (opsyonal)
  • Ang ilang mga Wires / Jumpers
  • kable ng USB

Hakbang 2: Mga Koneksyon

Mga koneksyon
Mga koneksyon
Mga koneksyon
Mga koneksyon
Mga koneksyon
Mga koneksyon

Ang mga koneksyon ay medyo madali. Mayroon lamang 4 na kawad upang kumonekta. Maaari kang gumamit ng isang breadboard upang ilagay ang esp8266 dito at pagkatapos ay kumonekta sa module ng LCD o maaari mo lamang gamitin ang direktang babae sa mga babaeng jumper wires upang kumonekta.

Ang mga koneksyon ay (ESP-> LCD):

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

Ngayon ikonekta lamang ang esp8266 sa USB cable sa PC, ngayon kailangan lang namin i-upload ang code.

Hakbang 3: Pag-coding

Coding
Coding

Ngayon, ito ang pinakamahalagang bahagi. Marami sa iyo ang may mga katanungan sa isip na paano ito gumagana?

Kaya, Una itong kumokonekta sa wifi at pagkatapos ay kumokonekta sa isang API upang mangolekta ng data ng JSON, pagkatapos ay ini-decode nito ang data ng JSON at iniimbak ang mga halagang iyon sa isang variable, pagkatapos ay ipinapakita ng LCD ang mga halaga at nagpatuloy ito sa isang loop.

Ang ginamit kong API ay https://coronago.xyz/api/data.json, na nakukuha ang data nito mula sa https://www.covid19india.org/, Nagbibigay lamang ito ng data para sa India, Ngunit maraming API para sa ibang mga bansa, maaari kang gumamit ng anumang API, ngunit tiyaking maaari itong ma-access ng

Una, kailangan mong i-install ang suporta ng board ng ESP8266 para sa Arduino IDE. Sundin ang tutorial na ito.

Ang pangalawang bagay na dapat gawin ay ang pag-install ng lahat ng kinakailangang Mga Aklatan, madali mong mai-install ang mga ito mula sa Arduino Library Manager.

Pagkatapos buksan ang code at baguhin ang mga kredensyal ng wifi at i-upload ang code.

ang code ay narito sa aking GitHub repository -

Hakbang 4: Pagpapaliwanag sa Code at Paggamit ng Ibang API

Paliwanag sa Code at Paggamit ng Ibang API
Paliwanag sa Code at Paggamit ng Ibang API

Ang code ay medyo simple

Sa walang bisa na pag-set ng bahagi, pinasimulan nito ang module ng LCD at ipinapakita ang nakapako na mensahe pagkatapos ay kumokonekta ito sa wifi network.

Sa bahagi ng loop, kinukuha nito ang data ng JSON mula sa API at na-decode ang ad na ito sa isang variable pagkatapos ay ipinapakita ang mga nasa serial monitor at LCD.

para sa paggamit ng isa pang API kailangan mong baguhin ang address sa linyang ito ng code

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

Isa pang bagay na dapat gumana ang API sa isang koneksyon sa HTTP, ang HTTPS na koneksyon ay hindi gagana sa code na ito at makakakuha ka ng isang -1 error.

Ibinabalik ng API ang data ng JSON tulad nito

Ngayon Ang susunod na code na ito ay nagde-decode lamang ng JSON at nag-iimbak ng mga halaga sa variable, ito ay ganap na nakasalalay sa data ng API at JSON na ibinabalik nito. Ngunit madaling baguhin, para sa karagdagang impormasyon maaari mong suriin ang tutorial na ito.

StaticJsonBuffer JSONBuffer; // Memory pool JsonObject & parsed = JSONBuffer.parseObject (payload); // Parse message confirmation = parsed ["nakumpirma"]; nakuhang muli = parsed ["nabawi"]; pagkamatay = parsed ["pagkamatay"]; current_active = parsed ["aktibo"];

Pagkatapos nito ay ipinapakita lamang ng code ang mga variable sa serial monitor at sa LCD.

Serial.print ("nakumpirma:"); Serial.println (nakumpirma); Serial.print ("nabawi:"); Serial.println (nakuhang muli); Serial.print ("currenty_active:"); Serial.println (kasalukuyang_active); Serial.print ("pagkamatay:"); Serial.println (pagkamatay); kung (httpCode == 200) {// ipakita ang data sa lcd lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Nakumpirma:"); lcd.print (nakumpirma); lcd.setCursor (0, 1); lcd.print ("Mga Kamatayan:"); lcd.print (pagkamatay); pagkaantala (2500); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Aktibo:"); lcd.print (kasalukuyang_active); lcd.setCursor (0, 1); lcd.print ("Nabawi:"); lcd.print (nakuhang muli); pagkaantala (2500);

}

Hakbang 5: Konklusyon

Ito ay isang mahusay na proyekto upang subaybayan ang mga istatistika para sa lahat ng oras, at maaari mo ba itong buuin upang maipasa ang oras mo sa sitwasyong ito ng lockdown.

Kung kailangan mo ng anumang tulong maaari kang magtanong sa akin sa pamamagitan ng mga komento o maaari kang magbukas ng isang isyu sa aking Github

github.com/Soumojit28/covid19-iot-display para sa anumang mga problema na may kaugnayan sa code.

Salamat.

Inirerekumendang: