Мазмуну:
Video: ESP8266 жана OLEDди колдонгон Live Covid19 Tracker - Чыныгы убакыт Covid19 тактасы: 4 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:39
Visit Techtronic Harsh Website:
Бардык жерде роман Corona Virus (COVID19) чоң тутанышы бар. Дүйнөдө учурдагы COVID-19 сценарийине сергек болуу зарыл болуп калды.
Ошентип, үйдө жүргөндө, бул мен ойлогон "Дүйнөнүн Live Covid19 Dashboard" долбоору-бул дүйнөнүн COVID-19 абалы жөнүндө реалдуу убакытта жаңыртууларды камсыз кылган тактасы. Мындан ары телевизорду күйгүзүүнүн же ар кандай веб -сайттардан көрүүнүн кереги жок.
Долбоордун дизайны маанилүү бөлүгү болгон эмес. Бирок пайдалуу нерсени жасоо, колдо болгон компоненттерди колдонуу кыйынга турду. Бул долбоор, албетте, сизди жаңыртып туруу үчүн жөнөкөй панель интерфейсин түзүүгө жардам берет.
Жабдуулар
- ESP8266
- OLED дисплей
- Jumper Cables
1 -кадам: схемалар:
2 -кадам: Орнотуу:
- Realtime Covid19 тактасынын вебсайтына баш багыңыз. Бул жерде мен https://trackcorona.live колдонуп жатам.
-
Кирүү/Катталуу https://thingspeak.com. Колдонмого өтүңүз жана жаңы ThingHttp Action түзүңүз.
- Тандооңуздун атын бериңиз, URL (https://trackcorona.live), GET ыкмасы жана String Parseде, сиз көрсөтүшүңүз керек болгон талаанын trackcorna.live веб -сайтынан XPath чапташыңыз керек.
-
Жогорудагы мисалда (Сүрөт), мен ырасталган иштер үчүн сапты талдап жатам, эмне кылышыңыз керек
- Ырасталган иштердин санын> Текшерүү, оң баскычын басыңыз
- Дагы кодду оң баскыч> Көчүрүү> CopyXPath
- Муну ThinkHttp Action талдоо талчасына киргизиңиз жана сактаңыз.
- Ошо сыяктуу эле, муну бардык Калыбына келтирилген, Өлүм, Өлүмдүүлүк жана Өлүм көрсөткүчү үчүн жасаңыз.
- Булак кодексине баш багыңыз жана SSIDди Wifi Атыңыз менен, Сырсөзүңүздү Wifi Сырсөзүңүз менен жана API ачкычыңызды ThingHttp API менен алмаштырыңыз.
- Кодду жүктөө. Дал ушул!!
3 -кадам: Булак коду:
/* © Techtronic Harsh
Youtube:
Нускамалар: https://www.instructables.com/member/… Instagram: https://instagram.com/techtronicharsh Вебсайт: https://techtronicharsh.com Telegram:
*/
#кошуу // ESP8266 функцияларын колдонуу #кошуу #кошуу #кошуу #кошуу #кошуу
Adafruit_SSD1306 дисплей = Adafruit_SSD1306 (128, 32, & Wire);
const char*ssid = "*******"; // Сиздин роутериңиз SSID, башкача айтканда WiFi Name const char*password = "*******"; // Сиздин WiFi Сырсөзүңүз const char* host = "api.thingspeak.com"; // Биз бул хосттун маалыматтарын окуйбуз const int httpPortRead = 80; /* API ачкычын API менен ThingHttp аркылуу өзгөртүңүз*/const char* url1 = "/apps/thinghttp/send_request? Api_key = TGC4KNQ98REOA4JH"; // Ырасталган const char* url2 = "/apps/thinghttp/send_request? Api_key = Y0ALN1QGDTNLLNNM"; // Калыбына келтирилген const char* url3 = "/apps/thinghttp/send_request? Api_key = 0J24MB3W9F9Q0E7M"; // Death const char* url4 = "/apps/thinghttp/send_request? Api_key = R2BKR1DRVS5YT2PH"; // Калыбына келтирүү ылдамдыгы const char* url5 = "/apps/thinghttp/send_request? Api_key = VYMVMGK9S8W21EXQ"; // Fatality Rate
Стринг учурлары, өлүм, калыбына келтирүү, калыбына келтирүү, өлүм;
WiFiClient кардары; // WiFi кардарын жана http кардарын түзүңүз
HTTPClient
жараксыз орнотуу () {
Serial.begin (9600); // WiFi сериялык байланышын баштоо.disconnect (); // Кечиктирүүнү орноткон Wifiга туташуу жана кайра туташуу (1000); WiFi.begin (ssid, сырсөз); Serial.println ("WiFi тармагына туташкан"); // Serial.println (WiFi.localIP ()) сериялык мониторунда пикирлерди көрсөтүү; display.begin (); display.display (); кечигүү (1000);
display.clearDisplay ();
display.display ();
display.setTextSize (1);
display.setTextColor (АК);
}
боштук цикл ()
{// Окуу 1: Ырасталган иштерди окуу
if (http.begin (host, httpPortRead, url1)) // Хостко жана urlга туташуу
{int httpCode = http. GET (); // Эгерде жооп болсо, пикирди текшериңиз (httpCode> 0) {if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) {Cases = http.getString (); Serial.print ("Ырасталган учурлар:"); Serial.println (Cases); display.setCursor (0, 0); display.println ("COVID19 LIVE"); display.println (""); display.println ("Ырасталган учурлар:"); display.println (Cases); display.display (); кечигүү (4000); display.clearDisplay (); }} башка // Эгерде биз маалыматтарды ала албасак {Serial.printf ("[HTTP] GET… ишке ашкан жок, ката: %s / n", http.errorToString (httpCode).c_str ()); } http.end (); } else // Эгерде биз HTTPге туташа албасак {Serial.printf ("[HTTP} Туташуу мүмкүн эмес / n"); }
// 2 -окуу: Калыбына келтирилгендерди окуу
эгер (http.begin (хост, httpPortRead, url2))
{int httpCode = http. GET (); if (httpCode> 0) {if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) {Калыбына келтирүү = http.getString (); Serial.print ("Калыбына келтирилди:"); Serial.println (Калыбына келтирүү); display.setCursor (0, 0); display.println ("COVID19 LIVE"); display.println (""); display.println ("Калыбына келтирилди:"); display.println (Калыбына келтирүү); display.display (); кечигүү (4000); display.clearDisplay (); }} башка {Serial.printf ("[HTTP] GET… ишке ашкан жок, ката: %s / n", http.errorToString (httpCode).c_str ()); } http.end (); } else {Serial.printf ("[HTTP} Туташуу мүмкүн эмес / n")); }
// Окуу 3: Өлүмдөрдү окуу
эгер (http.begin (хост, httpPortRead, url3))
{int httpCode = http. GET (); if (httpCode> 0) {if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) {Death = http.getString (); Serial.print ("Өлүмдөр:"); Serial.println (Death); display.setCursor (0, 0); display.println ("COVID19 LIVE"); display.println (""); display.println ("Өлүмдөр:"); display.println (Өлүм); display.display (); кечигүү (4000); display.clearDisplay (); }} башка {Serial.printf ("[HTTP] GET… ишке ашкан жок, ката: %s / n", http.errorToString (httpCode).c_str ()); } http.end (); } else {Serial.printf ("[HTTP} Туташуу мүмкүн эмес / n")); }
// 4 -окуу: Калыбына келтирүү курсун окуу
эгер (http.begin (хост, httpPortRead, url4))
{int httpCode = http. GET (); if (httpCode> 0) {if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) {Recoveryrate = http.getString (); Serial.print ("Калыбына келтирүү ылдамдыгы:"); Serial.println (Калыбына келтирүү ылдамдыгы); display.setCursor (0, 0); display.println ("COVID19 LIVE"); display.println (""); display.println ("Калыбына келтирүү ылдамдыгы:"); display.print (Калыбына келтирүү ылдамдыгы); display.println (" %"); display.display (); кечигүү (4000); display.clearDisplay (); }} башка {Serial.printf ("[HTTP] GET… ишке ашкан жок, ката: %s / n", http.errorToString (httpCode).c_str ()); } http.end (); } else {Serial.printf ("[HTTP} Туташуу мүмкүн эмес / n")); }
// 5 -окуу: Өлүмдүн көрсөткүчү
эгер (http.begin (хост, httpPortRead, url5))
{int httpCode = http. GET (); if (httpCode> 0) {if (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 (); кечигүү (4000); display.clearDisplay (); display.display (); }} башка {Serial.printf ("[HTTP] GET… ишке ашкан жок, ката: %s / n", http.errorToString (httpCode).c_str ()); } http.end (); } else {Serial.printf ("[HTTP} Туташуу мүмкүн эмес / n")); } while (WiFi.status ()! = WL_CONNECTED) // Wifi байланышы үзүлгөн учурда {WiFi.disconnect (); кечигүү (1000); WiFi.begin (ssid, сырсөз); Serial.println ("WiFi'ге кайра туташууда.."); display.setCursor (0, 0); display.println ("Techtronic Harsh"); display.println (""); display.println ("Туташууда…."); display.display (); кечигүү (10000); display.clearDisplay (); display.display (); }
}
/* © Techtronic Harsh
Youtube:
Нускамалар: https://www.instructables.com/member/… Instagram: https://instagram.com/techtronicharsh Вебсайт: https://techtronicharsh.com Telegram:
*/
4 -кадам: Иштөө:
Байланыштарды райондук схемага ылайык жасаңыз жана туура тактаны жана COM портун тандап алгандан кийин кодду жүктөңүз. Эгерде ал ката көрсөтсө, китепкананы жогоруда берилген көрсөтмөгө ылайык кошконуңузга ишениңиз.
Эгерде OLEDде иштөө үчүн көп убакыт талап кылынса, интернет кызматтарына, башкача айтканда, WiFi же Hotspotко туура туташканыңызды текшериңиз.
Сунушталууда:
WIFI ЖАНА БЛЮНКТУ КОЛДОНГОН SERVO MOTOR CONTROL: 5 кадам
WIFI ЖАНА BLYNK КОЛДОНУУСУ МЕНЕН SERVO MOTOR КОНТРОЛЬ: Салам балдар, бул көрсөтмөдө, Node MCU жана Blynk тиркемесин колдонуп, WiFi аркылуу servo мотордун кыймылын кантип башкарууну үйрөнөлү
Ардуино Унону жана L298Nди колдонгон Line Follower роботу: 5 кадам
Arduino Uno жана L298N аркылуу Line Follower роботу: Line Flower - бул башталгыч электроника үчүн идеалдуу абдан жөнөкөй робот
LCD жана Arduino менен убакыт жана температура (ОҢДОГОН): 4 кадам
Убакыт жана температура LCD жана Arduino менен (ТҮЗӨТҮЛГӨН): Баарына салам! Менин атым Самуэле, мен 14 жаштамын, мен Сицилияданмын … Мен Ардуинонун дүйнөсүнө жаңы киргем! Менде электроника жана DIY долбоору боюнча тажрыйбам бар. , бирок мен чыгармаларымды жөнөкөйлөтүү үчүн Arduino боюнча кээ бир программаларды жаза баштадым. Бул менин биринчи Инс
Wemos D1 ESP8266, Arduino IDE жана Blynk тиркемесин колдонгон Wi-Fi роботу: 11 кадам (сүрөттөр менен)
Wemos D1 ESP8266, Arduino IDE жана Blynk тиркемесин колдонгон Wi-Fi менен башкарылган робот: Бул окуу куралында мен сизге Blynk тиркемесин колдонуп смартфондон башкарылган Wi-Fi менен башкарылуучу робот танкты кантип жасоону көрсөтөм. Бул долбоордо ESP8266 Wemos D1 тактасы колдонулган, бирок башка табак моделдерин да колдонсо болот (NodeMCU, Firebeetle ж. Б.), Жана пр
NodeMCU, ESP8266 жана MAX7219 менен телефон аркылуу башкаруу LED тактасы: 8 кадам
LED тактасын NodeMCU, ESP8266 жана MAX7219 менен телефон аркылуу башкарыңыз: Мен бурулуш сигнал катары LED тактасын башкаруу үчүн телефонду колдонгум келет. Ошентип, ESP8266 кирүү чекити, микроконтроллер жана сервер катары иштейт. Веб -сервердин 3 баскычы бар жөнөкөй веб -баракчасы болот: СОЛГО, ОҢГО жана Буруу SOSко. Текст