תוכן עניינים:
- שלב 1: חלקים בהם השתמשתי:
- שלב 2: הגדרת Raspberry Pi:
- שלב 3: תרשים מעגלים:
- שלב 4: הגוף:
- שלב 5: התוכנה (קוד המקור):
- שלב 6: סיום:
וִידֵאוֹ: מעקב אחר שולחן העבודה COVID19 עם שעון! Tracker Powered Raspberry Pi: 6 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:11
אנו יודעים שנוכל למות בכל עת, אפילו אני יכול למות בעת כתיבת הפוסט הזה, אחרי הכל, אני אני, אתם, כולנו בני תמותה. כל העולם רעד בגלל מגיפת 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:
אני מניח שהגדרת את הפאי בצורה מושלמת, אלא אם כן לא -
- קבל כרטיס SD - יותר מ 8 GB
- הורד מכאן את קובץ ה- isp raspbian האחרון.
- צרוב את כרטיס ה- 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 שלך הגנה מתאימה.
לא משנה איך או מי אנחנו, אנחנו צריכים למות. בואו לא נחשוב על עצמכם, חשבו על העולם. אנחנו יכולים לחיות לנצח רק דרך המעשים שלנו, שיהיה כך.
מוּמלָץ:
מעקב אחר Covid19 חי באמצעות ESP8266 ו- OLED - לוח המחוונים של Covid19 בזמן אמת: 4 שלבים
מעקב אחר Live Covid19 באמצעות ESP8266 ו- OLED | לוח מחוונים בזמן אמת של Covid19: בקר באתר Techtronic Harsh: http: //techtronicharsh.com בכל מקום יש התפרצות אדירה של נגיף הקורונה החדש (COVID19). זה הפך להיות נחוץ לעקוב אחר התרחיש הנוכחי של COVID-19 בעולם. אז בהיותך בבית, זה היה נקודת
עקוב אחר רמת המים או המרחק על שולחן העבודה שלך: 3 שלבים
צג מפלס מיכל המים או המרחק בשולחן העבודה שלך: באמצעות Wemos D1, חיישן קולי ופלטפורמת Thingio.AI IoT
תחילת העבודה עם ערכת שולחן העבודה של Raspberry Pi 4: 7 שלבים
תחילת העבודה עם ערכת שולחן העבודה של Raspberry Pi 4: Raspberry Pi 4 הוא מחשב מיני קטן וחזק, עם תמיכה במסך כפול 4K, USB 3.0, מעבד חדש ו- GPU ועד זיכרון RAM בנפח של עד 4GB. למד כיצד להגדיר את Raspberry Pi 4 דגם B ולהתקין כל מה שאתה צריך כדי להשתמש ב- fu
מכשיר שולחן העבודה - עוזר שולחן עבודה הניתן להתאמה אישית: 7 שלבים (עם תמונות)
מכשיר שולחן העבודה - עוזר שולחן עבודה הניתן להתאמה אישית: מכשיר שולחן העבודה הוא עוזר אישי קטן לשולחן העבודה שיכול להציג מידע שונה שהורד מהאינטרנט. מכשיר זה תוכנן ונבנה על ידיי לשיעור CRT 420 - נושאים מיוחדים במכללת ברי המובל על ידי מדריך
בוט מעקב אחר שלדה מעקב מרחוק: 7 שלבים (עם תמונות)
בוט מעקב אחר שלדה מחוסרת מרחוק: מבוא: אז זה היה פרוייקט שרציתי להתחיל ולסיים עוד בשנת 2016, אולם בשל עבודות ושפע של דברים אחרים הצלחתי רק להתחיל ולהשלים את הפרויקט הזה בשנת 2016 שנה חדשה 2018! זה לקח בערך 3 שעות