Live Covid19 Tracker ved bruk av ESP8266 og OLED - Sanntids Covid19 Dashboard: 4 trinn
Live Covid19 Tracker ved bruk av ESP8266 og OLED - Sanntids Covid19 Dashboard: 4 trinn
Anonim
Image
Image

Besøk Techtronic Harsh nettsted:

Overalt er det et stort utbrudd av det nye Corona -viruset (COVID19). Det ble nødvendig å holde øye med det nåværende scenariet med COVID-19 i verden.

Så da jeg var hjemme, var dette prosjektet jeg tenkte på "World's Live Covid19 Dashboard"-Et dashbord som gir oppdateringer i sanntid om COVID-19-tilstanden i verden. Du trenger ikke lenger å holde TV -en på eller fortsette å se på forskjellige nettsteder.

Utformingen av prosjektet var ikke den viktige delen. Men å lage noe nyttig, bruke komponentene som var hendig, var utfordringen. Dette prosjektet vil sikkert hjelpe deg med å bygge et enkelt dashbordgrensesnitt for å holde deg oppdatert.

Rekvisita

  • ESP8266
  • OLED -skjerm
  • Hoppekabler

Trinn 1: Skjemaer:

Setter opp
Setter opp

Trinn 2: Konfigurere:

Setter opp
Setter opp
Setter opp
Setter opp
  1. Besøk sanntids Covid19 Dashboard nettsted. Her bruker jeg
  2. Logg inn/Registrer deg på https://thingspeak.com. Gå til appen og lag ny ThingHttp -handling.

    • Oppgi navnet på ditt valg, URL (https://trackcorona.live), metode som GET og i analysestreng må du lime inn XPath fra trackcorna.live -nettstedet til det obligatoriske feltet du må vise.
    • I eksempelet ovenfor (bilde) analyserer jeg strengen for bekreftede saker, alt du trenger å gjøre er

      • Høyreklikk på Antall bekreftede tilfeller> Inspiser,
      • Høyreklikk igjen i koden> Kopier> CopyXPath
      • Lim inn dette i Parsestring -feltet i ThinkHttp Action og lagre det.
      • Gjør dette på samme måte for alle gjenopprettede, dødsfall, dødelighet og dødsrate.
      • Besøk kildekoden og erstatt SSID med ditt Wifi -navn, passord med ditt Wifi -passord og API -nøkkel med ThingHttp API.
  3. Last opp koden. Det er det!!

Trinn 3: Kildekode:

/* © Techtronic Harsh

Youtube:

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

*/

#include // Bruk ESP8266 -funksjoner #include #include #include #include #include

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

const char*ssid = "*******"; // SSID -ruteren din, dvs. WiFi -navn const char*password = "*******"; // Ditt WiFi -passord const char* host = "api.thingspeak.com"; // Vi leser dataene fra denne verten const int httpPortRead = 80; /* Bare endre API -nøkkelen med API -en din via ThingHttp*/const char* url1 = "/apps/thinghttp/send_request? Api_key = TGC4KNQ98REOA4JH"; // Bekreftet const char* url2 = "/apps/thinghttp/send_request? Api_key = Y0ALN1QGDTNLLNNM"; // Gjenopprettet const char* url3 = "/apps/thinghttp/send_request? Api_key = 0J24MB3W9F9Q0E7M"; // Død const char* url4 = "/apps/thinghttp/send_request? Api_key = R2BKR1DRVS5YT2PH"; // Gjenopprettingsfrekvens const char* url5 = "/apps/thinghttp/send_request? Api_key = VYMVMGK9S8W21EXQ"; // Dødelighet

String Cases, Death, Recover, Recoveryrate, Deathrate;

WiFiClient -klient; // Lag en WiFi -klient og http -klient

HTTPClient

ugyldig oppsett () {

Serial.begin (9600); // Start den serielle kommunikasjonen WiFi. Koble fra (); // Koble fra og koble til Wifi du angir forsinkelse (1000); WiFi.begin (ssid, passord); Serial.println ("Koblet til WiFi -nettverket"); // Vis tilbakemelding på den serielle skjermen Serial.println (WiFi.localIP ()); display.begin (); display.display (); forsinkelse (1000);

display.clearDisplay ();

display.display ();

display.setTextSize (1);

display.setTextColor (HVIT);

}

hulrom ()

{// Lesing 1: Lese av bekreftede saker

if (http.begin (host, httpPortRead, url1)) // Koble til verten og url

{int httpCode = http. GET (); // Sjekk tilbakemeldingen hvis det er et svar hvis (httpCode> 0) {if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) {Cases = http.getString (); Serial.print ("Bekreftede saker:"); Serial.println (saker); display.setCursor (0, 0); display.println ("COVID19 LIVE"); display.println (""); display.println ("Bekreftede saker:"); display.println (saker); display.display (); forsinkelse (4000); display.clearDisplay (); }} else // Hvis vi ikke kan få data {Serial.printf ("[HTTP] GET … failed, error: %s / n", http.errorToString (httpCode).c_str ()); } http.end (); } else // Hvis vi ikke kan koble til HTTP {Serial.printf ("[HTTP} Kan ikke koble til / n"); }

// Lesing 2: Lesing av gjenopprettet

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

{int httpCode = http. GET (); if (httpCode> 0) {if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) {Recover = http.getString (); Serial.print ("Gjenopprettet:"); Serial.println (Gjenopprett); display.setCursor (0, 0); display.println ("COVID19 LIVE"); display.println (""); display.println ("Gjenopprettet:"); display.println (Gjenopprett); display.display (); forsinkelse (4000); display.clearDisplay (); }} annet {Serial.printf ("[HTTP] GET … mislyktes, feil: %s / n", http.errorToString (httpCode).c_str ()); } http.end (); } annet {Serial.printf ("[HTTP} Kan ikke koble til / n"); }

// Lesing 3: Lesing av dødsfall

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

{int httpCode = http. GET (); if (httpCode> 0) {if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) {Death = http.getString (); Serial.print ("Dødsfall:"); Serial.println (død); display.setCursor (0, 0); display.println ("COVID19 LIVE"); display.println (""); display.println ("Dødsfall:"); display.println (død); display.display (); forsinkelse (4000); display.clearDisplay (); }} annet {Serial.printf ("[HTTP] GET … mislyktes, feil: %s / n", http.errorToString (httpCode).c_str ()); } http.end (); } annet {Serial.printf ("[HTTP} Kan ikke koble til / n"); }

// Lesing 4: Avlesning av gjenopprettingsrate

if (http.begin (vert, httpPortRead, url4))

{int httpCode = http. GET (); if (httpCode> 0) {if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) {Recoveryrate = http.getString (); Serial.print ("Recovery Rate:"); Serial.println (Recoveryrate); display.setCursor (0, 0); display.println ("COVID19 LIVE"); display.println (""); display.println ("Gjenopprettingsfrekvens:"); display.print (Recoveryrate); display.println (" %"); display.display (); forsinkelse (4000); display.clearDisplay (); }} annet {Serial.printf ("[HTTP] GET … mislyktes, feil: %s / n", http.errorToString (httpCode).c_str ()); } http.end (); } annet {Serial.printf ("[HTTP} Kan ikke koble til / n"); }

// Lesing 5: Lesing av dødsrate

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

{int httpCode = http. GET (); if (httpCode> 0) {if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) {Deathrate = http.getString (); Serial.print ("Dødelighet:"); Serial.println (Deathrate); display.setCursor (0, 0); display.println ("COVID19 LIVE"); display.println (""); display.println ("Dødelighet:"); display.print (Deathrate); display.println (" %"); display.display (); forsinkelse (4000); display.clearDisplay (); display.display (); }} annet {Serial.printf ("[HTTP] FÅ … mislyktes, feil: %s / n", http.errorToString (httpCode).c_str ()); } http.end (); } annet {Serial.printf ("[HTTP} Kan ikke koble til / n"); } mens (WiFi.status ()! = WL_CONNECTED) // I tilfelle Wifi -tilkoblingen går tapt {WiFi.disconnect (); forsinkelse (1000); WiFi.begin (ssid, passord); Serial.println ("Koble til WiFi igjen."); display.setCursor (0, 0); display.println ("Techtronic Harsh"); display.println (""); display.println ("Kobler til …"); display.display (); forsinkelse (10000); display.clearDisplay (); display.display (); }

}

/* © Techtronic Harsh

Youtube:

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

*/

Trinn 4: Arbeid:

Gjør tilkoblingene i henhold til kretsdiagrammet og last opp koden etter at du har valgt riktig kort og COM -port. Hvis det viser feil, må du kontrollere at du har lagt til biblioteket i henhold til instruksjonene ovenfor.

Hvis det tar mye tid å kjøre på OLED, må du sørge for at du har riktig tilkoblet internettjenester, dvs. din WiFi eller ditt hotspot.

Anbefalt: