Innehållsförteckning:

Desktop COVID19 Tracker med klocka! Raspberry Pi Powered Tracker: 6 steg
Desktop COVID19 Tracker med klocka! Raspberry Pi Powered Tracker: 6 steg

Video: Desktop COVID19 Tracker med klocka! Raspberry Pi Powered Tracker: 6 steg

Video: Desktop COVID19 Tracker med klocka! Raspberry Pi Powered Tracker: 6 steg
Video: 3000+ Common English Words with British Pronunciation 2024, Juli
Anonim
Desktop COVID19 Tracker med klocka! Raspberry Pi Powered Tracker
Desktop COVID19 Tracker med klocka! Raspberry Pi Powered Tracker

Vi vet att vi kan dö när som helst, även jag kan dö när jag skriver det här inlägget, trots allt, jag jag, du, vi är alla dödliga. Hela världen skakade på grund av COVID19 -pandemin. Vi vet hur vi ska förhindra detta, men hej! vi vet hur man ber och varför man ber, gör vi det dagligen? Nej!! Egentligen glömmer vi den främsta orsaken till varför vi ska göra saker. Så vi vet att en hygienisk livsstil kan rädda oss men vi gör det inte ordentligt. Tänk på fallet med min yngre bror, han vill gå ut och spela även under denna tid. Jag var tvungen att göra något för att konsekvent informera alla om de senaste fallen av COVID19. Så jag gjorde en digital skrivbordsdisplay som visar de senaste fallen av COVID19 i realtid. Eftersom den här har en klocka kan jag sätta den på en plats där alla samlas eller kommer. De kommer att se siffrorna lägga upp, vilket kommer att utlösa medvetenhet hos dem och förhoppningsvis kommer alla att vara medvetna. Eftersom jag är tillverkare och hobbyist, visade det sig vara ett bra projekt att arbeta med under denna lock-down-session.

Steg 1: Delar jag har använt:

Delar jag har använt
Delar jag har använt
Delar jag har använt
Delar jag har använt
Delar jag har använt
Delar jag har använt
Delar jag har använt
Delar jag har använt
  • Raspberry Pi 3 Model B (startas med SD -kort)
  • Raspberry Pi UPS -modul (tillval)
  • 7 tums HDMI LCD -skärm
  • HDMI till HDMI -kabel (detta medföljer skärmen)
  • USB -kablar
  • 5v 2A nätadapter (för att driva pi)
  • PVC -ark [träfärg] (för att göra kroppen)

Steg 2: Konfigurera Raspberry Pi:

Konfigurera Raspberry Pi
Konfigurera Raspberry Pi

Jag antar att du har ställt in pi perfekt, såvida du inte har -

  1. skaffa ett SD -kort - mer än 8 GB
  2. ladda ner den senaste raspbian -isofilen härifrån.
  3. Bränn SD -kortet med etsare

(Observera att människor kan säga något om annan programvara som kräver att du gör några inställningar men etsaren är superenkel att använda och enkel men effektiv också.)

Anslut bara ditt SD -kort till datorn, kör etsaren, du ser att SD -kortet väljs automatiskt av etsare, klicka sedan för att välja den nedladdade isofilen eller bilden, bränn det sedan. Efter framgångsrik skrivning och bearbetning koppla ur SD -kortet och anslut det till din pi, slå på det och VOILA !! Det är levande.

Steg 3: Kretsdiagram:

Kretsdiagram
Kretsdiagram

Anslut allt och slå på raspbery pi, det är bara att ansluta, inget annat.

Du kommer att se pi starta.

Steg 4: Kroppen:

Kroppen
Kroppen
Kroppen
Kroppen
Kroppen
Kroppen
Kroppen
Kroppen

Jag klippte ett PVC -ark enligt skärmstorleken och lade sedan till det med skruvar. Efter det kopplade jag ihop allt. Äntligen tillsatt ytterligare ett ark på baksidan för att stödja det från att falla (blått ark). Om allt är okej bör du se pi -uppstarten (sista bilden)

Steg 5: Programvaran (källkod):

Programmet är skrivet i python3. För GUI (grafiskt användargränssnitt) använde jag PyQt5, och för att extrahera realtid COVID19 -data använde jag COVID19Py -bibliotek. Tack till killarna som gjorde API: et tillgängligt för oss

Det är i stort sett det, öppna nu Terminal på hallon pi och installera bibliotek (kopiera var och en av dem och klistra in på rpi terminal).

Ignorera $ -tecknet när du kopierar

$ pip3 installera pyqt5

$ pip3 installationsförfrågningar $ pip3 install covid19py

Det är det, ladda ner koden härifrån, jag har angett koden nedan:

"" "*Realtime Covid19 International and Local Tracker With Clock*" "" "" *************** Stanna hemma Håll dig säker. Live, låt Live ******** ***** "" ""

"""

författare: ashraf minhaj mail: [email protected] webbplats: ashrafminhajfb.blogspot.com """

#importera nödvändiga bibliotek

importera PyQt5 #QT GUI -bibliotek för python3 från PyQt5. QtCore import Qt, QTimer #timer för att uppdatera från PyQt5. QtWidgets import * #importera allt från PyQt5. QtGui import QFont #för teckensnitt import sys #nödvändigt för QT applikationer #import os import COVID19Py #covid19 information -api import datetime #du vet vad detta är till för

klass CoronaTracker (QWidget):

"" "huvudklass som innehåller allt" "" def _init _ (self): "" "initiera saker" "" super ()._ init _ () self.covid = COVID19Py. COVID19 () #initialize self.timer = QTimer () #initialize self.timer.timeout.connect (self.update) #if timer når tröskel - samtalsuppdatering self.ui () #användargränssnitt

def ui (själv):

"" "Användargränssnittsavsnitt" "" self.setWindowTitle ("Covid19 International and Local Tracker") #self.setWindowFlags (Qt. CustomizeWindowHint) #hide title bar self.setStyleSheet ("Background-color: black") self.setFixedSize (640, 480) #enligt min bildskärmsupplösning (x, y) /rpi

#huvudetikett

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 ("" "bakgrundsfärg: svart; färg: vit; kantstil: utgång; kantbredd: 1px" ""))

"" "_worlds senaste 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 ("" "bakgrundsfärg: svart; färg: blå; kantstil: början; kantbredd: 1px" ""))

#världsomspännande bekräftade fall

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 ("" "bakgrundsfärg: svart; färg: orange; kantstil: utgång; kantbredd: 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 ("" "bakgrundsfärg: svart; färg: vit; kantstil: början; kantbredd: 1px "" "")

#dödsfall i världen

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 ("" "bakgrundsfärg: svart; färg: röd; kantstil: utgång; kantbredd: 1px" "") #dödnummer 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 ("" "bakgrundsfärg: svart; färg: vit; kantstil: början; kantbredd: 1px "" "")

#världen över botad

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 ("" "bakgrundsfärg: svart; färg: cyan; kantstil: utgång; kantbredd: 1px" ""))

#världsomspännande botat 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 ("" "bakgrundsfärg: svart; färg: vit; kantstil: början; kantbredd: 1px "" ")

"" "_ Lokalt efter landskod_" """

#local - Country self.c = QLabel (self) self.c.setGeometry (170, 200, 400, 40) self.c.setText ("Mitt land: Bangladesh") self.c.setFont (QFont ('SansSerif'), 18)) self.c.setStyleSheet ("" "bakgrundsfärg: svart; färg: vit; kantstil: utgång; kantbredd: 1px" "") #local confirm cases 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 ("" "bakgrund -färg: svart; färg: orange; kantstil: början; kantbredd: 1px "" ") #lokalnummer 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 ("" "bakgrundsfärg: svart; färg: vit; kantstil: utgång; kantbredd: 1px" ""))

#lokala 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 ("" "bakgrundsfärg: svart; färg: röd; kantstil: utgång; kantbredd: 1px" ""))

#lokalt antal döda

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 ("" "bakgrundsfärg: svart; färg: vit; kantstil: början; kantbredd: 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 ("" "bakgrundsfärg: svart; färg: cyan; kantstil: utgång; kantbredd: 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 ("" "bakgrundsfärg: svart; färg: vit; kantstil: utgång; kantbredd: 1px" "")

"" "_ Tid, datum, klocka_" """

#clock self.clock = QLabel (self) self.clock.setGeometry (115, 340, 400, 70) self.clock.setFont (QFont ('SansSerif', 60)) self.clock.setStyleSheet ("" "bakgrund- färg: svart; färg: vit; kantstil: början; kantbredd: 1px "" ") #label för vardag self.weekday = QLabel (self) self.weekday.setGeometry (5, 360, 110, 20) self.weekday.setFont (QFont ('SansSerif', 13)) self.weekday.setStyleSheet ("" "bakgrundsfärg: svart; färg: vit; kantstil: början; kantbredd: 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 ("" "bakgrundsfärg: svart; färg: vit; kantstil: utgång; kantbredd: 1px" ""))

#kolla timern om inte self.timer.isActive (): #if timern är stoppad (nått tröskelvärdet) #Efter 1 sekund (ca) eller 1000ms

Prova:

"" "försök att få data, annars kör koden ändå" "" self.latest = self.covid.getLatest () #gte covid19 senaste data

#få de senaste uppgifterna efter landskod 'BD'-Bangladesh,' IN'-Indien etc.

self.local = self.covid.getLocationByCountryCode ('BD', tidslinjer = falskt) #print (self.local) #print (self.latest)

bortsett från:

"" "kunde inte hämta data" "" skriva ut ("Internetfel !!")

passera #ignore, spring ändå

self.timer.start (1000) #start timern

self.show () #show vårt användargränssnitt

def -uppdatering (själv):

"" "uppdatera etiketter med information" ""

"" "_ Extrahera annonsuppdateringstid och datuminformation_" """

#ställ in klocka och datumtid (uppdateringsvärden) #hämta och uppdatera värden #to mer information läs python datetime dokumentation

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 ')) "" "_uppdatera covid19 -data_" "" #världsomfattande senaste data self.w_cases_num.setText (str (self.latest [' confirm '])) self.w_death_num.setText (str (self.latest [' death ')])) self.w_cured_num.setText (str (self.latest ['recovered'])) #local senaste data self.c_cured_num.setText (str (self.local [0] ['latest'] ['recovered'])) self.c_death_num.setText (str (self.local [0] ['senaste'] ['dödsfall'])) self.c_cases_num.setText (str (self.local [0] ['senaste'] ['bekräftade')]))

print ("uppdaterar")

lämna tillbaka

def main (): app = QApplication (sys.argv) win = CoronaTracker () #instantiate sys.exit (app.exec ()) #kör programmet om _name_ == '_main_': main ()

Steg 6: Slutför:

Avsluta
Avsluta

Efter att ha testat koden lade jag den i skrivbordet och dedikerade en strömkälla för den. Så att det kan fungera medan du laddar. Genom att använda ups kan detta köras även vid belastningsavbrott, vilket ger ditt pi SD-kort också ett lämpligt skydd.

Oavsett hur eller vilka vi är måste vi dö. Låt oss inte tänka på dig själv, tänk på världen. Vi kan bara leva för alltid genom våra gärningar, låt det vara så.

Rekommenderad: