جدول المحتويات:

Live Covid19 Tracker باستخدام ESP8266 و OLED - لوحة معلومات Realtime Covid19: 4 خطوات
Live Covid19 Tracker باستخدام ESP8266 و OLED - لوحة معلومات Realtime Covid19: 4 خطوات

فيديو: Live Covid19 Tracker باستخدام ESP8266 و OLED - لوحة معلومات Realtime Covid19: 4 خطوات

فيديو: Live Covid19 Tracker باستخدام ESP8266 و OLED - لوحة معلومات Realtime Covid19: 4 خطوات
فيديو: ESP32 Smart Digital Notice Board using I2C LCD and Async Webserver #ElecrowMaker 2024, شهر نوفمبر
Anonim
Image
Image

قم بزيارة موقع Techtronic Harsh:

في كل مكان ، هناك انتشار كبير لفيروس كورونا الجديد (COVID19). أصبح من الضروري مراقبة السيناريو الحالي لـ COVID-19 في العالم.

لذا ، لكوني في المنزل ، كان هذا هو المشروع الذي فكرت فيه في "لوحة التحكم الرئيسية في العالم لـ Covid19" - لوحة تحكم توفر تحديثات في الوقت الفعلي حول حالة COVID-19 في العالم. لا داعي للإبقاء على التلفاز قيد التشغيل أو الاستمرار في المشاهدة في مواقع الويب المختلفة.

لم يكن تصميم المشروع هو الجزء المهم. لكن صنع شيء مفيد ، باستخدام المكونات التي كانت في متناول اليد كان التحدي. سيساعدك هذا المشروع بالتأكيد في إنشاء واجهة لوحة معلومات بسيطة لإبقائك على اطلاع دائم.

اللوازم

  • ESP8266
  • شاشة OLED
  • كابلات العبور

الخطوة الأولى: المخططات:

اعداد
اعداد

الخطوة الثانية: الإعداد:

اعداد
اعداد
اعداد
اعداد
  1. قم بزيارة موقع ويب Realtime Covid19 Dashboard. أنا هنا أستخدم
  2. تسجيل الدخول / الاشتراك في https://thingspeak.com. انتقل إلى التطبيق وقم بإنشاء ThingHttp Action جديد.

    • أعط الاسم الذي تختاره وعنوان URL (https://trackcorona.live) والطريقة مثل GET وفي سلسلة التحليل ، تحتاج إلى لصق XPath من موقع الويب trackcorna.live للحقل المطلوب الذي تريد إظهاره.
    • في المثال أعلاه (الصورة) ، أقوم بتحليل سلسلة للحالات المؤكدة ، كل ما عليك القيام به هو

      • انقر بزر الماوس الأيمن على عدد الحالات المؤكدة> فحص ،
      • مرة أخرى انقر بزر الماوس الأيمن في الرمز> نسخ> CopyXPath
      • الصق هذا في حقل "سلسلة التحليل" في إجراء ThinkHttp واحفظه.
      • وبالمثل ، قم بذلك لجميع المتعافين والوفيات ومعدل الوفيات ومعدل الوفيات.
      • قم بزيارة رمز المصدر واستبدل SSID باسم Wifi وكلمة المرور بكلمة مرور Wifi ومفتاح API باستخدام ThingHttp API.
  3. قم بتحميل الكود. هذا كل شيء!!

الخطوة 3: كود المصدر:

/ * © تيكترونيك هارش

يوتيوب:

التعليمات: https://www.instructables.com/member/… Instagram: https://instagram.com/techtronicharsh الموقع الإلكتروني: https://techtronicharsh.com Telegram:

*/

# تضمين // استخدام وظائف ESP8266 # تضمين # تضمين # تضمين # تضمين # تضمين

Adafruit_SSD1306 display = Adafruit_SSD1306 (128، 32، & Wire) ؛

const char * ssid = "*******" ؛ // SSID لجهاز التوجيه الخاص بك ، أي اسم WiFi ، const char * password = "*******" ؛ // كلمة مرور WiFi ، const char * host = "api.thingspeak.com" ؛ // نقرأ البيانات من هذا المضيف const int httpPortRead = 80 ؛ / * فقط قم بتغيير مفتاح API باستخدام واجهة برمجة التطبيقات الخاصة بك عبر ThingHttp * / const char * url1 = "/ apps / thinghttp / send_request؟ api_key = TGC4KNQ98REOA4JH"؛ // مؤكد const char * url2 = "/ apps / thinghttp / send_request؟ api_key = Y0ALN1QGDTNLLNNM"؛ // Recovered 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 وعميل

HTTPClient http ؛

الإعداد باطل() {

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 (WHITE) ،

}

حلقة فارغة()

{// القراءة 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 (حالات) ؛ display.setCursor (0، 0)؛ display.println ("COVID19 LIVE") ؛ display.println ("") ؛ display.println ("الحالات المؤكدة:")؛ display.println (الحالات) ؛ display.display () ، تأخير (4000) ؛ display.clearDisplay () ، }} else // إذا لم نتمكن من الحصول على البيانات {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 () ، إذا (httpCode> 0) {if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) {Recover = http.getString () ؛ Serial.print ("Recovered:") ؛ Serial.println (استرداد) ؛ display.setCursor (0، 0)؛ display.println ("COVID19 LIVE") ؛ display.println ("") ؛ display.println ("Recovered:") ؛ display.println (استرداد) ؛ display.display () ، تأخير (4000) ؛ display.clearDisplay () ، }} else {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 () ، إذا (httpCode> 0) {if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) {Death = 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 () ، }} else {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 () ، إذا (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 () ، }} else {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 () ، إذا (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.print (Deathrate) ؛ display.println ("٪") ؛ display.display () ، تأخير (4000) ؛ display.clearDisplay () ، display.display () ، }} else {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 () ، }

}

/ * © تيكترونيك هارش

يوتيوب:

التعليمات: https://www.instructables.com/member/… Instagram: https://instagram.com/techtronicharsh الموقع الإلكتروني: https://techtronicharsh.com Telegram:

*/

الخطوة الرابعة: العمل:

قم بإجراء الاتصالات وفقًا لمخطط الدائرة وقم بتحميل الكود بعد اختيار اللوحة المناسبة ومنفذ COM. إذا ظهر خطأ ، فتأكد من إضافة المكتبة وفقًا للإرشادات الواردة أعلاه.

إذا استغرق الأمر وقتًا طويلاً للتشغيل على OLED ، فتأكد من أنك متصل بشكل صحيح بخدمات الإنترنت ، مثل WiFi أو Hotspot.

موصى به: