Live Covid19-tracker met ESP8266 en OLED - Realtime Covid19-dashboard: 4 stappen
Live Covid19-tracker met ESP8266 en OLED - Realtime Covid19-dashboard: 4 stappen
Anonim
Image
Image

Bezoek de Techtronic Harsh-website:

Overal is er een enorme uitbraak van het Novel Corona Virus (COVID19). Het werd noodzakelijk om het huidige scenario van COVID-19 in de wereld in de gaten te houden.

Dus toen ik thuis was, was dit het project dat ik dacht van "World's Live Covid19 Dashboard" - een dashboard dat realtime updates biedt over de COVID-19-toestand van de wereld. U hoeft de tv niet meer aan te houden of naar verschillende websites te blijven kijken.

Het ontwerp van het project was niet het belangrijkste onderdeel. Maar iets nuttigs maken, gebruikmakend van de componenten die handig waren, was de uitdaging. Dit project zal je zeker helpen bij het bouwen van een eenvoudige dashboardinterface om je op de hoogte te houden.

Benodigdheden

  • ESP8266
  • OLED-scherm
  • Startkabels

Stap 1: Schema's:

Opzetten
Opzetten

Stap 2: Instellen:

Opzetten
Opzetten
Opzetten
Opzetten
  1. Bezoek de website van het Realtime Covid19-dashboard. Hier gebruik ik
  2. Login / meld u aan bij https://thingspeak.com. Ga naar de app en maak een nieuwe ThingHttp-actie.

    • Geef de naam van uw keuze, URL (https://trackcorona.live), methode als GET en in Parse String moet u de XPath van de trackcorna.live-website van het vereiste veld plakken dat u moet tonen.
    • In het bovenstaande voorbeeld (afbeelding) ben ik de string aan het parseren voor bevestigde gevallen, wat u alleen maar hoeft te doen:

      • Klik met de rechtermuisknop op Aantal bevestigde gevallen > Inspecteren,
      • Klik nogmaals met de rechtermuisknop in de Code> Kopiëren> CopyXPath
      • Plak dit in het veld Parse String van ThinkHttp-actie en sla het op.
      • Doe dit op dezelfde manier voor alle Hersteld, Sterfte, Sterftecijfer en Sterftecijfer.
      • Ga naar de broncode en vervang SSID door uw wifi-naam, wachtwoord door uw wifi-wachtwoord en API-sleutel door uw ThingHttp API.
  3. Upload de code. Dat is het!!

Stap 3: Broncode:

/* © Techtronic Harsh

Youtube:

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

*/

#include //Gebruik ESP8266-functies #include #include #include #include #include

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

const char* ssid = "*******"; // Uw router-SSID, d.w.z. WiFi-naam const char* wachtwoord = "*******"; //Uw wifi-wachtwoord const char* host = "api.thingspeak.com"; //We lezen de gegevens van deze host const int httpPortRead = 80; /* Wijzig gewoon de API-sleutel met uw API via ThingHttp */ const char* url1 = "/apps/thinghttp/send_request?api_key=TGC4KNQ98REOA4JH"; //Confirmed const char* url2 = "/apps/thinghttp/send_request?api_key=Y0ALN1QGDTNLLNNM"; //Recovered const char* url3 = "/apps/thinghttp/send_request?api_key=0J24MB3W9F9Q0E7M"; //Death const char* url4 = "/apps/thinghttp/send_request?api_key=R2BKR1DRVS5YT2PH"; //Herstelpercentage const char* url5 = "/apps/thinghttp/send_request?api_key=VYMVMGK9S8W21EXQ"; //Sterftecijfer

String Cases, Death, Recover, Recoveryrate, Deathrate;

WiFiClient-client; //Maak een WiFi-client en

HTTPClient

ongeldige setup() {

Serieel.begin(9600); //Start de seriële communicatie WiFi.disconnect(); //Verbreek de verbinding en maak opnieuw verbinding met de wifi die je hebt ingesteld voor vertraging (1000); WiFi.begin(ssid, wachtwoord); Serial.println("Verbonden met het wifi-netwerk"); // Feedback weergeven op de seriële monitor Serial.println (WiFi.localIP ()); weergave.begin(); weergave.weergave(); vertraging (1000);

display.clearDisplay();

weergave.weergave();

display.setTextSize(1);

display.setTextColor(WIT);

}

lege lus()

{ // Lezen 1: Lezen van bevestigde gevallen

if(http.begin(host, httpPortRead, url1)) // Maak verbinding met de host en de url

{ int httpCode = http. GET(); //Controleer feedback als er een reactie is if (httpCode > 0) { if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) { Cases = http.getString(); Serial.print("Bevestigde gevallen: "); Serial.println(Gevallen); display.setCursor(0, 0); display.println ("COVID19 LIVE"); display.println(""); display.println("Bevestigde gevallen: "); display.println(Gevallen); weergave.weergave(); vertraging (4000); display.clearDisplay(); } } else //If we can't get data { Serial.printf("[HTTP] GET… failed, error: %s\n", http.errorToString(httpCode).c_str()); } http.end(); } else //If we can't connect to the HTTP { Serial.printf("[HTTP} Unable to connect\n"); }

// Lezen 2: Lezen van Hersteld

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("Hersteld: "); Serial.println (Herstellen); display.setCursor(0, 0); display.println ("COVID19 LIVE"); display.println(""); display.println("Hersteld: "); display.println(Herstellen); weergave.weergave(); vertraging (4000); display.clearDisplay(); } } else { Serial.printf("[HTTP] GET… mislukt, fout: %s\n", http.errorToString(httpCode).c_str()); } http.end(); } else { Serial.printf("[HTTP} Kan geen verbinding maken\n"); }

// Lezen 3: Lezen van sterfgevallen

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("Overleden: "); Serial.println(Dood); display.setCursor(0, 0); display.println ("COVID19 LIVE"); display.println(""); display.println("Overleden: "); display.println(Dood); weergave.weergave(); vertraging (4000); display.clearDisplay(); } } else { Serial.printf("[HTTP] GET… mislukt, fout: %s\n", http.errorToString(httpCode).c_str()); } http.end(); } else { Serial.printf("[HTTP} Kan geen verbinding maken\n"); }

// Lezen 4: Lezen van herstelpercentage

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("Herstelpercentage: "); Serial.println (Recoveryrate); display.setCursor(0, 0); display.println ("COVID19 LIVE"); display.println(""); display.println("Herstelpercentage: "); display.print(Herstel); display.println(" % "); weergave.weergave(); vertraging (4000); display.clearDisplay(); } } else { Serial.printf("[HTTP] GET… mislukt, fout: %s\n", http.errorToString(httpCode).c_str()); } http.end(); } else { Serial.printf("[HTTP} Kan geen verbinding maken\n"); }

// Lezen 5: Lezen van sterftecijfer

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("Dodental: "); Serial.println (Deathrate); display.setCursor(0, 0); display.println ("COVID19 LIVE"); display.println(""); display.println("Dodental: "); display.print(Deathrate); display.println(" % "); weergave.weergave(); vertraging (4000); display.clearDisplay(); weergave.weergave(); } } else { Serial.printf("[HTTP] GET… mislukt, fout: %s\n", http.errorToString(httpCode).c_str()); } http.end(); } else { Serial.printf("[HTTP} Kan geen verbinding maken\n"); } while (WiFi.status() != WL_CONNECTED) //In het geval dat de wifi-verbinding wegvalt { WiFi.disconnect(); vertraging (1000); WiFi.begin(ssid, wachtwoord); Serial.println("Opnieuw verbinding maken met wifi.."); display.setCursor(0, 0); display.println ("Techtronic Harsh"); display.println(""); display.println(" Verbinding maken… "); weergave.weergave(); vertraging (10000); display.clearDisplay(); weergave.weergave(); }

}

/* © Techtronic Harsh

Youtube:

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

*/

Stap 4: Werken:

Maak de verbindingen volgens het schakelschema en upload de code na het selecteren van de juiste kaart en COM-poort. Als er een fout wordt weergegeven, zorg er dan voor dat u de bibliotheek hebt toegevoegd volgens de bovenstaande instructie.

Als het veel tijd kost om op OLED te draaien, zorg er dan voor dat u goed bent verbonden met internetdiensten, d.w.z. uw wifi of hotspot.

Aanbevolen: