Satura rādītājs:

Covid19 izsekotājs galddatorā ar pulksteni! Raspberry Pi Powered Tracker: 6 soļi
Covid19 izsekotājs galddatorā ar pulksteni! Raspberry Pi Powered Tracker: 6 soļi

Video: Covid19 izsekotājs galddatorā ar pulksteni! Raspberry Pi Powered Tracker: 6 soļi

Video: Covid19 izsekotājs galddatorā ar pulksteni! Raspberry Pi Powered Tracker: 6 soļi
Video: Часы G Shock до 100 долларов-15 лучших часов Casio G Shock до 100 дол... 2024, Jūlijs
Anonim
Covid19 izsekotājs galddatorā ar pulksteni! Raspberry Pi darbināms izsekotājs
Covid19 izsekotājs galddatorā ar pulksteni! Raspberry Pi darbināms izsekotājs

Mēs zinām, ka mēs varam mirt jebkurā laikā, pat es varu nomirt, rakstot šo ziņu, galu galā es, es, jūs, mēs visi esam mirstīgi. Visa pasaule satricināja COVID19 pandēmijas dēļ. Mēs zinām, kā to novērst, bet hei! mēs zinām, kā lūgt un kāpēc lūgt, vai mēs to darām katru dienu? Nē!! Patiesībā mēs aizmirstam galveno iemeslu, kāpēc mums vajadzētu darīt lietas. Tātad, mēs zinām, ka higiēnisks dzīvesveids var mūs glābt, tomēr mēs to nedarām pareizi. Apsveriet mana jaunākā brāļa gadījumu, viņš pat šajā laikā vēlas iziet un spēlēties. Man bija jādara kaut kas, lai pastāvīgi informētu visus par jaunākajiem COVID19 gadījumiem. Tātad, es izveidoju ciparu galda displeju, kas reālā laikā parāda jaunākos COVID19 gadījumus. Tā kā šim ir pulkstenis, es varu to ievietot vietā, kur visi pulcējas vai nāk. Viņi redzēs skaitļu sasummēšanos, kas viņos izraisīs izpratni, un cerams, ka visi būs apzināti. Tā kā esmu veidotājs un hobijs, tas izrādījās labs projekts, pie kura strādāt šajā slēgšanas sesijā.

1. darbība. Daļas, kuras esmu izmantojis:

Daļas, kuras esmu izmantojis
Daļas, kuras esmu izmantojis
Daļas, kuras esmu izmantojis
Daļas, kuras esmu izmantojis
Daļas, kuras esmu izmantojis
Daļas, kuras esmu izmantojis
Daļas, kuras esmu izmantojis
Daļas, kuras esmu izmantojis
  • Raspberry Pi 3 modelis B (palaists, izmantojot SD karti)
  • Raspberry Pi UPS modulis (pēc izvēles)
  • 7 collu HDMI LCD ekrāns
  • HDMI uz HDMI kabelis (tas tiek piegādāts kopā ar ekrānu)
  • USB kabeļi
  • 5v 2A strāvas adapteris (pi barošanai)
  • PVC loksne [koka krāsa] (korpusa izgatavošanai)

2. darbība: iestatiet Raspberry Pi:

Iestatiet Raspberry Pi
Iestatiet Raspberry Pi

Es domāju, ka jūs esat perfekti iestatījis pi, ja vien neesat -

  1. iegūt SD karti - vairāk nekā 8 GB
  2. lejupielādējiet jaunāko raspbian iso failu no šejienes.
  3. Sadedziniet SD karti, izmantojot kodinātāju

(Ņemiet vērā, ka cilvēki var teikt par citu programmatūru, kuras dēļ jums ir jāveic iestatīšana, bet kodinātājs ir ļoti viegli lietojams un vienkāršs, bet arī efektīvs.)

Vienkārši pievienojiet SD karti datoram, palaidiet etcher, jūs redzēsit, ka SD karte tiek automātiski atlasīta, un pēc tam noklikšķiniet, lai atlasītu lejupielādēto iso failu vai attēlu, pēc tam ierakstiet to. Pēc veiksmīgas rakstīšanas un apstrādes atvienojiet SD karti un pievienojiet to savam pi, ieslēdziet to un VOILA !! Tas ir dzīvs.

3. darbība: shēmas shēma:

Ķēdes shēma
Ķēdes shēma

Pievienojiet Everythingup un ieslēdziet raspbery pi, tas ir tikai savienojums, nekas cits.

Jūs redzēsit, kā pi booting.

4. solis: ķermenis:

Ķermenis
Ķermenis
Ķermenis
Ķermenis
Ķermenis
Ķermenis
Ķermenis
Ķermenis

Es izgriezu PVC loksni atbilstoši displeja izmēram, pēc tam pievienoju to, izmantojot skrūves. Pēc tam es visu sakārtoju. Beidzot aizmugurē pievienoja vēl vienu lapu, lai atbalstītu to no krišanas (zilā lapa). Ja viss ir kārtībā, jums vajadzētu redzēt pi booting (pēdējā bilde)

5. darbība: programmatūra (avota kods):

Programma ir uzrakstīta python3. GUI (grafiskā lietotāja saskarne) es izmantoju PyQt5, un, lai iegūtu reāllaika COVID19 datus, es izmantoju COVID19Py bibliotēku. Paldies puišiem, kuri padarīja API mums pieejamu

Tas ir gandrīz viss, tagad atveriet termināli raspberry pi un instalējiet bibliotēkas (kopējiet katru no tām un ielīmējiet rpi terminālī).

Kopēšanas laikā ignorējiet zīmi $

$ pip3 instalēt pyqt5

$ pip3 instalēšanas pieprasījumi $ pip3 install covid19py

Tas ir viss, tagad lejupielādējiet kodu no šejienes, es esmu sniedzis kodu zemāk:

"" "*Reāllaika Covid19 starptautiskais un vietējais izsekotājs ar pulksteni*" "" "" "************** Palieciet mājās, esiet drošībā. Tiešraide, tiešraide ******** ***** """

"""

autors: ashraf minhaj pasts: [email protected] vietne: ashrafminhajfb.blogspot.com """

#importējiet nepieciešamās bibliotēkas

importēt PyQt5 #QT GUI bibliotēku python3 no PyQt5. #covid19 informācija -api importēšanas datuma laiks #jūs zināt, kam tas paredzēts

klases CoronaTracker (QWidget):

"" "galvenā klase, kurā ir viss" "" def _init _ (self): "" "inicializēt lietas" "" super ()._ init _ () self.covid = COVID19Py. COVID19 () #initialize self.timer = QTimer () #initialize self.timer.timeout.connect (self.update) #ja taimeris sasniedz slieksni - zvaniet, lai atjauninātu self.ui () #lietotāja saskarne

def ui (sevi):

"" "Lietotāja saskarnes sadaļa" "" self.setWindowTitle ("Covid19 International and Local Tracker") #self.setWindowFlags (Qt. CustomizeWindowHint) #hide title bar self.setStyleSheet ("Background-color: black") self.setFixedSize (640, 480) #pēc mana displeja (x, y) /rpi izšķirtspējas

#galvenā etiķete

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" "")

"" "_pasaules jaunākie dati_" ""

#world label self.w = QLabel (self) self.w.setGeometry (200, 55, 400, 40) self.w.setText ("Pasaule īsumā") self.w.setFont (QFont ('SansSerif', 18)) self.w.setStyleSheet ("" "fona krāsa: melna; krāsa: zila; apmales stils: sākums; apmales platums: 1px" "")

#visā pasaulē apstiprināti gadījumi

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 ("" "background-color: black; color: orange; border-style: outset; border-width: 1px" "") #lietu skaits 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 ("" "fona krāsa: melna; krāsa: balta; apmales stils: sākums; apmales platums: 1px "" ")

#nāves gadījumi visā pasaulē

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 ("" "background-color: black; color: red; border-style: outset; border-width: 1px" "") #miršanas numurs 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 ("" "fona krāsa: melna; krāsa: balta; apmales stils: sākums; apmales platums: 1px "" ")

#izārstēts visā pasaulē

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 ("" "fona krāsa: melna; krāsa: ciāna; border-style: outset; border-width: 1px" "")

#visā pasaulē izārstēts numurs

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: melns; krāsa: balta; apmales stils: iesākums; apmales platums: 1px "" ")

"" "_ Vietējais pēc valsts kods_" ""

#local - Valsts self.c = QLabel (self) self.c.setGeometry (170, 200, 400, 40) self.c.setText ("Mana valsts: Bangladeša") self.c.setFont (QFont ('SansSerif', 18)) self.c.setStyleSheet ("" "background-color: black; color: white; border-style: outset; border-width: 1px" "") #local apstiprina gadījumus 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 ("" "background -krāsa: melna; krāsa: oranža; apmales stils: sākums; apmales platums: 1px "" ") #vietējo lietu skaits 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" "")

#vietējie nāves gadījumi

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 ("" "fona krāsa: melna; krāsa: sarkana; apmales stils: sākums; apmales platums: 1px" "")

#vietējais mirušo skaits

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: melns; krāsa: balta; apmales stils: sākums; apmales platums: 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 ("" "fona krāsa: melna; krāsa: ciāna; apmales stils: sākums; apmales platums: 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 ("" "fona krāsa: melna; krāsa: balta; apmales stils: sākums; apmales platums: 1px" "")

"" "_Laiks, datums, pulkstenis_" ""

#clock self.clock = QLabel (self) self.clock.setGeometry (115, 340, 400, 70) self.clock.setFont (QFont ('SansSerif', 60)) self.clock.setStyleSheet ("" "background- krāsa: melna; krāsa: balta; apmales stils: sākums; apmales platums: 1px "" ") #etiķete nedēļas dienai 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 ("" "fona krāsa: melna; krāsa: balta; apmales stils: sākums; apmales platums: 1px" "")

#pārbaudiet taimeri, ja tas nav self.timer.isActive (): #ja taimeris ir apturēts (sasniegts slieksnis) #Pēc 1 sekundes (aptuveni) vai 1000 ms

pamēģini:

"" "mēģiniet iegūt datus, pretējā gadījumā palaidiet kodu" "" self.latest = self.covid.getLatest () #gte covid19 jaunākie dati

#iegūstiet jaunākos datus pēc valsts koda “BD”-Bangladeša, “IN”-Indija utt

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

izņemot:

"" "nevarēja iegūt datus" "" izdrukāt ("Interneta kļūda !!")

iet #ignore, tik un tā skriet

self.timer.start (1000) #start taimeris

self.show () #show mūsu lietotāja saskarne

def update (self):

"" "atjaunināt etiķetes ar informāciju" ""

"" "_Izvilkt reklāmu Atjaunināt informāciju par laiku un datumu_" ""

#iestatīt pulksteņa un datuma laiku (atjaunināt vērtības) #iegūt un atjaunināt vērtības #lai uzzinātu vairāk, lasiet python datuma un laika dokumentāciju

self.dt = datetime.datetime.now () #get datetime dati

self.clock.setText (self.dt.strftime ('%X')) self.weekday.setText (self.dt.strftime ('%A')) self.date.setText (self.dt.strftime ('% x ')) "" _atjaunināt covid19 datus.])) self.w_cured_num.setText (str (self.latest ['atgūti'])) #local jaunākie dati self.c_cured_num.setText (str (self.local [0] ['jaunākais'] ['atgūts'])) self.c_death_num.setText (str (self.local [0] ['latest'] ['deaths'])) self.c_cases_num.setText (str (self.local [0] ['jaunākais'] ['apstiprināts')]))

drukāt ("atjaunināšana")

atgriezties

def main (): app = QApplication (sys.argv) win = CoronaTracker () #instantiate sys.exit (app.exec ()) #palaidiet lietojumprogrammu, ja _name_ == '_main_': main ()

6. darbība. Pabeidziet:

Pabeigt
Pabeigt

Pēc koda pārbaudes es ievietoju to rakstāmgaldā un atvēlēju tam barošanas avotu. Lai tas varētu darboties uzlādes laikā. Izmantojot uzlabojumus, tas var darboties pat slodzes samazināšanas laikā, tas arī nodrošina atbilstošu aizsardzību SD kartei.

Neatkarīgi no tā, kādi un kādi mēs esam, mums ir jāmirst. Nedomāsim par sevi, par pasauli. Mēs varam mūžīgi dzīvot tikai ar saviem darbiem, lai tā būtu.

Ieteicams: