Isi kandungan:

Penjejak Desktop COVID19 Dengan Jam! Raspberry Pi Powered Tracker: 6 Langkah
Penjejak Desktop COVID19 Dengan Jam! Raspberry Pi Powered Tracker: 6 Langkah

Video: Penjejak Desktop COVID19 Dengan Jam! Raspberry Pi Powered Tracker: 6 Langkah

Video: Penjejak Desktop COVID19 Dengan Jam! Raspberry Pi Powered Tracker: 6 Langkah
Video: Pembaruan Pandemi Coronavirus 35: Wabah Baru & Batasan Perjalanan, Kemungkinan COVID-19 Perawatan 2024, November
Anonim
Penjejak Desktop COVID19 Dengan Jam! Penjejak Raspberry Pi Powered
Penjejak Desktop COVID19 Dengan Jam! Penjejak Raspberry Pi Powered

Kami tahu bahawa kami boleh mati bila-bila masa, bahkan saya boleh mati semasa menulis catatan ini, bagaimanapun, saya, anda, kita semua adalah manusia. Seluruh dunia bergoncang kerana wabak COVID19. Kami tahu bagaimana mencegahnya, tapi hei! kita tahu bagaimana berdoa dan mengapa berdoa, adakah kita melakukannya setiap hari? Tidak !! Sebenarnya, kita lupa punca mengapa kita harus melakukan sesuatu. Oleh itu, kita tahu bahawa gaya hidup yang bersih dapat menyelamatkan kita namun kita tidak melakukannya dengan betul. Perhatikan kes adik lelaki saya, dia mahu keluar dan bermain walaupun pada masa ini. Saya terpaksa melakukan sesuatu untuk memberi maklumat secara konsisten kepada semua orang mengenai kes terbaru COVID19. Oleh itu, saya membuat paparan meja digial yang menunjukkan kes terbaru COVID19 dalam masa nyata. Oleh kerana ini mempunyai jam maka saya boleh meletakkannya di tempat di mana semua orang berkumpul atau datang. Mereka akan melihat jumlahnya bertambah, yang akan memicu kesedaran di dalamnya dan semoga semua orang sedar. Juga kerana saya pembuat dan hobi, ini ternyata menjadi projek yang baik untuk diusahakan dalam sesi lock-down ini.

Langkah 1: Bahagian yang Saya Gunakan:

Bahagian yang saya gunakan
Bahagian yang saya gunakan
Bahagian yang saya gunakan
Bahagian yang saya gunakan
Bahagian yang saya gunakan
Bahagian yang saya gunakan
Bahagian yang saya gunakan
Bahagian yang saya gunakan
  • Raspberry Pi 3 Model B (di boot menggunakan kad sd)
  • Modul Raspberry Pi UPS (pilihan)
  • Skrin LCD HDMI 7 inci
  • Kabel HDMI ke HDMI (ini disertakan dengan skrin)
  • Kabel USB
  • Penyesuai kuasa 5v 2A (untuk menghidupkan pi)
  • Lembaran PVC [warna kayu] (untuk membuat badan)

Langkah 2: Sediakan Raspberry Pi:

Sediakan Raspberry Pi
Sediakan Raspberry Pi

Saya rasa anda telah menetapkan pi dengan sempurna, kecuali jika anda belum -

  1. dapatkan kad SD - lebih daripada 8 GB
  2. memuat turun fail iso raspbian terbaru dari sini.
  3. Bakar kad SD menggunakan etcher

(Perhatikan bahawa orang boleh mengatakan mengenai perisian lain yang memerlukan anda melakukan beberapa persediaan tetapi etcher sangat mudah digunakan dan mudah tetapi berkesan juga.)

Cukup pasangkan kad SD anda ke komputer, jalankan etcher, anda akan melihat kad SD dipilih secara automatik oleh etcher, kemudian klik untuk memilih fail atau gambar iso yang dimuat turun, kemudian bakar. Setelah berjaya menulis dan memproses cabut kad SD dan sambungkannya ke pi anda, kuasa dan VOILA !! Ia hidup.

Langkah 3: Diagram Litar:

Rajah Litar
Rajah Litar

Sambungkan segalanya dan hidupkan pi raspbery, itu hanya menghubungkan, tidak lain.

Anda akan melihat pi boot.

Langkah 4: Badan:

Badan
Badan
Badan
Badan
Badan
Badan
Badan
Badan

Saya memotong kepingan PVC mengikut ukuran paparan, kemudian menambahkannya menggunakan skru. Selepas itu saya memasang semuanya. Akhirnya ditambahkan helaian lain di belakang untuk menyokongnya daripada jatuh (helaian biru). Sekiranya semuanya baik-baik saja, anda mesti melihat pi boot (gambar terakhir)

Langkah 5: Perisian (Kod Sumber):

Program ini ditulis dalam python3. Untuk GUI (Antaramuka Pengguna Grafik) saya menggunakan PyQt5, dan untuk mengekstrak data COVID19 masa nyata saya menggunakan perpustakaan COVID19Py. Terima kasih kepada lelaki yang menyediakan API untuk kami

Sudah cukup, sekarang buka Terminal pada raspberry pi dan pasang perpustakaan (salin masing-masing dan tampal di terminal rpi).

Abaikan tanda $ semasa menyalin

$ pip3 pasang pyqt5

Permintaan pemasangan $ pip3 $ pemasangan pip3 covid19py

Itu sahaja, sekarang muat turun kod dari sini, saya telah memberikan kod di bawah:

"" "* Realtime Covid19 International and Local Tracker With Clock *" "" "" "************** Tinggal di Rumah Tetap Selamat. Hidup, biarkan Hidup ******** ***** """

"""

pengarang: ashraf minhaj mel: [email protected] laman web: ashrafminhajfb.blogspot.com """

#import perpustakaan yang diperlukan

import PyQt5 #QT GUI Library untuk python3 dari PyQt5. QtCore import Qt, QTimer #timer untuk dikemas kini dari PyQt5. QtWidgets import * #import segala-galanya dari PyQt5. QtGui import QFont #untuk fon mengimport sys #penting untuk aplikasi QTV # maklumat covid19 -api data masa import #anda tahu tujuan ini

kelas CoronaTracker (QWidget):

"" "kelas utama yang mengandungi segalanya" "" def _init _ (diri): "" "memulakan perkara" "" super ()._ init _ () self.covid = COVID19Py. COVID19 () #initialize self.timer = QTimer () #inisialisasi self.timer.timeout.connect (self.update) #jika pemasa mencapai ambang - panggil kemas kini self.ui () #pengguna antara muka

def ui (diri):

"" "Bahagian Antara Muka Pengguna" "" self.setWindowTitle ("Covid19 International and Local Tracker") # self.setWindowFlags (Qt. CustomizeWindowHint) #hide title bar self.setStyleSheet ("Background-color: black") self.setFixedSize (640, 480) #seperti paparan saya (x, y) / resolusi 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; sempadan-lebar: 1px" "")

"" "_ data terkini dunia_" ""

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

# kes yang disahkan di seluruh dunia

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)) diri. w_cases.setStyleSheet ("" "background-color: black; color: orange; border-style: outset; border-width: 1px" "") #cases number self.w_cases_num = QLabel (diri) diri.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-lebar: 1px "" ")

# kematian seluruh dunia

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)) diri. w_death.setStyleSheet ("" "background-color: black; color: red; border-style: outset; border-width: 1px" "") #death number self.w_death_num = QLabel (diri) diri.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-lebar: 1px "" ")

#penyembuhan seluruh dunia

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

#penyembuhan di seluruh dunia

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 ("" "latar belakang-warna: hitam; warna: putih; gaya sempadan: awal; lebar sempadan: 1px "" ")

"" "_ Kod negara-negara tempatan_" """

#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 ("" "background-color: black; color: white; border-style: outset; border-width: 1px" "") #local confirm case self.c_cases = QLabel (diri) self.c_cases.setGeometry (5, 240, 400, 40) self.c_cases.setText ("Cases:") self.c_cases.setFont (QFont ('SansSerif', 18)) self.c_cases.setStyleSheet ("" "latar belakang -warna: hitam; warna: oren; gaya sempadan: awal; lebar sempadan: 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" "")

# kematian tempatan

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

# bilangan kematian tempatan

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 ("" "latar belakang-warna: hitam; warna: putih; gaya sempadan: awal; lebar sempadan: 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; style-border: outset; lebar sempadan: 1px "" ") #local number cured 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" "").

"" "_ Masa, Tarikh, Jam_" ""

#clock self.clock = QLabel (self) self.clock.setGeometry (115, 340, 400, 70) self.clock.setFont (QFont ('SansSerif', 60)) self.clock.setStyleSheet ("" "latar belakang- warna: hitam; warna: putih; gaya sempadan: awal; lebar sempadan: 1px "" ") #label untuk hari minggu diri.weekday = QLabel (diri) diri.weekday.setGeometry (5, 360, 110, 20) diri.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-Lebar: 1px" "")

#semak pemasa jika tidak sendiri.timer.isAktif (): #jika pemasa dihentikan (mencapai ambang) #Setelah 1 saat (lebih kurang) atau 1000ms

cuba:

"" "cuba dapatkan data, kalau begitu jalankan kodnya pula" "" self.latest = self.covid.getLatest () #gte covid19 data terkini

# dapatkan data terkini mengikut kod negara 'BD'-Bangladesh,' IN'-India dll

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

kecuali:

"" "Tidak dapat memperoleh data" "" cetak ("Kesalahan Internet !!")

lulus #ignore, jalankan pula

self.timer.start (1000) #mulai pemasa

self.show () # tunjukkan Antara Muka Pengguna kami

kemas kini def (diri):

"" "kemas kini label dengan maklumat" ""

"" "_Ekstrak iklan Mengemas kini Maklumat Masa dan Tarikh_" ""

#menetapkan jam dan tarikh tarikh (nilai kemas kini)

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

self.clock.setText (self.dt.strftime ('% X')) self.weekday.setText (self.dt.strftime ('% A')) self.date.setText (self.dt.strftime ('% x ')) "" "_update covid19 data_" "" #worldwide data terkini 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 ['pulih'])) #local data terkini self.c_cured_num.setText (str (self.local [0] ['terkini'] ['pulih'])) self.c_death_num.setText (str (self.local [0] ['terkini'] ['kematian'])) self.c_cases_num.setText (str (self.local [0] ['terkini'] ['disahkan']))

cetak ("mengemas kini")

kembali

def main (): app = QApplication (sys.argv) win = CoronaTracker () #instantiate sys.exit (app.exec ()) # jalankan aplikasi jika _name_ == '_main_': main ()

Langkah 6: Selesaikan:

Habiskan
Habiskan

Setelah menguji kod, saya meletakkannya di meja dan mendedikasikan sumber kuasa untuknya. Supaya dapat berfungsi semasa mengecas. Dengan menggunakan up ini dapat berjalan bahkan dalam pembebanan beban juga, ini memberi kad pi pi SD perlindungan yang sesuai juga.

Tidak kira bagaimana atau siapa kita, kita mesti mati. Jangan berfikir tentang diri anda, fikirkan dunia. Kita hanya dapat hidup selamanya melalui perbuatan kita, biarlah begitu.

Disyorkan: