Sadržaj:

Desktop COVID19 Tracker sa satom! Raspberry Pi Powered Tracker: 6 koraka
Desktop COVID19 Tracker sa satom! Raspberry Pi Powered Tracker: 6 koraka

Video: Desktop COVID19 Tracker sa satom! Raspberry Pi Powered Tracker: 6 koraka

Video: Desktop COVID19 Tracker sa satom! Raspberry Pi Powered Tracker: 6 koraka
Video: HUNGRY SHARK WORLD EATS YOU ALIVE 2024, Studeni
Anonim
Desktop COVID19 Tracker sa satom! Raspberry Pi Powered Tracker
Desktop COVID19 Tracker sa satom! Raspberry Pi Powered Tracker

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:

Dijelovi koje sam koristio
Dijelovi koje sam koristio
Dijelovi koje sam koristio
Dijelovi koje sam koristio
Dijelovi koje sam koristio
Dijelovi koje sam koristio
Dijelovi koje sam koristio
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:

Postavljanje Raspberry Pi
Postavljanje Raspberry Pi

Pretpostavljam da ste savršeno postavili pi, osim ako niste …

  1. nabavite SD karticu - više od 8 GB
  2. preuzmite najnoviju raspbian iso datoteku odavde.
  3. 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:

Kružni dijagram
Kružni dijagram

Povežite sve i uključite raspbery pi, samo se povezuje, ništa drugo.

Vidjet ćete da se pi diže.

Korak 4: Tijelo:

Tijelo
Tijelo
Tijelo
Tijelo
Tijelo
Tijelo
Tijelo
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:

Završi
Završi

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: