Tartalomjegyzék:

Asztali COVID19 nyomkövető órával! Raspberry Pi Powered Tracker: 6 lépés
Asztali COVID19 nyomkövető órával! Raspberry Pi Powered Tracker: 6 lépés

Videó: Asztali COVID19 nyomkövető órával! Raspberry Pi Powered Tracker: 6 lépés

Videó: Asztali COVID19 nyomkövető órával! Raspberry Pi Powered Tracker: 6 lépés
Videó: Leap Motion SDK 2024, Július
Anonim
Asztali COVID19 nyomkövető órával! Raspberry Pi Powered Tracker
Asztali COVID19 nyomkövető órával! Raspberry Pi Powered Tracker

Tudjuk, hogy bármikor meghalhatunk, még én is meghalhatok e bejegyzés írásakor, elvégre én, én, mindannyian halandók vagyunk. Az egész világ megremegett a COVID19 járvány miatt. Tudjuk, hogyan lehet ezt megakadályozni, de hé! tudjuk, hogyan kell imádkozni, és miért kell imádkozni, vajon naponta tesszük -e? Nem!! Valójában elfelejtjük a dolgok okát. Tehát tudjuk, hogy a higiénikus életmód megmenthet minket, de nem teszünk megfelelően. Tekintsük az öcsém esetét, ő ki akar menni játszani még ilyenkor is. Tennem kellett valamit, hogy következetesen tájékoztassak mindenkit a COVID19 legújabb eseteiről. Ezért készítettem egy digitális asztali kijelzőt, amely valós időben mutatja a COVID19 legújabb eseteit. Mivel ennek van órája, el tudom helyezni olyan helyre, ahol mindenki összegyűlik vagy eljön. Látni fogják, hogy a számok összeadódnak, ami tudatosságot vált ki bennük, és remélhetőleg mindenki tudatos lesz. Mivel készítő és hobbi vagyok, ez jó projektnek bizonyult ezen a lezárási munkameneten.

1. lépés: Alkalmazott alkatrészek:

Alkatrészek, amelyeket használtam
Alkatrészek, amelyeket használtam
Alkatrészek, amelyeket használtam
Alkatrészek, amelyeket használtam
Alkatrészek, amelyeket használtam
Alkatrészek, amelyeket használtam
Alkatrészek, amelyeket használtam
Alkatrészek, amelyeket használtam
  • Raspberry Pi 3 B modell (sd kártyával indítva)
  • Raspberry Pi UPS modul (opcionális)
  • 7 hüvelykes HDMI LCD képernyő
  • HDMI -HDMI kábel (ez a képernyőhöz tartozik)
  • USB kábelek
  • 5v 2A hálózati adapter (a pi tápellátásához)
  • PVC lemez [fa színű] (a test elkészítéséhez)

2. lépés: A Raspberry Pi beállítása:

A Raspberry Pi beállítása
A Raspberry Pi beállítása

Azt hiszem, tökéletesen beállította a pi -t, hacsak nem …

  1. szerezzen be SD -kártyát - több mint 8 GB
  2. innen töltse le a legújabb raspbian iso fájlt.
  3. Írja be az SD -kártyát maratóval

(Ne feledje, hogy az emberek mondhatnak valamit más szoftverekről, amelyek megkövetelik a beállítások elvégzését, de az etcher szuper könnyen használható és egyszerű, de hatékony is.)

Csak csatlakoztassa az SD -kártyát a számítógéphez, futtassa az etchert, és látni fogja, hogy az etcher automatikusan kiválasztja az SD -kártyát, majd kattintson a letöltött iso fájl vagy kép kiválasztására, majd égesse el. A sikeres írás és feldolgozás után húzza ki az SD -kártyát, és csatlakoztassa a pi -hez, kapcsolja be és kapcsolja be a VOILA -t !! Életben van.

3. lépés: Áramköri diagram:

Kördiagramm
Kördiagramm

Csatlakoztassa a mindent és kapcsolja be a raspbery pi -t, csak csatlakozik, semmi más.

Látni fogja a pi indítást.

4. lépés: A test:

A test
A test
A test
A test
A test
A test
A test
A test

PVC lapot vágtam a kijelző méretének megfelelően, majd csavarokkal hozzáadtam. Ezt követően mindent bekötöttem. Végül egy másik lapot is hozzáadott hátul, hogy alátámassza az esést (kék lap). Ha minden rendben van, akkor látnia kell a pi bootolást (utolsó kép)

5. lépés: A szoftver (forráskód):

A program python3 -ban van írva. A GUI (grafikus felhasználói felület) esetében a PyQt5 -öt használtam, a valós idejű COVID19 -adatok kinyeréséhez pedig a COVID19Py könyvtárat. Köszönet azoknak a srácoknak, akik elérhetővé tették számunkra az API -t

Nagyjából ennyi, most nyissa meg a terminált a raspberry pi -n, és telepítse a könyvtárakat (másolja mindegyiket, és illessze be az rpi terminálra).

Másolás közben figyelmen kívül hagyja a $ jelet

$ pip3 install pyqt5

$ pip3 install kérések $ pip3 install covid19py

Ennyi, most töltse le innen a kódot, az alábbi kódot megadtam:

"" "*Valós idejű Covid19 nemzetközi és helyi nyomkövető órával*" "" "" ************** Maradjon otthon Maradjon biztonságban. Éljen, éljen ******** ***** """

"""

szerző: ashraf minhaj mail: [email protected] site: ashrafminhajfb.blogspot.com """

#importálja a szükséges könyvtárakat

importálja a PyQt5 #QT GUI könyvtárat a python3 számára a PyQt5 -ből. #covid19 information -api import dataetime #tudod, hogy ez mire való

osztályú CoronaTracker (QWidget):

"" "fő osztály, amely mindent tartalmaz" "" def _init _ (self): "" "Initial things" "" super ()._ init _ () self.covid = COVID19Py. COVID19 () #initialize self.timer = QTimer () #initialize self.timer.timeout.connect (self.update) #ha az időzítő eléri a küszöbértéket - call update self.ui () #user interface

def ui (ön):

"" "User Interface section" "" self.setWindowTitle ("Covid19 International and Local Tracker") #self.setWindowFlags (Qt. CustomizeWindowHint) #hide title bar self.setStyleSheet ("Background-color: black") self.setFixedSize (640, 480) #a kijelzőnként (x, y) /rpi felbontás

#főcímke

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 ("" "background-color: black; color: white; border-style: outset; border-width: 1px" "")

"" "_worlds legújabb adatok_" ""

#world label self.w = QLabel (self) self.w.setGeometry (200, 55, 400, 40) self.w.setText ("World at a Glance") self.w.setFont (QFont ('SansSerif', 18)) self.w.setStyleSheet ("" "background-color: black; color: blue; border-style: outset; border-width: 1px" "")

#Világszerte megerősített esetek

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 képpont "" ")

#világméretű halálesetek

self.w_death = QLabel (self) 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" "") #halálszám 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 képpont "" ")

#világszerte gyógyult

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: cián; border-style: outset; border-width: 1px" "")

#világszerte gyógyított szám

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 ("" "background-color: fekete; szín: fehér; szegély stílus: eleje; szegély szélessége: 1 képpont "" ")

"" "_ Helyi ország szerinti kód _" ""

#local - Country self.c = QLabel (self) self.c.setGeometry (170, 200, 400, 40) self.c.setText ("Saját ország: Banglades") self.c.setFont (QFont ('SansSerif', 18)) self.c.setStyleSheet ("" "background-color: black; color: white; border-style: outset; border-width: 1px" "") #local megerősíti az eseteket self.c_cases = QLabel (self) self.c_cases.setGeometry (5, 240, 400, 40) self.c_cases.setText ("Cases:") self.c_cases.setFont (QFont ('SansSerif', 18)) self.c_cases.setStyleSheet ("" "background -szín: fekete; szín: narancssárga; border-style: outset; border-width: 1px "" ") #helyi esetek száma 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" "")

#helyi halálesetek

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" "")

#helyi halálesetek száma

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 ("" "background-color: fekete; szín: fehér; border-style: outset; border-width: 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 ("" "background-color: black; color: cian; border-style: outset; border-width: 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" "")

"" "_ Idő, dátum, óra_" ""

#clock self.clock = QLabel (self) self.clock.setGeometry (115, 340, 400, 70) self.clock.setFont (QFont ('SansSerif', 60)) self.clock.setStyleSheet ("" "background- szín: fekete; szín: fehér; border-style: outset; border-width: 1px "" ") #label for weekday self.weekday = QLabel (self) self.weekday.setGeometry (5, 360, 110, 20) self.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" "")

#ellenőrizze az időzítőt, ha nem önálló.timer.isActive (): #ha az időzítő leáll (elérte a küszöböt) #1 másodperc (kb.) vagy 1000 ms után

próbáld ki:

"" "próbáljon meg adatokat szerezni, különben futtassa a kódot" "" self.latest = self.covid.getLatest () #gte covid19 legfrissebb adatok

#a legfrissebb adatok országkódja szerint „BD”-Banglades, „IN”-India stb

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

kivéve:

"" "nem sikerült adatokat szerezni" "" print ("Internet hiba !!")

passzol #ignore, mindenesetre fuss

self.timer.start (1000) #indítsa el az időzítőt

self.show () #show felhasználói felületünk

def update (saját):

"" "címkék frissítése információkkal" ""

"" "_Hirdetés kivonata Frissítési idő és dátum információk_" ""

#állítsa be az órát és a dátumot (frissítse az értékeket)

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

self.clock.setText (self.dt.strftime ('%X')) self.weekday.setText (self.dt.strftime ('%A')) self.date.setText (self.dt.strftime ('% x ')) "" "_frissítse a covid19 adatokat_" "" #worldwide latest data self.w_cases_num.setText (str (self.latest [' megerősített '])) self.w_death_num.setText (str (self.latest [' deaths ')])) self.w_cured_num.setText (str (self.latest ['helyreállított])) #local latest data self.c_cured_num.setText (str (self.local [0] [' latest '] [' recovery '])) self.c_death_num.setText (str (self.local [0] ['latest'] ['deaths'])) self.c_cases_num.setText (str (self.local [0] ['legújabb'] ['megerősítve']))

nyomtatás ("frissítés")

Visszatérés

def main (): app = QApplication (sys.argv) win = CoronaTracker () #instantiate sys.exit (app.exec ()) #futtassa az alkalmazást, ha _name_ == '_main_': main ()

6. lépés: Befejezés:

Befejezni
Befejezni

A kód tesztelése után letettem az asztalra, és áramforrást szántam rá. Így töltés közben is működhet. Ha használja ezt az emelést, ez akár terheléscsökkentésben is futhat, ez megfelelő védelmet nyújt az ur pi SD kártyának is.

Nem számít, hogyan vagy kik vagyunk, meg kell halnunk. Ne gondoljunk magunkra, gondoljunk a világra. Csak tetteink által élhetünk örökké, legyen így.

Ajánlott: