Innholdsfortegnelse:

Desktop COVID19 -tracker med klokke! Raspberry Pi Powered Tracker: 6 trinn
Desktop COVID19 -tracker med klokke! Raspberry Pi Powered Tracker: 6 trinn

Video: Desktop COVID19 -tracker med klokke! Raspberry Pi Powered Tracker: 6 trinn

Video: Desktop COVID19 -tracker med klokke! Raspberry Pi Powered Tracker: 6 trinn
Video: How to setup and use ESP32 Cam with Micro USB WiFi Camera 2024, Juli
Anonim
Desktop COVID19 -tracker med klokke! Raspberry Pi Powered Tracker
Desktop COVID19 -tracker med klokke! Raspberry Pi Powered Tracker

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:

Deler jeg har brukt
Deler jeg har brukt
Deler jeg har brukt
Deler jeg har brukt
Deler jeg har brukt
Deler jeg har brukt
Deler jeg har brukt
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:

Sett opp Raspberry Pi
Sett opp Raspberry Pi

Jeg antar at du har konfigurert pi perfekt, med mindre du ikke har -

  1. få et SD -kort - mer enn 8 GB
  2. last ned siste raspbian iso -fil herfra.
  3. 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:

Kretsdiagram
Kretsdiagram

Koble til alt og slå på raspbery pi, det er bare å koble til, ingenting annet.

Du ser pi -oppstarten.

Trinn 4: Kroppen:

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

Gjøre ferdig
Gjøre ferdig

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: