جدول المحتويات:
- اللوازم
- الخطوة الأولى: المخططات:
- الخطوة الثانية: الإعداد:
- الخطوة 3: كود المصدر:
- الخطوة الرابعة: العمل:
فيديو: Live Covid19 Tracker باستخدام ESP8266 و OLED - لوحة معلومات Realtime Covid19: 4 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:37
قم بزيارة موقع Techtronic Harsh:
في كل مكان ، هناك انتشار كبير لفيروس كورونا الجديد (COVID19). أصبح من الضروري مراقبة السيناريو الحالي لـ COVID-19 في العالم.
لذا ، لكوني في المنزل ، كان هذا هو المشروع الذي فكرت فيه في "لوحة التحكم الرئيسية في العالم لـ Covid19" - لوحة تحكم توفر تحديثات في الوقت الفعلي حول حالة COVID-19 في العالم. لا داعي للإبقاء على التلفاز قيد التشغيل أو الاستمرار في المشاهدة في مواقع الويب المختلفة.
لم يكن تصميم المشروع هو الجزء المهم. لكن صنع شيء مفيد ، باستخدام المكونات التي كانت في متناول اليد كان التحدي. سيساعدك هذا المشروع بالتأكيد في إنشاء واجهة لوحة معلومات بسيطة لإبقائك على اطلاع دائم.
اللوازم
- ESP8266
- شاشة OLED
- كابلات العبور
الخطوة الأولى: المخططات:
الخطوة الثانية: الإعداد:
- قم بزيارة موقع ويب Realtime Covid19 Dashboard. أنا هنا أستخدم
-
تسجيل الدخول / الاشتراك في https://thingspeak.com. انتقل إلى التطبيق وقم بإنشاء ThingHttp Action جديد.
- أعط الاسم الذي تختاره وعنوان URL (https://trackcorona.live) والطريقة مثل GET وفي سلسلة التحليل ، تحتاج إلى لصق XPath من موقع الويب trackcorna.live للحقل المطلوب الذي تريد إظهاره.
-
في المثال أعلاه (الصورة) ، أقوم بتحليل سلسلة للحالات المؤكدة ، كل ما عليك القيام به هو
- انقر بزر الماوس الأيمن على عدد الحالات المؤكدة> فحص ،
- مرة أخرى انقر بزر الماوس الأيمن في الرمز> نسخ> CopyXPath
- الصق هذا في حقل "سلسلة التحليل" في إجراء ThinkHttp واحفظه.
- وبالمثل ، قم بذلك لجميع المتعافين والوفيات ومعدل الوفيات ومعدل الوفيات.
- قم بزيارة رمز المصدر واستبدل SSID باسم Wifi وكلمة المرور بكلمة مرور Wifi ومفتاح API باستخدام ThingHttp API.
- قم بتحميل الكود. هذا كل شيء!!
الخطوة 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.
موصى به:
أضواء الرسوم المتحركة الترحيبية LED التلقائية بمستشعر بالموجات فوق الصوتية وشاشة معلومات LCD: 6 خطوات
أضواء الرسوم المتحركة الترحيبية LED التلقائية بالموجات فوق الصوتية وشاشة معلومات LCD: عندما تعود إلى المنزل متعبًا وتحاول الجلوس والاسترخاء ، يجب أن يكون الأمر مملًا للغاية لرؤية نفس الشيء من حولك مرارًا وتكرارًا كل يوم. لماذا لا تضيف شيئًا ممتعًا وممتعًا يغير مزاجك؟ بناء Arduin فائقة السهولة
ساعة الإنترنت: عرض التاريخ والوقت باستخدام OLED باستخدام ESP8266 NodeMCU مع بروتوكول NTP: 6 خطوات
ساعة الإنترنت: عرض التاريخ والوقت باستخدام OLED باستخدام ESP8266 NodeMCU مع بروتوكول NTP: مرحبًا يا رفاق في هذه التعليمات ، سنبني ساعة إنترنت ستحصل على وقت من الإنترنت لذلك لن يحتاج هذا المشروع إلى أي RTC لتشغيله ، وسيحتاج فقط إلى العمل اتصال بالإنترنت وفي هذا المشروع تحتاج إلى esp8266 الذي سيكون له
نظام معلومات توفر مقاعد القطار - FGC: 8 خطوات
نظام معلومات توفر مقاعد القطار - FGC: يعتمد هذا المشروع على التنفيذ ، على نطاق واسع ، لقطار يسمح للأشخاص الموجودين في المحطة بمعرفة المقاعد المجانية. من أجل تنفيذ النموذج الأولي ، يتم استخدام برنامج Arduino UNO مع معالجة
إنشاء موقع Bookhuddle.com ، وهو موقع لاكتشاف معلومات الكتاب وتنظيمها ومشاركتها: 10 خطوات
إنشاء موقع Bookhuddle.com ، وهو موقع لاكتشاف معلومات الكتاب وتنظيمها ومشاركتها: يصف هذا المنشور الخطوات المتبعة في إنشاء وإطلاق موقع Bookhuddle.com ، وهو موقع ويب يهدف إلى مساعدة القراء على اكتشاف معلومات الكتاب وتنظيمها ومشاركتها. ستنطبق على تطوير مواقع الويب الأخرى
كيف تصنع لعبة معلومات مجمعة بسيطة: 7 خطوات
How to Make a Simple Batch Trivia Game: هذه طريقة بسيطة جدًا لإنشاء لعبة أسئلة بسيطة. آمل أن تعجبك. بالمناسبة ، لقد قمت أيضًا بنشر لعبة تريفيا بالفعل ، لذا إذا كنت لا ترغب في صنع لعبة خاصة بك ، فانتقل إلى هذا الموقع https://www.instructables.com/id/Trivia_Game/ الموقع المنشور فوقنا