INHOUDSOPGAWE:

Desktop COVID19 -spoorsnyer met klok! Raspberry Pi Powered Tracker: 6 stappe
Desktop COVID19 -spoorsnyer met klok! Raspberry Pi Powered Tracker: 6 stappe

Video: Desktop COVID19 -spoorsnyer met klok! Raspberry Pi Powered Tracker: 6 stappe

Video: Desktop COVID19 -spoorsnyer met klok! Raspberry Pi Powered Tracker: 6 stappe
Video: Curious Beginnings | Critical Role: THE MIGHTY NEIN | Episode 1 2024, Julie
Anonim
Desktop COVID19 -spoorsnyer met klok! Raspberry Pi Powered Tracker
Desktop COVID19 -spoorsnyer met klok! Raspberry Pi Powered Tracker

Ons weet dat ons altyd kan sterf, selfs ek kan sterf terwyl ek hierdie berig skryf, ek, ek, u, ons is almal sterflinge. Die hele wêreld het geskud weens COVID19 -pandemie. Ons weet hoe om dit te voorkom, maar hey! ons weet hoe om te bid en waarom om te bid, doen ons dit daagliks? Geen!! Eintlik vergeet ons die hoofrede waarom ons dinge moet doen. Ons weet dus dat 'n higiëniese leefstyl ons kan red, maar ons doen dit nie behoorlik nie. Oorweeg die geval van my jonger broer, hy wil selfs in hierdie tyd uitgaan en speel. Ek moes iets doen om almal konsekwent in te lig oor die nuutste gevalle van COVID19. Ek het dus 'n digitale lessenaarskerm gemaak wat die nuutste gevalle van COVID19 intyds toon. Omdat dit 'n horlosie het, kan ek dit op 'n plek plaas waar almal bymekaarkom of kom. Hulle sal die getalle sien optel, wat bewustheid by hulle sal veroorsaak en hopelik sal almal bewus wees. Aangesien ek 'n vervaardiger en stokperdjie is, was dit ook 'n goeie projek om aan te werk tydens hierdie afsluitingsessie.

Stap 1: Onderdele wat ek gebruik het:

Onderdele wat ek gebruik het
Onderdele wat ek gebruik het
Onderdele wat ek gebruik het
Onderdele wat ek gebruik het
Onderdele wat ek gebruik het
Onderdele wat ek gebruik het
Onderdele wat ek gebruik het
Onderdele wat ek gebruik het
  • Raspberry Pi 3 Model B (gestart met SD -kaart)
  • Raspberry Pi UPS -module (opsioneel)
  • 7 duim HDMI LCD skerm
  • HDMI -na -HDMI -kabel (dit kom saam met die skerm)
  • USB kabels
  • 5v 2A kragadapter (om die pi aan te dryf)
  • PVC -vel [houtkleur] (om die liggaam te maak)

Stap 2: Stel Raspberry Pi op:

Stel Raspberry Pi op
Stel Raspberry Pi op

Ek dink jy het die pi perfek opgestel, tensy jy dit nie gedoen het nie -

  1. kry 'n SD -kaart - meer as 8 GB
  2. Laai die nuutste raspbian -iso -lêer hier af.
  3. Brand die SD -kaart met 'n eter

(Let daarop dat mense meer kan sê oor ander sagteware wat vereis dat u 'n bietjie opstel, maar die etser is baie maklik om te gebruik en eenvoudig, maar ook effektief.)

Koppel net u SD -kaart aan 'n rekenaar, hardloop eter, u sien dat die SD -kaart outomaties deur etser gekies word, klik dan om die afgelaaide iso -lêer of -beeld te kies en verbrand dit. Na suksesvolle skryf en verwerking, ontkoppel die SD -kaart en koppel dit aan u pi, skakel dit aan en VOILA !! Dis lewendig.

Stap 3: Kringdiagram:

Stroombaandiagram
Stroombaandiagram

Koppel alles aan en skakel die raspbery pi aan, dit is net verbinding, niks anders nie.

U sal sien hoe die pi begin.

Stap 4: Die liggaam:

Die liggaam
Die liggaam
Die liggaam
Die liggaam
Die liggaam
Die liggaam
Die liggaam
Die liggaam

Ek sny 'n PVC -vel volgens die skermgrootte en voeg dit dan met skroewe by. Daarna het ek alles bederf. Uiteindelik nog 'n vel agterin bygevoeg om te keer dat dit val (blou vel). As alles in orde is, moet u die pi -opstart sien (laaste prentjie)

Stap 5: Die sagteware (bronkode):

Die program is in python3 geskryf. Vir GUI (grafiese gebruikerskoppelvlak) het ek PyQt5 gebruik, en om COVID -19 -data in realtime te onttrek, het ek die COVID19Py -biblioteek gebruik. Dankie aan die ouens wat die API vir ons

Dit is omtrent alles, maak nou Terminal op framboospie oop en installeer biblioteke (kopieer elkeen daarvan en plak op rpi -terminale).

Ignoreer $ teken tydens kopiëring

$ pip3 installeer pyqt5

$ pip3 installasie versoeke $ pip3 install covid19py

Dit is dit, laai nou die kode hier af; ek het die kode hieronder verskaf:

"" "*Intydse Covid19 internasionale en plaaslike spoorsnyer met klok*" "" "" *************** Bly tuis, bly veilig. Live, laat Live ******** ***** "" ""

"""

skrywer: ashraf minhaj pos: [email protected] webwerf: ashrafminhajfb.blogspot.com """

#voer die nodige biblioteke in

invoer PyQt5 #QT GUI -biblioteek vir python3 vanaf PyQt5. QtCore invoer Qt, QTimer #timer om by te werk vanaf PyQt5. QtWidgets invoer * #importeer alles van PyQt5. QtGui invoer QFont #vir lettertipes invoer sys #nodig vir QT -toepassings #import os import COVID19Py #covid19 inligting -api invoer datetime #u weet waarvoor dit is

klas CoronaTracker (QWidget):

"" "hoofklas wat alles bevat" "" def _init _ (self): "" "initialiseer dinge" "" super ()._ init _ () self.covid = COVID19Py. COVID19 () #initialiseer self.timer = QTimer () #initialiseer self.timer.timeout.connect (self.update) #as timer drempel bereik - oproepopdatering self.ui () #gebruikerskoppelvlak

def ui (self):

"" "Gebruikerskoppelvlak-afdeling" "" self.setWindowTitle ("Covid19 International and Local Tracker") #self.setWindowFlags (Qt. CustomizeWindowHint) #hide title bar self.setStyleSheet ("Background-color: black") self.setFixedSize (640, 480) #volgens my skerm (x, y) /rpi -resolusie

#hoofetiket

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 ("" "agtergrondkleur: swart; kleur: wit; randstyl: begin; grenswydte: 1px" ""))

"" "_ wêreld se nuutste data_" ""

#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 ("" "agtergrondkleur: swart; kleur: blou; randstyl: begin; randwydte: 1px" "")

#gevalle wêreldwyd bevestig

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 ("" "agtergrondkleur: swart; kleur: oranje; randstyl: begin; grensbreedte: 1px" "")) #cases nommer 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 ("" "agtergrondkleur: swart; kleur: wit; randstyl: begin; grenswydte: 1 px "" "")

#wêreldwye sterftes

self.w_death = QLabel (self) self.w_death.setGeometry (350, 90, 100, 40) self.w_death.setText ("Sterftes:") self.w_death.setFont (QFont ('SansSerif', 18)) self. w_death.setStyleSheet ("" "agtergrondkleur: swart; kleur: rooi; grensstyl: begin; grenswydte: 1px" "")) #doodnommer 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 ("" "agtergrondkleur: swart; kleur: wit; randstyl: begin; grenswydte: 1 px "" "")

#wêreldwyd genees

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 ("" "agtergrondkleur: swart; kleur: siaan; randstyl: begin; randwydte: 1px" "")

#wêreldwye genees nommer

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 ("" "agtergrond-kleur: swart; kleur: wit; randstyl: aan die begin; randwydte: 1 px "" ")

"" "_ Plaaslik volgens landskode_" """

#local - Country self.c = QLabel (self) self.c.setGeometry (170, 200, 400, 40) self.c.setText ("My Land: Bangladesh") self.c.setFont (QFont ('SansSerif'), 18)) self.c.setStyleSheet ("" "agtergrondkleur: swart; kleur: wit; randstyl: begin; grenswydte: 1px" "")) #lokale bevestig gevalle 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 ("" "agtergrond -kleur: swart; kleur: oranje; grensstyl: begin; grenswydte: 1px "" ") #plaaslike gevalle nommer 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 ("" "agtergrondkleur: swart; kleur: wit; grensstyl: begin; grenswydte: 1px" ""))

#plaaslike sterftes

self.c_death = QLabel (self) self.c_death.setGeometry (350, 240, 100, 40) self.c_death.setText ("Sterftes:") self.c_death.setFont (QFont ('SansSerif', 18)) self. c_death.setStyleSheet ("" "agtergrondkleur: swart; kleur: rooi; randstyl: begin; randwydte: 1px" "")

#plaaslike sterftes

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 ("" "agtergrond-kleur: swart; kleur: wit; grensstyl: begin; grenswydte: 1px "" ") #lokaal genees 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 ("" "agtergrondkleur: swart; kleur: siaan; randstyl: begin; grenswydte: 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 ("" "agtergrondkleur: swart; kleur: wit; randstyl: begin; randwydte: 1px" "")

"" "_ Tyd, datum, klok_" """

#clock self.clock = QLabel (self) self.clock.setGeometry (115, 340, 400, 70) self.clock.setFont (QFont ('SansSerif', 60)) self.clock.setStyleSheet ("" "background- kleur: swart; kleur: wit; grensstyl: begin; grenswydte: 1px "" ") #etiket vir weekdag self.weekday = QLabel (self) self.weekday.setGeometry (5, 360, 110, 20) self.weekday.setFont (QFont ('SansSerif', 13)) self.weekday.setStyleSheet ("" "agtergrondkleur: swart; kleur: wit; randstyl: begin; grensbreedte: 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 ("" "agtergrondkleur: swart; kleur: wit; randstyl: begin; randwydte: 1px" "")

#kontroleer die timer indien nie self.timer.isActive (): #as timer gestop is (drempel bereik) #Na 1 sekonde (ongeveer) of 1000ms

probeer:

"" "probeer data kry, anders loop die kode in elk geval" "" self.latest = self.covid.getLatest () #gte covid19 nuutste data

#kry die nuutste data volgens die landkode 'BD'-Bangladesh,' IN'-Indië, ens

self.local = self.covid.getLocationByCountryCode ('BD', tydlyne = onwaar) #print (self.local) #print (self.latest)

behalwe:

"" "kon nie data" "" druk kry nie ("Internetfout !!")

slaag #ignore, hardloop in elk geval

self.timer.start (1000) #start die timer

self.show () #wys ons gebruikerskoppelvlak

def update (self):

"" "werk etikette op met inligting" ""

"" "_ Haal inligting oor opdatering van tyd en datum uit _" ""

#Stel klok en datum in (opdateringswaardes)

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

self.clock.setText (self.dt.strftime ('%X')) self.weekday.setText (self.dt.strftime ('%A')) self.date.setText (self.dt.strftime ('% x ')) "" "_ update covid19 data_" "" #wêreldwye nuutste data self.w_cases_num.setText (str (self.latest [' bevestigde '])) self.w_death_num.setText (str (self.latest [' death ')])) self.w_cured_num.setText (str (self.latest ['recovered'])) #lokale nuutste data self.c_cured_num.setText (str (self.local [0] ['latest'] ['verhaal'])) self.c_death_num.setText (str (self.local [0] ['latest'] ['death'])) self.c_cases_num.setText (str (self.local [0] ['latest'] ['confirm')]))

print ("opdateer")

terugkeer

def main (): app = QApplication (sys.argv) win = CoronaTracker () #instantiate sys.exit (app.exec ()) #loop die toepassing as _name_ == '_main_': main ()

Stap 6: Voltooi:

Maak klaar
Maak klaar

Nadat ek die kode getoets het, het ek dit in die lessenaar gesit en 'n kragbron daarvoor toegewy. Sodat dit kan werk terwyl dit laai. Deur die ups te gebruik, kan dit selfs in beurtkrag werk, dit bied u pi SD-kaart ook 'n geskikte beskerming.

Maak nie saak hoe of wie ons is nie, ons moet sterf. Laat ons nie aan uself dink nie, maar aan die wêreld. Ons kan slegs vir ewig deur ons dade lewe, laat dit so wees.

Aanbeveel: