Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
Verden for tiden i koronaviruspandemien, og i likhet med mange andre land er den også låst i India, så jeg fikk denne ideen om å lage en IoT -skjerm som vil gi en sanntidsoppdatering av Corona -statistikken over landet. Jeg bruker et API som gir data fra India, men du kan bruke et hvilket som helst API med en liten endring i koden.
Trinn 1: Ting som trengs
Her er tingene du trenger for å få IoT -skjerm:
- NodeMCU (ESP8266)
- 16x2 LCD -modul (I2C)
- Brødbrett (valgfritt)
- Noen ledninger/ hoppere
- USB-kabel
Trinn 2: Tilkoblinger
Tilkoblingene er ganske enkle. Det er bare 4 ledninger å koble til. Du kan bruke et brødbrett til å plassere esp8266 i den og deretter koble til LCD -modulen, eller du kan bare bruke direkte hun -til -kvinnelige jumper -ledninger for å koble til.
Tilkoblingene er (ESP-> LCD):
- VIN -> VCC (for 5V)
- GND -> GND
- D2 -> SDA
- D1 -> SCL
Nå er det bare å koble esp8266 med USB -kabelen til PC, nå trenger vi bare å laste opp koden.
Trinn 3: Koding
Dette er den viktigste delen. Mange av dere vil ha spørsmål om hvordan dette fungerer?
Så den kobles først til wifi og kobles deretter til et API for å samle JSON -data, deretter dekoder den JSON -dataene og lagrer disse verdiene i en variabel, så viser LCD -skjermen verdiene og dette fortsetter i en sløyfe.
API -en jeg brukte er https://coronago.xyz/api/data.json, som henter dataene fra https://www.covid19india.org/, Den gir bare data for India, men det er mange API -er for andre land, du kan bruke hvilken som helst API, men sørg for at den kan nås via
Først må du installere ESP8266 -kortstøtte for Arduino IDE. Følg denne opplæringen.
Den andre tingen å gjøre er å installere alle nødvendige biblioteker, du kan enkelt installere dem fra Arduino Library Manager.
Åpne deretter koden og endre wifi -legitimasjon og last opp koden.
koden er her i mitt GitHub-depot-https://github.com/Soumojit28/covid19-iot-display.
Trinn 4: Kodeforklaring og bruk av annet API
Koden er ganske enkel
I den ugyldige oppsettdelen initialiserer den LCD -modulen og viser stirrende melding, og deretter kobles den til wifi -nettverket.
I sløyfedelen henter den JSON -dataene fra API og dekoder annonselagringen i en variabel, så viser den dem i den serielle skjermen og LCD -skjermen.
For å bruke et annet API må du endre adressen på denne linjen i koden
http.begin ("https://coronago.xyz/api/data.json"); // API
En annen ting API må fungere med en HTTP -tilkobling, HTTPS -tilkobling vil ikke fungere i denne koden, og du får en -1 -feil.
API returnerer JSON -data slik
Denne neste koden avkoder bare JSON og lagrer verdier i variabelen, dette avhenger helt av API- og JSON -dataene den returnerer. Men det er enkelt å endre, for mer informasjon kan du sjekke denne opplæringen.
StaticJsonBuffer JSONBuffer; // Memory pool JsonObject & parsed = JSONBuffer.parseObject (nyttelast); // Analysemelding bekreftet = analysert ["bekreftet"]; gjenopprettet = analysert ["gjenopprettet"]; dødsfall = analysert ["dødsfall"]; current_active = analysert ["aktiv"];
Etter det viser koden bare variablene i den serielle skjermen og på LCD -skjermen.
Serial.print ("bekreftet:"); Serial.println (bekreftet); Serial.print ("gjenopprettet:"); Serial.println (gjenopprettet); Serial.print ("currenty_active:"); Serial.println (current_active); Serial.print ("dødsfall:"); Serial.println (dødsfall); hvis (httpCode == 200) {// vise dataene i lcd lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Bekreftet:"); lcd.print (bekreftet); lcd.setCursor (0, 1); lcd.print ("Dødsfall:"); lcd.print (dødsfall); forsinkelse (2500); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Aktiv:"); lcd.print (current_active); lcd.setCursor (0, 1); lcd.print ("Gjenopprettet:"); lcd.print (gjenopprettet); forsinkelse (2500);
}
Trinn 5: Konklusjon
Dette er et flott prosjekt for å overvåke statistikken hele tiden, og kan du bygge den for å gi deg tid i denne lockdown -situasjonen.
Hvis du trenger hjelp, kan du spørre meg via kommentarer, eller du kan åpne et problem i min Github
github.com/Soumojit28/covid19-iot-display for eventuelle koderelaterte problemer.
Takk skal du ha.