Kazalo:

Namizni sledilnik COVID19 s uro! Sledilnik z napajanjem Raspberry Pi: 6 korakov
Namizni sledilnik COVID19 s uro! Sledilnik z napajanjem Raspberry Pi: 6 korakov

Video: Namizni sledilnik COVID19 s uro! Sledilnik z napajanjem Raspberry Pi: 6 korakov

Video: Namizni sledilnik COVID19 s uro! Sledilnik z napajanjem Raspberry Pi: 6 korakov
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, November
Anonim
Namizni sledilnik COVID19 s uro! Raspberry Pi Powered Tracker
Namizni sledilnik COVID19 s uro! Raspberry Pi Powered Tracker

Vemo, da lahko kadar koli umremo, tudi jaz lahko umrem med pisanjem tega prispevka, navsezadnje sem jaz, ti, vsi smo smrtniki. Zaradi pandemije COVID19 se je ves svet tresel. Vemo, kako to preprečiti, ampak hej! vemo, kako moliti in zakaj moliti, ali to počnemo vsak dan? Ne !! Pravzaprav pozabljamo na osnovni vzrok, zakaj bi morali nekaj narediti. Torej vemo, da nas lahko higienski način življenja reši, vendar tega ne počnemo pravilno. Razmislite o primeru mojega mlajšega brata, ki se želi iti ven in igrati tudi v tem času. Moral sem nekaj narediti, da bi vse dosledno obveščal o najnovejših primerih COVID19. Tako sem naredil digitalni namizni zaslon, ki v realnem času prikazuje najnovejše primere COVID19. Ker ima to uro, jo lahko postavim na mesto, kjer se vsi zberejo ali pridejo. Videli bodo, kako se številke seštevajo, kar bo pri njih sprožilo ozaveščenost in upajmo, da se bodo vsi zavedali. Ker sem ustvarjalec in hobist, se je to izkazalo za dober projekt, na katerem bi lahko delali v tej zaklenjeni seji.

1. korak: Deli, ki sem jih uporabil:

Deli, ki sem jih uporabil
Deli, ki sem jih uporabil
Deli, ki sem jih uporabil
Deli, ki sem jih uporabil
Deli, ki sem jih uporabil
Deli, ki sem jih uporabil
Deli, ki sem jih uporabil
Deli, ki sem jih uporabil
  • Raspberry Pi 3 Model B (zagon s SD kartice)
  • UPS modul Raspberry Pi (neobvezno)
  • 7 -palčni HDMI LCD zaslon
  • Kabel HDMI v HDMI (priložen zaslonu)
  • USB kabli
  • 5v 2A napajalnik (za napajanje pi)
  • PVC folija [lesena barva] (za izdelavo ohišja)

2. korak: Namestite Raspberry Pi:

Nastavitev Raspberry Pi
Nastavitev Raspberry Pi

Mislim, da si odlično nastavil pi, razen če nisi -

  1. dobite kartico SD - več kot 8 GB
  2. prenesite najnovejšo datoteko raspbian iso od tukaj.
  3. Kartico SD zažgite z jedkancem

(Upoštevajte, da lahko ljudje rečejo nekaj o drugi programski opremi, ki zahteva, da naredite nekaj nastavitev, vendar je jedkanica zelo enostavna za uporabo in preprosta, a tudi učinkovita.)

Samo priključite kartico SD na računalnik, zaženite jedkalec, videli boste, da kartico SD samodejno izbere kartica etcher, nato kliknite, da izberete preneseno iso datoteko ali sliko, nato pa jo zažgite. Po uspešnem pisanju in obdelavi odklopite kartico SD in jo povežite s pi, vklopite jo in VOILA !! Živo je.

3. korak: Shema vezja:

Shema vezja
Shema vezja

Povežite vse in vklopite raspbery pi, samo povezuje se, nič drugega.

Videli boste zagon pi.

4. korak: Telo:

Telo
Telo
Telo
Telo
Telo
Telo
Telo
Telo

PVC ploščo sem razrezal glede na velikost zaslona, nato pa jo dodal z vijaki. Potem sem vse povezal. Nazadnje je bil dodan še en list zadaj, da je padel (modri list). Če je vse v redu, bi morali videti zagon pi (zadnja slika)

5. korak: Programska oprema (izvorna koda):

Program je napisan v python3. Za grafični vmesnik (grafični uporabniški vmesnik) sem uporabil PyQt5, za pridobivanje podatkov COVID19 v realnem času pa knjižnico COVID19Py. Hvala fantom, ki so nam omogočili dostop do API -ja

To je skoraj to, zdaj odprite Terminal na malini pi in namestite knjižnice (kopirajte vsako od njih in prilepite na terminal rpi).

Med kopiranjem prezrite znak $

$ pip3 namestite pyqt5

$ pip3 zahteve za namestitev $ pip3 install covid19py

To je to, zdaj prenesite kodo od tukaj, kodo sem navedel spodaj:

"" "*Mednarodni in lokalni sledilnik Covid19 v realnem času z uro*" "" "" "************** Ostanite doma in ostanite na varnem. V živo, pustite v živo ******** ***** """

"""

avtor: ashraf minhaj pošta: [email protected] spletna stran: ashrafminhajfb.blogspot.com """

#uvozite potrebne knjižnice

uvoz PyQt5 #QT knjižnice grafičnega vmesnika za python3 iz PyQt5. QtCore uvoz Qt, QTimer #timer za posodobitev iz PyQt5. QtWidgets uvoz * #uvoz vsega iz PyQt5. QtGui uvoz QFont #za pisave import sys #potrebno za aplikacije QT #import os uvoz COVID19Py #informacije o covid19 -api datum in ura uvoza #veste, čemu to služi

razred CoronaTracker (QWidget):

"" "glavni razred, ki vsebuje vse" "" def _init _ (self): "" "inicializira stvari" "" super ()._ init _ () self.covid = COVID19Py. COVID19 () #inicialize self.timer = QTimer () #inicialize self.timer.timeout.connect (self.update) #če časovnik doseže prag - pokličite posodobitev self.ui () #uporabniški vmesnik

def ui (self):

"" "Oddelek uporabniškega vmesnika" "" self.setWindowTitle ("Mednarodni in lokalni sledilnik Covid19") #self.setWindowFlags (Qt. CustomizeWindowHint) #skrij naslovno vrstico self.setStyleSheet ("Barva ozadja: črna") self.setFixedSize (640, 480) #as na moj zaslon (x, y) /ločljivost rpi

#glavna oznaka

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_bel. setFont (QFont ('SansSerif', 20)) self.banner_label.setStyleSheet ("" "barva ozadja: črna; barva: bela; slog obrobe: izhod; robna širina: 1px" "")

"" "_ najnovejši podatki o svetu _" ""

#world label self.w = QLabel (self) self.w.setGeometry (200, 55, 400, 40) self.w.setText ("Svet na prvi pogled") self.w.setFont (QFont ('SansSerif', 18)) self.w.setStyleSheet ("" "barva ozadja: črna; barva: modra; slog obrobe: začetek; širina obrobe: 1px" "")

#potrjenih primerov po vsem svetu

self.w_cases = QLabel (self) self.w_cases.setGeometry (5, 90, 100, 40) self.w_cases.setText ("Primeri:") self.w_cases.setFont (QFont ('SansSerif', 18)) self. w_cases.setStyleSheet ("" "barva ozadja: črna; barva: oranžna; slog obrobe: izhodišče; širina obrobe: 1px" "") #številka primerov 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 ("" "barva ozadja: črna; barva: bela; slog obrobe: izhodišče; širina obrobe: 1px "" ")

#smrti po vsem svetu

self.w_death = QLabel (self) self.w_death.setGeometry (350, 90, 100, 40) self.w_death.setText ("Smrti:") self.w_death.setFont (QFont ('SansSerif', 18)) self. w_death.setStyleSheet ("" "barva ozadja: črna; barva: rdeča; slog obrobe: začetek; širina obrobe: 1px" "") #smrtna številka 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 ("" "barva ozadja: črna; barva: bela; slog obrobe: izhod; rob-širina: 1px "" ")

#celotni svet ozdravljen

self.w_cured = QLabel (self) self.w_cured.setGeometry (5, 140, 100, 40) self.w_cured.setText ("Ozdravljeno:") self.w_cured.setFont (QFont ('SansSerif', 18)) self. w_cured.setStyleSheet ("" "barva ozadja: črna; barva: cijan; slog obrobe: izhod; robna širina: 1px" "")

#zdravljena številka po vsem svetu

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 ("" "barva ozadja: črna; barva: bela; slog obrobe: izhodišče; širina obrobe: 1px "" ")

"" "_ Koda za lokalno državo _" ""

#local - Država self.c = QLabel (self) self.c.setGeometry (170, 200, 400, 40) self.c.setText ("Moja država: Bangladeš") self.c.setFont (QFont ('SansSerif', 18)) self.c.setStyleSheet ("" "barva ozadja: črna; barva: bela; slog obrobe: začetek; širina obrobe: 1px" "") #local confirm cases self.c_cases = QLabel (self) self.c_cases.setGeometry (5, 240, 400, 40) self.c_cases.setText ("Primeri:") self.c_cases.setFont (QFont ('SansSerif', 18)) self.c_cases.setStyleSheet ("" "ozadje -barva: črna; barva: oranžna; slog obrobe: začetek; širina obrobe: 1px "" ") #številka krajevnih primerov 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 ("" "barva ozadja: črna; barva: bela; border-style: outset; border-width: 1px" "")

#lokalne smrti

self.c_death = QLabel (self) self.c_death.setGeometry (350, 240, 100, 40) self.c_death.setText ("Smrti:") self.c_death.setFont (QFont ('SansSerif', 18)) self. c_death.setStyleSheet ("" "barva ozadja: črna; barva: rdeča; slog obrobe: izhod; robna širina: 1px" "")

#lokalno število smrtnih žrtev

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 ("" "barva ozadja: črna; barva: bela; slog obrobe: od začetka; širina obrobe: 1px "" ") #local cured self.c_cured = QLabel (self) self.c_cured.setGeometry (5, 280, 100, 40) self.c_cured. setText ("Ozdravljeno:") self.c_cured.setFont (QFont ('SansSerif', 18)) self.c_cured.setStyleSheet ("" "barva ozadja: črna; barva: cijan; obrobni slog: outset; robna širina: 1px "" ") #lokalno ozdravljeno število.setStyleSheet ("" "barva ozadja: črna; barva: bela; slog obrobe: izhod; širina obrobe: 1px" "")

"" "_ Ura, datum, ura _" ""

#clock self.clock = QLabel (self) self.clock.setGeometry (115, 340, 400, 70) self.clock.setFont (QFont ('SansSerif', 60)) self.clock.setStyleSheet ("" "ozadje- barva: črna; barva: bela; rob v slogu: izhodišče; širina obrobe: 1px "" ") #oznaka za dan v tednu self.weekday = QLabel (self) self.weekday.setGeometry (5, 360, 110, 20) self.weekday.setFont (QFont ('SansSerif', 13)) self.weekday.setStyleSheet ("" "barva ozadja: črna; barva: bela; slog obrobe: izhod; robna širina: 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 ("" "barva ozadja: črna; barva: bela; slog obrobe: izhod; robna širina: 1px" "")

#preverite časovnik, če ni self.timer.isActive (): #če je časovnik ustavljen (dosežen prag) #Po 1 sekundi (pribl.) ali 1000 ms

poskusi:

"" "poskusite pridobiti podatke, drugače pa zaženite kodo" "" self.latest = self.covid.getLatest () #gte najnovejši podatki covid19

#pridobite najnovejše podatke po kodi države 'BD'-Bangladeš,' IN'-Indija itd

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

razen:

"" "ni bilo mogoče dobiti podatkov" "" print ("Internetna napaka !!")

pass #ignore, vseeno teči

self.timer.start (1000) #zaženite časovnik

self.show () #prikaži naš uporabniški vmesnik

def posodobitev (samo):

"" "posodobite oznake z informacijami" ""

"" "_ Izvleček Posodobitev oglasa o času in datumu _" ""

#nastavite uro in datum (vrednosti posodobitve) #pridobite in posodobite vrednosti #če želite izvedeti več o dokumentaciji za datum in čas python

self.dt = datetime.datetime.now () #pridobi podatke o datumu in času

self.clock.setText (self.dt.strftime ('%X')) self.weekday.setText (self.dt.strftime ('%A')) self.date.setText (self.dt.strftime ('% x ')) "" "_ posodobi podatke covid19 _" "" #najnovejši podatki po vsem svetu self.w_cases_num.setText (str (self.latest [' potrjeno '])) self.w_death_num.setText (str (self.latest [' deaths ')])) self.w_cured_num.setText (str (self.latest ['recovery']))) #local najnovejši podatki self.c_cured_num.setText (str (self.local [0] ['latest'] ['recovery'])) self.c_death_num.setText (str (self.local [0] ['latest'] ['deaths'])) self.c_cases_num.setText (str (self.local [0] ['latest'] ['potrjeno']))

print ("posodabljanje")

vrnitev

def main (): app = QApplication (sys.argv) win = CoronaTracker () #instantiate sys.exit (app.exec ()) #zaženi aplikacijo, če _name_ == '_main_': main ()

Korak 6: Dokončajte:

Končaj
Končaj

Po preizkusu kode sem jo dal na mizo in zanjo namenil vir napajanja. Tako, da lahko deluje med polnjenjem. Z uporabo ups lahko deluje tudi pri zmanjševanju obremenitve, kar daje ur pi SD kartici tudi ustrezno zaščito.

Ne glede na to, kako ali kdo smo, moramo umreti. Ne razmišljajmo o sebi, razmišljajmo o svetu. Samo s svojimi dejanji lahko živimo večno, naj bo tako.

Priporočena: