INHOUDSOPGAWE:

Live Covid19 Tracker met ESP8266 en OLED - Intydse Covid19 -dashboard: 4 stappe
Live Covid19 Tracker met ESP8266 en OLED - Intydse Covid19 -dashboard: 4 stappe

Video: Live Covid19 Tracker met ESP8266 en OLED - Intydse Covid19 -dashboard: 4 stappe

Video: Live Covid19 Tracker met ESP8266 en OLED - Intydse Covid19 -dashboard: 4 stappe
Video: Episode 282: Philips Hue has high hopes for Project CHIP 2024, November
Anonim
Image
Image

Besoek die Techtronic Harsh -webwerf:

Oral is daar 'n groot uitbraak van die nuwe Corona -virus (COVID19). Dit het nodig geword om die huidige scenario van COVID-19 in die wêreld dop te hou.

Dus, tuis was dit die projek wat ek aan 'World's Live Covid19 Dashboard' gedink het-'n Dashboard wat intydse opdaterings bied oor die COVID-19-toestand van die wêreld. U hoef nie meer die TV aan te hou of op verskillende webwerwe te kyk nie.

Die ontwerp van die projek was nie die belangrikste deel nie. Maar om iets nuttigs te maak, deur die handige komponente te gebruik, was die uitdaging. Hierdie projek sal u beslis help om 'n eenvoudige dashboard -koppelvlak te bou om u op hoogte te hou.

Voorrade

  • ESP8266
  • OLED -skerm
  • Springkabels

Stap 1: Skema's:

Opstel
Opstel

Stap 2: Opstel:

Opstel
Opstel
Opstel
Opstel
  1. Besoek die webwerf van die Realtime Covid19 Dashboard. Hier gebruik ek
  2. Teken in/teken aan op https://thingspeak.com. Gaan na die app en skep nuwe ThingHttp -aksie.

    • Gee die naam van u keuse, URL (https://trackcorona.live), metode as GET en in Parse String moet u die XPath plak vanaf die trackcorna.live -webwerf van die vereiste veld wat u moet wys.
    • In die voorbeeld hierbo (beeld), ontleed ek 'n string vir bevestigde gevalle, wat u slegs moet doen

      • Klik met die rechtermuisknop op Aantal bevestigde gevalle> Inspekteer,
      • Klik weer regs in die kode> Kopieer> CopyXPath
      • Plak dit in die Ontleed String -veld van ThinkHttp Action en stoor dit.
      • Doen dit ook vir alle herstelde, sterftes, sterftesyfers en sterftesyfers.
      • Besoek die bronkode en vervang SSID met u Wifi -naam, wagwoord met u Wifi -wagwoord en API -sleutel met u ThingHttp -API.
  3. Laai die kode op. Dis dit!!

Stap 3: Bronkode:

/* © Techtronic Harsh

Youtube:

Instruksies: https://www.instructables.com/member/… Instagram: https://instagram.com/techtronicharsh Webwerf: https://techtronicharsh.com Telegram:

*/

#include // Gebruik ESP8266 -funksies #include #include #include #include #include

Adafruit_SSD1306 vertoning = Adafruit_SSD1306 (128, 32 en Wire);

const char*ssid = "*******"; // SSID van u router, dit wil sê WiFi -naam const char*wagwoord = "*******"; // U WiFi -wagwoord const char* host = "api.thingspeak.com"; // Ons lees die data van hierdie gasheer const int httpPortRead = 80; /* Verander net die API -sleutel met u API via ThingHttp*/const char* url1 = "/apps/thinghttp/send_request? Api_key = TGC4KNQ98REOA4JH"; // Bevestig const char* url2 = "/apps/thinghttp/send_request? Api_key = Y0ALN1QGDTNLLNNM"; // Herstel const char* url3 = "/apps/thinghttp/send_request? Api_key = 0J24MB3W9F9Q0E7M"; // Dood const char* url4 = "/apps/thinghttp/send_request? Api_key = R2BKR1DRVS5YT2PH"; // Hersteltempo const char* url5 = "/apps/thinghttp/send_request? Api_key = VYMVMGK9S8W21EXQ"; // Sterftesyfer

Stringgevalle, dood, herstel, verhaal, sterftesyfer;

WiFiClient -kliënt; // Skep 'n WiFi -kliënt en http -kliënt

HTTPClient

ongeldige opstelling () {

Serial.begin (9600); // Begin die seriële kommunikasie WiFi.disconnect (); // Ontkoppel en koppel weer aan die Wifi wat u vertraging stel (1000); WiFi.begin (ssid, wagwoord); Serial.println ("gekoppel aan die WiFi -netwerk"); // Gee terugvoer oor die seriële monitor Serial.println (WiFi.localIP ()); display.begin (); vertoon.display (); vertraging (1000);

display.clearDisplay ();

vertoon.display ();

display.setTextSize (1);

display.setTextColor (WIT);

}

leemte lus ()

{// Lees 1: Lees van bevestigde gevalle

if (http.begin (host, httpPortRead, url1)) // Koppel aan die gasheer en die url

{int httpCode = http. GET (); // Gaan terugvoer na as daar 'n antwoord is as (httpCode> 0) {if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) {Cases = http.getString (); Serial.print ("Bevestigde gevalle:"); Serial.println (gevalle); display.setCursor (0, 0); display.println ("COVID19 LIVE"); display.println (""); display.println ("Bevestigde gevalle:"); display.println (gevalle); vertoon.display (); vertraging (4000); display.clearDisplay (); }} anders // As ons nie data kan kry nie {Serial.printf ("[HTTP] GET … failed, error: %s / n", http.errorToString (httpCode).c_str ()); } http.end (); } anders // As ons nie aan die HTTP {Serial.printf ("[HTTP} kon nie verbind nie / n") koppel nie; }

// Lees 2: Lees van Herstel

as (http.begin (gasheer, httpPortRead, url2))

{int httpCode = http. GET (); if (httpCode> 0) {if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) {Herstel = http.getString (); Serial.print ("Herstel:"); Serial.println (Herstel); display.setCursor (0, 0); display.println ("COVID19 LIVE"); display.println (""); display.println ("Herstel:"); display.println (Herstel); vertoon.display (); vertraging (4000); display.clearDisplay (); }} anders {Serial.printf ("[HTTP] KRY … misluk, fout: %s / n", http.errorToString (httpCode).c_str ()); } http.end (); } anders {Serial.printf ("[HTTP} kon nie koppel nie / n"); }

// Lees 3: Lees van sterftes

as (http.begin (gasheer, httpPortRead, url3))

{int httpCode = http. GET (); as (httpCode> 0) {if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) {Death = http.getString (); Serial.print ("Sterftes:"); Serial.println (dood); display.setCursor (0, 0); display.println ("COVID19 LIVE"); display.println (""); display.println ("Sterftes:"); display.println (Death); vertoon.display (); vertraging (4000); display.clearDisplay (); }} anders {Serial.printf ("[HTTP] KRY … misluk, fout: %s / n", http.errorToString (httpCode).c_str ()); } http.end (); } anders {Serial.printf ("[HTTP} kon nie koppel nie / n"); }

// Lees 4: Lees van hersteltempo

as (http.begin (gasheer, httpPortRead, url4))

{int httpCode = http. GET (); as (httpCode> 0) {if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) {Recoveryrate = http.getString (); Serial.print ("Herstelkoers:"); Serial.println (Herstel); display.setCursor (0, 0); display.println ("COVID19 LIVE"); display.println (""); display.println ("Herstelsnelheid:"); display.print (Herstel); display.println (" %"); vertoon.display (); vertraging (4000); display.clearDisplay (); }} anders {Serial.printf ("[HTTP] KRY … misluk, fout: %s / n", http.errorToString (httpCode).c_str ()); } http.end (); } anders {Serial.printf ("[HTTP} kon nie koppel nie / n"); }

// Lees 5: Lees van sterftesyfer

as (http.begin (gasheer, httpPortRead, url5))

{int httpCode = http. GET (); as (httpCode> 0) {if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) {Deathrate = http.getString (); Serial.print ("Sterftesyfer:"); Serial.println (Deathrate); display.setCursor (0, 0); display.println ("COVID19 LIVE"); display.println (""); display.println ("Sterftesyfer:"); display.print (Deathrate); display.println (" %"); vertoon.display (); vertraging (4000); display.clearDisplay (); vertoon.display (); }} anders {Serial.printf ("[HTTP] KRY … misluk, fout: %s / n", http.errorToString (httpCode).c_str ()); } http.end (); } anders {Serial.printf ("[HTTP} kon nie koppel nie / n"); } terwyl (WiFi.status ()! = WL_CONNECTED) // As die Wifi -verbinding verlore gaan {WiFi.disconnect (); vertraging (1000); WiFi.begin (ssid, wagwoord); Serial.println ("Koppel weer aan WiFi.."); display.setCursor (0, 0); display.println ("Techtronic Harsh"); display.println (""); display.println ("Koppel …"); vertoon.display (); vertraging (10000); display.clearDisplay (); vertoon.display (); }

}

/* © Techtronic Harsh

Youtube:

Instruksies: https://www.instructables.com/member/… Instagram: https://instagram.com/techtronicharsh Webwerf: https://techtronicharsh.com Telegram:

*/

Stap 4: Werk:

Maak die verbindings volgens die stroombaan -diagram en laai die kode op nadat u die regte bord en COM -poort gekies het. As dit fout toon, maak seker dat u die biblioteek bygevoeg het volgens die instruksies hierbo.

As dit baie tyd neem om op OLED te werk, moet u seker maak dat u behoorlik gekoppel is aan internetdienste, dit wil sê u WiFi of hotspot.

Aanbeveel: