Sisällysluettelo:
- Vaihe 1: Käytetyt osat:
- Vaihe 2: Määritä Raspberry Pi:
- Vaihe 3: Piirikaavio:
- Vaihe 4: Keho:
- Vaihe 5: Ohjelmisto (lähdekoodi):
- Vaihe 6: Viimeistele:
Video: Työpöydän COVID19 -seuranta kellolla! Raspberry Pi Powered Tracker: 6 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 08:59
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:
- 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:
Olet ilmeisesti asettanut pi: n täydellisesti, ellet ole -
- Hanki SD -kortti - yli 8 Gt
- lataa uusin raspbian iso tiedosto täältä.
- 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:
Yhdistä Everythingup ja käynnistä raspbery pi, se vain muodostaa yhteyden, ei mitään muuta.
Näet pi -käynnistyksen.
Vaihe 4: Keho:
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:
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:
Tee kaksipuolinen työpöydän ääretön peili: 14 vaihetta (kuvilla)
Tee 2 -puolinen työpöydän ääretön peili: Suurin osa äärettömistä peileistä, jotka olen nähnyt, ovat yksipuolisia, mutta halusin rakentaa hieman erilaisen. Tämä on kaksipuolinen ja suunniteltu siten, että se voidaan näyttää työpöydällä tai hyllyllä. Se on helppo, erittäin hieno projekti tehdä
Työpöydän kepponen (Windows): 5 vaihetta
Työpöydän kepponen (Windows): Tämä on fantastinen kepponen, jonka asettaminen kestää vain muutaman minuutin. Näyttää siltä, että uhrien tietokone on lukittu jäätyneenä työpöydän näyttöön. Riippumatta siitä, kuinka monta kertaa he yrittävät napsauttaa kuvaketta, mitään ei tapahdu
ESP8266 POV -tuuletin kellolla ja verkkosivun tekstin päivitys: 8 vaihetta (kuvilla)
ESP8266 POV -tuuletin kellolla ja verkkosivun tekstin päivityksellä: Tämä on muuttuva nopeus, POV (Persistence Of Vision), tuuletin, joka näyttää ajoittain ajan, ja kaksi tekstiviestiä, jotka voidaan päivittää "lennossa". on myös yhden sivun verkkopalvelin, jonka avulla voit vaihtaa kaksi tekstiä minulle
Kauko -ohjattavat RGB -työpöydän valot: 5 vaihetta
Kauko -ohjattavat RGB -työpöydän valot: Tämä projekti osoittaa firebase -palvelimen käytön led -valojen ohjaamiseen ja käsittelyyn pöytäni takana
Kiintolevyn työpöydän kello: 5 vaihetta
Kiintolevyn työpöytäkello: Intro Pinterestissä on myynnissä kiintolevykello. Haluan aina tehdä yhden niistä työpöydälleni. COVID-19-karanteeni antaa minulle mahdollisuuden tehdä sellaisen. Viruksen takia minun on tehtävä se kaikesta, mitä minulla on talossani, joten tämä on ensimmäinen ohjeeni