Cuprins:
Video: Live Covid19 Tracker Utilizând ESP8266 și OLED - Tablou de bord Covid19 în timp real: 4 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:42
Accesați site-ul Web Techtronic Harsh:
Peste tot există un focar uriaș al virusului Corona de roman (COVID19). A devenit necesar să urmărim scenariul actual al COVID-19 în lume.
Așadar, fiind acasă, acesta a fost proiectul pe care l-am gândit la „World’s Live Covid19 Dashboard” - Un tablou de bord care oferă actualizări în timp real despre starea lumii COVID-19. Nu mai este nevoie să păstrați televizorul pornit sau să urmăriți în continuare pe diferite site-uri web.
Proiectarea proiectului nu a fost partea importantă. Dar a face ceva util, folosind componentele care erau la îndemână a fost provocarea. Acest proiect vă va ajuta cu siguranță să construiți o interfață simplă de tablou de bord pentru a vă menține la curent.
Provizii
- ESP8266
- Afișaj OLED
- Cabluri jumper
Pasul 1: Scheme:
Pasul 2: Configurare:
- Accesați site-ul web Realtime Covid19 Dashboard. Aici folosesc
-
Conectați-vă / Înscrieți-vă la https://thingspeak.com. Accesați aplicația și creați o acțiune ThingHttp nouă.
- Dați numele alegerii dvs., adresa URL (https://trackcorona.live), metoda ca GET și în Parse String, trebuie să lipiți XPath de pe site-ul trackcorna.live din câmpul obligatoriu pe care trebuie să îl afișați.
-
În Exemplul de mai sus (Imagine), Analizez șirul pentru cazuri confirmate, tot ce trebuie să faceți este
- Faceți clic dreapta pe Numărul de cazuri confirmate> Inspectați,
- Din nou Faceți clic dreapta în Cod> Copiere> CopiereXPath
- Lipiți acest lucru în câmpul Parse String al acțiunii ThinkHttp și Salvați-l.
- În mod similar, faceți acest lucru pentru toți cei recuperați, deces, rata mortalității și rata mortalității.
- Accesați codul sursă și înlocuiți SSID cu numele dvs. Wifi, parola cu parola dvs. Wifi și cheia API cu API-ul ThingHttp.
- Încărcați codul. Asta e!!
Pasul 3: Cod sursă:
/ * © Techtronic Harsh
Youtube:
Instrucțiuni: https://www.instructables.com/member/… Instagram: https://instagram.com/techtronicharsh Site web: https://techtronicharsh.com Telegramă:
*/
#include // Utilizați funcțiile ESP8266 #include #include #include #include #include
Adafruit_SSD1306 display = Adafruit_SSD1306 (128, 32, & Wire);
const char * ssid = "*******"; // SSID-ul routerului dvs. adică Nume WiFi const char * parolă = "*******"; // Parola dvs. WiFi const char * host = "api.thingspeak.com"; // Citim datele din această gazdă const int httpPortRead = 80; / * Doar schimbați cheia API cu API-ul dvs. prin ThingHttp * / const char * url1 = "/ apps / thinghttp / send_request? Api_key = TGC4KNQ98REOA4JH"; // Conf confirmat const char * url2 = "/ apps / thinghttp / send_request? Api_key = Y0ALN1QGDTNLLNNM"; // Recuperat const char * url3 = "/ apps / thinghttp / send_request? Api_key = 0J24MB3W9F9Q0E7M"; // Death const char * url4 = "/ apps / thinghttp / send_request? Api_key = R2BKR1DRVS5YT2PH"; // Rata de recuperare const char * url5 = "/ apps / thinghttp / send_request? Api_key = VYMVMGK9S8W21EXQ"; // Rata de fatalitate
Cazuri de șir, deces, recuperare, recuperare, rata mortalității;
Client WiFiClient; // Creați un client WiFi și un client
HTTPClient
configurare nulă () {
Serial.begin (9600); // Porniți comunicația serial WiFi.disconnect (); // Deconectați-vă și reconectați-vă la Wifi setat întârziere (1000); WiFi.begin (ssid, parolă); Serial.println ("Conectat la rețeaua WiFi"); // Afișați feedback pe monitorul serial Serial.println (WiFi.localIP ()); display.begin (); display.display (); întârziere (1000);
display.clearDisplay ();
display.display ();
display.setTextSize (1);
display.setTextColor (ALB);
}
bucla nulă ()
{// Citirea 1: citirea cazurilor confirmate
if (http.begin (host, httpPortRead, url1)) // Conectați-vă la gazdă și la adresa URL
{int httpCode = http. GET (); // Verificați feedback-ul dacă există un răspuns if (httpCode> 0) {if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) {Cases = http.getString (); Serial.print („Cazuri confirmate:”); Serial.println (Cazuri); display.setCursor (0, 0); display.println ("COVID19 LIVE"); display.println (""); display.println ("Cazuri confirmate:"); display.println (Cazuri); display.display (); întârziere (4000); display.clearDisplay (); }} else // Dacă nu putem obține date {Serial.printf ("[HTTP] GET … a eșuat, eroare:% s / n", http.errorToString (httpCode).c_str ()); } http.end (); } else // Dacă nu ne putem conecta la HTTP {Serial.printf ("[HTTP} Nu se poate conecta / n"); }
// Citirea 2: Citirea de recuperat
if (http.begin (host, httpPortRead, url2))
{int httpCode = http. GET (); if (httpCode> 0) {if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) {Recuperare = http.getString (); Serial.print ("Recuperat:"); Serial.println (Recuperare); display.setCursor (0, 0); display.println ("COVID19 LIVE"); display.println (""); display.println ("Recuperat:"); display.println (Recuperare); display.display (); întârziere (4000); display.clearDisplay (); }} else {Serial.printf ("[HTTP] GET … a eșuat, eroare:% s / n", http.errorToString (httpCode).c_str ()); } http.end (); } else {Serial.printf ("[HTTP} Imposibil de conectat / n"); }
// Lectura 3: Lectura morților
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 ("Moarte:"); Serial.println (Moarte); display.setCursor (0, 0); display.println ("COVID19 LIVE"); display.println (""); display.println ("Moarte:"); display.println (Moarte); display.display (); întârziere (4000); display.clearDisplay (); }} else {Serial.printf ("[HTTP] GET … a eșuat, eroare:% s / n", http.errorToString (httpCode).c_str ()); } http.end (); } else {Serial.printf ("[HTTP} Imposibil de conectat / n"); }
// Citirea 4: citirea ratei de recuperare
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 („Rata de recuperare”); Serial.println (Recoveryrate); display.setCursor (0, 0); display.println ("COVID19 LIVE"); display.println (""); display.println ("Rata de recuperare:"); display.print (Recoveryrate); display.println ("%"); display.display (); întârziere (4000); display.clearDisplay (); }} else {Serial.printf ("[HTTP] GET … a eșuat, eroare:% s / n", http.errorToString (httpCode).c_str ()); } http.end (); } else {Serial.printf ("[HTTP} Imposibil de conectat / n"); }
// Lectura 5: Citirea ratei mortalității
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 („Rata de fatalitate”); Serial.println (Deathrate); display.setCursor (0, 0); display.println ("COVID19 LIVE"); display.println (""); display.println ("Rata de fatalitate:"); display.print (Deathrate); display.println ("%"); display.display (); întârziere (4000); display.clearDisplay (); display.display (); }} else {Serial.printf ("[HTTP] GET … a eșuat, eroare:% s / n", http.errorToString (httpCode).c_str ()); } http.end (); } else {Serial.printf ("[HTTP} Imposibil de conectat / n"); } while (WiFi.status ()! = WL_CONNECTED) // În cazul în care conexiunea Wifi se pierde {WiFi.disconnect (); întârziere (1000); WiFi.begin (ssid, parolă); Serial.println ("Reconectarea la WiFi.."); display.setCursor (0, 0); display.println ("Techtronic Harsh"); display.println (""); display.println ("Conectarea …."); display.display (); întârziere (10000); display.clearDisplay (); display.display (); }
}
/ * © Techtronic Harsh
Youtube:
Instrucțiuni: https://www.instructables.com/member/… Instagram: https://instagram.com/techtronicharsh Website: https://techtronicharsh.com Telegramă:
*/
Pasul 4: Lucrul:
Faceți conexiunile conform schemei de circuit și încărcați codul după ce ați selectat placa și portul COM corespunzătoare. Dacă arată eroare, asigurați-vă că ați adăugat biblioteca conform instrucțiunilor date mai sus.
Dacă este nevoie de mult timp pentru a rula pe OLED, asigurați-vă că v-ați conectat corect la serviciile de internet, adică WiFi sau hotspot.
Recomandat:
Cum se folosește un modul de ceas în timp real (DS3231): 5 pași
Cum se folosește un modul de ceas în timp real (DS3231): DS3231 este un ceas I2C în timp real (RTC) cu cost redus, extrem de precis, cu un oscilator de cristal integrat compensat de temperatură (TCXO) și cristal. Dispozitivul încorporează o intrare a bateriei și menține o cronometrare exactă atunci când alimentarea principală la
Solver Rubik’s Cube Blindfolded în timp real folosind Raspberry Pi și OpenCV: 4 pași
Solver Rubik’s Cube Blindfolded în timp real folosind Raspberry Pi și OpenCV: Aceasta este a doua versiune a instrumentului cub Rubik’s cub făcut pentru rezolvarea în legături la ochi. Prima versiune a fost dezvoltată de javascript, puteți vedea proiectul RubiksCubeBlindfolded1 Spre deosebire de versiunea anterioară, această versiune folosește biblioteca OpenCV pentru a detecta culorile și e
Visuino - Obțineți timp precis de pe serverul Internet NIST utilizând NodeMCU: 8 pași
Visuino - Obțineți un timp precis de pe serverul Internet NIST utilizând NodeMCU: În acest tutorial vom folosi NodeMCU Mini, OLED Lcd și Visuino pentru a afișa timpul de internet live de pe serverul NIST pe Lcd. Urmăriți un videoclip demonstrativ. Creditul pentru inspirație revine utilizatorului youtube " Ciprian Balalau "
NODEMCU Lua ESP8266 Cu ceas în timp real (RTC) și EEPROM: 7 pași
NODEMCU Lua ESP8266 Cu ceas în timp real (RTC) și EEPROM: Obținerea orei corecte este esențială dacă doriți să păstrați un jurnal de date. Există diferite modalități de a obține timpul din surse de pe Internet. S-ar putea să întrebați de ce să nu folosiți ESP8266 pentru a vă menține timpul? Ei bine, puteți, are propriul RTC intern (în timp real
Tracker GPS de casă în timp real (SIM800L, Ublox NEO-6M, Arduino): 8 pași
Tracker GPS în timp real de casă (SIM800L, Ublox NEO-6M, Arduino): Deci aveți un modul GSM așezat ca mine? De asemenea, un GPS-tracker? Gândim la fel! În acest instructable, voi încerca să vă îndrum cum să vă atingeți obiectivul din perspectiva unui începător. Deoarece nu aveam cunoștințe anterioare de inginerie electrică (să