Inhaltsverzeichnis:
- Lieferungen
- Schritt 1: Schaltpläne:
- Schritt 2: Einrichten:
- Schritt 3: Quellcode:
- Schritt 4: Arbeiten:
Video: Live-Covid19-Tracker mit ESP8266 und OLED - Covid19-Dashboard in Echtzeit - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:16
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:
Schritt 2: Einrichten:
- Besuchen Sie die Website des Echtzeit-Covid19-Dashboards. Hier verwende ich
-
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.
- 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:
Wie man eine Babygewichtsmaschine mit Arduino Nano, HX-711 Wägezelle und OLED 128X64 herstellt -- Kalibrierung des HX-711: 5 Schritte
Wie man eine Babygewichtsmaschine mit Arduino Nano, HX-711-Wägezelle und OLED 128X64 herstellt || Kalibrierung von HX-711: Hallo Instructables, vor wenigen Tagen wurde ich Vater eines süßen Babys?. Als ich im Krankenhaus war, stellte ich fest, dass das Gewicht des Babys so wichtig ist, um das Wachstum des Babys zu überwachen. Also ich habe eine Idee? um eine Babygewichtsmaschine von meinem Selbst zu machen. In diesem Instructable ich
MicroPython-Programm: Aktualisieren Sie die Daten der Coronavirus-Krankheit (COVID-19) in Echtzeit – wikiHow
MicroPython-Programm: Daten zur Coronavirus-Krankheit (COVID-19) in Echtzeit aktualisieren: In den letzten Wochen hat die Zahl der bestätigten Fälle der Coronavirus-Krankheit (COVID 19) weltweit 100.000 überschritten, und die Weltgesundheitsorganisation (WHO) hat die Der neue Ausbruch einer Coronavirus-Pneumonie soll eine globale Pandemie sein. Ich war sehr
Live-Streaming mit Raspberry Pi durchführen – wikiHow
Live-Streaming mit Raspberry Pi: In diesem Tutorial erfahren Sie, wie Sie mit Raspberry Pi unsere eigene Überwachungskamera erstellen. Sie können mit jedem Gerät auf diesen Stream zugreifen, solange es mit demselben Netzwerk wie das RPi verbunden ist
Live 4G/5G HD-Videostreaming von DJI Drone mit niedriger Latenzzeit [3-Schritte]
4G/5G HD-Live-Videostreaming von DJI-Drohne mit geringer Latenz [3 Schritte]: Die folgende Anleitung hilft Ihnen, Live-Videostreams in HD-Qualität von fast jeder DJI-Drohne zu erhalten. Mit Hilfe der FlytOS Mobile App und der FlytNow Web Application können Sie Videos von der Drohne streamen
Gesichtserkennung in Echtzeit: ein End-to-End-Projekt – wikiHow
Echtzeit-Gesichtserkennung: ein End-to-End-Projekt: In meinem letzten Tutorial zur Erkundung von OpenCV haben wir AUTOMATIC VISION OBJECT TRACKING gelernt. Jetzt werden wir unsere PiCam verwenden, um Gesichter in Echtzeit zu erkennen, wie Sie unten sehen können: Dieses Projekt wurde mit dieser fantastischen "Open Source Computer Vision Library&qu