Isi kandungan:
- Langkah 1: Bahagian yang Saya Gunakan:
- Langkah 2: Sediakan Raspberry Pi:
- Langkah 3: Diagram Litar:
- Langkah 4: Badan:
- Langkah 5: Perisian (Kod Sumber):
- Langkah 6: Selesaikan:
Video: Penjejak Desktop COVID19 Dengan Jam! Raspberry Pi Powered Tracker: 6 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:07
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:
- 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:
Saya rasa anda telah menetapkan pi dengan sempurna, kecuali jika anda belum -
- dapatkan kad SD - lebih daripada 8 GB
- memuat turun fail iso raspbian terbaru dari sini.
- 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:
Sambungkan segalanya dan hidupkan pi raspbery, itu hanya menghubungkan, tidak lain.
Anda akan melihat pi boot.
Langkah 4: 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:
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:
Kerusi Roda Kendali Joystick Dibantu Dengan Penjejak Halangan: 3 Langkah (dengan Gambar)
Kerusi Roda Joystick Terkawal Dibantu Dengan Penjejak Halangan: Untuk memudahkan orang kurang upaya fizikal dengan selamat menunggang sensor ultrasonik digunakan untuk mengesan rintangan yang ada dalam perjalanan. Berdasarkan pergerakan kayu bedik motor akan memandu kerusi roda dalam empat arah dan kelajuan pada setiap
Penjejak Covid19 Langsung Menggunakan ESP8266 dan OLED - Papan Pemuka Realtime Covid19: 4 Langkah
Penjejak Langsung Covid19 Menggunakan ESP8266 dan OLED | Papan Pemuka Realtime Covid19: Lawati Laman Web Techtronic Harsh: http: //techtronicharsh.com Di mana sahaja terdapat wabak besar Virus Corona Novel (COVID19). Menjadi perlu untuk memerhatikan senario COVID-19 semasa di Dunia. Oleh itu, berada di rumah, ini adalah
Jam Persaraan / Jam Naik / Jam Dn: 4 Langkah (dengan Gambar)
Jam Persaraan / Jam Naik / Jam Dn: Saya mempunyai beberapa paparan dot-matriks 8x8 LED di dalam laci dan memikirkan apa yang harus dilakukan dengan mereka. Diilhamkan oleh instruksional lain, saya mendapat idea untuk membuat paparan hitung mundur / naik untuk dikira ke tarikh / masa yang akan datang dan jika waktu sasaran
Jam Penggera Pintar: Jam Penggera Pintar Dibuat Dengan Raspberry Pi: 10 Langkah (dengan Gambar)
Jam Penggera Pintar: Jam Penggera Pintar Dibuat Dengan Raspberry Pi: Adakah anda pernah mahukan jam pintar? Jika ya, ini adalah penyelesaian untuk anda! Saya membuat Jam Penggera Pintar, ini adalah jam yang boleh anda ubah waktu penggera mengikut laman web. Apabila penggera berbunyi, akan ada bunyi (bel) dan 2 lampu akan
Jam Rangkaian ESP8266 Tanpa RTC - Jam NTP Nodemcu Tiada RTC - PROJEK JAM INTERNET: 4 Langkah
Jam Rangkaian ESP8266 Tanpa RTC | Jam NTP Nodemcu Tiada RTC | PROJEK JAM INTERNET: Dalam projek ini akan membuat projek jam tanpa RTC, akan memakan masa dari internet menggunakan wifi dan akan memaparkannya pada paparan st7735