Satura rādītājs:

Tiešais Covid19 izsekotājs, izmantojot ESP8266 un OLED - Reāllaika Covid19 informācijas panelis: 4 soļi
Tiešais Covid19 izsekotājs, izmantojot ESP8266 un OLED - Reāllaika Covid19 informācijas panelis: 4 soļi

Video: Tiešais Covid19 izsekotājs, izmantojot ESP8266 un OLED - Reāllaika Covid19 informācijas panelis: 4 soļi

Video: Tiešais Covid19 izsekotājs, izmantojot ESP8266 un OLED - Reāllaika Covid19 informācijas panelis: 4 soļi
Video: SKR 1.4 - TMC2209 v1.2 2024, Jūlijs
Anonim
Image
Image

Apmeklējiet Techtronic skarbo vietni:

Visur ir milzīgs jauna koronavīrusa (COVID19) uzliesmojums. Bija nepieciešams sekot līdzi pašreizējam COVID-19 scenārijam pasaulē.

Tātad, būdams mājās, es domāju par projektu “World’s Live Covid19 Dashboard”-informācijas panelis, kas sniedz reāllaika atjauninājumus par COVID-19 stāvokli pasaulē. Vairs nav nepieciešams ieslēgt televizoru vai skatīties dažādās vietnēs.

Projekta dizains nebija svarīga daļa. Taču izaicinājums bija izveidot kaut ko noderīgu, izmantojot parocīgus komponentus. Šis projekts noteikti palīdzēs jums izveidot vienkāršu informācijas paneļa saskarni, lai jūs pastāvīgi atjauninātu.

Piegādes

  • ESP8266
  • OLED displejs
  • Jumper kabeļi

1. darbība. Shēmas:

Uzstādīt
Uzstādīt

2. darbība: iestatīšana:

Uzstādīt
Uzstādīt
Uzstādīt
Uzstādīt
  1. Apmeklējiet reāllaika Covid19 informācijas paneļa vietni. Šeit es izmantoju
  2. Piesakieties/reģistrējieties vietnē https://thingspeak.com. Dodieties uz lietotni un izveidojiet jaunu ThingHttp darbību.

    • Norādiet savas izvēles nosaukumu, URL (https://trackcorona.live), metodi kā GET un Parse String, jums jāielīmē XPath no vajadzīgā lauka, kas jāparāda, no trackcorna.live vietnes.
    • Iepriekš minētajā piemērā (attēls) es analizēju virkni apstiprinātiem gadījumiem, viss, kas jums jādara
      • Ar peles labo pogu noklikšķiniet uz Apstiprināto gadījumu skaits> Pārbaudīt,
      • Atkal ar peles labo pogu noklikšķiniet uz koda> Kopēt> CopyXPath
      • Ielīmējiet to ThinkHttp Action laukā Parse String un saglabājiet to.
      • Līdzīgi dariet to visiem atgūtajiem, nāves, mirstības un nāves rādītājiem.
      • Apmeklējiet avota kodu un aizstājiet SSID ar savu Wifi nosaukumu, paroli ar savu Wifi paroli un API atslēgu ar savu ThingHttp API.
  3. Augšupielādējiet kodu. Tieši tā!!

3. darbība. Avota kods:

/* © Techtronic Harsh

Youtube:

Instrukcijas: https://www.instructables.com/member/… Instagram: https://instagram.com/techtronicharsh Tīmekļa vietne: https://techtronicharsh.com Telegramma:

*/

#include // Izmantojiet ESP8266 funkcijas #include #include #include #include #include

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

const char*ssid = "*******"; // Jūsu maršrutētāja SSID, t.i., WiFi nosaukums const char*password = "*******"; // Jūsu WiFi parole const char* host = "api.thingspeak.com"; // Mēs lasām datus no šī resursdatora konst int httpPortRead = 80; /* Vienkārši nomainiet API atslēgu ar savu API, izmantojot ThingHttp*/const char* url1 = "/apps/thinghttp/send_request? Api_key = TGC4KNQ98REOA4JH"; // Apstiprināta const char* url2 = "/apps/thinghttp/send_request? Api_key = Y0ALN1QGDTNLLNNM"; // Atgūts const char* url3 = "/apps/thinghttp/send_request? Api_key = 0J24MB3W9F9Q0E7M"; // Death const char* url4 = "/apps/thinghttp/send_request? Api_key = R2BKR1DRVS5YT2PH"; // Atkopšanas ātrums const char* url5 = "/apps/thinghttp/send_request? Api_key = VYMVMGK9S8W21EXQ"; // Nāvējošais rādītājs

Stīgu lietas, nāve, atgūšana, atveseļošanās, nāve;

WiFiClient klients; // Izveidojiet WiFi klientu un http klientu

HTTP klients

void setup () {

Sērijas sākums (9600); // Sāciet seriālo komunikāciju WiFi.disconnect (); // Atvienojiet un atkārtoti izveidojiet savienojumu ar iestatīto Wifi (1000); WiFi.begin (ssid, parole); Serial.println ("Savienots ar WiFi tīklu"); // Parādīt atsauksmes par seriālo monitoru Serial.println (WiFi.localIP ()); display.begin (); display.display (); kavēšanās (1000);

display.clearDisplay ();

display.display ();

display.setTextSize (1);

display.setTextColor (BALTS);

}

tukša cilpa ()

{// 1. lasījums: apstiprinātu gadījumu lasīšana

if (http.begin (resursdators, httpPortRead, url1)) // Izveidojiet savienojumu ar resursdatoru un URL

{int httpCode = http. GET (); // Pārbaudiet atsauksmes, vai ir atbilde, ja (httpCode> 0) {if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) {Cases = http.getString (); Serial.print ("Apstiprinātie gadījumi:"); Serial.println (lietas); display.setCursor (0, 0); display.println ("COVID19 LIVE"); display.println (""); display.println ("Apstiprinātie gadījumi:"); display.println (Lietas); display.display (); kavēšanās (4000); display.clearDisplay (); }} else // Ja mēs nevaram iegūt datus {Serial.printf ("[HTTP] GET … neizdevās, kļūda: %s / n", http.errorToString (httpCode).c_str ()); } http.end (); } else // Ja mēs nevaram izveidot savienojumu ar HTTP {Serial.printf ("[HTTP} Nevar izveidot savienojumu / n"); }

// 2. lasījums: Atgūto lasīšana

ja (http.begin (resursdators, httpPortRead, url2))

{int httpCode = http. GET (); ja (httpCode> 0) {ja (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) {Recover = http.getString (); Serial.print ("Atkopts:"); Serial.println (Atgūt); display.setCursor (0, 0); display.println ("COVID19 LIVE"); display.println (""); display.println ("Atkopts:"); display.println (Atgūt); display.display (); kavēšanās (4000); display.clearDisplay (); }} else {Serial.printf ("[HTTP] GET … neizdevās, kļūda: %s / n", http.errorToString (httpCode).c_str ()); } http.end (); } else {Serial.printf ("[HTTP} Nevar izveidot savienojumu / n"); }

// 3. lasījums: Nāves lasīšana

ja (http.begin (resursdators, httpPortRead, url3))

{int httpCode = http. GET (); ja (httpCode> 0) {ja (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) {Nāve = http.getString (); Serial.print ("Nāves:"); Serial.println (Nāve); display.setCursor (0, 0); display.println ("COVID19 LIVE"); display.println (""); display.println ("Nāves:"); display.println (Nāve); display.display (); kavēšanās (4000); display.clearDisplay (); }} else {Serial.printf ("[HTTP] GET … neizdevās, kļūda: %s / n", http.errorToString (httpCode).c_str ()); } http.end (); } else {Serial.printf ("[HTTP} Nevar izveidot savienojumu / n"); }

// 4. lasījums: atkopšanas ātruma nolasīšana

ja (http.begin (resursdators, httpPortRead, url4))

{int httpCode = http. GET (); ja (httpCode> 0) {ja (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) {Recoveryrate = http.getString (); Serial.print ("Atkopšanas ātrums:"); Serial.println (atkopšanas); display.setCursor (0, 0); display.println ("COVID19 LIVE"); display.println (""); display.println ("Atkopšanas ātrums:"); display.print (Recoveryrate); display.println (" %"); display.display (); kavēšanās (4000); display.clearDisplay (); }} else {Serial.printf ("[HTTP] GET … neizdevās, kļūda: %s / n", http.errorToString (httpCode).c_str ()); } http.end (); } else {Serial.printf ("[HTTP} Nevar izveidot savienojumu / n"); }

// 5. lasījums: Nāves rādītāja nolasīšana

ja (http.begin (resursdators, httpPortRead, url5))

{int httpCode = http. GET (); ja (httpCode> 0) {ja (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) {Deathrate = http.getString (); Serial.print ("Fatality Rate:"); Serial.println (Deathrate); display.setCursor (0, 0); display.println ("COVID19 LIVE"); display.println (""); display.println ("Fatality Rate:"); display.print (Deathrate); display.println (" %"); display.display (); kavēšanās (4000); display.clearDisplay (); display.display (); }} else {Serial.printf ("[HTTP] GET … neizdevās, kļūda: %s / n", http.errorToString (httpCode).c_str ()); } http.end (); } else {Serial.printf ("[HTTP} Nevar izveidot savienojumu / n"); } while (WiFi.status ()! = WL_CONNECTED) // Gadījumā, ja tiek zaudēts Wifi savienojums {WiFi.disconnect (); kavēšanās (1000); WiFi.begin (ssid, parole); Serial.println ("Atkārtota savienojuma izveide ar WiFi.."); display.setCursor (0, 0); display.println ("Techtronic skarbs"); display.println (""); display.println ("Notiek savienošana …"); display.display (); kavēšanās (10000); display.clearDisplay (); display.display (); }

}

/* © Techtronic Harsh

Youtube:

Instrukcijas: https://www.instructables.com/member/… Instagram: https://instagram.com/techtronicharsh Tīmekļa vietne: https://techtronicharsh.com Telegramma:

*/

4. solis: darbs:

Izveidojiet savienojumus saskaņā ar shēmu un augšupielādējiet kodu pēc atbilstošas plates un COM porta izvēles. Ja tas parāda kļūdu, pārliecinieties, vai esat pievienojis bibliotēku saskaņā ar iepriekš sniegtajiem norādījumiem.

Ja OLED palaišana prasa daudz laika, pārliecinieties, vai esat pareizi izveidojis savienojumu ar interneta pakalpojumiem, ti, savu WiFi vai tīklāju.

Ieteicams: