Innholdsfortegnelse:
- Trinn 1: Deler jeg har brukt:
- Trinn 2: Konfigurer Raspberry Pi:
- Trinn 3: Kretsdiagram:
- Trinn 4: Kroppen:
- Trinn 5: Programvaren (kildekoden):
- Trinn 6: Fullfør:
Video: Desktop COVID19 -tracker med klokke! Raspberry Pi Powered Tracker: 6 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:20
Vi vet at vi kan dø når som helst, selv jeg kan dø mens jeg skriver dette innlegget, tross alt, jeg meg, du, vi er alle dødelige. Hele verden rystet på grunn av COVID19 -pandemien. Vi vet hvordan vi kan forhindre dette, men hei! vi vet hvordan vi skal be og hvorfor vi skal be, gjør vi det daglig? Nei!! Egentlig glemmer vi hovedårsaken til hvorfor vi bør gjøre ting. Så vi vet at en hygienisk livsstil kan redde oss, men vi gjør det ikke ordentlig. Vurder saken om min yngre bror, han vil gå ut og spille selv i denne tiden. Jeg måtte gjøre noe for å konsekvent informere alle om de siste tilfellene av COVID19. Så jeg lagde et digitalt skrivebord som viser de siste tilfellene av COVID19 i sanntid. Siden denne har en klokke, kan jeg sette den på et sted hvor alle samles eller kommer. De vil se tallene legge opp, noe som vil utløse bevissthet hos dem og forhåpentligvis vil alle være bevisste. Også ettersom jeg er produsent og hobbyist, viste dette seg å være et godt prosjekt å jobbe med i denne lock-down-økten.
Trinn 1: Deler jeg har brukt:
- Raspberry Pi 3 Model B (oppstartet med SD -kort)
- Raspberry Pi UPS -modul (valgfritt)
- 7 tommers HDMI LCD -skjerm
- HDMI til HDMI -kabel (dette følger med skjermen)
- USB -kabler
- 5v 2A strømadapter (for å drive pi)
- PVC -ark [trefarge] (for å lage kroppen)
Trinn 2: Konfigurer Raspberry Pi:
Jeg antar at du har konfigurert pi perfekt, med mindre du ikke har -
- få et SD -kort - mer enn 8 GB
- last ned siste raspbian iso -fil herfra.
- Brenn SD -kortet med etser
(Vær oppmerksom på at folk kan si noe om annen programvare som krever at du gjør noe oppsett, men etser er superenkelt å bruke og enkelt, men også effektivt.)
Bare koble SD -kortet til PC, kjør etser, du vil se at SD -kortet blir valgt automatisk av etser, klikk deretter for å velge den nedlastede isofilen eller bildet, og brenn det. Etter vellykket skriving og behandling, koble fra SD -kortet og koble det til din pi, slå det på og VOILA !! Den lever.
Trinn 3: Kretsdiagram:
Koble til alt og slå på raspbery pi, det er bare å koble til, ingenting annet.
Du ser pi -oppstarten.
Trinn 4: Kroppen:
Jeg kuttet et PVC -ark i henhold til skjermstørrelsen, og la det deretter til med skruer. Etter det koblet jeg opp alt. Til slutt lagt til et nytt ark på baksiden for å støtte det fra å falle (blått ark). Hvis alt er i orden, bør du se pi -oppstart (siste bilde)
Trinn 5: Programvaren (kildekoden):
Programmet er skrevet i python3. For GUI (grafisk brukergrensesnitt) brukte jeg PyQt5, og for å trekke ut sanntids COVID19 -data brukte jeg COVID19Py -biblioteket. Takk til gutta som gjorde API tilgjengelig for oss
Det er ganske mye det, åpne nå Terminal på bringebær pi og installer biblioteker (kopier hver av dem og lim inn på rpi terminal).
Ignorer $ -tegnet mens du kopierer
$ pip3 installer pyqt5
$ pip3 installasjonsforespørsler $ pip3 install covid19py
Det er det, nå last ned koden herfra, jeg har gitt koden nedenfor:
"" "*Internasjonal og lokal tracker i sanntid Covid19 med klokke*" "" "" *************** Stay Home Stay Safe. Live, let Live ******** ***** """
"""
forfatter: ashraf minhaj mail: [email protected] nettsted: ashrafminhajfb.blogspot.com """
#importer nødvendige biblioteker
importer PyQt5 #QT GUI Library for python3 fra PyQt5. QtCore import Qt, QTimer #timer for å oppdatere fra PyQt5. QtWidgets import * #importer alt fra PyQt5. QtGui import QFont #for font import sys #nødvendig for QT applikasjoner #import os import COVID19Py #covid19 informasjon -api import datetime #du vet hva dette er til
klasse CoronaTracker (QWidget):
"" "hovedklasse som inneholder alt" "" def _init _ (self): "" "initialize things" "" super ()._ init _ () self.covid = COVID19Py. COVID19 () #initialize self.timer = QTimer () #initialize self.timer.timeout.connect (self.update) #if timer oppnår terskel - samtaleoppdatering self.ui () #brukergrensesnitt
def ui (selv):
"" "Brukergrensesnitt-delen" "" self.setWindowTitle ("Covid19 International and Local Tracker") #self.setWindowFlags (Qt. CustomizeWindowHint) #hide title bar self.setStyleSheet ("Background-color: black") self.setFixedSize (640, 480) #som per min skjerm (x, y) /rpi oppløsning
#hovedetikett
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 ("" "bakgrunnsfarge: svart; farge: hvit; kantstil: utgang; kantbredde: 1px" ""))
"" "_verdenes siste 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 ("" "bakgrunnsfarge: svart; farge: blå; kantstil: utgang; kantbredde: 1px" ""))
#verdensomspennende bekreftede tilfeller
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 ("" "bakgrunnsfarge: svart; farge: oransje; kantstil: utgang; kantbredde: 1px" "") #cases nummer 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 ("" "bakgrunnsfarge: svart; farge: hvit; kantstil: utgang; kantbredde: 1px "" "")
#verdensomspennende dødsfall
self.w_death = QLabel (self) self.w_death.setGeometry (350, 90, 100, 40) self.w_death.setText ("Deaths:") self.w_death.setFont (QFont ('SansSerif', 18)) self. w_death.setStyleSheet ("" "bakgrunnsfarge: svart; farge: rød; kantstil: utgang; kantbredde: 1px" "") #dødsnummer 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 ("" "bakgrunnsfarge: svart; farge: hvit; kantstil: utgang; kantbredde: 1px "" "")
#verdenen helbredet
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 ("" "bakgrunnsfarge: svart; farge: cyan; kantstil: utgang; kantbredde: 1px" ""))
#verdensomspennende herdet nummer
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 ("" "bakgrunnsfarge: svart; farge: hvit; kantstil: begynnelse; kantbredde: 1px "" ")
"" "_ Lokalt etter landskode_" """
#local - Country self.c = QLabel (self) self.c.setGeometry (170, 200, 400, 40) self.c.setText ("My Country: Bangladesh") self.c.setFont (QFont ('SansSerif'), 18)) self.c.setStyleSheet ("" "bakgrunnsfarge: svart; farge: hvit; kantstil: utgang; kantbredde: 1px" "")) #local bekreft tilfeller 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 ("" "bakgrunn -farge: svart; farge: oransje; kantstil: utgang; kantbredde: 1px "" ") #lokalsaker nummer 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 ("" "bakgrunnsfarge: svart; farge: hvit; kantstil: utgang; kantbredde: 1px" ""))
#lokale dødsfall
self.c_death = QLabel (self) self.c_death.setGeometry (350, 240, 100, 40) self.c_death.setText ("Deaths:") self.c_death.setFont (QFont ('SansSerif', 18)) self. c_death.setStyleSheet ("" "bakgrunnsfarge: svart; farge: rød; kantstil: utgang; kantbredde: 1px" ""))
#lokale dødsfall
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 ("" "bakgrunnsfarge: svart; farge: hvit; kantstil: utgang; kantbredde: 1px "" ") #lokalherdet 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 ("" "bakgrunnsfarge: svart; farge: cyan; kantstil: utgang; kantbredde: 1px "" ") #lokalt herdet nummer 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 ("" "bakgrunnsfarge: svart; farge: hvit; kantstil: utgang; kantbredde: 1px" "")
"" "_ Tid, dato, klokke_" """
#clock self.clock = QLabel (self) self.clock.setGeometry (115, 340, 400, 70) self.clock.setFont (QFont ('SansSerif', 60)) self.clock.setStyleSheet ("" "bakgrunn- farge: svart; farge: hvit; kantstil: begynnelse; kantbredde: 1px "" ") #label for ukedag self.weekday = QLabel (self) self.weekday.setGeometry (5, 360, 110, 20) self.weekday.setFont (QFont ('SansSerif', 13)) self.weekday.setStyleSheet ("" "bakgrunnsfarge: svart; farge: hvit; kantstil: utgang; kantbredde: 1px" "") #dato 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 ("" "bakgrunnsfarge: svart; farge: hvit; kantstil: utgang; kantbredde: 1px" ""))
#sjekk timeren hvis ikke self.timer.isActive (): #if timer er stoppet (nådd terskel) #Etter 1 sekund (ca.) eller 1000ms
prøve:
"" "prøv å få data, ellers kjør koden uansett" "" self.latest = self.covid.getLatest () #gte covid19 siste data
#få de siste dataene etter landskode 'BD'-Bangladesh,' IN'-India osv
self.local = self.covid.getLocationByCountryCode ('BD', tidslinjer = Falsk) #print (self.local) #print (self.latest)
unntatt:
"" "kunne ikke hente data" "" print ("Internettfeil !!")
pass #ignore, løp uansett
self.timer.start (1000) #start timeren
self.show () #show vårt brukergrensesnitt
def oppdatering (selv):
"" "oppdater etiketter med informasjon" ""
"" "_Pakk ut informasjon om tid og dato i annonsen" """
#sett opp klokke og dato klokkeslett (oppdateringsverdier) #hent og oppdater verdier #tfor mer informasjon, les python datetime dokumentasjon
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 ')) "" "_oppdater covid19 data_" "" #siste verdens data self.w_cases_num.setText (str (self.latest [' bekreftet '])) self.w_death_num.setText (str (self.latest [' death ')])) self.w_cured_num.setText (str (self.latest ['recovered'])) #local siste data self.c_cured_num.setText (str (self.local [0] ['siste'] ['gjenopprettet'])) self.c_death_num.setText (str (self.local [0] ['siste'] ['dødsfall'])) self.c_cases_num.setText (str (self.local [0] ['siste'] ['bekreftet']))
print ("oppdaterer")
komme tilbake
def main (): app = QApplication (sys.argv) win = CoronaTracker () #instantiate sys.exit (app.exec ()) #kjør programmet hvis _name_ == '_main_': main ()
Trinn 6: Fullfør:
Etter å ha testet koden, la jeg den på skrivebordet og dedikerte en strømkilde til den. Slik at det kan fungere mens du lader. Ved å bruke ups kan dette kjøre selv i belastningsavbrudd også, dette gir ur pi SD-kortet en passende beskyttelse også.
Uansett hvordan eller hvem vi er, må vi dø. La oss ikke tenke på deg selv, tenk på verden. Vi kan bare leve for alltid gjennom våre gjerninger, la det være slik.
Anbefalt:
UK Ring Video Doorbell Pro som arbeider med mekanisk klokke: 6 trinn (med bilder)
UK Ring Video Doorbell Pro som arbeider med mekanisk klokke: **************************************** **************** Vær oppmerksom på at denne metoden bare fungerer med vekselstrøm akkurat nå. Jeg oppdaterer hvis/når jeg finner en løsning for dørklokker som bruker likestrøm I mellomtiden hvis du har likestrøm forsyning, trenger du ikke
Hvordan lage analog klokke og digital klokke med LED -stripe ved hjelp av Arduino: 3 trinn
Hvordan lage analog klokke og digital klokke med LED -stripe ved hjelp av Arduino: I dag skal vi lage en analog klokke & Digital klokke med Led Strip og MAX7219 Dot -modul med Arduino. Den vil korrigere tiden med den lokale tidssonen. Den analoge klokken kan bruke en lengre LED -stripe, så den kan henges på veggen for å bli en kunstner
KLOKKE MED ATMEGA 8: 7 -trinn (med bilder)
KLOKKE VED Å BRUKE ATMEGA 8: ATMEGA 8 er en av de billigste mikrokontroller, så jeg bestemte meg for å få klokken til å bruke den. Det første jeg kom over er å vise tid, derfor er det mest generelle 7 -segmenters display, men jeg kan ikke vise all teksten forvent få, så jeg bestemte meg for å gå med
Lag din egen Retro Nixie -klokke med en RTC !: 7 trinn (med bilder)
Lag din egen Retro Nixie -klokke med en RTC !: I dette prosjektet vil jeg vise deg hvordan du lager en retro nixie -klokke. Det betyr at jeg vil vise deg hvordan du kan kontrollere nixie -rør med en høyspent likestrøm, og så vil jeg kombinere 4 nixie -rør med en Arduino, en sanntidsklokke (RTC) og en kopp
Lage en klokke fra en klokke: 11 trinn (med bilder)
Opprette en klokke fra en klokke: I denne instruksen tar jeg en eksisterende klokke og lager det jeg føler er en bedre klokke. Vi går fra bildet til venstre til bildet til høyre. Før du begynner på din egen klokke, må du vite at gjenmontering kan være utfordrende som den viktigste