Sadržaj:

Praćenje Covid19 uživo pomoću ESP8266 i OLED - Kontrolna ploča Covid19 u stvarnom vremenu: 4 koraka
Praćenje Covid19 uživo pomoću ESP8266 i OLED - Kontrolna ploča Covid19 u stvarnom vremenu: 4 koraka
Anonim
Image
Image

Posjetite Techtronic Harsh web stranicu:

Svuda je velika epidemija novog korona virusa (COVID19). Postalo je potrebno paziti na trenutni scenarij COVID-19 u svijetu.

Dakle, dok sam bio kod kuće, ovo je bio projekt koji sam zamislio o “World’s Live Covid19 Dashboard”-Nadzornoj ploči koja pruža ažuriranja o stanju COVID-19 u stvarnom vremenu. Nema više potrebe za uključivanjem televizora ili gledanjem na raznim web stranicama.

Dizajn projekta nije bio važan dio. Ali napraviti nešto korisno, koristiti komponente koje su bile pri ruci bio je izazov. Ovaj će vam projekt zasigurno pomoći u izgradnji jednostavnog sučelja nadzorne ploče kako biste bili u toku.

Supplies

  • ESP8266
  • OLED ekran
  • Džemper kablovi

Korak 1: Sheme:

Postavljanje
Postavljanje

Korak 2: Postavljanje:

Postavljanje
Postavljanje
Postavljanje
Postavljanje
  1. Posjetite web stranicu nadzorne ploče Covid19 u stvarnom vremenu. Ovdje koristim
  2. Prijavite se/Prijavite se na https://thingspeak.com. Idite u aplikaciju i kreirajte novu ThingHttp radnju.

    • Dajte ime po svom izboru, URL (https://trackcorona.live), metodu kao GET i u nizu za raščlanjivanje morate zalijepiti XPath sa web stranice trackcorna.live potrebnog polja koje morate prikazati.
    • U gornjem primjeru (slika), ja raščlanjujem niz za potvrđene slučajeve, sve što trebate učiniti je

      • Desnom tipkom miša kliknite Broj potvrđenih slučajeva> Pregledajte,
      • Ponovo desnom tipkom miša kliknite Code> Copy> CopyXPath
      • Zalijepite ovo u polje Parse String ThinkHttp Action i sačuvajte ga.
      • Slično, učinite to za sve oporavljene, smrtne, smrtne i smrtne slučajeve.
      • Posjetite izvorni kod i zamijenite SSID svojim Wifi imenom, lozinku lozinkom za WiFi i API ključem za ThingHttp API.
  3. Otpremite kôd. To je to!!

Korak 3: Izvorni kod:

/* © Techtronic Harsh

Youtube:

Instrukcije: https://www.instructables.com/member/… Instagram: https://instagram.com/techtronicharsh Web stranica: https://techtronicharsh.com Telegram:

*/

#include // Koristite funkcije ESP8266 #include #include #include #include #include

Adafruit_SSD1306 display = Adafruit_SSD1306 (128, 32 i žica);

const char*ssid = "*******"; // SSID vašeg usmjerivača, tj. WiFi ime const char*lozinka = "*******"; // Vaša WiFi lozinka const char* host = "api.thingspeak.com"; // Čitamo podatke sa ovog hosta const int httpPortRead = 80; /* Samo promijenite API ključ s vašim API -jem putem ThingHttp*/const char* url1 = "/apps/thinghttp/send_request? Api_key = TGC4KNQ98REOA4JH"; // Potvrđeno const char* url2 = "/apps/thinghttp/send_request? Api_key = Y0ALN1QGDTNLLNNM"; // Oporavljen const char* url3 = "/apps/thinghttp/send_request? Api_key = 0J24MB3W9F9Q0E7M"; // Death const char* url4 = "/apps/thinghttp/send_request? Api_key = R2BKR1DRVS5YT2PH"; // Stopa oporavka const char* url5 = "/apps/thinghttp/send_request? Api_key = VYMVMGK9S8W21EXQ"; // Fatality Rate

String Case, Death, Recover, Recoveryrate, Deathrate;

WiFiClient klijent; // Kreiranje WiFi klijenta i http klijenta

HTTPClient

void setup () {

Serial.begin (9600); // Pokretanje serijske komunikacije WiFi.disconnect (); // Prekinite vezu i ponovo se povežite na Wifi koji ste postavili delay (1000); WiFi.begin (ssid, lozinka); Serial.println ("Povezano na WiFi mrežu"); // Prikaz povratnih informacija o serijskom monitoru Serial.println (WiFi.localIP ()); display.begin (); display.display (); kašnjenje (1000);

display.clearDisplay ();

display.display ();

display.setTextSize (1);

display.setTextColor (BIJELO);

}

void loop ()

{// Čitanje 1: Čitanje potvrđenih slučajeva

if (http.begin (host, httpPortRead, url1)) // Povežite se s hostom i url

{int httpCode = http. GET (); // Provjerite povratne informacije ako postoji odgovor if (httpCode> 0) {if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) {Cases = http.getString (); Serial.print ("Potvrđeni slučajevi:"); Serial.println (Slučajevi); display.setCursor (0, 0); display.println ("COVID19 LIVE"); display.println (""); display.println ("Potvrđeni slučajevi:"); display.println (futrole); display.display (); kašnjenje (4000); display.clearDisplay (); }} else // Ako ne možemo dobiti podatke {Serial.printf ("[HTTP] GET… failed, error: %s / n", http.errorToString (httpCode).c_str ()); } http.end (); } else // Ako se ne možemo povezati sa HTTP -om {Serial.printf ("[HTTP} Nije moguće povezati se / n"); }

// Čitanje 2: Čitanje oporavljenog

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 ("Oporavak:"); Serial.println (oporavak); display.setCursor (0, 0); display.println ("COVID19 LIVE"); display.println (""); display.println ("Oporavak:"); display.println (Oporavak); display.display (); kašnjenje (4000); display.clearDisplay (); }} else {Serial.printf ("[HTTP] GET … nije uspelo, greška: %s / n", http.errorToString (httpCode).c_str ()); } http.end (); } else {Serial.printf ("[HTTP} Nije moguće povezati se / n"); }

// Čitanje 3: Čitanje smrti

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 ("Smrti:"); Serial.println (Smrt); display.setCursor (0, 0); display.println ("COVID19 LIVE"); display.println (""); display.println ("Smrti:"); display.println (Smrt); display.display (); kašnjenje (4000); display.clearDisplay (); }} else {Serial.printf ("[HTTP] GET … nije uspelo, greška: %s / n", http.errorToString (httpCode).c_str ()); } http.end (); } else {Serial.printf ("[HTTP} Nije moguće povezati se / n"); }

// Očitavanje 4: Očitavanje stope oporavka

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 ("Stopa oporavka:"); Serial.println (oporavak); display.setCursor (0, 0); display.println ("COVID19 LIVE"); display.println (""); display.println ("Stopa oporavka:"); display.print (oporavak); display.println (" %"); display.display (); kašnjenje (4000); display.clearDisplay (); }} else {Serial.printf ("[HTTP] GET … nije uspelo, greška: %s / n", http.errorToString (httpCode).c_str ()); } http.end (); } else {Serial.printf ("[HTTP} Nije moguće povezati se / n"); }

// Čitanje 5: Očitavanje stope smrtnosti

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

{int httpCode = http. GET (); if (httpCode> 0) {if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) {Smrtna stopa = http.getString (); Serial.print ("Fatality Rate:"); Serial.println (Smrtna stopa); display.setCursor (0, 0); display.println ("COVID19 LIVE"); display.println (""); display.println ("Fatality Rate:"); display.print (Smrtna stopa); display.println (" %"); display.display (); kašnjenje (4000); display.clearDisplay (); display.display (); }} else {Serial.printf ("[HTTP] GET … nije uspelo, greška: %s / n", http.errorToString (httpCode).c_str ()); } http.end (); } else {Serial.printf ("[HTTP} Nije moguće povezati se / n"); } while (WiFi.status ()! = WL_CONNECTED) // U slučaju da se WiFi veza izgubi {WiFi.disconnect (); kašnjenje (1000); WiFi.begin (ssid, lozinka); Serial.println ("Ponovno povezivanje na WiFi.."); display.setCursor (0, 0); display.println ("Techtronic Harsh"); display.println (""); display.println ("Povezivanje …."); display.display (); kašnjenje (10000); display.clearDisplay (); display.display (); }

}

/* © Techtronic Harsh

Youtube:

Instrukcije: https://www.instructables.com/member/… Instagram: https://instagram.com/techtronicharsh Web stranica: https://techtronicharsh.com Telegram:

*/

Korak 4: Rad:

Povežite se prema dijagramu kola i učitajte kôd nakon što odaberete odgovarajuću ploču i COM port. Ako se prikaže greška, provjerite jeste li dodali biblioteku prema gore navedenim uputama.

Ako je potrebno mnogo vremena za pokretanje na OLED -u, pobrinite se da ste pravilno povezani s internetskim uslugama, to jest sa WiFi ili hotspotom.

Preporučuje se: