İçindekiler:
- Adım 1: Kullandığım Parçalar:
- Adım 2: Raspberry Pi'yi Kurun:
- Adım 3: Devre Şeması:
- Adım 4: Vücut:
- Adım 5: Yazılım (Kaynak Kodu):
- Adım 6: Bitirin:
Video: Saatli Masaüstü COVID19 İzleyici! Raspberry Pi Powered Tracker: 6 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:16
Her an ölebileceğimizi biliyoruz, ben bile bu yazıyı yazarken ölebilirim sonuçta ben ben sen, hepimiz ölümlüyüz. COVID19 salgını nedeniyle tüm dünya sallandı. Bunu nasıl önleyeceğimizi biliyoruz, ama hey! Nasıl dua edeceğimizi ve neden dua edeceğimizi biliyoruz, bunu her gün yapıyor muyuz? Numara!! Aslında, bir şeyleri neden yapmamız gerektiğinin temel nedenini unutuyoruz. Bu nedenle, hijyenik bir yaşam tarzının bizi kurtarabileceğini biliyoruz, ancak bunu gerektiği gibi yapmıyoruz. Küçük kardeşimin durumunu düşünün, bu zamanda bile dışarı çıkıp oynamak istiyor. Herkesi en son COVID19 vakaları hakkında sürekli olarak bilgilendirmek için bir şeyler yapmak zorundaydım. Bu yüzden, en son COVID19 vakalarını gerçek zamanlı olarak gösteren dijital bir masa ekranı yaptım. Bunun bir saati olduğu için herkesin toplandığı veya geldiği bir yere koyabilirim. Sayıların arttığını görecekler, bu da içlerinde farkındalığı tetikleyecek ve umarım herkes bilinçli olacaktır. Ayrıca bir yapımcı ve hobici olduğum için, bu, bu kilitleme oturumunda üzerinde çalışmak için iyi bir proje olduğu ortaya çıktı.
Adım 1: Kullandığım Parçalar:
- Raspberry Pi 3 Model B (sd kart kullanılarak başlatıldı)
- Raspberry Pi UPS modülü (opsiyonel)
- 7 inç HDMI LCD Ekran
- HDMI - HDMI kablosu (bu, ekranla birlikte gelir)
- USB kabloları
- 5v 2A güç adaptörü (pi'ye güç sağlamak için)
- PVC levha [ahşap rengi] (gövde yapmak için)
Adım 2: Raspberry Pi'yi Kurun:
Sanırım pi'yi mükemmel bir şekilde ayarladın, eğer yapmadıysan -
- bir SD kart alın - 8 GB'den fazla
- en son raspbian iso dosyasını buradan indirin.
- etcher kullanarak SD kartı yakmak
(İnsanların bazı kurulum işleri yapmanızı gerektiren diğer yazılımlar hakkında söyleyebileceklerini ancak etcher'ın kullanımı çok kolay ve basit ama etkilidir.)
Sadece SD kartınızı bilgisayara takın, etcher'ı çalıştırın, SD kartın etcher tarafından otomatik olarak seçildiğini göreceksiniz, ardından indirilen iso dosyasını veya imajını seçmek için tıklayın, ardından yazın. Başarılı yazma ve işlemden sonra SD kartı çıkarın ve pi'nize bağlayın, açın ve VOILA!! Yaşıyor.
Adım 3: Devre Şeması:
Her şeyi bağlayın ve ahududu pi'yi açın, sadece bağlanıyor, başka bir şey değil.
Pi'nin başladığını göreceksiniz.
Adım 4: Vücut:
PVC levhayı ekran boyutuna göre kesip vida ile ekledim. Ondan sonra her şeyi bağladım. Sonunda düşmesini önlemek için arkaya başka bir sayfa ekledi (mavi sayfa). Her şey yolundaysa, pi önyüklemesini görmelisiniz (son resim)
Adım 5: Yazılım (Kaynak Kodu):
Program python3 ile yazılmıştır. GUI (Grafik Kullanıcı Arayüzü) için PyQt5 kullandım ve gerçek zamanlı COVID19 verilerini çıkarmak için COVID19Py kitaplığını kullandım. API'yi bizim için kullanıma sunanlara teşekkürler
Bu kadar, şimdi ahududu pi'de Terminal'i açın ve kitaplıkları kurun (her birini kopyalayın ve rpi terminaline yapıştırın).
Kopyalarken $ işaretini yoksay
$ pip3 pyqt5 yükleyin
$ pip3 yükleme istekleri $ pip3 yükleme covid19py
İşte bu, şimdi kodu buradan indirin, aşağıdaki kodu verdim:
"""* Gerçek Zamanlı Covid19 Uluslararası ve Saatli Yerel Takipçi *""" """ ************** Evde Kal Güvende Kal. Yaşa, Yaşa ******** ***** """
"""
yazar: ashraf minhaj posta: [email protected] sitesi: ashrafminhajfb.blogspot.com """
#gerekli kitaplıkları içe aktar
PyQt5. QtCore'dan python3 için PyQt5 #QT GUI Kitaplığını içe aktar #covid19 bilgisi -api import datetime #bunun ne için olduğunu biliyorsun
sınıf CoronaTracker(QWidget):
"""her şeyi içeren ana sınıf""" def _init_(self): """şeyleri başlat"""" super()._init_() self.covid = COVID19Py. COVID19() #initialize self.timer = QTimer() #initialize self.timer.timeout.connect(self.update) #zamanlayıcı eşiğe ulaşırsa - çağrı güncelleme self.ui() #user interface
tanım ui(kendi):
"""Kullanıcı Arayüzü bölümü""" self.setWindowTitle("Covid19 Uluslararası ve Yerel İzleyici") #self.setWindowFlags(Qt. CustomizeWindowHint) #hide başlık çubuğu self.setStyleSheet("Arka plan rengi: siyah") self.setFixedSize(640, 480) #görüntüme göre (x, y) /rpi çözünürlük
#ana etiket
self.banner_label = QLabel(self) self.banner_label.setGeometry(50, 5, 560, 50) #(x_origin, y_origin, Til_x, Til_y) self.banner_label.setText("CORONA Pandemi - COVID19 TRACKER") self.banner_label. setFont(QFont('SansSerif', 20)) self.banner_label.setStyleSheet(""" background-color: black; color: white; border-style: outset; border-width: 1px """)
"""_dünyanın en son verileri_"""
#world label self.w = QLabel(self) self.w.setGeometry(200, 55, 400, 40) self.w.setText("Bir Bakışta Dünya") self.w.setFont(QFont('SansSerif', 18)) self.w.setStyleSheet(""" arka plan rengi: siyah; renk: mavi; kenarlık stili: başlangıç; kenarlık genişliği: 1 piksel """)
#dünya çapında onaylanmış vakalar
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: siyah; color: white; border-style: outset; border-width: 1 piksel """)
#dünya çapında ölümler
self.w_death = QLabel(self) self.w_death.setGeometry(350, 90, 100, 40) self.w_death.setText("Ölümler:") self.w_death.setFont(QFont('SansSerif', 18)) self. w_death.setStyleSheet(""" background-color: black; color: red; border-style: outset; border-width: 1px """) #death number 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: siyah; color: white; border-style: outset; border-width: 1 piksel """)
#dünya çapında tedavi
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(""" arka plan rengi: siyah; renk: camgöbeği; kenarlık stili: başlangıç; sınır genişliği: 1 piksel """)
#dünya çapında tedavi edilen sayı
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(""" arka plan rengi: siyah; renk: beyaz; kenarlık stili: başlangıç; kenarlık genişliği: 1 piksel """)
"""_Yerel-Ülkeye göre Kod_"""
#local - Ülke self.c = QLabel(self) self.c.setGeometry(170, 200, 400, 40) self.c.setText("Ülkem: Bangladeş") self.c.setFont(QFont('SansSerif'), 18)) self.c.setStyleSheet(""" background-color: black; color: white; border-style: outset; border-width: 1px """) #local onay vakaları self.c_cases = QLabel(self) self.c_cases.setGeometry(5, 240, 400, 40) self.c_cases.setText("Vakalar:") self.c_cases.setFont(QFont('SansSerif', 18)) self.c_cases.setStyleSheet(""" arkaplan -color: black; color: orange; border-style: outset; border-width: 1px """) #local case number 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 """)
#yerel ölümler
self.c_death = QLabel(self) self.c_death.setGeometry(350, 240, 100, 40) self.c_death.setText("Ölümler:") self.c_death.setFont(QFont('SansSerif', 18)) self. c_death.setStyleSheet(""" arka plan rengi: siyah; renk: kırmızı; kenarlık stili: başlangıç; kenarlık genişliği: 1 piksel """)
#yerel ölüm sayısı
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(""" arka plan rengi: siyah; renk: beyaz; border-style: outset; border-width: 1px """) #local tedavi 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(""" background-color: black; color: cyan; border-style: outset; border-width: 1px """) #local tedavi edilen sayı 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(""" arka plan rengi: siyah; renk: beyaz; kenarlık stili: başlangıç; kenarlık genişliği: 1 piksel """)
"""_ Saat, Tarih, Saat_"""
#clock self.clock = QLabel(self) self.clock.setGeometry(115, 340, 400, 70) self.clock.setFont(QFont('SansSerif', 60)) self.clock.setStyleSheet(""" background- color: black; color: white; border-style: outset; border-width: 1px """) #label forweekday self.weekday = QLabel(self) self.weekday.setGeometry(5, 360, 110, 20) self.weekday.setFont(QFont('SansSerif', 13)) self.weekday.setStyleSheet(""" background-color: siyah; color: white; border-style: outset; border-width: 1px """) #date 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(""" arka plan rengi: siyah; renk: beyaz; kenarlık stili: başlangıç; kenarlık genişliği: 1 piksel """)
#zamanlayıcıyı kontrol et yoksa self.timer.isActive(): #zamanlayıcı durdurulursa (eşiğe ulaşılır) #1 saniye (yaklaşık) veya 1000ms sonra
denemek:
"""veri almaya çalış, yoksa kodu yine de çalıştır""" self.latest = self.covid.getLatest() #gte covid19 son veriler
# 'BD'-Bangladeş, 'IN'-Hindistan vb. ülke koduna göre en son verileri alın
self.local = self.covid.getLocationByCountryCode('BD', timelines=False) #print(self.local) #print(self.latest)
hariç:
"""veri alınamadı""" print("İnternet Hatası!")
#ignore'u geç, yine de koş
self.timer.start(1000) #zamanlayıcıyı başlat
self.show() #Kullanıcı Arayüzümüzü göster
def güncelleme (kendi kendine):
"""bilgi içeren etiketleri güncelle"""
"""_Ayıkla Reklam Güncelleme Saat ve Tarih Bilgisi_"""
#saati ve tarihi ayarlayın (değerleri güncelleyin) #değerleri alın ve güncelleyin #daha fazla bilgi için python tarih saat belgelerini okuyun
self.dt = datetime.datetime.now() #tarihsaat verilerini al
self.clock.setText(self.dt.strftime('%X')) self.weekday.setText(self.dt.strftime('%A')) self.date.setText(self.dt.strftime('%) x')) """_covid19 data güncelleme _""" #dünya çapında en son veriler self.w_cases_num.setText(str(self.latest['confirmed'])) self.w_death_num.setText(str(self.latest['deaths')])) self.w_cured_num.setText(str(self.latest['kurtarıldı'])) #local son veriler self.c_cured_num.setText(str(self.local[0]['latest']['kurtarıldı'])) self.c_death_num.setText(str(self.local[0]['son']['ölümler'])) self.c_cases_num.setText(str(self.local[0]['en son']['onaylandı')]))
print("güncelleniyor")
dönüş
def main(): app = QApplication(sys.argv) win = CoronaTracker() #instantiate sys.exit(app.exec()) #uygulamayı eğer _name_ == '_main_': main()
Adım 6: Bitirin:
Kodu test ettikten sonra masaya koydum ve ona bir güç kaynağı ayırdım. Böylece şarj olurken çalışabilir. Bu, yük atmada bile çalışabilen ups'leri kullanarak, pi SD kartınıza da uygun bir koruma sağlar.
Nasıl ve kim olursak olalım, ölmek zorundayız. Kendinizi değil, dünyayı düşünün. Sadece yaptıklarımız sayesinde sonsuza kadar yaşayabiliriz, bırakın öyle olsun.
Önerilen:
NEO-6M Modülünü Kullanan Yerel Saatli Arduino GPS Saati: 9 Adım
NEO-6M Modülünü Kullanarak Yerel Saatli Arduino GPS Saati: Bu dersimizde arduino kullanarak uydulardan güncel saat almayı öğreneceğiz.Videoyu izleyin
ESP8266 ve OLED Kullanan Canlı Covid19 İzleyici - Gerçek Zamanlı Covid19 Panosu: 4 Adım
ESP8266 ve OLED Kullanan Canlı Covid19 İzleyici | Gerçek Zamanlı Covid19 Panosu: Techtronic Harsh Web Sitesini Ziyaret Edin: http://techtronicharsh.comHer yerde büyük bir Roman Corona Virüsü (COVID19) salgını var. Dünyadaki mevcut COVID-19 senaryosunu takip etmek gerekli hale geldi.Yani evde olmak p
Astrofotografi için Arduino Powered 'Scotch Mount' Yıldız İzleyici: 7 Adım (Resimlerle)
Astrofotografi için Arduino Powered 'Scotch Mount' Yıldız İzleyici: Scotch Mount'ı daha gençken öğrendim ve 16 yaşındayken babamla bir tane yaptım. Astrofotografi ile başlamanın ucuz ve basit bir yolu, sizden önce temel bilgileri kapsayan asal f'nin karmaşık teleskop konularına girin
Masaüstü Aygıt - Özelleştirilebilir Masaüstü Asistanı: 7 Adım (Resimlerle)
Masaüstü Aygıtı - Özelleştirilebilir Bir Masaüstü Yardımcısı: Masaüstü Aygıtı, internetten indirilen çeşitli bilgileri görüntüleyebilen küçük bir kişisel masaüstü yardımcısıdır. Bu cihaz, Berry College'da Eğitmen tarafından yönetilen CRT 420 - Özel Konular sınıfı için tarafımca tasarlanmış ve üretilmiştir
Film İzleyici - Raspberry Pi Destekli Tiyatro Yayın İzleyici: 15 Adım (Resimlerle)
Film İzleyici - Raspberry Pi Destekli Tiyatro Yayın İzleyici: Film İzleyici, fıçı tahtası şeklinde, Raspberry Pi ile çalışan bir Yayın İzleyicidir. Bölgenizdeki gelecek filmlerin posterini, başlığını, çıkış tarihini ve genel bakışını belirli bir zaman aralığında (örn