תוכן עניינים:

מעקב אחר שולחן העבודה COVID19 עם שעון! Tracker Powered Raspberry Pi: 6 שלבים
מעקב אחר שולחן העבודה COVID19 עם שעון! Tracker Powered Raspberry Pi: 6 שלבים

וִידֵאוֹ: מעקב אחר שולחן העבודה COVID19 עם שעון! Tracker Powered Raspberry Pi: 6 שלבים

וִידֵאוֹ: מעקב אחר שולחן העבודה COVID19 עם שעון! Tracker Powered Raspberry Pi: 6 שלבים
וִידֵאוֹ: 🚀 RUTUBE и ТОЧКА. Разработка РУТУБА за 5 часов *БЕЗ ВОДЫ* [Next / React / Nest / PostgreSQL / Redux] 2024, נוֹבֶמבֶּר
Anonim
מעקב אחר שולחן העבודה COVID19 עם שעון! גשש מופעל באמצעות פטל
מעקב אחר שולחן העבודה COVID19 עם שעון! גשש מופעל באמצעות פטל

אנו יודעים שנוכל למות בכל עת, אפילו אני יכול למות בעת כתיבת הפוסט הזה, אחרי הכל, אני אני, אתם, כולנו בני תמותה. כל העולם רעד בגלל מגיפת COVID19. אנו יודעים כיצד למנוע זאת, אבל היי! אנו יודעים כיצד להתפלל ולמה להתפלל, האם אנו עושים זאת מדי יום? לא!! למעשה, אנו שוכחים את הסיבה העיקרית מדוע עלינו לעשות דברים. אז, אנו יודעים שאורח חיים היגייני יכול להציל אותנו אך אנו לא עושים זאת כראוי. תחשוב על המקרה של אחי הצעיר, הוא רוצה לצאת לשחק אפילו בתקופה הזו. הייתי צריך לעשות משהו כדי ליידע את כולם בעקביות על המקרים האחרונים של COVID19. אז הכנתי תצוגת שולחן דיגיטלית המציגה את המקרים האחרונים של COVID19 בזמן אמת. מכיוון שיש לזה שעון אז אני יכול לשים אותו במקום שבו כולם מתאספים או מגיעים. הם יראו את המספרים מסתכמים, מה שיעורר בהם מודעות ובתקווה שכולם יהיו מודעים. כמו כן, כיוון שאני יוצר וחובב, התברר שזהו פרויקט טוב לעבודה בפגישת הנעילה הזו.

שלב 1: חלקים בהם השתמשתי:

חלקים בהם השתמשתי
חלקים בהם השתמשתי
חלקים בהם השתמשתי
חלקים בהם השתמשתי
חלקים בהם השתמשתי
חלקים בהם השתמשתי
חלקים בהם השתמשתי
חלקים בהם השתמשתי
  • Raspberry Pi 3 דגם B (אתחול באמצעות כרטיס SD)
  • מודול UPS Raspberry Pi (אופציונלי)
  • מסך LCD 7 אינץ 'HDMI
  • כבל HDMI ל- HDMI (זה מגיע עם המסך)
  • כבלי USB
  • מתאם מתח 5V 2A (להפעלת ה- pi)
  • יריעת PVC [צבע עץ] (לייצור הגוף)

שלב 2: הגדרת Raspberry Pi:

הגדרת פטל פטל
הגדרת פטל פטל

אני מניח שהגדרת את הפאי בצורה מושלמת, אלא אם כן לא -

  1. קבל כרטיס SD - יותר מ 8 GB
  2. הורד מכאן את קובץ ה- isp raspbian האחרון.
  3. צרוב את כרטיס ה- SD באמצעות חרט

(שים לב שאנשים יכולים לומר אודות תוכנות אחרות הדורשות ממך לבצע התקנות מסוימות אך האוכזר הוא סופר קל לשימוש ופשוט אך גם יעיל.)

פשוט חבר את כרטיס ה- SD שלך למחשב, הפעל את etcher, תראה שכרטיס ה- SD נבחר באופן אוטומטי על ידי אתר ether, ולאחר מכן לחץ כדי לבחור את קובץ ה- iso או התמונה שהורדת, ולאחר מכן צורב אותו. לאחר כתיבה ועיבוד מוצלח נתק את כרטיס ה- SD וחבר אותו ל- pi שלך, הפעל אותו ו- VOILA !! זה חי.

שלב 3: תרשים מעגלים:

תרשים מעגלים
תרשים מעגלים

חבר הכל והפעל את ה- raspbery pi, הוא רק מתחבר, שום דבר אחר.

תראה את האתחול של ה- pi.

שלב 4: הגוף:

הגוף
הגוף
הגוף
הגוף
הגוף
הגוף
הגוף
הגוף

חתכתי דף PVC לפי גודל התצוגה ואז הוספתי אותו בעזרת ברגים. אחרי זה חיברתי הכל. סוף סוף הוסיף עוד גיליון מאחור כדי לתמוך בו מנפילה (סדין כחול). אם הכל בסדר, אתה אמור לראות אתחול ה- pi (התמונה האחרונה)

שלב 5: התוכנה (קוד המקור):

התוכנית כתובה ב- python3. עבור GUI (ממשק משתמש גרפי) השתמשתי ב- PyQt5, וכדי לחלץ נתוני COVID19 בזמן אמת השתמשתי בספריית COVID19Py. תודה לחבר'ה שהפכו את ה- API לזמין עבורנו

זה פחות או יותר, עכשיו פתחו את Terminal על פטל פאי והתקינו ספריות (העתיקו כל אחת מהן והדביקו במסוף rpi).

התעלם מסימן $ בעת ההעתקה

$ pip3 להתקין pyqt5

בקשות להתקנה של $ pip3 $ pip3 התקנה covid19py

זהו, עכשיו הורד את הקוד מכאן, סיפקתי את הקוד להלן:

"" "*עוקב אחר הבינלאומי והמקומי Covid19 עם שעון*" "" "" ************** הישאר בבית הישאר בטוח. חי, תן לחיות ******** ***** """

"""

מחבר: אשרף מינהג 'מייל: [email protected] אתר: ashrafminhajfb.blogspot.com """

#ייבא ספריות נחוצות

ייבוא ספריית PyQt5 #QT GUI עבור python3 מ- PyQt5. QtCore יבוא Qt, QTimer #timer לעדכון מיבוא PyQt5. QtWidgets * #ייבוא הכל מ- PyQt5. QtGui יבוא QFont #עבור ייבוא גופנים #צורך עבור יישומי QT #covid19 מידע -אבא ייבוא datetime #אתה יודע למה זה נועד

מחלקת CoronaTracker (QWidget):

"" "מחלקה ראשית המכילה את הכל" "" def _init _ (self): "" "לאתחל דברים" "" super ()._ init _ () self.covid = COVID19Py. COVID19 () #initialize self.timer = QTimer () #initize self.timer.timeout.connect (self.update) #if טיימר מגיע לסף - עדכן שיחה self.ui () #ממשק משתמש

def ui (עצמי):

"" "קטע ממשק משתמש" "" self.setWindowTitle ("Covid19 International and Local Tracker") #self.setWindowFlags (Qt. CustomizeWindowHint) #hide סרגל הכותרת 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, till_x, till_y) self.banner_label.setText ("CORONA Pandemic - COVID19 TRACKER") self.banner_label. setFont (QFont ('SansSerif', 20)) self.banner_label.setStyleSheet ("" "רקע-צבע: שחור; צבע: לבן; גבול-סגנון: התחלה; גבול רוחב: 1px" ""))

"" "_ הנתונים העדכניים ביותר בעולם _" ""

#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 ("" "רקע-צבע: שחור; צבע: כחול; סגנון גבול: התחלה; רוחב גבול: 1 פיקסלים" "")

#מקרים שאושרו ברחבי העולם

self.w_cases = QLabel (self) self.w_cases.setGeometry (5, 90, 100, 40) self.w_cases.setText ("מקרים:") self.w_cases.setFont (QFont ('SansSerif', 18)) self. w_cases.setStyleSheet ("" "רקע-צבע: שחור; צבע: כתום; גבול בסגנון: התחלה; גבול רוחב: 1px" "") #cases מספר 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 ("" "רקע-צבע: שחור; צבע: לבן; סגנון גבול: תחתית; גבול-רוחב: 1px "" "))

#מקרי מוות ברחבי העולם

self.w_death = QLabel (self) self.w_death.setGeometry (350, 90, 100, 40) self.w_death.setText ("מוות:") self.w_death.setFont (QFont ('SansSerif', 18)) self. w_death.setStyleSheet ("" "רקע-צבע: שחור; צבע: אדום; גבול-סגנון: התחלה; גבול רוחב: 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 ("" "רקע-צבע: שחור; צבע: לבן; סגנון גבול: תחתית; גבול-רוחב: 1px "" "))

#בעולם נרפא

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 ("" "רקע-צבע: שחור; צבע: ציאן; גבול בסגנון: התחלה; רוחב גבול: 1 פיקסלים" "")

מספר מרפא ברחבי העולם

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 ("הארץ שלי: בנגלדש") self.c.setFont (QFont ('SansSerif') self.c_cases.setGeometry (5, 240, 400, 40) self.c_cases.setText ("מקרים:") self.c_cases.setFont (QFont ('SansSerif', 18)) self.c_cases.setStyleSheet ("" "רקע -צבע: שחור; צבע: כתום; גבול בסגנון: התחלה; גבול רוחב: 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 ("" "צבע רקע: שחור; צבע: לבן; גבול בסגנון: תחילת; גבול רוחב: 1px" ""))

#מקרי מוות מקומיים

self.c_death = QLabel (self) self.c_death.setGeometry (350, 240, 100, 40) self.c_death.setText ("מקרי מוות:") self.c_death.setFont (QFont ('SansSerif', 18)) self. c_death.setStyleSheet ("" "רקע-צבע: שחור; צבע: אדום; גבול בסגנון: התחלה; רוחב גבול: 1 פיקסלים" "")

מספר מקרי מוות מקומיים

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 ("" "רקע-צבע: שחור; צבע: לבן; גבול בסגנון: התחלה; גבול רוחב: 1 פיקסלים "" ") #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 "" ") #מספר ריפוי מקומי 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 ("" "צבע רקע: שחור; צבע: לבן; גבול בסגנון: התחלה; רוחב גבול: 1 פיקסלים" "")

"" "_ זמן, תאריך, שעון _" ""

#clock self.clock = QLabel (self) self.clock.setGeometry (115, 340, 400, 70) self.clock.setFont (QFont ('SansSerif', 60)) self.clock.setStyleSheet ("" "רקע- צבע: שחור; צבע: לבן; גבול בסגנון: תחילת; גבול רוחב: 1 פיקסלים "" ") #תווית ליום חול self.weekday = QLabel (עצמי) self.weekday.setGeometry (5, 360, 110, 20) self.weekday.setFont (QFont ('SansSerif', 13)) self.weekday.setStyleSheet ("" "צבע רקע: שחור; צבע: לבן; גבול בסגנון: התחלה; גבול רוחב: 1px" "") #תאריך 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 ("" "צבע רקע: שחור; צבע: לבן; גבול בסגנון: התחלה; רוחב שוליים: 1 פיקסלים" "")

#בדוק את הטיימר אם לא self.timer.isActive (): #אם הטיימר מופסק (הגיע לסף) #לאחר שנייה אחת (בערך) או 1000ms

לְנַסוֹת:

"" "נסה להשיג נתונים, אחרת הפעל את הקוד בכל זאת" "" self.latest = self.covid.getLatest () #gte covid19 הנתונים האחרונים

קבל את הנתונים העדכניים ביותר לפי קוד מדינה 'BD'-בנגלדש,' IN'-הודו וכו '

self.local = self.covid.getLocationByCountryCode ('BD', לוחות זמנים = שקר) #print (self.local) #print (self.latest)

מלבד:

"" "לא יכול היה לקבל נתונים" "" הדפסה ("שגיאת אינטרנט !!")

עברו את #ignore, רצו בכל זאת

self.timer.start (1000) #התחל את הטיימר

self.show () #הצג את ממשק המשתמש שלנו

עדכון def (עצמי):

"" "עדכן תוויות עם מידע" ""

"" "_ חלץ עדכון מודעה על זמן ותאריך_" """

#הגדר שעון ושעה תאריך (עדכוני ערכים) #קבל ועדכן ערכים #t למידע נוסף קרא תיעוד python datetime

self.dt = datetime.datetime.now () #get datatime

self.clock.setText (self.dt.strftime ('%X')) self.weekday.setText (self.dt.strftime ('%A')) self.date.setText (self.dt.strftime ('% x ')) "" "_ עדכון נתונים covid19_" "" #הנתונים האחרונים בעולם self.w_cases_num.setText (str (self.latest [' אישור '])) self.w_death_num.setText (str (self.latest [' death ')])) self.w_cured_num.setText (str (self.latest ['recovered])) #local data self.c_cured_num.setText (str (self.local [0] [' last '] [' recovered])) self.c_death_num.setText (str (self.local [0] ['last'] ['death'])) self.c_cases_num.setText (str (self.local [0] ['last'] ['אישור')])))

הדפס ("מעדכן")

לַחֲזוֹר

def main (): app = QApplication (sys.argv) win = CoronaTracker () #instantiate sys.exit (app.exec ()) #הפעל את היישום אם _name_ == '_main_': main ()

שלב 6: סיום:

תסיים
תסיים

לאחר בדיקת הקוד הכנסתי אותו לשולחן והקדשתי לו מקור חשמל. כך שזה יכול לעבוד בזמן הטעינה. על ידי שימוש בעליות זה יכול לפעול גם בהורדת עומסים, זה נותן גם לכרטיס SD pi שלך הגנה מתאימה.

לא משנה איך או מי אנחנו, אנחנו צריכים למות. בואו לא נחשוב על עצמכם, חשבו על העולם. אנחנו יכולים לחיות לנצח רק דרך המעשים שלנו, שיהיה כך.

מוּמלָץ: