Tabla de contenido:
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-23 14:39
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:
Paso 2: Configuración:
- Visite el sitio web de Realtime Covid19 Dashboard. Aquí estoy usando
-
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.
- 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:
¡Rastreador de escritorio COVID19 con reloj! Rastreador con tecnología Raspberry Pi: 6 pasos
¡Rastreador de escritorio COVID19 con reloj! Raspberry Pi Powered Tracker: sabemos que podemos morir en cualquier momento, incluso yo puedo morir mientras escribo esta publicación, después de todo, yo, tú, todos somos mortales. El mundo entero se estremeció por la pandemia de COVID19. Sabemos cómo prevenir esto, pero ¡oye! sabemos cómo rezar y por qué rezar, lo hacemos
Cómo hacer un rastreador de datos en vivo de Coronavirus COVID 19 con ESP8266, pantalla de papel electrónico: 7 pasos
Cómo hacer un rastreador de datos en vivo de Coronavirus COVID 19 con ESP8266, pantalla de papel electrónico: 1
Rastreador en tiempo real COVID-19 para ESP32: 3 pasos
Rastreador en tiempo real COVID-19 para ESP32: este pequeño rastreador le ayudará a estar al día sobre el brote del virus corona y la situación en su país. La pantalla muestra alternativamente los datos actuales de los diferentes países de su elección. Los datos son recopilados por el sitio web www.wo
Rastreador de películas - Rastreador de lanzamiento en cines con tecnología Raspberry Pi: 15 pasos (con imágenes)
Rastreador de películas: rastreador de lanzamientos teatrales con Raspberry Pi: Movie Tracker es un rastreador de lanzamientos con forma de claqueta y alimentado por Raspberry Pi. Utiliza la API de TMDb para imprimir el póster, el título, la fecha de lanzamiento y la descripción general de las próximas películas en su región, en un intervalo de tiempo específico (por ejemplo, estrenos de películas esta semana) en
Rastreador GPS casero en tiempo real (SIM800L, Ublox NEO-6M, Arduino): 8 pasos
Rastreador GPS casero en tiempo real (SIM800L, Ublox NEO-6M, Arduino): ¿Entonces tienes un módulo GSM por ahí como yo? ¿También un rastreador GPS? ¡Nosotros pensamos lo mismo! En estos instructivos, trataré de guiarlo sobre cómo lograr su objetivo desde la perspectiva de un novato.Como no tenía conocimientos previos de ingeniería eléctrica (para