Mục lục:
- Bước 1: Các bộ phận tôi đã sử dụng:
- Bước 2: Thiết lập Raspberry Pi:
- Bước 3: Sơ đồ mạch:
- Bước 4: Phần thân:
- Bước 5: Phần mềm (Mã nguồn):
- Bước 6: Kết thúc:
Video: Máy tính để bàn COVID19 theo dõi có đồng hồ! Raspberry Pi Powered Tracker: 6 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:30
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:
- 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:
Tôi đoán bạn đã thiết lập pi hoàn hảo, trừ khi bạn chưa -
- nhận thẻ SD - hơn 8 GB
- tải xuống tệp iso raspbian mới nhất từ đây.
- 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:
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:
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:
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:
Theo dõi & theo dõi các cửa hàng nhỏ: 9 bước (có hình ảnh)
Theo dõi & theo dõi cho các cửa hàng nhỏ: Đây là một hệ thống dành cho các cửa hàng nhỏ được cho là gắn vào xe đạp điện hoặc xe tay ga điện tử để giao hàng trong phạm vi ngắn, ví dụ như một tiệm bánh muốn giao bánh ngọt. Theo dõi và theo dõi nghĩa là gì? Theo dõi và theo dõi là một hệ thống được sử dụng bởi ca
Bộ dụng cụ theo dõi xe ô tô tự làm bằng rô bốt thông minh Theo dõi ô tô cảm quang: 7 bước
Tự làm bộ dụng cụ theo dõi rô bốt thông minh theo dõi ô tô Theo dõi ô tô cảm quang: Thiết kế bởi SINONING ROBOT Bạn có thể mua từ rô bốt theo dõi ô tô ChipLM393 so sánh hai điện trở quang, khi có một đèn LED cảm quang một bên TRẮNG thì bên của động cơ sẽ dừng ngay lập tức, bên kia của động cơ quay lên, để
Theo dõi mực nước hoặc khoảng cách bể chứa trên máy tính để bàn của bạn: 3 bước
Theo dõi mực nước hoặc khoảng cách bể chứa trên máy tính để bàn của bạn: Sử dụng Wemos D1, một cảm biến siêu âm và nền tảng Thingio.AI IoT
Theo dõi nhiệt độ phòng ở / văn phòng trên máy tính để bàn của bạn: 4 bước
Theo dõi nhiệt độ phòng tại nhà / văn phòng trên máy tính để bàn của bạn: Để theo dõi các phòng hoặc văn phòng hoặc bất kỳ nơi nào chúng tôi có thể sử dụng dự án này và điều đó được hiển thị với rất nhiều chi tiết như biểu đồ, nhiệt độ thời gian thực và hơn thế nữa. Chúng tôi đang sử dụng: https://thingsio.ai/ Trước hết, chúng tôi phải tạo tài khoản trên nền tảng IoT này, một
Cách biến điện thoại di động LG EnV 2 của bạn thành một Modem quay số di động cho máy tính xách tay (hoặc máy tính để bàn) của bạn: 7 bước
Cách biến điện thoại di động LG EnV 2 của bạn thành một Modem quay số di động cho máy tính xách tay (hoặc máy tính để bàn) của bạn: Tất cả chúng ta đều có nhu cầu sử dụng Internet ở những nơi không thể, chẳng hạn như trong ô tô hoặc trong kỳ nghỉ, nơi họ tính một khoản tiền đắt đỏ mỗi giờ để sử dụng wifi của họ. cuối cùng, tôi đã nghĩ ra một cách đơn giản để