Sadržaj:
- Korak 1: Dijelovi koje sam koristio:
- Korak 2: Postavljanje Raspberry Pi:
- Korak 3: Dijagram kola:
- Korak 4: Tijelo:
- Korak 5: Softver (izvorni kod):
- Korak 6: Završite:
Video: Desktop COVID19 Tracker sa satom! Raspberry Pi Powered Tracker: 6 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:04
Znamo da možemo umrijeti bilo kada, čak i ja mogu umrijeti dok pišem ovaj post, na kraju krajeva, ja, ja, svi smo smrtnici. Cijeli svijet se potresao zbog pandemije COVID19. Znamo kako to spriječiti, ali hej! znamo kako se moliti i zašto se molimo, radimo li to svakodnevno? Ne !! Zapravo, zaboravljamo osnovni uzrok zašto bismo trebali raditi neke stvari. Dakle, znamo da nas higijenski način života može spasiti, ali to ne činimo kako treba. Uzmimo u obzir slučaj mog mlađeg brata, koji želi izaći i igrati se čak i u ovo vrijeme. Morao sam učiniti nešto kako bih sve dosljedno informirao o najnovijim slučajevima COVID19. Stoga sam napravio digitalni radni sto koji prikazuje najnovije slučajeve COVID19 u stvarnom vremenu. Kako ovaj ima sat, mogu ga staviti na mjesto gdje se svi okupljaju ili dolaze. Vidjet će kako se zbrajaju brojevi, što će u njima izazvati svijest i nadamo se da će svi biti svjesni. Također, budući da sam stvaralac i hobist, pokazalo se da je ovo dobar projekt za rad na ovoj zaključanoj sesiji.
Korak 1: Dijelovi koje sam koristio:
- Raspberry Pi 3 Model B (pokrenuto pomoću SD kartice)
- Raspberry Pi UPS modul (opcionalno)
- 7 -inčni HDMI LCD ekran
- HDMI na HDMI kabl (dolazi sa ekranom)
- USB kablovi
- 5v 2A adapter za napajanje (za napajanje pi)
- PVC lim [drvena boja] (za izradu tijela)
Korak 2: Postavljanje Raspberry Pi:
Pretpostavljam da ste savršeno postavili pi, osim ako niste …
- nabavite SD karticu - više od 8 GB
- preuzmite najnoviju raspbian iso datoteku odavde.
- Narežite SD karticu pomoću bakropisa
(Imajte na umu da ljudi mogu reći nešto o drugom softveru za koji je potrebno da izvršite neke postavke, ali bakropis je super jednostavan za korištenje, a i jednostavan, ali i učinkovit.)
Samo priključite SD karticu na računar, pokrenite etcher, vidjet ćete da je SD kartica automatski odabrana, zatim kliknite da odaberete preuzetu iso datoteku ili sliku, a zatim je narežite. Nakon uspješnog pisanja i obrade, isključite SD karticu i spojite je na svoj pi, uključite je i VOILA !! Zivo je.
Korak 3: Dijagram kola:
Povežite sve i uključite raspbery pi, samo se povezuje, ništa drugo.
Vidjet ćete pi dizanje.
Korak 4: Tijelo:
Izrezao sam PVC ploču prema veličini zaslona, a zatim je dodao vijcima. Nakon toga sam sve povezao. Na kraju smo dodali još jedan list pozadi kako bi ga spriječili da padne (plavi list). Ako je sve u redu, trebali biste vidjeti pi dizanje (zadnja slika)
Korak 5: Softver (izvorni kod):
Program je napisan na python3. Za GUI (grafičko korisničko sučelje) koristio sam PyQt5, a za ekstrakciju podataka o COVID19 u stvarnom vremenu koristio sam biblioteku COVID19Py. Hvala momcima koji su nam API učinili dostupnim
To je otprilike to, sada otvorite Terminal na malini pi i instalirajte biblioteke (kopirajte svaku od njih i zalijepite na rpi terminal).
Zanemarite znak $ tokom kopiranja
$ pip3 instalirajte pyqt5
$ pip3 zahtjevi za instaliranje $ pip3 install covid19py
To je to, preuzmite kôd odavde, naveo sam kôd u nastavku:
"" "*Međunarodni i lokalni alat za praćenje u realnom vremenu Covid19 sa satom*" "" "" "************** Ostanite kod kuće Ostanite sigurni. Uživo, pustite uživo ******** ***** """
"""
autor: ashraf minhaj mail: [email protected] web stranica: ashrafminhajfb.blogspot.com """
#import neophodnih biblioteka
uvoz PyQt5 #QT GUI biblioteke za python3 iz PyQt5. QtCore uvoz Qt, QTimer #timer za ažuriranje sa PyQt5. QtWidgets uvoz * #importiraj sve iz PyQt5. QtGui uvoz QFont #za font font import #potrebno za uvoz QID19Py #informacije o covid19 -api datum i vreme uvoza #znate čemu ovo služi
klasa CoronaTracker (QWidget):
"" "glavna klasa koja sadrži sve" "" def _init _ (self): "" "inicijalizirati stvari" "" super ()._ init _ () self.covid = COVID19Py. COVID19 () #inicijalizirati self.timer = QTimer () #inicijalizirajte self.timer.timeout.connect (self.update) #ako tajmer dosegne prag - pozovite ažuriranje self.ui () #korisnički interfejs
def ui (self):
"" "Odjeljak korisničkog sučelja" "" self.setWindowTitle ("Međunarodni i lokalni alat za praćenje Covid19") #self.setWindowFlags (Qt. CustomizeWindowHint) #skrivanje naslovne trake self.setStyleSheet ("Boja pozadine: crna") self.setFixedSize (640, 480) #as po mom ekranu (x, y) /rpi rezolucija
#glavna oznaka
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_bel. setFont (QFont ('SansSerif', 20)) self.banner_label.setStyleSheet ("" "boja pozadine: crna; boja: bijela; stil ivice: izlaz; granica-širina: 1px" "")
"" "_ najnoviji podaci iz svijeta _" ""
#world label self.w = QLabel (self) self.w.setGeometry (200, 55, 400, 40) self.w.setText ("Svijet na prvi pogled") self.w.setFont (QFont ('SansSerif', 18)) self.w.setStyleSheet ("" "boja pozadine: crna; boja: plava; stil ivice: početak; granica širine: 1px" "")
#potvrđenih slučajeva širom svijeta
self.w_cases = QLabel (self) self.w_cases.setGeometry (5, 90, 100, 40) self.w_cases.setText ("Slučajevi:") self.w_cases.setFont (QFont ('SansSerif', 18)) self. w_cases.setStyleSheet ("" "boja pozadine: crna; boja: narandžasta; stil obruba: početak; granica širine: 1px" "") #broj predmeta 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 ("" "boja pozadine: crna; boja: bijela; stil ivice: izlaz; granica širine: 1px "" ")
#smrt širom svijeta
self.w_death = QLabel (self) self.w_death.setGeometry (350, 90, 100, 40) self.w_death.setText ("Smrti:") self.w_death.setFont (QFont ('SansSerif', 18)) self. w_death.setStyleSheet ("" "boja pozadine: crna; boja: crvena; stil ivice: isticanje; širina granice: 1px" "") #smrtni broj 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 ("" "boja pozadine: crna; boja: bijela; stil obruba: izlaz; granica širine: 1px "" ")
#svetski izlečen
self.w_cured = QLabel (self) self.w_cured.setGeometry (5, 140, 100, 40) self.w_cured.setText ("Izliječeno:") self.w_cured.setFont (QFont ('SansSerif', 18)) self. w_cured.setStyleSheet ("" "boja pozadine: crna; boja: cijan; stil ivice: početak; granica širine: 1px" "")
#svetski izlečeni broj
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 ("" "boja pozadine: crna; boja: bijela; stil obruba: početak; širina ivice: 1px "" ")
"" "_ Lokalni pozivni broj zemlje _" ""
#local - Država self.c = QLabel (self) self.c.setGeometry (170, 200, 400, 40) self.c.setText ("Moja zemlja: Bangladeš") self.c.setFont (QFont ('SansSerif', 18)) self.c.setStyleSheet ("" "boja pozadine: crna; boja: bijela; stil obruba: početak; granica širine: 1px" "") #local confirm cases self.c_cases = QLabel (self) self.c_cases.setGeometry (5, 240, 400, 40) self.c_cases.setText ("Slučajevi:") self.c_cases.setFont (QFont ('SansSerif', 18)) self.c_cases.setStyleSheet ("" "background -boja: crna; boja: narandžasta; stil obruba: početak; granica širine: 1px "" ") #lokalni broj slučajeva 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 ("" "boja pozadine: crna; boja: bijela; obrub-stil: izlaz; granica-širina: 1px" "")
#lokalna smrt
self.c_death = QLabel (self) self.c_death.setGeometry (350, 240, 100, 40) self.c_death.setText ("Smrti:") self.c_death.setFont (QFont ('SansSerif', 18)) self. c_death.setStyleSheet ("" "boja pozadine: crna; boja: crvena; stil ivice: početak; granica širine: 1px" "")
#lokalni broj umrlih
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 ("" "boja pozadine: crna; boja: bijela; stil obruba: početak; granica širine: 1px "" ") #local cured self.c_cured = QLabel (self) self.c_cured.setGeometry (5, 280, 100, 40) self.c_cured. setText ("Izliječeno:") self.c_cured.setFont (QFont ('SansSerif', 18)) self.c_cured.setStyleSheet ("" "boja pozadine: crna; boja: cijan; granica stila: izlaz; granica širine: 1px "" ") #lokalni izliječeni broj 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 ("" "boja pozadine: crna; boja: bijela; stil obruba: početak; granica širine: 1px" "")
"" "_ Vrijeme, Datum, Sat _" ""
#clock self.clock = QLabel (self) self.clock.setGeometry (115, 340, 400, 70) self.clock.setFont (QFont ('SansSerif', 60)) self.clock.setStyleSheet ("" "background- boja: crna; boja: bijela; rubni stil: početak; granica širine: 1px "" ") #oznaka za radni dan self.weekday = QLabel (self) self.weekday.setGeometry (5, 360, 110, 20) self.weekday.setFont (QFont ('SansSerif', 13)) self.weekday.setStyleSheet ("" "boja pozadine: crna; boja: bijela; stil obruba: izlaz; granica-širina: 1px" "") #datum 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 ("" "boja pozadine: crna; boja: bijela; stil ivice: početak; granica širine: 1px" "")
#provjerite tajmer ako nije self.timer.isActive (): #ako je tajmer zaustavljen (dosegnut prag) #Nakon 1 sekunde (približno) ili 1000ms
probaj:
"" "pokušajte dobiti podatke, inače pokrenite kôd" "" self.latest = self.covid.getLatest () #gte covid19 najnoviji podaci
#dobijete najnovije podatke po pozivu zemlje 'BD'-Bangladeš,' IN'-Indija itd
self.local = self.covid.getLocationByCountryCode ('BD', timelines = False) #print (self.local) #print (self.latest)
osim:
"" "nije moglo doći do podataka" "" print ("Internet greška !!")
položi #ignore, ipak trči
self.timer.start (1000) #pokretanje mjerača vremena
self.show () #prikaži naše korisničko sučelje
def update (self):
"" "ažurirajte oznake s informacijama" ""
"" "_Izvlačni oglas Ažuriranje vremena i datuma _" ""
#podesite sat i datum (vrednosti ažuriranja) #nabavite i ažurirajte vrednosti #da biste saznali više pročitajte python datumsku dokumentaciju
self.dt = datetime.datetime.now () #get datatime data
self.clock.setText (self.dt.strftime ('%X')) self.weekday.setText (self.dt.strftime ('%A')) self.date.setText (self.dt.strftime ('% x ')) "" "_ ažurirajte podatke covid19 _" "" #najnoviji podaci o svijetu self.w_cases_num.setText (str (self.latest [' potvrđeno '])) self.w_death_num.setText (str (self.latest [' deaths ')])) self.w_cured_num.setText (str (self.latest ['recovery']))) #local najnoviji podaci self.c_cured_num.setText (str (self.local [0] ['latest'] ['recovery'])) self.c_death_num.setText (str (self.local [0] ['najnovije'] ['smrti'])) self.c_cases_num.setText (str (self.local [0] ['najnovije'] ['potvrđeno']))
print ("ažuriranje")
povratak
def main (): app = QApplication (sys.argv) win = CoronaTracker () #instantiate sys.exit (app.exec ()) #pokrenite aplikaciju ako je _name_ == '_main_': main ()
Korak 6: Završite:
Nakon testiranja koda, stavio sam ga u radni stol i za njega posvetio izvor napajanja. Tako da može raditi i tijekom punjenja. Korištenjem prozora može se pokrenuti čak i pri smanjivanju opterećenja, što daje ur pi SD kartici odgovarajuću zaštitu.
Bez obzira na to kako i ko smo, moramo umrijeti. Ne razmišljajmo o sebi, razmišljajmo o svijetu. Možemo samo vječno živjeti kroz svoja djela, neka bude tako.
Preporučuje se:
ESP8266 POV ventilator sa satom i ažuriranjem teksta web stranice: 8 koraka (sa slikama)
ESP8266 POV ventilator sa satom i ažuriranjem teksta na web stranici: Ovo je promjenjiva brzina, POV (Persistence Of Vision), ventilator koji s prekidima prikazuje vrijeme i dvije tekstualne poruke koje se mogu ažurirati "u hodu". je također web -stranica s jednom stranicom koja vam omogućuje da promijenite dva teksta
Praćenje Covid19 uživo pomoću ESP8266 i OLED - Kontrolna ploča Covid19 u stvarnom vremenu: 4 koraka
Praćenje Covid19 uživo pomoću ESP8266 i OLED | Kontrolna ploča Covid19 u stvarnom vremenu: Posjetite Techtronic Harsh web stranicu: http: //techtronicharsh.comSvugdje postoji velika epidemija novog korona virusa (COVID19). Postalo je potrebno paziti na trenutni scenarij COVID-19 u svijetu. Dakle, budući da je kod kuće, ovo je bio p
Igranje sa ručnim zidnim satom: 14 koraka
Igranje sa ručnim zidnim satom: Elektronski ručni zidni sat (kvarc za komercijalne oznake) danas nije ništa posebno. Može se kupiti u mnogim prodavnicama. U nekim od njih su izuzetno jeftini; sa cijenom od oko 2 € (50 CZK). Ta niska cijena može biti motivacija da se bolje pogleda
Desk Organizer sa LED matričnim satom i Bluetooth -om: 7 koraka
Radni stoni organizator sa LED matričnim satom i Bluetoothom: Moj stol je bio jako zatrpan i htio sam imati lijep organizator u koji bih mogao posložiti olovke, četke za slikanje, glinene alate itd. Pogledao sam mnoge organizatore na tržištu, ali mi se nijedan nije svidio . Krenuo sam u dizajniranje vlastitog organizatora stola i ovdje
Movie Tracker - Raspberry Pi Powered Theatral Release Tracker: 15 koraka (sa slikama)
Movie Tracker - Raspberry Pi Powered Theatrical Release Tracker: Movie Tracker je otkazivač koji podržava Raspberry Pi. Koristi TMDb API za štampanje postera, naslova, datuma izlaska i pregleda nadolazećih filmova u vašoj regiji u određenom vremenskom intervalu (npr. Izdanja filmova ove sedmice) na