Índice:

Rastreador Covid19 ao vivo usando ESP8266 e OLED - Painel Covid19 em tempo real: 4 etapas
Rastreador Covid19 ao vivo usando ESP8266 e OLED - Painel Covid19 em tempo real: 4 etapas

Vídeo: Rastreador Covid19 ao vivo usando ESP8266 e OLED - Painel Covid19 em tempo real: 4 etapas

Vídeo: Rastreador Covid19 ao vivo usando ESP8266 e OLED - Painel Covid19 em tempo real: 4 etapas
Vídeo: NodeMCU Based Covid19 Live Tracker (India) 2024, Julho
Anonim
Image
Image

Visite o site da Techtronic Harsh:

Em todos os lugares, há um grande surto do Novo Vírus Corona (COVID19). Tornou-se necessário ficar de olho no cenário atual da COVID-19 no Mundo.

Então, estando em casa, este foi o projeto que pensei em “World’s Live Covid19 Dashboard” - Um Dashboard que fornece atualizações em tempo real sobre o estado do mundo COVID-19. Não há mais necessidade de manter a TV ligada ou assistir em vários sites.

O desenho do projeto não era a parte importante. Mas fazer algo útil, usando os componentes que eram úteis era o desafio. Este projeto certamente o ajudará a construir uma interface de painel simples para mantê-lo atualizado.

Suprimentos

  • ESP8266
  • Display OLED
  • Cabos Jumper

Etapa 1: Esquemas:

Configurando
Configurando

Etapa 2: Configuração:

Configurando
Configurando
Configurando
Configurando
  1. Visite o site do Painel em tempo real da Covid19. Aqui estou usando
  2. Faça login / inscreva-se em https://thingspeak.com. Vá para o aplicativo e crie uma nova ação ThingHttp.

    • Dê o nome de sua escolha, URL (https://trackcorona.live), método como GET e em Parse String, você precisa colar o XPath do site trackcorna.live do campo obrigatório que você precisa mostrar.
    • No exemplo acima (imagem), estou analisando string para casos confirmados, tudo o que você precisa fazer é

      • Clique com o botão direito em Número de casos confirmados> Inspecionar,
      • Novamente, clique com o botão direito no código> Copiar> CopyXPath
      • Cole no campo Analisar String da ação ThinkHttp e salve.
      • Da mesma forma, faça isso para todas as taxas de recuperação, mortalidade, mortalidade e mortalidade.
      • Visite o código-fonte e substitua o SSID por seu nome de Wi-Fi, senha por sua senha de Wi-Fi e chave de API por sua API ThingHttp.
  3. Faça upload do código. É isso!!

Etapa 3: Código-fonte:

/ * © Techtronic Harsh

Youtube:

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

*/

#include // Use funções ESP8266 #include #include #include #include #include

Adafruit_SSD1306 display = Adafruit_SSD1306 (128, 32, & Wire);

const char * ssid = "*******"; // O SSID do seu roteador, ou seja, o nome WiFi const char * password = "*******"; // Sua senha WiFi const char * host = "api.thingspeak.com"; // Lemos os dados deste host const int httpPortRead = 80; / * Basta alterar a chave de API com sua API via ThingHttp * / const char * url1 = "/ apps / thinghttp / send_request? Api_key = TGC4KNQ98REOA4JH"; // Const char * url2 = "/ apps / thinghttp / send_request? Api_key = Y0ALN1QGDTNLLNNM"; // Recuperado const char * url3 = "/ apps / thinghttp / send_request? Api_key = 0J24MB3W9F9Q0E7M"; // Morte const char * url4 = "/ apps / thinghttp / send_request? Api_key = R2BKR1DRVS5YT2PH"; // Taxa de recuperação const char * url5 = "/ apps / thinghttp / send_request? Api_key = VYMVMGK9S8W21EXQ"; //Índice de fatalidade

String Cases, Death, Recover, Recoveryrate, Deathrate;

Cliente WiFiClient; // Crie um cliente WiFi e um cliente

HTTPClient

void setup () {

Serial.begin (9600); // Inicia a comunicação serial WiFi.disconnect (); // Desconecte e reconecte ao Wifi que você definiu delay (1000); WiFi.begin (ssid, senha); Serial.println ("Conectado à rede WiFi"); // Exibir feedback no monitor serial Serial.println (WiFi.localIP ()); display.begin (); display.display (); atraso (1000);

display.clearDisplay ();

display.display ();

display.setTextSize (1);

display.setTextColor (WHITE);

}

void loop ()

{// Leitura 1: Leitura de Casos Confirmados

if (http.begin (host, httpPortRead, url1)) // Conecte-se ao host e ao url

{int httpCode = http. GET (); // Verifique o feedback se houver uma resposta 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 (); atraso (4000); display.clearDisplay (); }} else // Se não conseguirmos os dados {Serial.printf ("[HTTP] GET… falhou, erro:% s / n", http.errorToString (httpCode).c_str ()); } http.end (); } else // Se não pudermos conectar ao HTTP {Serial.printf ("[HTTP} Não foi possível conectar / n"); }

// Leitura 2: Leitura de Recuperado

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

{int httpCode = http. GET (); if (httpCode> 0) {if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) {Recover = 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 (); atraso (4000); display.clearDisplay (); }} else {Serial.printf ("[HTTP] GET… falhou, erro:% s / n", http.errorToString (httpCode).c_str ()); } http.end (); } else {Serial.printf ("[HTTP} Não foi possível conectar / n"); }

// Leitura 3: Leitura das mortes

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

{int httpCode = http. GET (); if (httpCode> 0) {if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) {Death = http.getString (); Serial.print ("Mortes:"); Serial.println (morte); display.setCursor (0, 0); display.println ("COVID19 LIVE"); display.println (""); display.println ("Mortes:"); display.println (morte); display.display (); atraso (4000); display.clearDisplay (); }} else {Serial.printf ("[HTTP] GET… falhou, erro:% s / n", http.errorToString (httpCode).c_str ()); } http.end (); } else {Serial.printf ("[HTTP} Não foi possível conectar / n"); }

// Leitura 4: Leitura da taxa de recuperação

if (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 ("Taxa de recuperação:"); Serial.println (Recoveryrate); display.setCursor (0, 0); display.println ("COVID19 LIVE"); display.println (""); display.println ("Taxa de recuperação:"); display.print (Recoveryrate); display.println ("%"); display.display (); atraso (4000); display.clearDisplay (); }} else {Serial.printf ("[HTTP] GET… falhou, erro:% s / n", http.errorToString (httpCode).c_str ()); } http.end (); } else {Serial.printf ("[HTTP} Não foi possível conectar / n"); }

// Leitura 5: Leitura da taxa de mortalidade

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

{int httpCode = http. GET (); if (httpCode> 0) {if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) {Deathrate = http.getString (); Serial.print ("Taxa de mortalidade:"); Serial.println (taxa de morte); display.setCursor (0, 0); display.println ("COVID19 LIVE"); display.println (""); display.println ("Taxa de mortalidade:"); display.print (Deathrate); display.println ("%"); display.display (); atraso (4000); display.clearDisplay (); display.display (); }} else {Serial.printf ("[HTTP] GET… falhou, erro:% s / n", http.errorToString (httpCode).c_str ()); } http.end (); } else {Serial.printf ("[HTTP} Não foi possível conectar / n"); } while (WiFi.status ()! = WL_CONNECTED) // Caso a conexão Wifi seja perdida {WiFi.disconnect (); atraso (1000); WiFi.begin (ssid, senha); Serial.println ("Reconectando ao WiFi.."); display.setCursor (0, 0); display.println ("Techtronic Harsh"); display.println (""); display.println ("Conectando…."); display.display (); atraso (10000); display.clearDisplay (); display.display (); }

}

/ * © Techtronic Harsh

Youtube:

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

*/

Etapa 4: Trabalho:

Faça as conexões de acordo com o diagrama do circuito e carregue o código após selecionar a placa e a porta COM adequadas. Se mostrar um erro, certifique-se de adicionar a biblioteca de acordo com as instruções fornecidas acima.

Se demorar muito para rodar em OLED, certifique-se de ter conectado corretamente aos serviços de Internet, ou seja, seu WiFi ou ponto de acesso.

Recomendado: