Სარჩევი:
ვიდეო: ცოცხალი Covid19 ტრეკერი ESP8266 და OLED - გამოყენებით რეალურ დროში Covid19 დაფა: 4 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:16
ეწვიეთ Techtronic Harsh ვებსაიტს:
ყველგან არის ახალი კორონა ვირუსის (COVID19) უზარმაზარი აფეთქება. საჭირო გახდა მსოფლიოში COVID-19– ის მიმდინარე სცენარის დაკვირვება.
ასე რომ, სახლში ყოფნისას, ეს იყო პროექტი, რომელიც მე მოვიფიქრე "World's Live Covid19 Dashboard"-საინფორმაციო დაფა, რომელიც უზრუნველყოფს რეალურ დროში განახლებებს მსოფლიოს COVID-19 მდგომარეობის შესახებ. აღარ არის საჭირო ტელევიზორის ჩართვა ან ყურება სხვადასხვა ვებსაიტებზე.
პროექტის დიზაინი არ იყო მნიშვნელოვანი ნაწილი. მაგრამ რაიმე სასარგებლო, კომპონენტების გამოყენება, რაც მოსახერხებელი იყო, გამოწვევა იყო. ეს პროექტი აუცილებლად დაგეხმარებათ შექმნათ მარტივი საინფორმაციო დაფის ინტერფეისი განახლებისთვის.
მარაგები
- ESP8266
- OLED ეკრანი
- ჯუმბერის კაბელები
ნაბიჯი 1: სქემები:
ნაბიჯი 2: დაყენება:
- ეწვიეთ Realtime Covid19 დაფის ვებსაიტს. აქ მე ვიყენებ
-
შესვლა/რეგისტრაცია https://thingspeak.com. გადადით აპლიკაციაში და შექმენით ახალი ThingHttp მოქმედება.
- მიეცით თქვენი არჩევანის სახელი, URL (https://trackcorona.live), მეთოდი GET და Parse String, თქვენ უნდა ჩასვათ XPath საჭირო ველების trackcorna.live ვებსაიტიდან, რომლის ჩვენებაც გჭირდებათ.
-
ზემოთ მოყვანილ მაგალითში (სურათი), მე ვაანალიზებ სტრიქონს დადასტურებული შემთხვევებისთვის, ყველაფერი რაც თქვენ გჭირდებათ რომ გააკეთოთ არის
- მარჯვენა ღილაკით დაადასტურეთ შემთხვევების რაოდენობა> შეამოწმეთ,
- ისევ მარჯვენა ღილაკით დააწკაპუნეთ კოდზე> კოპირება> CopyXPath
- ჩასვით ეს ThinkHttp ქმედების Parse String ველში და შეინახეთ.
- ანალოგიურად, გააკეთეთ ეს ყველა გამოჯანმრთელებულთათვის, სიკვდილი, სიკვდილიანობა და სიკვდილიანობა.
- ეწვიეთ წყაროს კოდს და შეცვალეთ 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 და მავთული);
const char*ssid = "*******"; // თქვენი როუტერის SSID ანუ WiFi სახელი const char*პაროლი = "*******"; // თქვენი 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"; // ფატალური მაჩვენებელი
სიმებიანი შემთხვევები, სიკვდილი, აღდგენა, აღდგენა, სიკვდილიანობა;
WiFiClient კლიენტი; // შექმენით WiFi კლიენტი და http კლიენტი
HTTPClient
void setup () {
სერიული.დაწყება (9600); // სერიული კომუნიკაციის დაწყება WiFi.disconnect (); // გათიშეთ და ხელახლა დაუკავშირდით თქვენს მიერ დაყენებულ Wifi- ს (1000); WiFi.begin (ssid, პაროლი); Serial.println ("დაკავშირებულია WiFi ქსელთან"); // გამოხმაურების ჩვენება სერიულ მონიტორზე Serial.println (WiFi.localIP ()); ჩვენება.დაწყება (); ჩვენება. ჩვენება (); დაგვიანება (1000);
display.clearDisplay ();
ჩვენება. ჩვენება ();
display.setTextSize (1);
display.setTextColor (WHITE);
}
ბათილი მარყუჟი ()
{// კითხვა 1: დადასტურებული შემთხვევების კითხვა
if (http.begin (მასპინძელი, httpPortRead, url1)) // დაკავშირება მასპინძელთან და url– თან
{int httpCode = http. GET (); // შეამოწმეთ გამოხმაურება, თუ არსებობს პასუხი if (httpCode> 0) {if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) {Cases = http.getString (); Serial.print ("დადასტურებული შემთხვევები:"); Serial.println (შემთხვევები); display.setCursor (0, 0); display.println ("COVID19 LIVE"); display.println (""); display.println ("დადასტურებული შემთხვევები:"); ჩვენება. ბეჭდვა (შემთხვევები); ჩვენება. ჩვენება (); დაგვიანება (4000); display.clearDisplay (); }} სხვა // თუ მონაცემებს ვერ ვიღებთ {Serial.printf ("[HTTP] GET… ვერ მოხერხდა, შეცდომა: %s / n", http.errorToString (httpCode).c_str ()); } http.end (); } else // თუ ჩვენ ვერ შევუერთდებით HTTP {Serial.printf ("
// კითხვა 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 ("ამოღებულია:"); ჩვენება. ბეჭდვა (აღდგენა); ჩვენება. ჩვენება (); დაგვიანება (4000); display.clearDisplay (); }} else {Serial.printf ("[HTTP] GET… ვერ მოხერხდა, შეცდომა: %s / n", http.errorToString (httpCode).c_str ()); } http.end (); } else {Serial.printf ("[HTTP} დაკავშირება შეუძლებელია / n"); }
// კითხვა 3: სიკვდილის კითხვა
if (http.begin (მასპინძელი, httpPortRead, url3))
{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 ("სიკვდილი:"); ჩვენება. ბეჭდვა (სიკვდილი); ჩვენება. ჩვენება (); დაგვიანება (4000); display.clearDisplay (); }} else {Serial.printf ("[HTTP] GET… ვერ მოხერხდა, შეცდომა: %s / n", http.errorToString (httpCode).c_str ()); } http.end (); } else {Serial.printf ("
// კითხვა 4: წაკითხვის აღდგენის კურსი
if (http.begin (მასპინძელი, httpPortRead, url4))
{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 (" %"); ჩვენება. ჩვენება (); დაგვიანება (4000); display.clearDisplay (); }} else {Serial.printf ("[HTTP] GET… ვერ მოხერხდა, შეცდომა: %s / n", http.errorToString (httpCode).c_str ()); } http.end (); } else {Serial.printf ("
// კითხვა 5: სიკვდილის მაჩვენებლის კითხვა
if (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 ("ფატალური მაჩვენებელი:"); Serial.println (სიკვდილი); display.setCursor (0, 0); display.println ("COVID19 LIVE"); display.println (""); display.println ("ფატალური მაჩვენებელი:"); ჩვენება. ბეჭდვა (სიკვდილის მაჩვენებელი); display.println (" %"); ჩვენება. ჩვენება (); დაგვიანება (4000); display.clearDisplay (); ჩვენება. ჩვენება (); }} else {Serial.printf ("[HTTP] GET… ვერ მოხერხდა, შეცდომა: %s / n", http.errorToString (httpCode).c_str ()); } http.end (); } else {Serial.printf ("
}
/* © Techtronic Harsh
Youtube:
ინსტრუქციები: https://www.instructables.com/member/… Instagram: https://instagram.com/techtronicharsh ვებ გვერდი: https://techtronicharsh.com Telegram:
*/
ნაბიჯი 4: მუშაობა:
გააკეთეთ კავშირები სქემის მიხედვით და ატვირთეთ კოდი შესაბამისი დაფისა და COM პორტის არჩევის შემდეგ. თუ ის აჩვენებს შეცდომას, დარწმუნდით, რომ დაამატეთ ბიბლიოთეკა ზემოთ მოცემული ინსტრუქციის შესაბამისად.
თუ OLED– ზე გაშვებას დიდი დრო სჭირდება, დარწმუნდით, რომ სწორად ხართ დაკავშირებული ინტერნეტ სერვისებთან, ანუ თქვენს WiFi– სთან ან ცხელ წერტილთან.
გირჩევთ:
როგორ გამოვიყენოთ რეალურ დროში საათის მოდული (DS3231): 5 ნაბიჯი
როგორ გამოვიყენოთ რეალურ დროში საათის მოდული (DS3231): DS3231 არის იაფი, უკიდურესად ზუსტი I2C რეალურ დროში (RTC) ინტეგრირებული ტემპერატურის კომპენსირებული ბროლის ოსცილატორით (TCXO) და ბროლით. მოწყობილობა აერთიანებს ბატარეის შეყვანას და ინარჩუნებს ზუსტ დროს, როდესაც ძირითადი ენერგია
ჭაბურღილის რეალურ დროში წყლის დონის მრიცხველი: 6 ნაბიჯი (სურათებით)
ჭაბურღილების რეალურ დროში წყლის დონის მრიცხველი: ეს ინსტრუქციები აღწერს თუ როგორ უნდა ავაშენოთ დაბალფასიანი, რეალურ დროში წყლის დონის მრიცხველი გათხრილ ჭაბურღილებში გამოსაყენებლად. წყლის დონის მრიცხველი განკუთვნილია გათხრილი ჭის შიგნით, წყლის დონის გაზომვისთვის დღეში ერთხელ და მონაცემების WiFi- ით ან ფიჭური კავშირით გაგზავნით
წყლის ტემპერატურა რეალურ დროში, გამტარობა და წყლის დონის მრიცხველი: 6 ნაბიჯი (სურათებით)
რეალურ დროში ჭაბურღილის წყლის ტემპერატურა, გამტარობა და წყლის დონის მრიცხველი: ეს ინსტრუქციები აღწერს როგორ ავაშენოთ დაბალფასიანი, რეალურ დროში, წყლის მრიცხველი ტემპერატურის მონიტორინგისთვის, ელექტროგამტარობა (EC) და წყლის დონე გათხრილ ჭაბურღილებში. მრიცხველი განკუთვნილია გათხრილი ჭის შიგნით, წყლის ტემპერატურის გასაზომად, EC
Android– ზე რეალურ დროში გრაფიკის შედგენა Arduino– დან HC-05– ის საშუალებით: 3 ნაბიჯი
Android– ზე რეალურ დროში გრაფიკის შედგენა Arduino– დან HC-05– ის საშუალებით: აი, ეს არის სამეურვეო პროგრამა, თუ როგორ უნდა დავხატოთ რეალურ დროში ღირებულებების გრაფიკი მიკრო კონტროლერისგან, როგორიცაა Arduino– დან აპლიკაციამდე. ის იყენებს Bluetooth მოდულს, როგორიცაა HC-05, რომ იმოქმედოს როგორც შეტყობინებების მოწყობილობა მონაცემთა გადასაცემად და მისაღებად Ar
NODEMCU Lua ESP8266 რეალურ დროში (RTC) და EEPROM: 7 ნაბიჯი
NODEMCU Lua ESP8266 რეალურ დროში (RTC) და EEPROM: სწორი დროის მიღება აუცილებელია, თუ გსურთ მონაცემების ჟურნალის შენარჩუნება. ინტერნეტის წყაროებიდან დროის გამოსაყენებლად სხვადასხვა გზა არსებობს. თქვენ შეიძლება გკითხოთ, რატომ არ გამოიყენოთ ESP8266 დროის შესანარჩუნებლად? კარგად შეგიძლიათ, მას აქვს საკუთარი შიდა RTC (რეალურ დროში