Mục lục:

Máy tính để bàn COVID19 theo dõi có đồng hồ! Raspberry Pi Powered Tracker: 6 bước
Máy tính để bàn COVID19 theo dõi có đồng hồ! Raspberry Pi Powered Tracker: 6 bước

Video: Máy tính để bàn COVID19 theo dõi có đồng hồ! Raspberry Pi Powered Tracker: 6 bước

Video: Máy tính để bàn COVID19 theo dõi có đồng hồ! Raspberry Pi Powered Tracker: 6 bước
Video: Webinar: Giải Pháp Kit Công Nghiệp Cho Raspberry Pi 4 & Các Ứng Dụng Thực Tế Đã Triển Khai 2024, Tháng bảy
Anonim
Máy tính để bàn COVID19 theo dõi có đồng hồ! Raspberry Pi Powered Tracker
Máy tính để bàn COVID19 theo dõi có đồng hồ! Raspberry Pi Powered Tracker

Chúng tôi biết rằng chúng tôi có thể chết bất cứ lúc nào, thậm chí tôi có thể chết trong khi viết bài này, sau tất cả, tôi tôi, bạn, tất cả chúng ta đều là người phàm. Cả thế giới rúng động vì đại dịch COVID19. Chúng tôi biết làm thế nào để ngăn chặn điều này, nhưng hey! chúng ta biết cách cầu nguyện và tại sao cầu nguyện, chúng ta có làm việc đó hàng ngày không? Không!! Trên thực tế, chúng ta quên đi nguyên nhân gốc rễ tại sao chúng ta nên làm mọi thứ. Vì vậy, chúng ta biết rằng lối sống hợp vệ sinh có thể cứu chúng ta nhưng chúng ta không thực hiện đúng cách. Hãy xem xét trường hợp của em trai tôi, anh ấy muốn ra ngoài và chơi ngay cả trong thời gian này. Tôi đã phải làm điều gì đó để liên tục thông báo cho mọi người về các trường hợp mới nhất của COVID19. Vì vậy, tôi đã tạo một màn hình bàn kỹ thuật số hiển thị các trường hợp mới nhất của COVID19 trong thời gian thực. Vì cái này có một chiếc đồng hồ nên tôi có thể đặt nó ở nơi mà mọi người hay tụ tập. Họ sẽ thấy các con số cộng lại, điều này sẽ kích hoạt nhận thức trong họ và hy vọng mọi người sẽ có ý thức. Ngoài ra, vì tôi là một nhà sản xuất và một người có sở thích, nên đây thực sự là một dự án tốt để thực hiện trong phiên khóa này.

Bước 1: Các bộ phận tôi đã sử dụng:

Các bộ phận tôi đã sử dụng
Các bộ phận tôi đã sử dụng
Các bộ phận tôi đã sử dụng
Các bộ phận tôi đã sử dụng
Các bộ phận tôi đã sử dụng
Các bộ phận tôi đã sử dụng
Các bộ phận tôi đã sử dụng
Các bộ phận tôi đã sử dụng
  • Raspberry Pi 3 Model B (khởi động bằng thẻ sd)
  • Mô-đun UPS Raspberry Pi (tùy chọn)
  • Màn hình LCD HDMI 7 inch
  • Cáp HDMI to HDMI (cái này đi kèm với màn hình)
  • cáp USB
  • Bộ đổi nguồn 5v 2A (để cấp nguồn cho pi)
  • Tấm PVC [màu gỗ] (để làm phần thân)

Bước 2: Thiết lập Raspberry Pi:

Thiết lập Raspberry Pi
Thiết lập Raspberry Pi

Tôi đoán bạn đã thiết lập pi hoàn hảo, trừ khi bạn chưa -

  1. nhận thẻ SD - hơn 8 GB
  2. tải xuống tệp iso raspbian mới nhất từ đây.
  3. Ghi thẻ SD bằng cách sử dụng vv

(Lưu ý rằng mọi người có thể nói về phần mềm khác yêu cầu bạn thực hiện một số thiết lập nhưng vvher rất dễ sử dụng và đơn giản nhưng cũng hiệu quả.)

Chỉ cần cắm thẻ SD của bạn vào máy tính, chạy trình khắc, bạn sẽ thấy thẻ SD được chọn tự động bởi trình khắc, sau đó nhấp để chọn tệp hoặc hình ảnh iso đã tải xuống, sau đó ghi nó. Sau khi ghi và xử lý thành công, hãy rút thẻ SD và kết nối nó với pi của bạn, cấp nguồn cho nó và VOILA !! Nó còn sống.

Bước 3: Sơ đồ mạch:

Sơ đồ mạch
Sơ đồ mạch

Kết nối mọi thứ và tăng sức mạnh cho pi raspbery, nó chỉ là kết nối, không có gì khác.

Bạn sẽ thấy phần khởi động pi.

Bước 4: Phần thân:

Cơ thể
Cơ thể
Cơ thể
Cơ thể
Cơ thể
Cơ thể
Cơ thể
Cơ thể

Tôi cắt một tấm PVC theo kích thước hiển thị, sau đó thêm nó bằng vít. Sau đó, tôi kết nối mọi thứ. Cuối cùng, đã thêm một tấm khác ở phía sau để hỗ trợ nó khỏi rơi (tấm màu xanh). Nếu mọi thứ đều ổn, bạn sẽ thấy phần khởi động pi (hình cuối)

Bước 5: Phần mềm (Mã nguồn):

Chương trình được viết bằng python3. Đối với GUI (Giao diện người dùng đồ họa), tôi đã sử dụng PyQt5 và để trích xuất dữ liệu COVID19 thời gian thực, tôi đã sử dụng thư viện COVID19Py. Cảm ơn những người đã cung cấp API cho chúng tôi

Đó là khá nhiều, bây giờ hãy mở Terminal trên raspberry pi và cài đặt các thư viện (sao chép từng thứ trong số chúng và dán trên thiết bị đầu cuối rpi).

Bỏ qua dấu $ trong khi sao chép

$ pip3 cài đặt pyqt5

Yêu cầu cài đặt $ pip3 $ pip3 cài đặt covid19py

Vậy là xong, bây giờ hãy tải xuống mã từ đây, tôi đã cung cấp mã bên dưới:

"" "* Trình theo dõi nội bộ và quốc tế Covid19 theo thời gian thực có đồng hồ *" "" "" "************** Ở nhà Luôn an toàn. Trực tiếp, hãy Trực tiếp ******** ***** """

"""

tác giả: ashraf minhaj mail: [email protected] site: ashrafminhajfb.blogspot.com """

#import các thư viện cần thiết

nhập Thư viện GUI PyQt5 #QT cho python3 từ PyQt5. QtCore nhập Qt, QTimer #timer để cập nhật từ PyQt5. QtWidgets nhập * # nhập mọi thứ từ PyQt5. QtGui nhập QFont # cho phông chữ nhập hệ thống # cần thiết cho ứng dụng QT # nhập hệ điều hành nhập COVID19Py # covid19 information -api import datetime # bạn biết cái này dùng để làm gì

lớp CoronaTracker (QWidget):

"" "lớp chính chứa mọi thứ" "" def _init _ (self): "" "khởi tạo mọi thứ" "" super ()._ init _ () self.covid = COVID19Py. COVID19 () #initialize self.timer = QTimer () #initialize self.timer.timeout.connect (self.update) # nếu bộ hẹn giờ đạt đến ngưỡng - gọi cập nhật self.ui () # giao diện người dùng

def ui (bản thân):

"" "Phần Giao diện Người dùng" "" self.setWindowTitle ("Covid19 International và Local Tracker") # self.setWindowFlags (Qt. CustomizeWindowHint) #hide thanh tiêu đề self.setStyleSheet ("Background-color: black") self.setFixedSize (640, 480) #as trên độ phân giải màn hình của tôi (x, y) / rpi

# nhãn chính

self.banner_label = QLabel (self) self.banner_label.setGeometry (50, 5, 560, 50) # (x_origin, y_origin, canh_x, đến_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" "")

"" "_dữ liệu mới nhất của thế giới_" ""

#world label self.w = QLabel (self) self.w.setGeometry (200, 55, 400, 40) self.w.setText ("Nhìn sơ qua thế giới") self.w.setFont (QFont ('SansSerif', 18)) self.w.setStyleSheet ("" "background-color: black; color: blue; border-style: outset; border-width: 1px" "")

# trường hợp được xác nhận trên toàn thế giới

self.w_case = QLabel (self) self.w_case.setGeometry (5, 90, 100, 40) self.w_case.setText ("Các trường hợp:") self.w_case.setFont (QFont ('SansSerif', 18)) self. w_case.setStyleSheet ("" "background-color: black; color: orange; border-style: outset; border-width: 1px" "") #case number self.w_case_num = QLabel (self) self.w_case_num.setGeometry (110, 90, 100, 40) self.w_case_num.setFont (QFont ('SansSerif', 18)) self.w_case_num.setStyleSheet ("" "background-color: black; color: white; border-style: outset; border-width: 1px "" ")

# cái chết trên toàn thế giới

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

#worldwide chữa khỏi

self.w_cured = QLabel (self) self.w_cured.setGeometry (5, 140, 100, 40) self.w_cured.setText ("Đã chữa:") self.w_cured.setFont (QFont ('SansSerif', 18)) self. w_cured.setStyleSheet ("" "background-color: black; color: cyan; border-style: outset; border-width: 1px" "")

# số được chữa khỏi trên toàn thế giới

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 ("" "màu nền: black; color: white; border-style: outset; border-width: 1px "" ")

"" "_ Mã địa phương-Theo quốc gia_" ""

#local - Country self.c = QLabel (self) self.c.setGeometry (170, 200, 400, 40) self.c.setText ("Quốc gia của tôi: Bangladesh") self.c.setFont (QFont ('SansSerif', 18)) self.c.setStyleSheet ("" "background-color: black; color: white; border-style: outset; border-width: 1px" "") #local xác nhận trường hợp self.c_case = QLabel (self) self.c_case.setGeometry (5, 240, 400, 40) self.c_case.setText ("Trường hợp:") self.c_case.setFont (QFont ('SansSerif', 18)) self.c_case.setStyleSheet ("" "nền -color: black; color: orange; border-style: outset; border-width: 1px "" ") # số trường hợp địa phương self.c_case_num = QLabel (self) self.c_case_num.setGeometry (110, 240, 100, 40) self.c_case_num.setFont (QFont ('SansSerif', 18)) self.c_case_num.setStyleSheet ("" "background-color: black; color: white; border-style: outset; border-width: 1px" "")

# tử vong trên địa bàn

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

# số người chết trên địa bàn

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 ("" "màu nền: black; color: white; border-style: outset; border-width: 1px "" ") #local đã chữa khỏi 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 "" ") # số được chữa khỏi trên địa chỉ 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" "")

"" "_ Thời gian, Ngày, Đồng hồ_" ""

#clock self.clock = QLabel (self) self.clock.setGeometry (115, 340, 400, 70) self.clock.setFont (QFont ('SansSerif', 60)) self.clock.setStyleSheet ("" "background- color: black; color: white; border-style: outset; border-width: 1px "" ") #label cho ngày trong tuần 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 ("" "background-color: black; color: white; border-style: outset; border-width: 1px" "")

# kiểm tra bộ hẹn giờ nếu không phải self.timer.isActive (): # nếu bộ hẹn giờ bị dừng (đã đạt đến ngưỡng) # Sau 1 giây (ước chừng) hoặc 1000 mili giây

cố gắng:

"" "cố gắng lấy dữ liệu, nếu không thì vẫn chạy mã" "" self.latest = self.covid.getLatest () #gte covid19 dữ liệu mới nhất

#get dữ liệu mới nhất theo mã quốc gia 'BD'-Bangladesh,' IN'-India, v.v.

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

ngoại trừ:

"" "không thể lấy dữ liệu" "" in ("Lỗi Internet !!")

vượt qua #ignore, vẫn chạy

self.timer.start (1000) # bắt đầu hẹn giờ

self.show () #show Giao diện Người dùng của chúng tôi

cập nhật def (bản thân):

"" "cập nhật nhãn với thông tin" ""

"" "_ Rút gọn thông tin ngày và giờ cập nhật quảng cáo_" ""

# thiết lập đồng hồ và ngày giờ (cập nhật giá trị) # nhắm mục tiêu và cập nhật giá trị # để biết thêm, hãy đọc tài liệu về ngày giờ trong python

self.dt = datetime.datetime.now () #get dữ liệu ngày giờ

self.clock.setText (self.dt.strftime ('% X')) self.weekday.setText (self.dt.strftime ('% A')) self.date.setText (self.dt.strftime ('% x ')) "" "_ cập nhật dữ liệu covid19_" "" # dữ liệu mới nhất trên toàn thế giới self.w_case_num.setText (str (self.latest [' xác nhận '])) self.w_death_num.setText (str (self.latest [' death ')])) self.w_cured_num.setText (str (self.latest ['recovery'])) # dữ liệu mới nhất củalocal self.c_cured_num.setText (str (self.local [0] ['new'] ['recovery'])) self.c_death_num.setText (str (self.local [0] ['mới nhất'] ['tử vong'])) self.c_case_num.setText (str (self.local [0] ['mới nhất'] ['xác nhận')]))

print ("đang cập nhật")

trở lại

def main (): app = QApplication (sys.argv) win = CoronaTracker () #instantiate sys.exit (app.exec ()) # chạy ứng dụng nếu _name_ == '_main_': main ()

Bước 6: Kết thúc:

Kết thúc
Kết thúc

Sau khi kiểm tra mã, tôi đặt nó trên bàn và dành riêng một nguồn điện cho nó. Để nó có thể hoạt động trong khi sạc. Bằng cách sử dụng các bộ tăng tốc, nó có thể chạy ngay cả khi tải, điều này cũng mang lại cho thẻ SD pi của bạn một sự bảo vệ thích hợp.

Bất kể chúng ta là ai hay như thế nào, chúng ta đều phải chết. Đừng nghĩ về bản thân, hãy nghĩ về thế giới. Chúng ta chỉ có thể sống mãi mãi nhờ những việc làm của mình, hãy để nó như vậy.

Đề xuất: