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

جهاز تعقب COVID19 المكتبي مع ساعة! جهاز تعقب يعمل بالطاقة Raspberry Pi: 6 خطوات
جهاز تعقب COVID19 المكتبي مع ساعة! جهاز تعقب يعمل بالطاقة Raspberry Pi: 6 خطوات

فيديو: جهاز تعقب COVID19 المكتبي مع ساعة! جهاز تعقب يعمل بالطاقة Raspberry Pi: 6 خطوات

فيديو: جهاز تعقب COVID19 المكتبي مع ساعة! جهاز تعقب يعمل بالطاقة Raspberry Pi: 6 خطوات
فيديو: كارل فريستون: مبدأ الطاقة الحرة "الميتا" [الجزء الأول!] 2024, شهر نوفمبر
Anonim
جهاز تعقب COVID19 المكتبي مع ساعة! جهاز تعقب يعمل بالطاقة Raspberry Pi
جهاز تعقب COVID19 المكتبي مع ساعة! جهاز تعقب يعمل بالطاقة Raspberry Pi

نحن نعلم أننا يمكن أن نموت في أي وقت ، حتى أنني يمكن أن أموت أثناء كتابة هذا المنشور ، بعد كل شيء ، أنا أنا وأنت ، كلنا بشر. اهتز العالم كله بسبب جائحة COVID19. نحن نعرف كيف نمنع هذا ، لكن مهلا! نعرف كيف نصلي ولماذا نصلي ، هل نصليها يوميا؟ لا!! في الواقع ، نحن ننسى السبب الجذري لسبب قيامنا بالأشياء. لذلك ، نحن نعلم أن أسلوب الحياة الصحي يمكن أن ينقذنا ولكننا لا نفعل ذلك بشكل صحيح. لنأخذ حالة أخي الأصغر ، فهو يريد الخروج واللعب حتى في هذا الوقت. كان علي أن أفعل شيئًا لإبلاغ الجميع باستمرار بآخر حالات COVID19. لذلك ، قمت بعمل عرض مكتبي رقمي يعرض أحدث حالات COVID19 في الوقت الفعلي. نظرًا لأن هذه تحتوي على ساعة ، فيمكنني وضعها في مكان حيث يتجمع أو يأتي الجميع. سيرون الأرقام تتراكم ، مما سيثير الوعي فيهم ونأمل أن يكون الجميع واعيًا. كما أنني صانع وهواة ، فقد تبين أن هذا مشروع جيد للعمل عليه في جلسة الإغلاق هذه.

الخطوة 1: الأجزاء التي استخدمتها:

الأجزاء التي استخدمتها
الأجزاء التي استخدمتها
الأجزاء التي استخدمتها
الأجزاء التي استخدمتها
الأجزاء التي استخدمتها
الأجزاء التي استخدمتها
الأجزاء التي استخدمتها
الأجزاء التي استخدمتها
  • Raspberry Pi 3 Model B (تمهيد باستخدام بطاقة sd)
  • وحدة Raspberry Pi UPS (اختياري)
  • شاشة ال سي دي اتش دي ام اي 7 بوصة
  • كابل HDMI إلى HDMI (يأتي مع الشاشة)
  • كبلات USB
  • محول طاقة 5 فولت 2 أمبير (لتشغيل بي)
  • لوح PVC [لون خشبي] (لعمل الجسم)

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

إعداد Raspberry Pi
إعداد Raspberry Pi

أعتقد أنك قمت بإعداد pi بشكل مثالي ، إلا إذا لم تقم بذلك -

  1. الحصول على بطاقة SD - أكثر من 8 جيجا بايت
  2. قم بتنزيل أحدث ملف iso raspbian من هنا.
  3. انسخ بطاقة SD باستخدام النقش

(لاحظ أنه يمكن للناس أن يقولوا شيئًا عن البرامج الأخرى التي تتطلب منك القيام ببعض عمليات الإعداد ، لكن etcher سهل الاستخدام للغاية وبسيط ولكنه فعال أيضًا.)

ما عليك سوى توصيل بطاقة SD بجهاز الكمبيوتر ، وتشغيل أداة الحفر ، وسترى أن بطاقة SD يتم تحديدها تلقائيًا بواسطة النقش ، ثم انقر لتحديد ملف أو صورة ISO التي تم تنزيلها ، ثم انسخها. بعد الكتابة والمعالجة الناجحة ، افصل بطاقة SD وقم بتوصيلها بجهاز pi ، قم بتشغيلها و VOILA !! انه حي.

الخطوة 3: مخطط الدائرة:

مخطط الرسم البياني
مخطط الرسم البياني

قم بتوصيل كل شيء وتشغيل raspbery pi ، إنه متصل فقط ، ولا شيء آخر.

سترى تمهيد باي.

الخطوة الرابعة: الجسد:

الجسم
الجسم
الجسم
الجسم
الجسم
الجسم
الجسم
الجسم

لقد قطعت لوح PVC وفقًا لحجم العرض ، ثم أضفته باستخدام البراغي. بعد ذلك قمت بتوصيل كل شيء بالأسلاك. أضيفت أخيرًا ورقة أخرى في الخلف لدعمها من السقوط (الورقة الزرقاء). إذا كان كل شيء على ما يرام ، يجب أن ترى تمهيد pi (الصورة الأخيرة)

الخطوة 5: البرنامج (شفرة المصدر):

البرنامج مكتوب بلغة python3. بالنسبة إلى واجهة المستخدم الرسومية (GUI) ، استخدمت PyQt5 ، ولاستخراج بيانات COVID19 في الوقت الفعلي ، استخدمت مكتبة COVID19Py. شكرًا للأشخاص الذين جعلوا واجهة برمجة التطبيقات متاحة لنا

هذا إلى حد كبير ، افتح الآن Terminal على raspberry pi وقم بتثبيت المكتبات (انسخ كل واحدة منها والصقها على محطة rpi).

تجاهل علامة $ أثناء النسخ

Pip3 $ قم بتثبيت pyqt5

يطلب تثبيت pip3 $ pip3 تثبيت covid19py

هذا كل شيء ، الآن قم بتنزيل الكود من هنا ، لقد قدمت الكود أدناه:

"" "* متتبع Realtime Covid19 الدولي والمحلي بالساعة *" "" "" "************** ************** ابق في المنزل ابق آمنًا. مباشر ، دع البث المباشر ******** ***** """

"""

الكاتب: أشرف منهاج mail: [email protected] الموقع: ashrafminhajfb.blogspot.com """

# استيراد المكتبات الضرورية

استيراد مكتبة PyQt5 #QT GUI للغة python3 من PyQt5. QtCore import Qt، QTimer #timer للتحديث من PyQt5. QtWidgets import * #import all from PyQt5. QtGui import QFont # for Fonts import sys #necessary for QT Applications #import os import COVID19Py # covid19 information -api import datetime # تعرف ما هذا

فئة CoronaTracker (QWidget):

"" "الفئة الرئيسية التي تحتوي على كل شيء" "" def _init _ (self): "" "تهيئة الأشياء" "" super ()._ init _ () self.covid = COVID19Py. COVID19 () #initialize self.timer = QTimer () #initialize self.timer.timeout.connect (self.update) #if يصل المؤقت إلى الحد الأدنى - تحديث المكالمة self.ui () # واجهة المستخدم

تعريف واجهة المستخدم (ذاتي):

"" "قسم واجهة المستخدم" "self.setWindowTitle (" Covid19 International and Local Tracker ") # self.setWindowFlags (Qt. CustomizeWindowHint) # إخفاء شريط العنوان self.setStyleSheet (" لون الخلفية: أسود ") self.setFixedSize (640 ، 480) # حسب دقة شاشتي (x ، y) / rpi

#التسمية الرئيسية

self.banner_label = QLabel (self) self.banner_label.setGeometry (50، 5، 560، 50) # (x_origin، y_origin، to_x، until_y) self.banner_label.setText ("CORONA Pandemic - COVID19 TRACKER") self.banner_label. setFont (QFont ('SansSerif'، 20)) self.banner_label.setStyleSheet ("" "background-color: black؛ color: white؛ border-style: outset؛ border-width: 1px" "")

"" أحدث بيانات _worlds_ ""

#world label self.w = QLabel (self) self.w.setGeometry (200، 55، 400، 40) self.w.setText ("لمحة عن العالم") self.w.setFont (QFont ('SansSerif'، 18)) self.w.setStyleSheet ("" "background-color: black؛ color: blue؛ border-style: outset؛ border-width: 1px" "")

# حالات مؤكدة في جميع أنحاء العالم

self.w_cases = QLabel (self) self.w_cases.setGeometry (5، 90، 100، 40) self.w_cases.setText ("Cases:") self.w_cases.setFont (QFont ('SansSerif'، 18)) self. w_cases.setStyleSheet ("" "background-color: black؛ color: orange؛ border-style: outset؛ border-width: 1px" "") #cases number self.w_cases_num = QLabel (self) self.w_cases_num.setGeometry (110 ، 90، 100، 40) self.w_cases_num.setFont (QFont ('SansSerif'، 18)) self.w_cases_num.setStyleSheet ("" "background-color: black؛ color: white؛ border-style: outset؛ border-width: 1 بكسل "")

# وفيات حول العالم

self.w_death = QLabel (ذاتي) self.w_death.setGeometry (350، 90، 100، 40) self.w_death.setText ("Deaths:") self.w_death.setFont (QFont ('SansSerif'، 18)) self. w_death.setStyleSheet ("" "background-color: black؛ color: red؛ border-style: outset؛ border-width: 1px" "") # رقم الوفاة self.w_death_num = QLabel (self) self.w_death_num.setGeometry (460 ، 90، 100، 40) self.w_death_num.setFont (QFont ('SansSerif'، 18)) self.w_death_num.setStyleSheet ("" "background-color: black؛ color: white؛ border-style: outset؛ border-width: 1 بكسل "")

# في جميع أنحاء العالم الشفاء

self.w_cured = QLabel (self) self.w_cured.setGeometry (5، 140، 100، 40) self.w_cured.setText ("Cured:") self.w_cured.setFont (QFont ('SansSerif'، 18)) self. w_cured.setStyleSheet ("" "background-color: black؛ color: cyan؛ border-style: outset؛ border-width: 1px" "")

# رقم تم علاجه في جميع أنحاء العالم

self.w_cured_num = QLabel (self) self.w_cured_num.setGeometry (110، 140، 100، 40) self.w_cured_num.setFont (QFont ('SansSerif'، 18)) self.w_cured_num.setStyleSheet ("" "لون الخلفية: أسود ؛ اللون: أبيض ؛ نمط الحدود: البداية ؛ عرض الحدود: 1 بكسل "" ")

"" "_ رمز البلد المحلي حسب البلد _""

#local - Country self.c = QLabel (self) self.c.setGeometry (170، 200، 400، 40) self.c.setText ("My Country: Bangladesh") self.c.setFont (QFont ('SansSerif' ، 18)) self.c.setStyleSheet ("" "background-color: black؛ color: white؛ border-style: outset؛ border-width: 1px" "") #local تأكيد الحالات self.c_cases = QLabel (self) self.c_cases.setGeometry (5، 240، 400، 40) self.c_cases.setText ("الحالات:") self.c_cases.setFont (QFont ('SansSerif'، 18)) self.c_cases.setStyleSheet ("" "الخلفية -color: black؛ color: orange؛ border-style: outset؛ border-width: 1px "" ") # عدد الحالات المحلية self.c_cases_num = QLabel (self) self.c_cases_num.setGeometry (110، 240، 100، 40) self.c_cases_num.setFont (QFont ('SansSerif'، 18)) self.c_cases_num.setStyleSheet ("" "background-color: black؛ color: white؛ border-style: outset؛ border-width: 1px" "")

# الوفيات المحلية

self.c_death = QLabel (self) self.c_death.setGeometry (350، 240، 100، 40) self.c_death.setText ("Deaths:") self.c_death.setFont (QFont ('SansSerif'، 18)) self. c_death.setStyleSheet ("" "background-color: black؛ color: red؛ border-style: outset؛ border-width: 1px" "")

# عدد الوفيات المحلية

self.c_death_num = QLabel (self) self.c_death_num.setGeometry (460، 240، 100، 40) self.c_death_num.setFont (QFont ('SansSerif'، 18)) self.c_death_num.setStyleSheet ("" "لون الخلفية: أسود ؛ اللون: أبيض ؛ نمط الحدود: outset ؛ عرض الحدود: 1px "" ") #local cured self.c_cured = QLabel (self) self.c_cured.setGeometry (5، 280، 100، 40) self.c_cured. setText ("Cured:") self.c_cured.setFont (QFont ('SansSerif'، 18)) self.c_cured.setStyleSheet ("" "لون الخلفية: أسود ؛ اللون: سماوي ؛ نمط الحدود: البداية ؛ عرض الحدود: 1px "" ") #local cured number self.c_cured_num = QLabel (self) self.c_cured_num.setGeometry (110، 280، 100، 40) self.c_cured_num.setFont (QFont ('SansSerif'، 18)) self.c_cured_num.setStyleSheet ("" "background-color: black؛ color: white؛ border-style: outset؛ border-width: 1px" "")

"" "_ الوقت والتاريخ والساعة _""

#clock self.clock = QLabel (self) self.clock.setGeometry (115، 340، 400، 70) self.clock.setFont (QFont ('SansSerif'، 60)) self.clock.setStyleSheet ("" "الخلفية- color: black؛ color: white؛ border-style: outset؛ border-width: 1px "" ") #label for weekday self.weekday = QLabel (self) self.weekday.setGeometry (5، 360، 110، 20) self.weekday.weekday.setFont (QFont ('SansSerif'، 13)) self.weekday.setStyleSheet ("" "background-color: black؛ color: white؛ border-style: outset؛ border-width: 1px" "") #date label self.date = QLabel (self) self.date.setGeometry (510، 360، 110، 20) # self.clock.setText ("22:49:00") self.date.setFont (QFont ('SansSerif'، 13)) self.date.setStyleSheet ("" "background-color: black؛ color: white؛ border-style: outset؛ border-width: 1px" "")

# تحقق من المؤقت إن لم يكن self.timer.isActive (): # إذا تم إيقاف المؤقت (بلغ الحد الأدنى) # بعد ثانية واحدة (تقريبًا) أو 1000 مللي ثانية

محاولة:

"" "حاول الحصول على البيانات ، وإلا قم بتشغيل الكود على أي حال" "" self.latest = self.covid.getLatest () #gte covid19 أحدث البيانات

# احصل على أحدث البيانات حسب رمز البلد "BD"-Bangladesh ، و "IN"-India ، إلخ

self.local = self.covid.getLocationByCountryCode ('BD'، timelines = False) #print (self.local) #print (self.latest)

إلا:

"" تعذر الحصول على البيانات طباعة "" "(" خطأ إنترنت !! ")

تمرير #ignore ، تشغيل على أي حال

self.timer.start (1000) # ابدأ الموقت

self.show () #show واجهة المستخدم الخاصة بنا

تحديث def (ذاتي):

"" "تحديث التسميات بالمعلومات" ""

"" "_ استخراج معلومات وقت وتاريخ تحديث الإعلان _" ""

# إعداد الساعة والتاريخ والوقت (تحديث القيم) # الحصول على القيم وتحديثها # لمعرفة المزيد ، اقرأ وثائق python datetime

self.dt = datetime.datetime.now () # الحصول على بيانات التاريخ والوقت

self.clock.setText (self.dt.strftime ('٪ X')) self.weekday.setText (self.dt.strftime ('٪ A')) self.date.setText (self.dt.strftime ('٪ x ')) "" "_update covid19 data_" "" #worldwide latest data self.w_cases_num.setText (str (self.latest ['irmed'])) self.w_death_num.setText (str (self.latest ['death')])) self.w_cured_num.setText (str (self.latest ['reced'])) #local latest data self.c_cured_num.setText (str (self.local [0] ['latest'] ['استرداد'])) self.c_death_num.setText (str (self.local [0] ['latest'] ['death'])) self.c_cases_num.setText (str (self.local [0] ['latest'] ['مؤكد']))

طباعة ("التحديث")

إرجاع

def main (): app = QApplication (sys.argv) win = CoronaTracker () #instantiate sys.exit (app.exec ()) # تشغيل التطبيق إذا _name_ == '_main_': main ()

الخطوة 6: الانتهاء:

أنهي
أنهي

بعد اختبار الكود وضعته في المكتب وخصصت له مصدر طاقة. بحيث يمكن أن تعمل أثناء الشحن. باستخدام عمليات التشغيل ، يمكن تشغيل هذا حتى في فصل الأحمال أيضًا ، وهذا يمنح بطاقة pi SD حماية مناسبة أيضًا.

لا يهم كيف أو من نحن ، علينا أن نموت. دعونا لا نفكر في نفسك ، فكر في العالم. لا يمكننا أن نعيش إلى الأبد إلا من خلال أفعالنا ، فليكن على هذا النحو.

موصى به: