Sadržaj:
- Korak 1: Dijelovi koje sam koristio:
- Korak 2: Postavljanje Raspberry Pi:
- Korak 3: Dijagram kruga:
- Korak 4: Tijelo:
- 5. korak: 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 promjena: 2024-01-30 09:32
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 moliti, radimo li to svakodnevno? Ne!! Zapravo, zaboravljamo osnovni uzrok zašto bismo trebali učiniti 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 se i u ovo vrijeme želi izaći van igrati. Morao sam učiniti nešto kako bih dosljedno informirao sve o najnovijim slučajevima COVID19. Tako sam napravio digitalni radni stol 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 potaknuti svijest i nadamo se da će svi biti svjesni. Također, budući da sam stvaralac i hobist, ovo se pokazalo kao dobar projekt za rad na ovoj zaključanoj sesiji.
Korak 1: Dijelovi koje sam koristio:
- Raspberry Pi 3 Model B (dizanje s SD kartice)
- Raspberry Pi UPS modul (opcionalno)
- 7 -inčni HDMI LCD zaslon
- HDMI na HDMI kabel (dolazi s zaslonom)
- USB kabeli
- 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.
- Snimite SD karticu pomoću bakropisa
(Imajte na umu da ljudi mogu reći nešto o drugom softveru koji zahtijeva od vas da napravite neke stvari oko postavljanja, ali bacilo je vrlo jednostavno za korištenje i jednostavno, ali i učinkovito.)
Samo priključite SD karticu na računalo, pokrenite etcher, vidjet ćete da je SD kartica automatski odabrana, zatim kliknite za odabir preuzete iso datoteke ili slike, 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 !! Živo je.
Korak 3: Dijagram kruga:
Povežite sve i uključite raspbery pi, samo se povezuje, ništa drugo.
Vidjet ćete da se pi diže.
Korak 4: Tijelo:
Izrezao sam PVC ploču prema veličini zaslona, a zatim je dodao vijcima. Nakon toga sam sve povezao. Konačno je dodan još jedan list straga kako bi se spriječilo padanje (plavi list). Ako je sve u redu, trebali biste vidjeti pokretanje pi (zadnja slika)
5. korak: Softver (izvorni kod):
Program je napisan na python3. Za GUI (grafičko korisničko sučelje) koristio sam PyQt5, a za izdvajanje podataka o COVID19 u stvarnom vremenu koristio sam biblioteku COVID19Py. Hvala dečkima koji su nam API učinili dostupnim
To je otprilike to, sada otvorite Terminal na malini pi i instalirajte knjižnice (kopirajte svaku od njih i zalijepite na rpi terminal).
Zanemarite znak $ tijekom kopiranja
$ pip3 instalirajte pyqt5
$ pip3 zahtjevi za instalaciju $ pip3 install covid19py
To je to, sada preuzmite kôd odavde, naveo sam kôd u nastavku:
"" "*Međunarodni i lokalni alat za praćenje Covid19 u stvarnom vremenu sa satom*" "" "" "" ************** Ostanite kod kuće i ostanite sigurni. Uživo, pustite uživo ******** ***** """
"""
autor: ashraf minhaj mail: [email protected] web stranica: ashrafminhajfb.blogspot.com """
#uvezite potrebne knjižnice
uvoz PyQt5 #QT GUI biblioteke za python3 iz PyQt5. QtCore uvoz Qt, QTimer #timer za ažuriranje s PyQt5. QtWidgets uvoz * #importiraj sve iz PyQt5. QtGui uvoz QFont #za fontove import sys #potrebno za QT aplikacije #import os import COVID19Py #informacije o covid19 -api datum i vrijeme 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 mjerač vremena dosegne prag - ažurirajte poziv self.ui () #korisničko sučelje
def ui (sebe):
"" "Odjeljak korisničkog sučelja" "" self.setWindowTitle ("Međunarodni i lokalni tragač Covid19") #self.setWindowFlags (Qt. CustomizeWindowHint) #sakrij naslovnu traku self.setStyleSheet ("Boja pozadine: crna") self.setFixedSize (640, 480) #as po mojem zaslonu (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 obruba: početak; granica širine: 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 obruba: početak; granica širine: 1px" "")
#svjetski potvrđenih slučajeva
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: naranč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 obruba: početak; 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 obruba: početak; granica širine: 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; obrub-stil: početak; granica-širina: 1px "" ")
#svjetski izliječ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 obruba: početak; granica širine: 1px" "")
#svjetski izliječ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 obruba: 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; obrub-stil: početak; granica-širina: 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: naranč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: početak; granica-širina: 1px" "")
#lokalne smrti
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 obruba: početak; granica-širina: 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; obrub-stil: izlaz; granica-širina: 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 ("" "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 ("" "pozadina- boja: crna; boja: bijela; stil obruba: 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 obruba: početak; granica širine: 1px" "")
#provjerite mjerač vremena ako nije self.timer.isActive (): #ako je mjerač vremena zaustavljen (dosegnut prag) #Nakon 1 sekunde (približno) ili 1000 ms
probati:
"" "pokušajte dobiti podatke, inače pokrenite kôd" "" self.latest = self.covid.getLatest () #gte covid19 najnoviji podaci
#pribavite najnovije podatke prema šiframa zemalja '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 !!")
proći #ignore, svejedno trči
self.timer.start (1000) #pokretanje mjerača vremena
self.show () #prikaži naše korisničko sučelje
def ažuriranje (samo):
"" "ažurirajte oznake s informacijama" ""
"" "_ Ekstraktni podaci o vremenu i datumu ažuriranja oglasa _" ""
#postavi sat i datum (vrijednosti ažuriranja) #dohvati i ažuriraj vrijednosti #da biste saznali više pročitajte dokumentaciju o datumu i vremenu u pythonu
self.dt = datetime.datetime.now () #dobiti podatke o datumu i vremenu
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 _" "" #svjetski najnoviji podaci 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 što sam testirao kôd, stavio sam ga u stol i posvetio mu izvor napajanja. Tako da može raditi tijekom punjenja. Korištenjem prozora može se pokrenuti čak i pri smanjenju opterećenja, što daje ur pi SD kartici odgovarajuću zaštitu.
Bez obzira na to kako i tko 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čeni:
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 tekstualna me
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 | Nadzorna 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: Elektronički ručni zidni sat (kvarc za komercijalne oznake) danas nije ništa posebno. Može se kupiti u mnogim trgovinama. U nekim od njih iznimno su jeftini; sa cijenom od oko 2 € (50 CZK). Ta niska cijena može biti motivacija da se bolje pogleda
Stoni organizator sa LED matričnim satom i Bluetoothom: 7 koraka
Radni stoni organizator s LED matričnim satom i Bluetoothom: Moj stol je bio jako zatrpan i htio sam imati lijepog organizatora u koji bih mogao posložiti olovke, četke za slikanje, glinene alate itd. Pogledao sam mnoge organizatore na tržištu, ali nijedan mi se nije svidio . Krenuo sam u dizajniranje vlastitog organizatora stola i ovdje
Sjajan projekt sa zidnim satom: 11 koraka
Sjajan projekt sa zidnim satom: Zdravo prijatelju, ovaj blog će biti sjajan jer ću na ovom blogu napraviti nevjerojatan sklop LED efekata koristeći Stari zidni sat. Započnimo