Taula de continguts:

Pantalla IoT Stat de Covid19: 5 passos
Pantalla IoT Stat de Covid19: 5 passos

Vídeo: Pantalla IoT Stat de Covid19: 5 passos

Vídeo: Pantalla IoT Stat de Covid19: 5 passos
Vídeo: Беслан. Помни / Beslan. Remember (english & español subs) 2024, De novembre
Anonim
Image
Image
Coses necessàries
Coses necessàries

Actualment, el món en pandèmia de coronavirus i, com molts altres països, també té bloqueig a l’Índia, així que vaig tenir aquesta idea de crear una pantalla IoT que donarà una actualització en temps real de l’estadística de la Corona del país. Faig servir una API que proporciona dades de l’Índia, però podeu utilitzar qualsevol API amb un petit canvi de codi.

Pas 1: coses necessàries

Coses necessàries
Coses necessàries
Coses necessàries
Coses necessàries

A continuació, es mostren les coses que necessitareu per mostrar la IoT:

  • NodeMCU (ESP8266)
  • Mòdul LCD de 16x2 (I2C)
  • Taula de pa (opcional)
  • Alguns cables / ponts
  • Cable USB

Pas 2: connexions

Connexions
Connexions
Connexions
Connexions
Connexions
Connexions

Les connexions són bastant fàcils. Només hi ha 4 cables per connectar. Podeu fer servir una placa per col·locar-hi l’esp8266 i, a continuació, connectar-vos al mòdul LCD o simplement connectar-vos a cables de pont directe femella a femella.

Les connexions són (ESP-> LCD):

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

Ara només heu de connectar l’esp8266 amb el cable USB al PC, ara només hem de penjar el codi.

Pas 3: Codificació

Codificació
Codificació

Ara, aquesta és la part més important. Molts de vosaltres tindreu preguntes en ment sobre com funciona això?

Per tant, primer es connecta a wifi i després es connecta a una API per recopilar dades JSON, després descodifica les dades JSON i emmagatzema aquests valors en una variable, després la pantalla LCD mostra els valors i això continua en bucle.

L'API que he utilitzat és https://coronago.xyz/api/data.json, que obté les seves dades de https://www.covid19india.org/, proporciona dades només per a l'Índia, però hi ha moltes API per a altres països, podeu utilitzar qualsevol API, però assegureu-vos que HTTP pugui accedir-hi.

En primer lloc, heu d’instal·lar el suport de la placa ESP8266 per a Arduino IDE. Seguiu aquest tutorial.

El segon que heu de fer és instal·lar totes les biblioteques necessàries; podeu instal·lar-les fàcilment des del gestor de biblioteques Arduino.

A continuació, obriu el codi i canvieu les credencials del wifi i pengeu el codi.

el codi es troba aquí al meu dipòsit de GitHub:

Pas 4: explicació del codi i ús d'una altra API

Explicació del codi i ús d'una altra API
Explicació del codi i ús d'una altra API

El codi és bastant senzill

A la part de configuració del buit, inicialitza el mòdul LCD i mostra el missatge fix que es connecta a la xarxa wifi.

A la part del bucle, obté les dades JSON de l'API i les descodifica per emmagatzemar-les en una variable i, a continuació, les mostra al monitor sèrie i a la pantalla LCD.

per utilitzar una altra API, heu de canviar l'adreça d'aquesta línia del codi

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

Una altra cosa que l'API ha de funcionar amb una connexió HTTP: la connexió HTTPS no funcionarà en aquest codi i obtindreu un error -1.

L'API retorna dades JSON com aquesta

Ara, el següent codi només descodifica el JSON i emmagatzema els valors de la variable, això depèn totalment de les dades de l'API i JSON que retorni. Però és fàcil de canviar, per obtenir més informació, podeu consultar aquest tutorial.

StaticJsonBuffer JSONBuffer; // Agrupació de memòria JsonObject & parsed = JSONBuffer.parseObject (càrrega útil); // Analitza el missatge confirmat = analitzat ["confirmat"]; recuperat = analitzat ["recuperat"]; morts = analitzades ["defuncions"]; current_active = analitzat ["actiu"];

Després, el codi només mostra les variables al monitor sèrie i a la pantalla LCD.

Serial.print ("confirmat:"); Serial.println (confirmat); Serial.print ("recuperat:"); Serial.println (recuperat); Serial.print ("currenty_active:"); Serial.println (current_active); Serial.print ("defuncions"); Serial.println (defuncions); if (httpCode == 200) {// mostra les dades a lcd lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Confirmat:"); lcd.print (confirmat); lcd.setCursor (0, 1); lcd.print ("Defuncions"); lcd.print (defuncions); retard (2500); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Actiu"); lcd.print (current_active); lcd.setCursor (0, 1); lcd.print ("Recuperat:"); lcd.print (recuperat); retard (2500);

}

Pas 5: Conclusió

Aquest és un gran projecte per supervisar les estadístiques tot el temps i el podeu construir per passar-vos el temps en aquesta situació de bloqueig.

Si necessiteu ajuda, podeu demanar-me-ho mitjançant comentaris o obrir un problema al meu Github

github.com/Soumojit28/covid19-iot-display per a qualsevol problema relacionat amb el codi.

Gràcies.

Recomanat: