Inhaltsverzeichnis:

Live-Covid19-Tracker mit ESP8266 und OLED - Covid19-Dashboard in Echtzeit - Gunook
Live-Covid19-Tracker mit ESP8266 und OLED - Covid19-Dashboard in Echtzeit - Gunook

Video: Live-Covid19-Tracker mit ESP8266 und OLED - Covid19-Dashboard in Echtzeit - Gunook

Video: Live-Covid19-Tracker mit ESP8266 und OLED - Covid19-Dashboard in Echtzeit - Gunook
Video: COVID-19 Live tracker on OLED Using ESP32 / ESP8266 2024, November
Anonim
Image
Image

Besuchen Sie die Techtronic Harsh-Website:

Überall gibt es einen riesigen Ausbruch des neuartigen Corona-Virus (COVID19). Es wurde notwendig, das aktuelle Szenario von COVID-19 in der Welt im Auge zu behalten.

Da ich zu Hause war, dachte ich an das Projekt „World’s Live Covid19 Dashboard“– ein Dashboard, das Echtzeit-Updates über den COVID-19-Zustand der Welt bietet. Sie müssen den Fernseher nicht mehr eingeschaltet lassen oder auf verschiedenen Websites zuschauen.

Das Design des Projekts war nicht der wichtige Teil. Aber es war die Herausforderung, etwas Nützliches zu schaffen und dabei die nützlichen Komponenten zu verwenden. Dieses Projekt wird Ihnen sicherlich helfen, eine einfache Dashboard-Oberfläche zu erstellen, um Sie auf dem Laufenden zu halten.

Lieferungen

  • ESP8266
  • OLED-Display
  • Überbrückungskabel

Schritt 1: Schaltpläne:

Einrichten
Einrichten

Schritt 2: Einrichten:

Einrichten
Einrichten
Einrichten
Einrichten
  1. Besuchen Sie die Website des Echtzeit-Covid19-Dashboards. Hier verwende ich
  2. Melden Sie sich bei https://thingspeak.com an. Gehen Sie zur App und erstellen Sie eine neue ThingHttp-Aktion.

    • Geben Sie den Namen Ihrer Wahl, die URL (https://trackcorona.live), die Methode als GET an und in Parse String müssen Sie den XPath von der trackcorna.live-Website des erforderlichen Felds einfügen, das Sie anzeigen müssen.
    • Im obigen Beispiel (Bild) parse ich die Zeichenfolge für bestätigte Fälle, was Sie tun müssen, ist

      • Klicken Sie mit der rechten Maustaste auf Anzahl der bestätigten Fälle > Inspizieren,
      • Klicken Sie erneut mit der rechten Maustaste in den Code> Kopieren> CopyXPath
      • Fügen Sie dies in das Feld Parse String von ThinkHttp Action ein und speichern Sie es.
      • Führen Sie dies in ähnlicher Weise für alle Genesen, Sterbefälle, Sterblichkeitsrate und Sterberate durch.
      • Besuchen Sie den Quellcode und ersetzen Sie die SSID durch Ihren Wifi-Namen, das Kennwort durch Ihr Wifi-Kennwort und den API-Schlüssel durch Ihre ThingHttp-API.
  3. Laden Sie den Code hoch. Das ist es!!

Schritt 3: Quellcode:

/* © Techtronic Harsh

Youtube:

Instructables: https://www.instructables.com/member/… Instagram: https://instagram.com/techtronicharsh Website: https://techtronicharsh.com Telegramm:

*/

#include //ESP8266-Funktionen verwenden #include #include #include #include #include

Adafruit_SSD1306-Anzeige = Adafruit_SSD1306(128, 32, &Wire);

const char* ssid = "********"; // Ihre Router-SSID, d. h. WLAN-Name const char* password = "********"; //Ihr WLAN-Passwort const char* host = "api.thingspeak.com"; //Wir lesen die Daten von diesem Host const int httpPortRead = 80; /* Ändern Sie einfach den API-Schlüssel mit Ihrer API über ThingHttp */ const char* url1 = "/apps/thinghttp/send_request?api_key=TGC4KNQ98REOA4JH"; //Bestätigte const char* url2 = "/apps/thinghttp/send_request?api_key=Y0ALN1QGDTNLLNNM"; //Wiederhergestellt const char* url3 = "/apps/thinghttp/send_request?api_key=0J24MB3W9F9Q0E7M"; //Tod const char* url4 = "/apps/thinghttp/send_request?api_key=R2BKR1DRVS5YT2PH"; //Wiederherstellungsrate const char* url5 = "/apps/thinghttp/send_request?api_key=VYMVMGK9S8W21EXQ"; //Sterblichkeitsrate

String-Fälle, Tod, Genesung, Wiederherstellungsrate, Todesrate;

WiFiClient-Client; //WLAN-Client und HTTP-Client erstellen

HTTPClient-http;

Leere Einrichtung () {

Serial.begin (9600); // Starten Sie die serielle Kommunikation WiFi.disconnect (); // Trennen und verbinden Sie sich wieder mit dem Wifi, das Sie eingestellt haben Verzögerung (1000); WiFi.begin(ssid, Passwort); Serial.println ("Mit dem WiFi-Netzwerk verbunden"); // Feedback auf dem seriellen Monitor anzeigen Serial.println (WiFi.localIP ()); display.begin(); display.display(); Verzögerung (1000);

display.clearDisplay();

display.display();

display.setTextSize(1);

display.setTextColor (WEISS);

}

Leere Schleife ()

{ //Lesen 1: Lesen von bestätigten Fällen

if(http.begin(host, httpPortRead, url1)) //Verbinde dich mit dem Host und der URL

{ int httpCode = http. GET(); //Feedback prüfen, wenn eine Antwort vorliegt if (httpCode > 0) { if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) { Cases = http.getString(); Serial.print ("Bestätigte Fälle:"); Serial.println (Fälle); display.setCursor(0, 0); display.println(" COVID19 LIVE"); display.println(""); display.println("Bestätigte Fälle: "); display.println (Fälle); display.display(); Verzögerung (4000); display.clearDisplay(); } } else //Wenn wir keine Daten abrufen können { Serial.printf("[HTTP] GET… failed, error: %s\n", http.errorToString(httpCode).c_str()); } http.ende(); aufrechtzuerhalten. Sonst // Wenn wir keine Verbindung zum HTTP herstellen können { Serial.printf ("[HTTP} Verbindung nicht möglich\n"); }

//Lesen 2: Lesen von Recovered

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

{ int httpCode = http. GET(); if (httpCode > 0) { if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) { Wiederherstellen = http.getString(); Serial.print ("Wiederhergestellt: "); Serial.println (Wiederherstellen); display.setCursor(0, 0); display.println(" COVID19 LIVE"); display.println(""); display.println("Wiederhergestellt: "); display.println (Wiederherstellen); display.display(); Verzögerung (4000); display.clearDisplay(); } } else { Serial.printf("[HTTP] GET… fehlgeschlagen, Fehler: %s\n", http.errorToString(httpCode).c_str()); } http.ende(); } else { Serial.printf("[HTTP} Kann keine Verbindung herstellen\n"); }

//Lesung 3: Lesen von Todesfällen

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 ("Todesfälle: "); Serial.println (Tod); display.setCursor(0, 0); display.println(" COVID19 LIVE"); display.println(""); display.println("Todesfälle: "); display.println (Tod); display.display(); Verzögerung (4000); display.clearDisplay(); } } else { Serial.printf("[HTTP] GET… fehlgeschlagen, Fehler: %s\n", http.errorToString(httpCode).c_str()); } http.ende(); } else { Serial.printf("[HTTP} Verbindung nicht möglich\n"); }

//Lesen 4: Lesen der Wiederfindungsrate

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 ("Wiederherstellungsrate:"); Serial.println (Wiederherstellungsrate); display.setCursor(0, 0); display.println(" COVID19 LIVE"); display.println(""); display.println("Wiederherstellungsrate: "); display.print (Wiederherstellungsrate); display.println(" % "); display.display(); Verzögerung (4000); display.clearDisplay(); } } else { Serial.printf("[HTTP] GET… fehlgeschlagen, Fehler: %s\n", http.errorToString(httpCode).c_str()); } http.ende(); } else { Serial.printf("[HTTP} Kann keine Verbindung herstellen\n"); }

//Lesung 5: Lesen der Sterberate

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

{ int httpCode = http. GET(); if (httpCode > 0) { if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) { Todesrate = http.getString(); Serial.print ("Sterblichkeitsrate: "); Serial.println (Todesrate); display.setCursor(0, 0); display.println(" COVID19 LIVE"); display.println(""); display.println("Sterblichkeitsrate: "); display.print (Todesrate); display.println(" % "); display.display(); Verzögerung (4000); display.clearDisplay(); display.display(); } } else { Serial.printf("[HTTP] GET… fehlgeschlagen, Fehler: %s\n", http.errorToString(httpCode).c_str()); } http.ende(); } else { Serial.printf("[HTTP} Verbindung nicht möglich\n"); aufrechtzuerhalten. Während (WiFi.status () != WL_CONNECTED) // Falls die Wifi-Verbindung verloren geht { WiFi.disconnect (); Verzögerung (1000); WiFi.begin(ssid, Passwort); Serial.println ("Wiederverbindung zum WLAN.."); display.setCursor(0, 0); display.println("Techtronic Harsh"); display.println(""); display.println("Verbindung wird hergestellt…."); display.display(); Verzögerung (10000); display.clearDisplay(); display.display(); }

}

/* © Techtronic Harsh

Youtube:

Instructables: https://www.instructables.com/member/… Instagram: https://instagram.com/techtronicharsh Website: https://techtronicharsh.com Telegramm:

*/

Schritt 4: Arbeiten:

Stellen Sie die Verbindungen gemäß Schaltplan her und laden Sie den Code hoch, nachdem Sie die richtige Platine und den COM-Port ausgewählt haben. Wenn ein Fehler angezeigt wird, stellen Sie sicher, dass Sie die Bibliothek gemäß den obigen Anweisungen hinzugefügt haben.

Wenn die Ausführung auf OLED viel Zeit in Anspruch nimmt, stellen Sie sicher, dass Sie ordnungsgemäß mit Internetdiensten verbunden sind, z. B. Ihrem WLAN oder Hotspot.

Empfohlen: