Sisukord:
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
Maailm on praegu koroonaviiruse pandeemias ja nagu paljud teised riigid, on see ka Indias suletud, nii et sain idee luua IoT -ekraan, mis annab reaalajas värskenduse riigi koroonastatistika kohta. Ma kasutan API -d, mis pakub India andmeid, kuid saate kasutada mis tahes API -d, muutes veidi koodi.
Samm: vajalikud asjad
Siin on asjad, mida peate asjade Interneti -kuvamiseks tegema:
- NodeMCU (ESP8266)
- 16x2 LCD -moodul (I2C)
- Leivalaud (valikuline)
- Mõned juhtmed/ džemprid
- USB kaabel
Samm 2: Ühendused
Ühendused on üsna lihtsad. Ühendamiseks on ainult 4 juhet. Esp8266 paigutamiseks leivaplaadi külge saate selle ühendada LCD -mooduliga või ühendamiseks kasutada lihtsalt naissoost naissoost vahejuhtmeid.
Ühendused on (ESP-> LCD):
- VIN -> VCC (5V jaoks)
- GND -> GND
- D2 -> SDA
- D1 -> SCL
Nüüd ühendage esp8266 USB -kaabli abil arvutiga, nüüd peame koodi üles laadima.
Samm: kodeerimine
Nüüd on see kõige olulisem osa. Paljudel teist on küsimusi, kuidas see toimib?
Niisiis, see loob esmalt ühenduse WiFi -ga ja seejärel ühendub API -ga, et koguda JSON -andmeid, seejärel dekodeerib JSON -andmed ja salvestab need väärtused muutujale, seejärel kuvab LCD väärtused ja see jätkub silmusena.
API, mida kasutasin, on https://coronago.xyz/api/data.json, mis saab andmed aadressilt https://www.covid19india.org/, see pakub andmeid ainult India kohta, kuid teiste riikide jaoks on palju API -sid, saate kasutada mis tahes API -d, kuid veenduge, et sellele pääseks juurde HTTP kaudu.
Esiteks peate Arduino IDE jaoks installima ESP8266 tahvli toe. Järgige seda õpetust.
Teine asi, mida teha, on kõigi nõutavate raamatukogude installimine, saate need hõlpsalt Arduino raamatukoguhaldurist installida.
Seejärel avage kood ja muutke wifi mandaati ning laadige kood üles.
kood on siin minu GitHubi hoidlas-https://github.com/Soumojit28/covid19-iot-display.
Samm: koodi selgitamine ja muu API kasutamine
Kood on üsna lihtne
Tühjuse seadistamise osas initsialiseerib see LCD -mooduli ja kuvab jõllitussõnumi, seejärel loob ühenduse WiFi -võrguga.
Silmuseosas tõmbab see JSON -i andmed API -st ja dekodeerib reklaami, salvestades need muutujaks, seejärel kuvab need jadamonitoris ja LCD -ekraanil.
teise API kasutamiseks peate koodi sellel real muutma
http.begin ("https://coronago.xyz/api/data.json"); // API
Teine asi, mida API peab töötama HTTP -ühendusega, HTTPS -ühendus selles koodis ei tööta ja saate vea -1.
API tagastab JSONi andmed niimoodi
Nüüd see järgmine kood dekodeerib lihtsalt JSON -i ja salvestab muutuja väärtused, see sõltub täielikult API ja JSON -i andmetest, mille see tagastab. Kuid seda on lihtne muuta, lisateabe saamiseks vaadake seda õpetust.
StaticJsonBuffer JSONBuffer; // Mälu kogum JsonObject & parsed = JSONBuffer.parseObject (kasulik koormus); // Sõnumi sõelumine on kinnitatud = parsitud ["kinnitatud"]; taastatud = parsitud ["taastatud"]; surmajuhtumid = parsitud ["surmad"]; praegune_aktiivne = parsitud ["aktiivne"];
Pärast seda kuvab kood lihtsalt muutujad jadamonitoris ja LCD -ekraanil.
Serial.print ("kinnitatud:"); Serial.println (kinnitatud); Serial.print ("taastatud:"); Serial.println (taastatud); Serial.print ("currenty_active:"); Serial.println (praegune_aktiivne); Serial.print ("surmajuhtumid:"); Serial.println (surmad); if (httpCode == 200) {// kuvab andmed lcd lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Kinnitatud:"); lcd.print (kinnitatud); lcd.setCursor (0, 1); lcd.print ("Surmad:"); lcd.print (surmad); viivitus (2500); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Aktiivne:"); lcd.print (praegune_aktiivne); lcd.setCursor (0, 1); lcd.print ("Taastatud:"); lcd.print (taastatud); viivitus (2500);
}
5. samm: järeldus
See on suurepärane projekt kogu aeg statistika jälgimiseks ja kas saate selle sulgemisolukorras aega veeta.
Kui vajate abi, võite küsida minult kommentaaride kaudu või avada probleemi minu Githubis
github.com/Soumojit28/covid19-iot-display mis tahes koodiga seotud probleemide korral.
Aitäh.