Talaan ng mga Nilalaman:
2025 May -akda: John Day | [email protected]. Huling binago: 2025-01-13 06:58
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
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
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):
- VIN -> VCC (para sa 5V)
- GND -> GND
- D2 -> SDA
- D1 -> SCL
Ngayon ikonekta lamang ang esp8266 sa USB cable sa PC, ngayon kailangan lang namin i-upload ang code.
Hakbang 3: Pag-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
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.