Sisällysluettelo:

Työpöydän COVID19 -seuranta kellolla! Raspberry Pi Powered Tracker: 6 vaihetta
Työpöydän COVID19 -seuranta kellolla! Raspberry Pi Powered Tracker: 6 vaihetta

Video: Työpöydän COVID19 -seuranta kellolla! Raspberry Pi Powered Tracker: 6 vaihetta

Video: Työpöydän COVID19 -seuranta kellolla! Raspberry Pi Powered Tracker: 6 vaihetta
Video: SKR 1.4 - TMC2209 v1.2 2024, Heinäkuu
Anonim
Työpöydän COVID19 -seuranta kellolla! Raspberry Pi Powered Tracker
Työpöydän COVID19 -seuranta kellolla! Raspberry Pi Powered Tracker

Tiedämme, että voimme kuolla milloin tahansa, jopa minä voin kuolla kirjoittaessani tätä viestiä, loppujen lopuksi minä, sinä, me kaikki olemme kuolevaisia. Koko maailma järisi COVID19 -pandemian vuoksi. Tiedämme, miten tämä voidaan estää, mutta hei! Tiedämme kuinka rukoilla ja miksi rukoilla, teemme sitä joka päivä? Ei!! Itse asiassa unohdamme perimmäisen syyn siihen, miksi meidän pitäisi tehdä asioita. Tiedämme siis, että hygieeninen elämäntapa voi pelastaa meidät, mutta emme tee sitä kunnolla. Ajattele nuoremman veljeni tapausta, hän haluaa mennä ulos leikkimään jopa tänä aikana. Minun piti tehdä jotain ilmoittaakseni johdonmukaisesti kaikille uusimmista COVID19 -tapauksista. Tein siis digitaalisen työpöytänäytön, joka näyttää viimeisimmät COVID19 -tapaukset reaaliajassa. Koska tässä on kello, voin laittaa sen paikkaan, jossa kaikki kokoontuvat tai tulevat. He näkevät lukujen yhteenlasketun, mikä herättää heissä tietoisuutta ja toivottavasti kaikki ovat tietoisia. Myös koska olen valmistaja ja harrastaja, tämä osoittautui hyväksi projektiksi työskennellä tässä lukitusistunnossa.

Vaihe 1: Käytetyt osat:

Osat, joita olen käyttänyt
Osat, joita olen käyttänyt
Osat, joita olen käyttänyt
Osat, joita olen käyttänyt
Osat, joita olen käyttänyt
Osat, joita olen käyttänyt
Osat, joita olen käyttänyt
Osat, joita olen käyttänyt
  • Raspberry Pi 3 Malli B (käynnistetty sd -kortilla)
  • Raspberry Pi UPS -moduuli (valinnainen)
  • 7 tuuman HDMI LCD -näyttö
  • HDMI -HDMI -kaapeli (tämä tulee näytön mukana)
  • USB -kaapelit
  • 5v 2A virtalähde (pi: n virtalähteeksi)
  • PVC -arkki [puun väri] (rungon valmistamiseksi)

Vaihe 2: Määritä Raspberry Pi:

Määritä Raspberry Pi
Määritä Raspberry Pi

Olet ilmeisesti asettanut pi: n täydellisesti, ellet ole -

  1. Hanki SD -kortti - yli 8 Gt
  2. lataa uusin raspbian iso tiedosto täältä.
  3. Polta SD -kortti etsimellä

(Huomaa, että ihmiset voivat sanoa jotain muusta ohjelmistosta, joka vaatii asennusta, mutta etcher on erittäin helppokäyttöinen ja yksinkertainen, mutta myös tehokas.)

Liitä vain SD -kortti tietokoneeseen, suorita etcher, näet, että etcher valitsee automaattisesti SD -kortin, valitse sitten ladattu iso -tiedosto tai kuva napsauttamalla ja polta se. Onnistuneen kirjoittamisen ja käsittelyn jälkeen irrota SD -kortti ja liitä se pi -laitteeseesi, kytke virta ja VOILA !! Se on elossa.

Vaihe 3: Piirikaavio:

Piirikaavio
Piirikaavio

Yhdistä Everythingup ja käynnistä raspbery pi, se vain muodostaa yhteyden, ei mitään muuta.

Näet pi -käynnistyksen.

Vaihe 4: Keho:

Vartalo
Vartalo
Vartalo
Vartalo
Vartalo
Vartalo
Vartalo
Vartalo

Leikkasin PVC -arkin näytön koon mukaan ja lisäsin sen ruuveilla. Sen jälkeen tein kaiken. Lopuksi lisäsin toisen arkin taakse tukemaan sitä putoamasta (sininen arkki). Jos kaikki on kunnossa, sinun pitäisi nähdä pi -käynnistys (viimeinen kuva)

Vaihe 5: Ohjelmisto (lähdekoodi):

Ohjelma on kirjoitettu python3: lla. Graafisessa käyttöliittymässä käytin PyQt5: tä ja reaaliaikaisten COVID19 -tietojen poimimiseksi COVID19Py -kirjastoa. Kiitos kavereille, jotka antoivat sovellusliittymän meille

Se on melkein kaikki, avaa nyt terminaali raspberry pi: llä ja asenna kirjastot (kopioi jokainen niistä ja liitä rpi -päätelaitteeseen).

Ohita $ -merkki kopioinnin aikana

$ pip3 asenna pyqt5

$ pip3 install pyytää $ pip3 install covid19py

Siinä kaikki, lataa koodi nyt täältä, olen antanut alla olevan koodin:

"" "*Reaaliaikainen Covid19 International and Local Tracker Clock*" "" "" "*************** Pysy kotona Pysy turvassa. Live, anna elää ******** ***** """

"""

kirjoittaja: ashraf minhaj sähköposti: [email protected] sivusto: ashrafminhajfb.blogspot.com """

#tuoda tarvittavat kirjastot

Tuo PyQt5 #QT GUI -kirjasto python3: lle PyQt5: stä. QtCore tuo Qt, QTimer #ajastin päivitettäväksi PyQt5: stä. QtWidgets -tuonti * #tuonti kaiken PyQt5: stä. #covid19 -tiedot -api tuoda päivämäärän #tiedät mihin tämä on tarkoitettu

luokan CoronaTracker (QWidget):

"" "pääluokka, joka sisältää kaiken" "" def _init _ (self): "" "initialize things" "" super ()._ init _ () self.covid = COVID19Py. COVID19 () #initialize self.timer = QTimer () #initialize self.timer.timeout.connect (self.update) #jos ajastin saavuttaa kynnyksen - call update self.ui () #user interface

def ui (itse):

"" "Käyttöliittymäosa" "" "self.setWindowTitle (" Covid19 International and Local Tracker ") #self.setWindowFlags (Qt. CustomizeWindowHint) #hide title bar self.setStyleSheet (" Background-color: black ") self.setFixedSize (640, 480) #näytön mukaan (x, y) /rpi

#päämerkki

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" "")

"" "_maailman viimeisimmät tiedot_" ""

#world label self.w = QLabel (self) self.w.setGeometry (200, 55, 400, 40) self.w.setText ("Maailma yhdellä silmäyksellä") self.w.setFont (QFont ('SansSerif', 18)) self.w.setStyleSheet ("" "taustaväri: musta; väri: sininen; reunustyyli: alku; reunan leveys: 1px" "")

#maailmanlaajuisesti vahvistettuja tapauksia

self.w_cases = QLabel (self) self.w_cases.setGeometry (5, 90, 100, 40) self.w_cases.setText ("Tapaukset:") 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: 1px "" ")

#maailmanlaajuiset kuolemat

self.w_death = QLabel (self) self.w_death.setGeometry (350, 90, 100, 40) self.w_death.setText ("Kuolemat:") self.w_death.setFont (QFont ('SansSerif', 18)) self. w_death.setStyleSheet ("" "background-color: black; color: red; border-style: outset; border-width: 1px" "") #kuoleman numero 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: 1px "" ")

#maailmanlaajuisesti parantunut

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: syan; border-style: outset; border-width: 1px" "")

#Maailmanlaajuisesti parannettu numero

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: musta; väri: valkoinen; reunustyyli: alku; reunuksen leveys: 1 pikseliä "" ")

"" "_ Paikallinen maakohtainen koodi_" ""

#local - Country self.c = QLabel (self) self.c.setGeometry (170, 200, 400, 40) self.c.setText ("Oma maa: Bangladesh") self.c.setFont (QFont ('SansSerif', 18)) self.c.setStyleSheet ("" "background-color: black; color: white; border-style: outset; border-width: 1px" "") #local vahvista tapaukset self.c_cases = QLabel (self) self.c_cases.setGeometry (5, 240, 400, 40) self.c_cases.setText ("Tapaukset:") self.c_cases.setFont (QFont ('SansSerif', 18)) self.c_cases.setStyleSheet ("" "background -väri: musta; väri: oranssi; reunatyyli: alku; reunan leveys: 1 pikseliä "" ") #paikallisten tapausten numero 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" "")

#paikalliset kuolemat

self.c_death = QLabel (self) self.c_death.setGeometry (350, 240, 100, 40) self.c_death.setText ("Kuolemat:") self.c_death.setFont (QFont ('SansSerif', 18)) self. c_death.setStyleSheet ("" "background-color: black; color: red; border-style: outset; border-width: 1px" "")

#paikallinen kuolleiden määrä

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: musta; väri: valkoinen; reunustyyli: 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: syan; 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" "")

"" "_ Aika, päivämäärä, kello_" ""

#clock self.clock = QLabel (self) self.clock.setGeometry (115, 340, 400, 70) self.clock.setFont (QFont ('SansSerif', 60)) self.clock.setStyleSheet ("" "background- väri: musta; väri: valkoinen; 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" "")

#tarkista ajastin, jos ei itse. timer.isActive (): #jos ajastin on pysäytetty (saavutettu kynnys) #1 sekunnin (noin) tai 1000 ms kuluttua

yrittää:

"" "yritä saada dataa, muuten suorita koodi joka tapauksessa" "" self.latest = self.covid.getLatest () #gte covid19 uusimmat tiedot

#Hae uusimmat tiedot maakoodin mukaan 'BD'-Bangladesh,' IN'-Intia jne

self.local = self.covid.getLocationByCountryCode ('BD', timelines = False) #print (self.local) #print (self.latest)

paitsi:

"" "ei saanut tietoja" "" print ("Internet -virhe !!")

pass #ignore, juokse joka tapauksessa

self.timer.start (1000) #käynnistä ajastin

self.show () #show käyttöliittymämme

def päivitys (itse):

"" "päivittää tarrat tiedoilla" ""

"" "_Pura mainos Päivitä aika- ja päivämäärätiedot_" ""

#aseta kello ja päivämäärä (päivitä arvot) #hanki ja päivitä arvot #tietääksesi lisää lue python -ajan ja ajan dokumentaatio

self.dt = datetime.datetime.now () #get datetime -tiedot

self.clock.setText (self.dt.strftime ('%X')) self.weekday.setText (self.dt.strftime ('%A')) self.date.setText (self.dt.strftime ('% x ')) "" "_päivitys covid19 -tiedot_" "" #maailmanlaajuinen uusin data self.w_cases_num.setText (str (self.latest [' vahvistettu '])) self.w_death_num.setText (str (self.latest [' kuolemat ')])) self.w_cured_num.setText (str (self.latest ['recured'])) #local latest data self.c_cured_num.setText (str (self.local [0] ['viimeisin'] ['palautettu'])) self.c_death_num.setText (str (self.local [0] ['viimeisin'] ['kuolemat'])) self.c_cases_num.setText (str (self.local [0] ['viimeisin'] ['vahvistettu')]))

tulosta ("päivitys")

palata

def main (): app = QApplication (sys.argv) win = CoronaTracker () #instantiate sys.exit (app.exec ()) #suorita sovellus, jos _name_ == '_main_': main ()

Vaihe 6: Viimeistele:

Viimeistellä
Viimeistellä

Koodin testaamisen jälkeen laitoin sen pöydälle ja omistin sille virtalähteen. Joten se voi toimia latauksen aikana. Käyttämällä nousuja tämä voi toimia myös kuormituksen vähentämisessä, mikä antaa ur pi SD -kortille myös sopivan suojan.

Riippumatta siitä, millaisia tai keitä olemme, meidän on kuoltava. Älkäämme ajatteleko itseänne, vaan maailmaa. Voimme elää ikuisesti vain tekojemme kautta, olkoon niin.

Suositeltava: