Rastreador Covid19 en vivo con ESP8266 y OLED - Panel de control Covid19 en tiempo real: 4 pasos
Rastreador Covid19 en vivo con ESP8266 y OLED - Panel de control Covid19 en tiempo real: 4 pasos
Anonim
Image
Image

Visite el sitio web de Techtronic Harsh:

En todas partes hay un gran brote del nuevo virus Corona (COVID19). Se hizo necesario vigilar el escenario actual del COVID-19 en el mundo.

Entonces, estando en casa, este fue el proyecto en el que pensé: "World’s Live Covid19 Dashboard": un panel que proporciona actualizaciones en tiempo real sobre el estado mundial de COVID-19. Ya no es necesario mantener la televisión encendida o seguir mirando en varios sitios web.

El diseño del proyecto no fue la parte importante. Pero hacer algo útil, utilizando los componentes que eran útiles, fue el desafío. Este proyecto seguramente lo ayudará a crear una interfaz de panel simple para mantenerse actualizado.

Suministros

  • ESP8266
  • Pantalla OLED
  • Cables de salto

Paso 1: esquemas:

Configuración
Configuración

Paso 2: Configuración:

Configuración
Configuración
Configuración
Configuración
  1. Visite el sitio web de Realtime Covid19 Dashboard. Aquí estoy usando
  2. Inicie sesión / Regístrese en https://thingspeak.com. Vaya a la aplicación y cree una nueva acción ThingHttp.

    • Ingrese el nombre de su elección, URL (https://trackcorona.live), método como GET y en Parse String, debe pegar el XPath del sitio web trackcorna.live del campo requerido que debe mostrar.
    • En el ejemplo anterior (imagen), estoy analizando una cadena para casos confirmados, todo lo que necesita hacer es

      • Haga clic con el botón derecho en Número de casos confirmados> Inspeccionar,
      • Nuevamente, haga clic con el botón derecho en el Código> Copiar> CopyXPath
      • Pegue esto en el campo Parse String de ThinkHttp Action y guárdelo.
      • Del mismo modo, haga esto para todos los Recuperados, Muerte, Tasa de mortalidad y Tasa de mortalidad.
      • Visite el código fuente y reemplace SSID con su nombre Wifi, contraseña con su contraseña Wifi y clave API con su API ThingHttp.
  3. Cargue el código. ¡¡Eso es todo!!

Paso 3: Código fuente:

/ * © Techtronic Harsh

Youtube:

Instructables: https://www.instructables.com/member/… Instagram: https://instagram.com/techtronicharsh Sitio web: https://techtronicharsh.com Telegram:

*/

#include // Use las funciones de ESP8266 #include #include #include #include #include

Pantalla Adafruit_SSD1306 = Adafruit_SSD1306 (128, 32 y Wire);

const char * ssid = "*******"; // El SSID de su enrutador, es decir, el nombre de WiFi const char * password = "*******"; // Su contraseña de WiFi const char * host = "api.thingspeak.com"; // Leemos los datos de este host const int httpPortRead = 80; / * Simplemente cambie la clave de API con su API a través de ThingHttp * / const char * url1 = "/ apps / thinghttp / send_request? Api_key = TGC4KNQ98REOA4JH"; // Confirmado const char * url2 = "/ apps / thinghttp / send_request? Api_key = Y0ALN1QGDTNLLNNM"; // Recuperado const char * url3 = "/ apps / thinghttp / send_request? Api_key = 0J24MB3W9F9Q0E7M"; // Muerte const char * url4 = "/ apps / thinghttp / send_request? Api_key = R2BKR1DRVS5YT2PH"; // Tasa de recuperación const char * url5 = "/ apps / thinghttp / send_request? Api_key = VYMVMGK9S8W21EXQ"; //Tasa de fatalidad

Casos de cadena, muerte, recuperación, tasa de recuperación, tasa de muerte;

Cliente WiFiClient; // Crea un cliente WiFi y un cliente

HTTPClient

configuración vacía () {

Serial.begin (9600); // Inicie la comunicación en serie WiFi.disconnect (); // Desconecta y vuelve a conectarte al Wifi que estableciste delay (1000); WiFi.begin (ssid, contraseña); Serial.println ("Conectado a la red WiFi"); // Mostrar comentarios en el monitor serial Serial.println (WiFi.localIP ()); display.begin (); display.display (); retraso (1000);

display.clearDisplay ();

display.display ();

display.setTextSize (1);

display.setTextColor (BLANCO);

}

bucle vacío ()

{// Lectura 1: Lectura de casos confirmados

if (http.begin (host, httpPortRead, url1)) // Conéctese al host y la URL

{int httpCode = http. GET (); // Verifique los comentarios si hay una respuesta if (httpCode> 0) {if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) {Cases = http.getString (); Serial.print ("Casos confirmados:"); Serial.println (casos); display.setCursor (0, 0); display.println ("COVID19 LIVE"); display.println (""); display.println ("Casos confirmados:"); display.println (Casos); display.display (); retraso (4000); display.clearDisplay (); }} else // Si no podemos obtener datos {Serial.printf ("[HTTP] GET … falló, error:% s / n", http.errorToString (httpCode).c_str ()); } http.end (); } else // Si no podemos conectarnos a HTTP {Serial.printf ("[HTTP} No se puede conectar / n"); }

// Lectura 2: Lectura de recuperados

si (http.begin (host, httpPortRead, url2))

{int httpCode = http. GET (); if (httpCode> 0) {if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) {Recuperar = http.getString (); Serial.print ("Recuperado:"); Serial.println (recuperar); display.setCursor (0, 0); display.println ("COVID19 LIVE"); display.println (""); display.println ("Recuperado:"); display.println (recuperar); display.display (); retraso (4000); display.clearDisplay (); }} else {Serial.printf ("[HTTP] GET … falló, error:% s / n", http.errorToString (httpCode).c_str ()); } http.end (); } else {Serial.printf ("[HTTP} No se puede conectar / n"); }

// Lectura 3: Lectura de Muertes

si (http.begin (host, httpPortRead, url3))

{int httpCode = http. GET (); if (httpCode> 0) {if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) {Muerte = http.getString (); Serial.print ("Muertes:"); Serial.println (Muerte); display.setCursor (0, 0); display.println ("COVID19 LIVE"); display.println (""); display.println ("Muertes:"); display.println (Muerte); display.display (); retraso (4000); display.clearDisplay (); }} else {Serial.printf ("[HTTP] GET … falló, error:% s / n", http.errorToString (httpCode).c_str ()); } http.end (); } else {Serial.printf ("[HTTP} No se puede conectar / n"); }

// Lectura 4: Lectura de la tasa de recuperación

si (http.begin (host, httpPortRead, url4))

{int httpCode = http. GET (); if (httpCode> 0) {if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) {Recoveryrate = http.getString (); Serial.print ("Tasa de recuperación:"); Serial.println (tasa de recuperación); display.setCursor (0, 0); display.println ("COVID19 LIVE"); display.println (""); display.println ("Tasa de recuperación:"); display.print (tasa de recuperación); display.println ("%"); display.display (); retraso (4000); display.clearDisplay (); }} else {Serial.printf ("[HTTP] GET … falló, error:% s / n", http.errorToString (httpCode).c_str ()); } http.end (); } else {Serial.printf ("[HTTP} No se puede conectar / n"); }

// Lectura 5: Lectura de la tasa de mortalidad

si (http.begin (host, httpPortRead, url5))

{int httpCode = http. GET (); if (httpCode> 0) {if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) {Tasa de muerte = http.getString (); Serial.print ("Tasa de mortalidad:"); Serial.println (tasa de mortalidad); display.setCursor (0, 0); display.println ("COVID19 LIVE"); display.println (""); display.println ("Tasa de mortalidad:"); display.print (tasa de mortalidad); display.println ("%"); display.display (); retraso (4000); display.clearDisplay (); display.display (); }} else {Serial.printf ("[HTTP] GET … falló, error:% s / n", http.errorToString (httpCode).c_str ()); } http.end (); } else {Serial.printf ("[HTTP} No se puede conectar / n"); } while (WiFi.status ()! = WL_CONNECTED) // En caso de que se pierda la conexión Wifi {WiFi.disconnect (); retraso (1000); WiFi.begin (ssid, contraseña); Serial.println ("Reconectando a WiFi.."); display.setCursor (0, 0); display.println ("Techtronic Harsh"); display.println (""); display.println ("Conectando…."); display.display (); retraso (10000); display.clearDisplay (); display.display (); }

}

/ * © Techtronic Harsh

Youtube:

Instructables: https://www.instructables.com/member/… Instagram: https://instagram.com/techtronicharsh Sitio web: https://techtronicharsh.com Telegram:

*/

Paso 4: trabajo:

Realice las conexiones según el diagrama de circuito y cargue el código después de seleccionar la placa adecuada y el puerto COM. Si muestra un error, asegúrese de haber agregado la biblioteca según las instrucciones dadas anteriormente.

Si tarda mucho en ejecutarse en OLED, asegúrese de estar conectado correctamente a los servicios de Internet, es decir, a su WiFi o punto de acceso.

Recomendado: