Talaan ng mga Nilalaman:

Desktop COVID19 Tracker With Clock! Sinusuportahan ng Raspberry Pi Tracker: 6 na Hakbang
Desktop COVID19 Tracker With Clock! Sinusuportahan ng Raspberry Pi Tracker: 6 na Hakbang

Video: Desktop COVID19 Tracker With Clock! Sinusuportahan ng Raspberry Pi Tracker: 6 na Hakbang

Video: Desktop COVID19 Tracker With Clock! Sinusuportahan ng Raspberry Pi Tracker: 6 na Hakbang
Video: HUNGRY SHARK WORLD EATS YOU ALIVE 2024, Hulyo
Anonim
Desktop COVID19 Tracker With Clock! Ang Raspberry Pi Powered Tracker
Desktop COVID19 Tracker With Clock! Ang Raspberry Pi Powered Tracker

Alam natin na maaari tayong mamatay anumang oras, kahit na ako ay maaaring mamatay habang sinusulat ang post na ito, kung tutuusin, ako ako, ikaw, lahat tayo ay mortal. Ang buong mundo ay yumanig dahil sa COVID19 pandemya. Alam namin kung paano maiwasan ito, ngunit hey! alam natin kung paano manalangin at bakit manalangin, ginagawa ba natin ito araw-araw? Hindi!! Sa totoo lang, nakakalimutan natin ang pangunahing sanhi ng kung bakit dapat nating gawin ang mga bagay. Kaya, alam natin na ang isang hygienic lifestyle ay makakatipid sa atin ngunit hindi natin ito nagagawa nang maayos. Isaalang-alang ang kaso ng aking nakababatang kapatid, nais niyang lumabas at maglaro kahit sa oras na ito. Kailangan kong gumawa ng isang bagay upang patuloy na ipaalam sa lahat ang tungkol sa pinakabagong mga kaso ng COVID19. Kaya, gumawa ako ng isang display ng digial desk na nagpapakita ng pinakabagong mga kaso ng COVID19 sa real time. Dahil mayroon itong orasan pagkatapos ay mailalagay ko ito sa isang lugar kung saan nagtitipon o dumarating ang lahat. Makikita nila ang mga bilang na nagdaragdag, na mag-uudyok ng kamalayan sa kanila at inaasahan na magkaroon ng malay ang lahat. Gayundin sa aking tagagawa at libangan, ito ay naging isang magandang proyekto upang gumana sa lock-down na session na ito.

Hakbang 1: Mga Bahagi na Ginamit Ko:

Mga Bahagi na Ginamit Ko
Mga Bahagi na Ginamit Ko
Mga Bahagi na Ginamit Ko
Mga Bahagi na Ginamit Ko
Mga Bahagi na Ginamit Ko
Mga Bahagi na Ginamit Ko
Mga Bahagi na Ginamit Ko
Mga Bahagi na Ginamit Ko
  • Raspberry Pi 3 Model B (na-boot gamit ang sd card)
  • Module ng Raspberry Pi UPS (opsyonal)
  • 7 pulgada na HDMI LCD Screen
  • HDMI sa HDMI cable (kasama nito ang screen)
  • Mga USB cable
  • 5v 2A power adapter (upang mapagana ang pi)
  • PVC sheet [kahoy na kulay] (upang gawin ang katawan)

Hakbang 2: I-setup ang Raspberry Pi:

I-setup ang Raspberry Pi
I-setup ang Raspberry Pi

Hulaan ko na naayos mo nang ganap ang pi, maliban kung hindi mo pa nagawa -

  1. kumuha ng isang SD card - higit sa 8 GB
  2. i-download ang pinakabagong raspbian iso file mula dito.
  3. Sunugin ang SD card gamit ang etcher

(Tandaan na ang mga tao ay maaaring sabihin ng tungkol sa iba pang software na kung saan ay hinihiling sa iyo na gumawa ng ilang mga bagay sa pag-setup ngunit etcher ay napakadaling gamitin at simple ngunit epektibo din.)

I-plug lamang ang iyong SD card sa pc, patakbuhin ang etcher, makikita mo ang SD card na awtomatikong pinili ng etcher, pagkatapos ay i-click upang piliin ang na-download na iso file o imahe, pagkatapos ay sunugin ito. Matapos ang matagumpay na pagsulat at pagproseso ng unplug SD card at ikonekta ito sa iyong pi, paganahin ito at VOILA !! Ito'y buhay.

Hakbang 3: Circuit Diagram:

Diagram ng Circuit
Diagram ng Circuit

Ikonekta ang lahat at bigyan ng lakas ang raspbery pi, kumokonekta lamang ito, wala nang iba pa.

Makikita mo ang pi booting.

Hakbang 4: Ang Katawan:

Ang katawan
Ang katawan
Ang katawan
Ang katawan
Ang katawan
Ang katawan
Ang katawan
Ang katawan

Pinutol ko ang isang sheet ng PVC alinsunod sa laki ng display, pagkatapos ay idinagdag ito gamit ang mga turnilyo. Pagkatapos nito ay isinama ko ang lahat. Sa wakas ay nagdagdag ng isa pang sheet sa likod upang suportahan ito mula sa pagbagsak (asul na sheet). Kung okay ang lahat, dapat mong makita ang pi booting (huling larawan)

Hakbang 5: Ang Software (Source Code):

Ang programa ay nakasulat sa python3. Para sa GUI (Graphical User Interface) Gumamit ako ng PyQt5, at upang makuha ang realtime data ng COVID19 ginamit ko ang COVID19Py library. Salamat sa mga lalaki na ginawang magagamit ang API para sa amin

Iyon ay halos lahat nito, ngayon buksan ang Terminal sa raspberry pi at i-install ang mga aklatan (kopyahin ang bawat isa sa kanila at i-paste sa rpi terminal).

Huwag pansinin ang $ sign habang kumopya

$ pip3 i-install ang pyqt5

$ pip3 mga kahilingan sa pag-install $ pip3 i-install covid19py

Iyon lang, i-download na ngayon ang code mula rito, naibigay ko ang code sa ibaba:

"" "* Realtime Covid19 International at Local Tracker With Clock *" "" "" "************* Manatiling Ligtas sa Tahanan. Mabuhay, pabayaan ang Live **** **** ***** """

"""

may-akda: ashraf minhaj mail: [email protected] site: ashrafminhajfb.blogspot.com """

#import kinakailangang mga aklatan

i-import ang PyQt5 #QT GUI Library para sa python3 mula sa PyQt5. QtCore import Qt, QTimer #timer upang mag-update mula sa PyQt5. QtWidgets import * #import lahat mula sa PyQt5. QtGui import QFont #for fonts import sys # kinakailangan para sa QT application #import os import COVID19Py # covid19 impormasyon -api-import ng datime #alam mo kung para saan ito

klase CoronaTracker (QWidget):

"" "pangunahing klase na naglalaman ng lahat" "" def _init _ (sarili): "" "ipasimula ang mga bagay" "" super ()._ init _ () self.covid = COVID19Py. COVID19 () #initialize self.timer = QTimer () #initialize self.timer.timeout.connect (self.update) #kung umabot ang threshold ng timer - tawagan ang pag-update ng self.ui () #user interface

def ui (sarili):

"" "User Interface section" "" self.setWindowTitle ("Covid19 International and Local Tracker") # self.setWindowFlags (Qt. CustomizeWindowHint) #tago ang pamagat ng bar self.setStyleSheet ("Kulay ng background: itim") self.setFixedSize (640, 480) # bawat resolusyon ng aking display (x, y) / rpi

#main label

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

"" "_ mundo pinakabagong 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 ("" "background-color: black; color: blue; border-style: outset; border-width: 1px" "")

# sa buong mundo na kumpirmadong mga kaso

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)) sarili. w_cases.setStyleSheet ("" "background-color: black; color: orange; border-style: outset; border-width: 1px" "") #cases number 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 ("" "background-color: black; color: white; border-style: outset; border-width: 1px "" ")

# sa buong mundo pagkamatay

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" "") #death number 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 ("" "background-color: black; color: white; border-style: outset; border-width: 1px "" ")

gumaling ang # sa buong mundo

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)) sarili. w_cured.setStyleSheet ("" "background-color: black; color: cyan; border-style: outset; border-width: 1px" "")

# sa buong mundo na gumaling na numero

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: itim; kulay: puti; border-style: pasimula; border-width: 1px "" ")

"" "_ Lokal-Ayon sa bansa Code_" ""

#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)) sarili 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 -color: black; color: orange; border-style: outset; border-width: 1px "" ") #local case number 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" "")

#local na pagkamatay

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 ("" "background-color: black; color: red; border-style: outset; border-width: 1px" "")

#local na numero ng pagkamatay

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: itim; kulay: puti; border-style: outset; border-width: 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 ("" "background-color: black; color: cyan; border-style: outset; border-width: 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 ("" "background-color: black; color: white; border-style: outset; border-width: 1px" "")

"" "_Panahon, Petsa, Orasan_" ""

#clock self.clock = QLabel (self) self.clock.setGeometry (115, 340, 400, 70) self.clock.setFont (QFont ('SansSerif', 60)) self.clock.setStyleSheet ("" "background- kulay: itim; kulay: puti; border-style: outset; border-width: 1px "" ") #label para sa selfday sa araw ng linggo.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 ("" "background-color: black; color: white; border-style: outset; border-width: 1px" "")

#check the timer if not self.timer.isActive (): #kung tumigil ang timer (naabot ang threshold) # Pagkatapos ng 1 segundo (tinatayang.) o 1000ms

subukan:

"" "subukang makakuha ng data, kung hindi man patakbuhin ang code" "" self.latest = self.covid.getLatest () #gte covid19 pinakabagong data

#get pinakabagong data sa pamamagitan ng country code 'BD'-Bangladesh,' IN'-India atbp

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

maliban sa:

"" "hindi makakuha ng data" "" print ("Internet Error !!")

ipasa ang #ignore, tumakbo pa rin

self.timer.start (1000) #start ang timer

self.show () #show our User Interface

pag-update ng def (sarili):

"" "i-update ang mga label na may impormasyon na" ""

"" "_Extract ang Oras ng Oras at Petsa ng Pag-update ng ad_" ""

#set up ang orasan at oras ng petsa (i-update ang mga halaga) #get at i-update ang mga halaga # upang malaman ang higit pang basahin ang dokumentasyon ng python datime

self.dt = datetime.datetime.now () #get data ng data

self.clock.setText (self.dt.strftime ('% X')) self.weekday.setText (self.dt.strftime ('% A')) self.date.setText (self.dt.strftime ('% x ')) "" "_dagdag ang data ng covid19_ "" "sa buong mundo pinakabagong data sa sarili.])) self.w_cured_num.setText (str (self.latest ['nabawi'])) #local pinakabagong data self.c_cured_num.setText (str (self.local [0] ['pinakabagong'] ['nabawi'])) self.c_death_num.setText (str (self.local [0] ['pinakabagong'] ['pagkamatay'])) self.c_cases_num.setText (str (self.local [0] ['pinakabagong'] ['nakumpirma']))

i-print ("nag-a-update")

bumalik ka

def main (): app = QApplication (sys.argv) win = CoronaTracker () #instantiate sys.exit (app.exec ()) #run the application if _name_ == '_main_': main ()

Hakbang 6: Tapusin:

Tapusin na
Tapusin na

Matapos subukan ang code inilagay ko ito sa desk at nakatuon isang mapagkukunan ng kuryente para dito. Upang maaari itong gumana habang naniningil. Sa pamamagitan ng paggamit ng mga ups na ito ay maaaring tumakbo kahit sa pag-load-pagpapadanak din, ito ay nagbibigay sa iyong ur SD card ng isang naaangkop na proteksyon din.

Hindi mahalaga kung paano o sino tayo, kailangan tayong mamatay. Huwag nating isipin ang tungkol sa iyong sarili, isipin ang tungkol sa mundo. Maaari lamang tayong mabuhay magpakailanman sa pamamagitan ng ating mga gawa, hayaan itong maging ganoon.

Inirerekumendang: