Índice:
Vídeo: Rastreador Covid19 ao vivo usando ESP8266 e OLED - Painel Covid19 em tempo real: 4 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:35
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:
Etapa 2: Configuração:
- Visite o site do Painel em tempo real da Covid19. Aqui estou usando
-
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.
- 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:
Solver de olhos vendados do cubo de Rubik em tempo real usando Raspberry Pi e OpenCV: 4 etapas
Solver Cubo de Rubik com os olhos vendados em tempo real usando Raspberry Pi e OpenCV: esta é a segunda versão da ferramenta de cubo de Rubik feita para resolver com os olhos vendados. A 1ª versão foi desenvolvida por javascript, você pode ver o projeto RubiksCubeBlindfolded1 Ao contrário da anterior, esta versão usa a biblioteca OpenCV para detectar as cores e
Reconhecimento de dispositivo em tempo real usando pegadas EM: 6 etapas
Reconhecimento de dispositivo em tempo real usando pegadas EM: Este dispositivo se destina a classificar diferentes dispositivos eletrônicos de acordo com seus sinais EM. Para diferentes dispositivos, eles têm diferentes sinais EM emitidos por ele. Desenvolvemos uma solução IoT para identificar os dispositivos eletrônicos usando o Particle
Rastreador em tempo real COVID-19 para ESP32: 3 etapas
COVID-19 Realtime Tracker para ESP32: Este pequeno rastreador irá ajudá-lo a estar atualizado sobre o surto do vírus corona e a situação em seu país. O visor mostra alternadamente os dados atuais de diferentes países de sua escolha. Os dados são coletados pelo site www.wo
Relógio de tempo real usando AT89s52: 3 etapas
Relógio de tempo real usando AT89s52: BEM-VINDO, Aqui é shubham Trivedi e hoje vou projetar o relógio de tempo real usando o microcontrolador At89s52. O microcontrolador AT89S52 é o coração deste projeto. DS1307 IC é usado como RTC. Este DS1307 IC exigia interface I2C, mas 89
Rastreador GPS em tempo real caseiro (SIM800L, Ublox NEO-6M, Arduino): 8 etapas
Rastreador GPS em tempo real caseiro (SIM800L, Ublox NEO-6M, Arduino): Então você tem um módulo GSM por aí como eu? Também um rastreador GPS? Nós pensamos o mesmo! Nestes instrutíveis, tentarei guiá-lo como atingir seu objetivo da perspectiva de um novato. Como eu não tinha nenhum conhecimento anterior de engenharia elétrica (para