Tartalomjegyzék:
- 1. lépés: Alkalmazott alkatrészek:
- 2. lépés: A Raspberry Pi beállítása:
- 3. lépés: Áramköri diagram:
- 4. lépés: A test:
- 5. lépés: A szoftver (forráskód):
- 6. lépés: Befejezés:
Videó: Asztali COVID19 nyomkövető órával! Raspberry Pi Powered Tracker: 6 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
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:
- 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:
Azt hiszem, tökéletesen beállította a pi -t, hacsak nem …
- szerezzen be SD -kártyát - több mint 8 GB
- innen töltse le a legújabb raspbian iso fájlt.
- Í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:
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:
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:
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:
ESP8266 POV ventilátor órával és a weblap szövegének frissítésével: 8 lépés (képekkel)
ESP8266 POV ventilátor órával és a weblap szövegének frissítésével: Ez egy változó sebességű, POV (Persistence Of Vision), Ventilátor, amely szakaszosan megjeleníti az időt, és két szöveges üzenet, amely "menet közben" frissíthető. " egy egyoldalas webszerver is, amely lehetővé teszi a két szöveg megváltoztatását
Élő Covid19 Tracker ESP8266 és OLED használatával - Valós idejű Covid19 műszerfal: 4 lépés
Élő Covid19 Tracker ESP8266 és OLED használatával | Valós idejű Covid19 irányítópult: Látogassa meg a Techtronic kemény webhelyét: http: //techtronicharsh.com Mindenhol hatalmas koronavírus -járvány (COVID19) kitörése van. Szükségessé vált a COVID-19 jelenlegi forgatókönyvének figyelemmel kísérése a világban. Tehát, mivel otthon volt, ez volt a
Az asztali eszköz - személyre szabható asztali asszisztens: 7 lépés (képekkel)
Az asztali eszköz - személyre szabható asztali asszisztens: Az asztali eszköz egy kicsi személyes asztali asszisztens, amely képes megjeleníteni az internetről letöltött különféle információkat. Ezt az eszközt én terveztem és készítettem a CRT 420 - Speciális témák osztályhoz a Berry College -ban, amelyet az oktató vezet
NODEMCU Lua ESP8266 valós idejű órával (RTC) és EEPROM: 7 lépés
NODEMCU Lua ESP8266 valós idejű órával (RTC) és EEPROM: A helyes idő megadása elengedhetetlen, ha adatnaplót szeretne vezetni. Különféle módon lehet időt szerezni az internetes forrásokból. Megkérdezheti, hogy miért nem használja az ESP8266 -ot, hogy időt szakítson magára? Nos, megteheti, saját belső RTC (valós idejű…)
Asztali erősítő audiovizualizációval, bináris órával és FM -vevővel: 8 lépés (képekkel)
Asztali erősítő audiovizualizációval, bináris órával és FM -vevővel: szeretem az erősítőket, és ma megosztom a közelmúltban készített kis teljesítményű asztali erősítőmet. Az általam tervezett erősítőnek van néhány érdekes tulajdonsága. Beépített bináris órával rendelkezik, és időt és dátumot tud adni, és képes megjeleníteni a hangot, amelyet gyakran hangnak hívnak