Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
Svět je v současné době v pandemii koronaviru a stejně jako mnoho dalších zemí se uzavírá i v Indii, a tak jsem dostal nápad vytvořit displej internetu věcí, který v reálném čase poskytne aktualizaci statistik korony v zemi. Používám API, které poskytuje data z Indie, ale můžete použít jakékoli API s malou změnou kódu.
Krok 1: Potřebné věci
Zde jsou věci, které budete potřebovat k zobrazení IoT:
- NodeMCU (ESP8266)
- 16x2 LCD modul (I2C)
- Breadboard (volitelně)
- Některé dráty/ propojky
- USB kabel
Krok 2: Připojení
Spojení jsou docela snadná. K připojení jsou pouze 4 vodiče. Můžete použít prkénko na umístění esp8266 do něj a poté se připojit k modulu LCD nebo můžete použít přímé propojovací vodiče mezi ženami a ženami.
Připojení jsou (ESP-> LCD):
- VIN -> VCC (pro 5V)
- GND -> GND
- D2 -> SDA
- D1 -> SCL
Nyní stačí připojit esp8266 pomocí kabelu USB k počítači, nyní stačí nahrát kód.
Krok 3: Kódování
Toto je nejdůležitější část. Mnozí z vás budou mít na mysli otázky, jak to funguje?
Nejprve se tedy připojí k wifi a poté se připojí k API pro sběr dat JSON, poté dekóduje data JSON a uloží tyto hodnoty do proměnné, poté LCD zobrazí hodnoty a to pokračuje ve smyčce.
API, které jsem použil, je https://coronago.xyz/api/data.json, které získává data z https://www.covid19india.org/, poskytuje data pouze pro Indii, ale existuje mnoho API pro jiné země, můžete použít jakékoli API, ale ujistěte se, že je k němu možné přistupovat pomocí
Nejprve je třeba nainstalovat podporu desky ESP8266 pro Arduino IDE. Postupujte podle tohoto tutoriálu.
Druhá věc, kterou musíte udělat, je nainstalovat všechny požadované knihovny, můžete je snadno nainstalovat pomocí Správce knihoven Arduino.
Poté otevřete kód a změňte pověření k wifi a nahrajte kód.
kód je zde v mém úložišti GitHub-https://github.com/Soumojit28/covid19-iot-display.
Krok 4: Vysvětlení kódu a použití jiného API
Kód je docela jednoduchý
V části nastavení neplatnosti inicializuje modul LCD a zobrazí zprávu o zírání a poté se připojí k síti Wi -Fi.
V části smyčky načte data JSON z API a dekóduje je a uloží je do proměnné, poté je zobrazí na sériovém monitoru a na LCD.
pro použití jiného API musíte změnit adresu v tomto řádku kódu
http.begin ("https://coronago.xyz/api/data.json"); // API
Další věc, kterou musí API fungovat s připojením HTTP, připojení HTTPS v tomto kódu nebude fungovat a zobrazí se chyba -1.
API vrací data JSON takto
Nyní Tento další kód pouze dekóduje JSON a ukládá hodnoty do proměnné, to zcela závisí na datech API a JSON, které vrací. Ale je to snadné změnit, pro více informací můžete zkontrolovat tento návod.
StaticJsonBuffer JSONBuffer; // Paměťový fond JsonObject & parsed = JSONBuffer.parseObject (užitečné zatížení); // Analýza zprávy potvrzena = analyzována ["potvrzeno"]; obnoveno = analyzováno ["obnoveno"]; úmrtí = analyzováno ["úmrtí"]; current_active = analyzováno ["aktivní"];
Poté kód pouze zobrazí proměnné v sériovém monitoru a na LCD.
Serial.print ("potvrzeno:"); Serial.println (potvrzeno); Serial.print ("obnoveno:"); Serial.println (obnoveno); Serial.print ("currenty_active:"); Serial.println (current_active); Serial.print ("úmrtí:"); Serial.println (úmrtí); if (httpCode == 200) {// zobrazí data v lcd lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Potvrzeno:"); lcd.print (potvrzeno); lcd.setCursor (0, 1); lcd.print ("Úmrtí:"); lcd.print (úmrtí); zpoždění (2500); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Aktivní:"); lcd.print (aktuální_aktivní); lcd.setCursor (0, 1); lcd.print ("Obnoveno:"); lcd.print (obnoveno); zpoždění (2500);
}
Krok 5: Závěr
Je to skvělý projekt pro neustálé sledování statistik a můžete jej postavit tak, aby vám v této situaci zablokování ušetřil čas.
Pokud potřebujete pomoc, můžete se mě zeptat prostřednictvím komentářů nebo můžete otevřít problém v mém Githubu
github.com/Soumojit28/covid19-iot-display pro jakékoli problémy související s kódem.
Děkuji.