Mündəricat:
- Addım 1: İstifadə etdiyim hissələr:
- Addım 2: Raspberry Pi qurun:
- Addım 3: Dövrə Şeması:
- Addım 4: Bədən:
- Addım 5: Proqram təminatı (Mənbə Kodu):
- Addım 6: Bitirin:
Video: Saatlı Masaüstü COVID19 İzləyicisi! Raspberry Pi Powered Tracker: 6 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:43
Bilirik ki, hər an ölə bilərik, hətta bu yazını yazarkən mən də ölə bilərəm, axı mən, sən, hamımız fani. COVID -19 pandemiyası səbəbindən bütün dünya sarsıldı. Bunun qarşısını necə alacağımızı bilirik, amma hey! namaz qılmağı və niyə dua etməyi bilirik, hər gün edirikmi? Yox!! Əslində, bir şey etməməyimizin səbəbini unuduruq. Beləliklə, gigiyenik bir həyat tərzinin bizi xilas edə biləcəyini bilirik, amma bunu düzgün etmirik. Kiçik qardaşımın vəziyyətini nəzərdən keçirin, hətta bu vaxtda çıxıb oynamaq istəyir. Hamıya ardıcıl olaraq son COVID19 hadisələri haqqında məlumat vermək üçün bir şey etməliydim. Beləliklə, ən son COVID19 hadisələrini real vaxtda göstərən bir rəqəmsal masa ekranı hazırladım. Bunun saatı olduğu üçün onu hər kəsin toplaşdığı və ya gəldiyi yerə qoya bilərəm. Nömrələrin toplandığını görəcəklər ki, bu da onlarda məlumatlılığa səbəb olacaq və inşallah hər kəs şüurlu olacaq. Həm də bir istehsalçı və həvəskar olduğum üçün, bu kilidləmə sessiyasında işləmək üçün yaxşı bir layihə olduğu ortaya çıxdı.
Addım 1: İstifadə etdiyim hissələr:
- Raspberry Pi 3 Model B (sd kart istifadə edərək açıldı)
- Raspberry Pi UPS modulu (isteğe bağlı)
- 7 düymlük HDMI LCD Ekran
- HDMI - HDMI kabeli (bu ekranla gəlir)
- USB kabellər
- 5v 2A güc adapteri (pi -ni gücləndirmək üçün)
- PVC təbəqə [taxta rəng] (bədəni düzəltmək üçün)
Addım 2: Raspberry Pi qurun:
Deyəsən, pi -ni mükəmməl qurmusunuz, əgər etməsəniz -
- bir SD kart əldə edin - 8 GB -dan çox
- ən son raspbian iso faylını buradan yükləyin.
- Etcher istifadə edərək SD kartı yandırın
(Diqqət yetirin ki, insanlar bir şey qurmağı tələb edən başqa bir proqram haqqında deyə bilər, amma etcherin istifadəsi çox sadə və sadə, lakin çox təsirlidir.)
Sadəcə SD kartınızı kompüterə bağlayın, etcher işlədin, SD kartın avtomatik olaraq etcher tərəfindən seçildiyini görəcəksiniz, sonra yüklənmiş iso faylını və ya şəkli seçmək üçün vurun, sonra yandırın. Uğurlu yazma və emaldan sonra SD kartı ayırın və pi -yə qoşun, gücə və VOILA -ya qoşun !! O canlıdır.
Addım 3: Dövrə Şeması:
Hər şeyi birləşdirin və moruq pi -ni işə salın, sadəcə birləşdirir, başqa heç nə.
Pi açılışını görəcəksiniz.
Addım 4: Bədən:
Ekran ölçüsünə görə bir PVC təbəqə kəsdim, sonra vintlər istifadə edərək əlavə etdim. Bundan sonra hər şeyi bağladım. Nəhayət düşməməsi üçün arxasına başqa bir təbəqə əlavə etdi (mavi təbəqə). Hər şey qaydasındadırsa, pi açılışını görməlisiniz (son şəkil)
Addım 5: Proqram təminatı (Mənbə Kodu):
Proqram python3 -də yazılmışdır. GUI (Qrafik İstifadəçi İnterfeysi) üçün PyQt5 istifadə etdim və real vaxt COVID19 məlumatlarını çıxarmaq üçün COVID19Py kitabxanasından istifadə etdim. API -ni bizim üçün əlçatan edən uşaqlara təşəkkür edirik
Bu çox vacibdir, indi moruq pi -də Terminalı açın və kitabxanaları quraşdırın (hər birini kopyalayın və rpi terminalına yapışdırın).
Kopyalayarkən $ işarəsinə məhəl qoymayın
$ pip3 pyqt5 quraşdırın
$ pip3 yükləmə tələbləri $ pip3 quraşdırma covid19py
Budur, indi kodu buradan yükləyin, aşağıdakı kodu verdim:
"" "*Realtime Covid19 Saatlı Beynəlxalq və Yerli İzləyici*" "" "" ************** Evdə Qalın Təhlükəsiz qalın. Yaşayın, Yaşasın ******** ***** """
"""
müəllif: ashraf minhaj mail: [email protected] site: ashrafminhajfb.blogspot.com """
#lazımlı kitabxanaları idxal edin
PyQt5 -dən Python3 üçün PyQt5 #QT GUI Kitabxanasını idxal edin Qt, QTimer #timer PyQt5 -dən yeniləmək üçün Qt, QTimer #timer idxal edin * #hər şeyi PyQt5 -dən idxal edin. QtGui idxal QFont #şriftlər idxal etmək üçün sys #QT tətbiqləri üçün lazımlıdır #idxal os idxal COVID19Py #covid19 məlumatı -api import datetime #bunun nə üçün olduğunu bilirsiniz
sinif CoronaTracker (QWidget):
"" "hər şeyi ehtiva edən əsas sinif" "" _ _ _ (özünü): "" "işləri başlat" "" super ()._ init _ () self.covid = COVID19Py. COVID19 () #initialize self.timer = QTimer () #self.timer.timeout.connect (self.update) başlayın #timer eşikə çatdıqda - self.ui yeniləməsinə zəng edin () #istifadəçi interfeysi
def ui (özünü):
"" "İstifadəçi Arayüzü bölməsi" "" self.setWindowTitle ("Covid19 Beynəlxalq və Yerli İzləyicisi") #self.setWindowFlags (Qt. CustomizeWindowHint) #başlıq çubuğunu gizlə self.setStyleSheet ("Arxa fon rəngi: qara") self.setFixedSize (640, 480) #göstəricim (x, y) /rpi qətnaməsinə görə
#əsas etiket
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 ("" "fon rəngi: qara; rəng: ağ; sərhəd tərzi: başlanğıc; sərhəd eni: 1 piksel" "")
"" "_ dünyanın son məlumatları _" ""
#world etiketi self.w = QLabel (self) self.w.setGeometry (200, 55, 400, 40) self.w.setText ("Bir baxışda Dünya") self.w.setFont (QFont ('SansSerif', 18)) self.w.setStyleSheet ("" "fon rəngi: qara; rəng: mavi; haşiyə tərzi: başlanğıc; sərhəd eni: 1 piksel" "")
#dünyada təsdiqlənmiş hallar
self.w_cases = QLabel (self) self.w_cases.setGeometry (5, 90, 100, 40) self.w_cases.setText ("Davalar:") self.w_cases.setFont (QFont ('SansSerif', 18)) özünü. w_cases.setStyleSheet ("" "fon rəngi: qara; rəng: narıncı; haşiyə tərzi: başlanğıc; sərhəd genişliyi: 1px" "") #kassa nömrəsi self.w_cases_num = QLabel (özünü) self.w_cases_num.setGeometry (110), 90, 100, 40) self.w_cases_num.setFont (QFont ('SansSerif', 18)) self.w_cases_num.setStyleSheet ("" "fon rəngi: qara; rəng: ağ; haşiyə tərzi: başlanğıc; sərhəd genişliyi: 1 piksel "" ")
#dünya ölümü
self.w_death = QLabel (self) self.w_death.setGeometry (350, 90, 100, 40) self.w_death.setText ("Ölümlər:") self.w_death.setFont (QFont ('SansSerif', 18)) özünü. w_death.setStyleSheet ("" "fon rəngi: qara; rəng: qırmızı; haşiyə tərzi: başlanğıc; sərhəd genişliyi: 1px" "") #ölüm sayı self.w_death_num = QLabel (öz) özünü.w_death_num.setGeometri (460), 90, 100, 40) self.w_death_num.setFont (QFont ('SansSerif', 18)) self.w_death_num.setStyleSheet ("" "fon rəngi: qara; rəng: ağ; haşiyə tərzi: başlanğıc; sərhəd genişliyi: 1 piksel "" ")
#dünya müalicəsi
self.w_cured = QLabel (self) self.w_cured.setGeometry (5, 140, 100, 40) self.w_cured.setText ("Müalicə:") self.w_cured.setFont (QFont ('SansSerif', 18)) özünü. w_cured.setStyleSheet ("" "fon rəngi: qara; rəng: mavi; sərhəd tərzi: başlanğıc; sərhəd eni: 1 piksel" "")
#dünya miqyasında müalicə olunan nömrə
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 ("" "fon rəngi: qara; rəng: ağ; haşiyə tərzi: başlanğıc; sərhəd eni: 1 piksel "" ")
"" "_ Yerli Ölkə Kodu _" ""
#local - Ölkə özünü.c = QLabel (self) self.c.setGeometry (170, 200, 400, 40) self.c.setText ("Mənim Ölkəm: Banqladeş") self.c.setFont (QFont ('SansSerif'), 18)) self.c.setStyleSheet ("" "fon rəngi: qara; rəng: ağ; haşiyə tərzi: başlanğıc; sərhəd genişliyi: 1 piksel" "") #yerli halları təsdiqləyin self.c_cases = QLabel (özünü) self.c_cases.setGeometry (5, 240, 400, 40) self.c_cases.setText ("Cases:") self.c_cases.setFont (QFont ('SansSerif', 18)) self.c_cases.setStyleSheet ("" "fon -rəng: qara; rəng: narıncı; haşiyə tərzi: başlanğıc; sərhəd genişliyi: 1px "" ") #yerli halların sayı 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 ("" "fon rəngi: qara; rəng: ağ; sərhəd tərzi: başlanğıc; sərhəd eni: 1 piksel" "")
#yerli ölümlər
self.c_death = QLabel (self) self.c_death.setGeometry (350, 240, 100, 40) self.c_death.setText ("Ölümlər:") self.c_death.setFont (QFont ('SansSerif', 18)) özünü. c_death.setStyleSheet ("" "fon rəngi: qara; rəng: qırmızı; haşiyə tərzi: başlanğıc; sərhəd eni: 1 piksel" "")
#yerli ölüm sayı
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 ("" "fon rəngi: qara; rəng: ağ; haşiyə tərzi: başlanğıc; haşiyə genişliyi: 1px "" ") #yerli müalicə öz-özünə setText ("Cured:") self.c_cured.setFont (QFont ('SansSerif', 18)) self.c_cured.setStyleSheet ("" "fon rəngi: qara; rəng: mavi; sərhəd tərzi: başlanğıc; sərhəd genişliyi: 1px "" ") #yerli müalicə nömrəsi 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 ("" "fon rəngi: qara; rəng: ağ; haşiyə tərzi: başlanğıc; sərhəd eni: 1 piksel" "")
"" "_ Zaman, Tarix, Saat _" ""
#clock self.clock = QLabel (self) self.clock.setGeometry (115, 340, 400, 70) self.clock.setFont (QFont ('SansSerif', 60)) self.clock.setStyleSheet ("" "fon- rəng: qara; rəng: ağ; haşiyə tərzi: başlanğıc; haşiyə genişliyi: 1px "" ") #iş günü üçün etiket.weekday = QLabel (self) self.weekday.setGeometry (5, 360, 110, 20) özünü.weekday.setFont (QFont ('SansSerif', 13)) self.weekday.setStyleSheet ("" "fon rəngi: qara; rəng: ağ; sərhəd tərzi: başlanğıc; sərhəd eni: 1 piksel" "") #tarix etiket 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 ("" "fon rəngi: qara; rəng: ağ; haşiyə tərzi: başlanğıc; sərhəd eni: 1 piksel" "")
#self.timer.isActive () deyilsə, zamanlayıcıyı yoxlayın: #əgər taymer dayandırılıbsa (eşikə çatılıb) #1 saniyədən sonra (təxminən) və ya 1000 ms
cəhd edin:
"" "məlumat əldə etməyə çalışın, əks halda kodu işə salın" "" self.latest = self.covid.getLatest () #gte covid19 ən son məlumatlar
#BD'-Banqladeş, 'IN'-Hindistan və s ölkə kodu ilə ən son məlumatları əldə edin
self.local = self.covid.getLocationByCountryCode ('BD', zaman çizelgeleri = Yanlış) #print (self.local) #print (self.latest)
istisna olmaqla:
"" "məlumat əldə edə bilmədi" "" çap et ("İnternet Xətası !!")
#ignore keç, hər halda qaç
self.timer.start (1000) #taymerə başla
self.show () #İstifadəçi İnterfeysimizi göstərin
def yeniləməsi (özünü):
"" "məlumatları olan etiketləri yeniləyin" ""
"" "_Elanın Yeniləmə Zamanı və Tarix Məlumatı çıxarın _" ""
#saat və tarix vaxtını təyin edin (dəyərləri yeniləyin) #dəyərləri alın və yeniləyin #daha çox bilmək üçün python datetime sənədlərini oxuyun
self.dt = datetime.datetime.now () #datetime məlumatlarını əldə edin
self.clock.setText (self.dt.strftime ('%X')) self.weekday.setText (self.dt.strftime ('%A')) self.date.setText (self.dt.strftime ('%) x ')) "" "_ covid19 məlumatlarını yeniləyin_" "" #dünya miqyasında ən son məlumatlar self.w_cases_num.setText (str (self.latest [' təsdiqləndi '])) self.w_death_num.setText (str (öz -özünə ən son [' ölümlər '')])) self.w_cured_num.setText (str (self.latest ['bərpa' '))) #yerli son məlumatlar self.c_cured_num.setText (str (self.local [0] [' ən son '] [' bərpa '])) self.c_death_num.setText (str (self.local [0] ['ən son'] ['ölümlər'])) self.c_cases_num.setText (str (self.local [0] ['ən son'] ['təsdiqləndi' ')]))
çap ("yenilənir")
qayıt
def main (): app = QApplication (sys.argv) win = CoronaTracker () #sys.exit (app.exec ()) #instipi _name_ == '_main_' olarsa çalıştırın: main ()
Addım 6: Bitirin:
Kodu sınadıqdan sonra onu masaya qoydum və bunun üçün bir enerji mənbəyi ayırdım. Beləliklə, şarj edərkən işləyə bilər. Yüksəkliklərdən istifadə edərək, hətta yük atma zamanı da işləyə bilər, bu da ur pi SD kartına uyğun bir qoruma verir.
Necə və kim olmağımızdan asılı olmayaraq ölməliyik. Gəlin özünüzü düşünməyək, dünya haqqında düşünək. Yalnız əməllərimizlə əbədi yaşaya bilərik, qoy belə olsun.
Tövsiyə:
ESP8266 və OLED istifadə edərək Canlı Covid19 İzləyicisi - Real vaxt Covid19 Tablosuna: 4 addım
ESP8266 və OLED istifadə edərək Canlı Covid19 İzləyicisi | Realtime Covid19 Tablosuna: Techtronic Harsh Veb saytına daxil olun: http: //techtronicharsh.com Hər yerdə yeni bir Corona Virusunun (COVID19) böyük bir yayılması var. Dünyada mövcud olan COVID-19 ssenarisini izləmək lazım gəldi, buna görə də evdə olarkən, bu
Astrofotoqrafiya üçün Arduino Powered 'Scotch Mount' Ulduz İzləyicisi: 7 addım (şəkillərlə)
Astrofotoqrafiya üçün Arduino Powered 'Scotch Mount' Ulduz İzləyicisi: Şotlandiya dağını kiçik yaşlarımda öyrənmişəm və 16 yaşımda atamla birlikdə etmişəm. Astrofotoqrafiyaya başlamağın ucuz, sadə bir yolu var. əsas f -nin mürəkkəb teleskop məsələlərinə daxil olun
Zəngli Saatlı DIY Ağıllı Ölçek (Wi-Fi, ESP8266, Arduino IDE və Adafruit.io ilə): 10 addım (şəkillərlə)
Zəngli Saatlı DIY Ağıllı Ölçek (Wi-Fi, ESP8266, Arduino IDE və Adafruit.io ilə): Əvvəlki layihəmdə Wi-Fi ilə ağıllı bir vanna otağı tərəzi hazırladım. İstifadəçinin çəkisini ölçə, yerli olaraq göstərə və buluda göndərə bilər. Bu barədə daha ətraflı məlumatı aşağıdakı linkdən əldə edə bilərsiniz: https: //www.instructables.com/id/Wi-Fi-Smart-Scale-wi
Masaüstü Cihazı - Özelleştirilebilir Masaüstü Köməkçisi: 7 addım (Şəkillərlə birlikdə)
Masaüstü Cihazı - Özelleştirilebilir Masaüstü Köməkçisi: Masaüstü Cihazı, internetdən yüklənmiş müxtəlif məlumatları göstərə bilən kiçik bir şəxsi masaüstü köməkçisidir. Bu cihaz, Müəllimin rəhbərlik etdiyi Berry Kollecində CRT 420 - Xüsusi Mövzular sinfi üçün mənim tərəfimdən hazırlanmış və hazırlanmışdır
Film İzləyicisi - Raspberry Pi Powered Theatre Release Tracker: 15 Addım (Şəkillərlə birlikdə)
Movie Tracker - Raspberry Pi Powered Theatre Release Tracker: Movie Tracker, clapperboard formalı, Moruq Pi ilə işləyən Release Tracker -dir. TMDb API -dən istifadə edərək bölgənizdə gələcək filmlərin afişasını, adını, buraxılış tarixini və ümumi görünüşünü müəyyən bir vaxt aralığında (məsələn, bu həftə film buraxılışları) çap etmək üçün istifadə edin