Spisu treści:
- Krok 1: Części, których użyłem:
- Krok 2: Skonfiguruj Raspberry Pi:
- Krok 3: Schemat obwodu:
- Krok 4: Ciało:
- Krok 5: Oprogramowanie (kod źródłowy):
- Krok 6: Zakończ:
Wideo: Pulpit COVID19 Tracker z zegarem! Zasilany tracker Raspberry Pi: 6 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:27
Wiemy, że w każdej chwili możemy umrzeć, nawet ja mogę umrzeć pisząc ten post, przecież ja ja, ty, wszyscy jesteśmy śmiertelnikami. Cały świat zatrząsł się z powodu pandemii COVID19. Wiemy, jak temu zapobiec, ale hej! umiemy się modlić i po co się modlić, czy robimy to codziennie? Nie!! W rzeczywistości zapominamy o podstawowej przyczynie, dla której powinniśmy coś robić. Wiemy więc, że higieniczny styl życia może nas uratować, ale nie robimy tego właściwie. Rozważmy przypadek mojego młodszego brata, który nawet w tym czasie chce wyjść i pobawić się. Musiałem coś zrobić, aby konsekwentnie informować wszystkich o najnowszych przypadkach COVID19. Zrobiłem więc cyfrowy wyświetlacz biurkowy, który pokazuje najnowsze przypadki COVID19 w czasie rzeczywistym. Ponieważ ma zegar, mogę go umieścić w miejscu, w którym wszyscy się zbierają lub przychodzą. Zobaczą, że liczby się sumują, co wyzwoli w nich świadomość i miejmy nadzieję, że wszyscy będą świadomi. Ponieważ jestem twórcą i hobbystą, okazało się, że jest to dobry projekt do pracy w tej sesji blokowania.
Krok 1: Części, których użyłem:
- Raspberry Pi 3 Model B (uruchamiany za pomocą karty SD)
- Moduł UPS Raspberry Pi (opcjonalnie)
- 7-calowy ekran LCD HDMI
- Kabel HDMI do HDMI (dołączony do ekranu)
- Kable USB
- Zasilacz 5v 2A (do zasilania pi)
- Blacha PCV [kolor drewna] (do wykonania korpusu)
Krok 2: Skonfiguruj Raspberry Pi:
Myślę, że ustawiłeś pi idealnie, chyba że nie -
- zdobądź kartę SD - ponad 8 GB
- pobierz najnowszy plik raspbian iso stąd.
- Wypal kartę SD za pomocą wytrawiacza
(Zauważ, że ludzie mogą powiedzieć coś o innym oprogramowaniu, które wymaga wykonania pewnej konfiguracji, ale wytrawiacz jest bardzo łatwy w użyciu i prosty, ale również skuteczny.)
Po prostu podłącz kartę SD do komputera, uruchom program Etcher, zobaczysz, że karta SD zostanie automatycznie wybrana przez program, a następnie kliknij, aby wybrać pobrany plik ISO lub obraz, a następnie nagraj go. Po udanym zapisie i przetworzeniu odłącz kartę SD i podłącz ją do swojego pi, włącz ją i VOILA!! To żyje.
Krok 3: Schemat obwodu:
Podłącz wszystko i włącz raspbery pi, to tylko połączenie, nic więcej.
Zobaczysz uruchamianie pi.
Krok 4: Ciało:
Przyciąłem arkusz PCV zgodnie z rozmiarem wyświetlacza, a następnie dodałem go za pomocą śrub. Potem wszystko podłączyłem. W końcu dodałem kolejny arkusz z tyłu, aby podtrzymać go przed upadkiem (niebieski arkusz). Jeśli wszystko jest w porządku, powinieneś zobaczyć bootowanie pi (ostatnie zdjęcie)
Krok 5: Oprogramowanie (kod źródłowy):
Program napisany jest w python3. Do GUI (Graphical User Interface) użyłem PyQt5, a do ekstrakcji danych COVID19 w czasie rzeczywistym użyłem biblioteki COVID19Py. Podziękowania dla chłopaków, którzy udostępnili nam API
To prawie wszystko, teraz otwórz Terminal na raspberry pi i zainstaluj biblioteki (skopiuj każdą z nich i wklej na terminalu rpi).
Ignoruj znak $ podczas kopiowania
$ pip3 zainstaluj pyqt5
$ pip3 prośby o instalację $ pip3 zainstaluj covid19py
To wszystko, teraz pobierz kod stąd, podałem kod poniżej:
"""* Międzynarodowy i lokalny lokalizator Covid19 w czasie rzeczywistym z zegarem *""" """ ************** Bądź bezpieczny w domu. Żyj, pozwól żyć ******** ***** """
"""
autor: ashraf minhaj poczta: [email protected] strona: ashrafminhajfb.blogspot.com """
#importuj potrzebne biblioteki
importuj bibliotekę GUI PyQt5 #QT dla python3 z PyQt5. QtCore importuj Qt, QTimer #timer do aktualizacji z PyQt5. QtWidgets import * #importuj wszystko z PyQt5. QtGui importuj QFont #dla czcionek sys #covid19 informacje -api import datetime #wiesz do czego to służy
klasa CoronaTracker(QWidget):
"""główna klasa, która zawiera wszystko""" def _init_(self): """inicjuj rzeczy""" super()._init_() self.covid = COVID19Py. COVID19() #initialize self.timer = QTimer() #initialize self.timer.timeout.connect(self.update) #jeśli timer osiągnie próg - wywołaj aktualizację self.ui() #interfejs użytkownika
def ui(samo):
"""Sekcja interfejsu użytkownika""" self.setWindowTitle("Covid19 International and Local Tracker") #self.setWindowFlags(Qt. CustomizeWindowHint) #ukryj pasek tytułu self.setStyleSheet("Kolor tła: czarny") self.setFixedSize(640, 480) #zgodnie z moim wyświetlaczem (x, y) / rozdzielczość rpi
#główna etykieta
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 """)
"""_najnowsze dane na świecie_"""
#world label self.w = QLabel(self) self.w.setGeometry(200, 55, 400, 40) self.w.setText("Świat w skrócie") self.w.setFont(QFont('SansSerif', 18)) self.w.setStyleSheet(""" kolor-tła: czarny; kolor: niebieski; styl obramowania: początek; szerokość-obramowania: 1px """)
#potwierdzone przypadki na całym świecie
self.w_cases = QLabel(self) self.w_cases.setGeometry(5, 90, 100, 40) self.w_cases.setText("Przypadki:") self.w_cases.setFont(QFont('SansSerif', 18)) self. w_cases.setStyleSheet(""" background-color: black; color: orange; border-style: outset; border-width: 1px """) #case 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(""" kolor tła: czarny; kolor: biały; styl obramowania: początek; szerokość obramowania: 1 piksel """)
#zgony na całym świecie
self.w_death = QLabel(self) self.w_death.setGeometry(350, 90, 100, 40) self.w_death.setText("Zgony:") self.w_death.setFont(QFont('SansSerif', 18)) self. w_death.setStyleSheet(""" background-color: black; color: red; border-style: outset; border-width: 1px """) #numer śmierci 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(""" kolor tła: czarny; kolor: biały; styl obramowania: początek; szerokość obramowania: 1 piksel """)
#utwardzony na całym świecie
self.w_cured = QLabel(self) self.w_cured.setGeometry(5, 140, 100, 40) self.w_cured.setText("Wyleczony:") self.w_cured.setFont(QFont('SansSerif', 18)) self. w_cured.setStyleSheet(""" background-color: black; color: cyan; border-style: outset; border-width: 1px """)
#światowa liczba utwardzonych
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(""" kolor tła: czarny; kolor: biały; styl obramowania: początek; szerokość obramowania: 1 piksel """)
"""_Kod lokalny-według kraju_"""
#local - Kraj self.c = QLabel(self) self.c.setGeometry(170, 200, 400, 40) self.c.setText("Mój kraj: Bangladesz") self.c.setFont(QFont('SansSerif'), 18)) self.c.setStyleSheet(""" background-color: black; color: white; border-style: outset; border-width: 1px """) #local potwierdzaj przypadki self.c_cases = QLabel(self) self.c_cases.setGeometry(5, 240, 400, 40) self.c_cases.setText("Przypadki:") self.c_cases.setFont(QFont('SansSerif', 18)) self.c_cases.setStyleSheet(""" background -color: black; color: orange; border-style: outset; border-width: 1px """) #lokalny numer sprawy 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 """)
#lokalne zgony
self.c_death = QLabel(self) self.c_death.setGeometry(350, 240, 100, 40) self.c_death.setText("Zgony:") self.c_death.setFont(QFont('SansSerif', 18)) self. c_death.setStyleSheet(""" kolor tła: czarny; kolor: czerwony; styl obramowania: początek; szerokość obramowania: 1px """)
#lokalna liczba zgonów
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(""" kolor tła: black; color: white; 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 """) #lokalna liczba wyleczonych 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(""" kolor tła: czarny; kolor: biały; styl obramowania: początek; szerokość obramowania: 1px """)
"""_Godzina, data, zegar_"""
#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 for weekday 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(""" kolor tła: czarny; kolor: biały; styl obramowania: początek; szerokość obramowania: 1px """)
#sprawdź timer, jeśli nie self.timer.isActive(): #jeśli timer jest zatrzymany (osiągnięto próg) #Po 1 sekundzie (około) lub 1000ms
próbować:
"""spróbuj uzyskać dane, w przeciwnym razie uruchom kod mimo to""" self.latest = self.covid.getLatest() #gte covid19 najnowsze dane
#otrzymaj najnowsze dane według kodu kraju „BD”-Bangladesz, „IN”-Indie itp
self.local = self.covid.getLocationByCountryCode('BD', timelines=False) #print(self.local) #print(self.latest)
z wyjątkiem:
"""nie można pobrać danych""" print("Błąd Internetu!!")
przejść #ignoruj, biegnij mimo to
self.timer.start(1000) #uruchom timer
self.show() #pokaż nasz interfejs użytkownika
aktualizacja definicji (własna):
"""zaktualizuj etykiety informacjami"""
"""_Wyodrębnij informacje o godzinie i dacie aktualizacji reklamy _"""
#ustaw zegar i datę i godzinę (aktualizuj wartości) #pobierz i zaktualizuj wartości #aby dowiedzieć się więcej przeczytaj dokumentację python datetime
self.dt = datetime.datetime.now() #pobierz dane daty i godziny
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 najnowsze dane self.w_cases_num.setText(str(self.latest['confirmed'])) self.w_death_num.setText(str(self.latest['deaths'])) self.w_cured_num.setText(str(self.latest['recovered'])) #lokalne najnowsze dane self.c_cured_num.setText(str(self.local[0]['latest']['recovered'])) self.c_death_num.setText(str(self.local[0]['latest']['deaths'])) self.c_cases_num.setText(str(self.local[0]['latest']['confirmed']))
print("aktualizacja")
powrót
def main(): app = QApplication(sys.argv) win = CoronaTracker() #Instantiate sys.exit(app.exec()) #uruchom aplikację if _name_ == '_main_': main()
Krok 6: Zakończ:
Po przetestowaniu kodu umieściłem go na biurku i przeznaczyłem dla niego źródło zasilania. Aby mógł działać podczas ładowania. Korzystając z ups, które mogą działać nawet przy zrzucaniu obciążenia, zapewnia to również odpowiednią ochronę karty SD pi.
Bez względu na to jak i kim jesteśmy, musimy umrzeć. Nie myślmy o sobie, myślmy o świecie. Możemy żyć wiecznie tylko naszymi czynami, niech tak będzie.
Zalecana:
Administrator Tasmota - pulpit nawigacyjny IIoT: 6 kroków
Tasmota Admin - IIoT Dashboard: TasmoAdmin to administracyjna strona internetowa dla urządzeń z flashowaniem Tasmota. Znajdziesz go tutaj: TasmoAdmin GitHub. Obsługuje działanie w kontenerach Windows, Linux i Docker.CechyZaloguj sięProcess wielu aktualizacjiWybierz urządzenia, aby zaktualizować Autom
Pulpit zdalny Raspberry Pi dla komputerów Mac: 11 kroków
Pulpit zdalny Raspberry Pi dla komputerów Mac: Jest to samouczek dotyczący konfiguracji tightvnc, aby uzyskać dostęp do pulpitu Raspberry Pi za pomocą komputera Mac, gdy Pi działa w trybie bezgłowym
Pulpit nawigacyjny COVID19 na mapie świata (przy użyciu Pythona): 16 kroków
Pulpit nawigacyjny COVID19 na mapie świata (przy użyciu Pythona): Wiem, że prawie każdy z nas zna większość informacji o COVID19. A ta instrukcja dotyczy tworzenia mapy bąbelkowej, aby wykreślić dane w czasie rzeczywistym (przypadków) na mapie świata. Dla większej wygody , dodałem program do repozytorium Github: https://github.co
Pulpit Prank (dla Windows): 5 kroków
Desktop Prank (dla Windows): To fantastyczny żart, którego konfiguracja zajmie tylko kilka minut. Wygląda na to, że komputer ofiary zablokował się na ekranie pulpitu. Bez względu na to, ile razy spróbują kliknąć ikonę, nic się nie stanie
Live Tracker Covid19 za pomocą ESP8266 i OLED - Pulpit nawigacyjny Covid19 w czasie rzeczywistym: 4 kroki
Live Tracker Covid19 za pomocą ESP8266 i OLED | Pulpit nawigacyjny Covid19 w czasie rzeczywistym: odwiedź witrynę Techtronic Harsh: http://techtronicharsh.comWszędzie istnieje ogromna epidemia nowego wirusa koronowego (COVID19). Konieczne stało się obserwowanie aktualnego scenariusza COVID-19 na świecie. Więc będąc w domu, to był punkt