Мазмұны:

Жұмыс сағаты бар COVID19 трекері! Raspberry Pi қуатты трекері: 6 қадам
Жұмыс сағаты бар COVID19 трекері! Raspberry Pi қуатты трекері: 6 қадам

Бейне: Жұмыс сағаты бар COVID19 трекері! Raspberry Pi қуатты трекері: 6 қадам

Бейне: Жұмыс сағаты бар COVID19 трекері! Raspberry Pi қуатты трекері: 6 қадам
Бейне: SKR 1.4 - TMC2209 v1.2 2024, Қараша
Anonim
Жұмыс сағаты бар COVID19 трекері! Raspberry Pi қуатты трекері
Жұмыс сағаты бар COVID19 трекері! Raspberry Pi қуатты трекері

Біз кез келген уақытта өле алатынымызды білеміз, тіпті мен бұл жазбаны жаза отырып өле аламын, өйткені мен, сен, біз бәріміз өлеміз. COVID -19 пандемиясынан бүкіл әлем дүр сілкінді. Біз бұған жол бермеуді білеміз, бірақ эй! біз қалай дұға ету керектігін және неге дұға ету керектігін білеміз, біз оны күн сайын жасаймыз ба? Жоқ !! Шын мәнінде, біз не үшін бірдеңе жасау керектігін ұмытып кетеміз. Сонымен, біз гигиеналық өмір салты бізді құтқара алатынын білеміз, бірақ біз оны дұрыс жасамаймыз. Менің інімнің жағдайын қарастырыңыз, ол дәл осы уақытта далаға шығып ойнағысы келеді. Мен барлығын COVID19 -тың соңғы жағдайлары туралы үнемі хабардар ету үшін бірдеңе істеуім керек болды. Сонымен, мен нақты уақыт режимінде COVID19 -ның соңғы жағдайларын көрсететін үстелдік дисплей жасадым. Бұл сағат болғандықтан, мен оны барлық адамдар жиналатын немесе келетін жерге қоя аламын. Олар сандардың қосылғанын көреді, бұл олардың хабардар болуына әкеледі және бәрі саналы болады деп үміттенемін. Мен жасаушы мен әуесқой болғандықтан, бұл құлыптау сессиясында жұмыс істеу жақсы жоба болды.

1 -қадам: Мен қолданған бөлшектер:

Мен қолданған бөлшектер
Мен қолданған бөлшектер
Мен қолданған бөлшектер
Мен қолданған бөлшектер
Мен қолданған бөлшектер
Мен қолданған бөлшектер
Мен қолданған бөлшектер
Мен қолданған бөлшектер
  • Raspberry Pi 3 Model B (sd картасының көмегімен жүктеледі)
  • Raspberry Pi UPS модулі (міндетті емес)
  • 7 дюймдік HDMI СКД экраны
  • HDMI - HDMI кабелі (бұл экранмен бірге келеді)
  • USB кабельдері
  • 5в 2А қуат адаптері (пиді қосу үшін)
  • ПВХ парағы [ағаш түсі] (корпусты жасау үшін)

2 -қадам: Raspberry Pi орнату:

Raspberry Pi орнату
Raspberry Pi орнату

Менің ойымша, сіз пиді өте жақсы орнаттыңыз, егер жоқ болса -

  1. SD картасын алыңыз - 8 ГБ -тан асады
  2. соңғы raspbian iso файлын осы жерден жүктеңіз.
  3. Etcher көмегімен SD картасын жағыңыз

(Назар аударыңыз, адамдар сізге басқа да бағдарламалық жасақтама туралы айта алады, ол сізге кейбір параметрлерді орнатуды қажет етеді, бірақ этчерді қолдану өте қарапайым және қарапайым, бірақ тиімді.)

SD картасын компьютерге қосыңыз, etcher -ді іске қосыңыз, сіз SD картасын автоматты түрде этчермен таңдайтынын көресіз, содан кейін жүктелген ISO файлын немесе кескінді таңдап, оны өртеп жіберіңіз. Сәтті жазу мен өңдеуден кейін SD картасын ажыратып, оны pi -ге қосыңыз, оны қуаттандырыңыз және VOILA !! Ол тірі.

3 -қадам: схема:

Схема схемасы
Схема схемасы

Барлығын қосыңыз және таңқурай пиін қосыңыз, ол жай ғана қосылады, басқа ештеңе жоқ.

Сіз Pi жүктелуін көресіз.

4 -қадам: дене:

Дене
Дене
Дене
Дене
Дене
Дене
Дене
Дене

Мен дисплей өлшеміне сәйкес ПВХ парағын кесіп алдым, содан кейін оны бұрандалармен қостым. Осыдан кейін мен бәрін қостым. Соңында құлап кетпеу үшін артына тағы бір парақ қосты (көк парақ). Егер бәрі жақсы болса, pi жүктелуін көру керек (соңғы сурет)

5 -қадам: Бағдарламалық қамтамасыз ету (бастапқы код):

Бағдарлама python3 -те жазылған. GUI (графикалық пайдаланушы интерфейсі) үшін мен PyQt5 қолдандым, ал нақты уақыттағы COVID19 деректерін алу үшін мен COVID19Py кітапханасын қолдандым. API -ді бізге қол жетімді еткен жігіттерге рахмет

Бұл өте маңызды, енді терминалды raspberry pi -де ашыңыз және кітапханаларды орнатыңыз (олардың әрқайсысын көшіріп, rpi терминалына қойыңыз).

Көшіру кезінде $ белгісін елемеңіз

$ pip3 pyqt5 орнатыңыз

$ pip3 орнату сұрауы $ pip3 орнату covid19py

Міне, енді осы жерден кодты жүктеңіз, мен төмендегі кодты ұсындым:

«» «*Нақты уақыттағы Covid19 халықаралық және жергілікті сағаты бар трекер*» «» «» ************** Үйде болыңыз, аман болыңыз. Тікелей, тірі болсын ******** ***** «» «

"""

автор: ashraf minhaj поштасы: [email protected] сайты: ashrafminhajfb.blogspot.com «» «

#қажетті кітапханаларды импорттаңыз

PyQt5 -тен Python3 үшін PyQt5 #QT GUI кітапханасын импорттау Qt, QTimer #timer PyQt5. QtWidgets -тен жаңарту үшін Qt, QTimer #timer импорттау * #импорттау PyQt5. QtGui импорт QFont #қаріптерді импорттау sys #QT қосымшаларына қажет #импорттау COVID19Py #covid19 ақпараты -api import datetime #сіз бұл не үшін қажет екенін білесіз

CoronaTracker класы (QWidget):

«» «барлығын қамтитын негізгі класс» «» _ _ _ (өзін): «» «заттарды баптау» «» супер ()._ init _ () self.covid = COVID19Py. COVID19 () #initialize self.timer = QTimer () #self.timer.timeout.connect (self.update) баптау

def ui (өзін):

«» «Пайдаланушы интерфейсінің бөлімі» «» self.setWindowTitle («Covid19 International және Local Tracker») #self.setWindowFlags (Qt. CustomizeWindowHint) #тақырып жолағын жасыру self.setStyleSheet («Фондық түс: қара») self.setFixedSize (640, 480) #менің дисплейімде (x, y) /rpi ажыратымдылығына сәйкес

#негізгі белгі

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 («» «өң-түсі: қара; түсі: ақ; жиек стилі: бастапқы; жиек ені: 1 пиксель» «»)

«» «_ әлемнің соңғы деректері _» «»

#әлемдік белгі self.w = QLabel (self) self.w.setGeometry (200, 55, 400, 40) self.w.setText («Бір қарағанда әлем») self.w.setFont (QFont ('SansSerif', 18)) self.w.setStyleSheet («» «өң-түсі: қара; түсі: көк; жиек стилі: бастапқы; жиек ені: 1 пиксель» «»)

#бүкіләлемдік расталған жағдайлар

self.w_cases = QLabel (self) self.w_cases.setGeometry (5, 90, 100, 40) self.w_cases.setText («Кейстер:») self.w_cases.setFont (QFont ('SansSerif', 18)) өзіндік. w_cases.setStyleSheet («» «фон түсі: қара; түс: қызғылт сары; жиек стилі: шығыс; жиек ені: 1px» «») #істер саны self.w_cases_num = QLabel (өзін) self.w_cases_num.setGeometry (110), 90, 100, 40) self.w_cases_num.setFont (QFont ('SansSerif', 18)) self.w_cases_num.setStyleSheet («» «фон түсі: қара; түс: ақ; жиек стилі: бастапқы; жиек ені: 1 пиксель «» «)

#дүниежүзілік өлім

self.w_death = QLabel (self) self.w_death.setGeometry (350, 90, 100, 40) self.w_death.setText («Өлімдер»:) self.w_death.setFont (QFont ('SansSerif', 18)) өзіндік. w_death.setStyleSheet («» «өң-түсі: қара; түсі: қызыл; жиек стилі: басталуы; жиек ені: 1px» «») #өлім саны self.w_death_num = QLabel (өзін) self.w_death_num.setGeometry (460), 90, 100, 40) self.w_death_num.setFont (QFont ('SansSerif', 18)) self.w_death_num.setStyleSheet («» «фон түсі: қара; түс: ақ; жиек стилі: бастапқы; жиек ені: 1 пиксель «» «)

#бүкіл әлемде емделді

self.w_cured = QLabel (self) self.w_cured.setGeometry (5, 140, 100, 40) self.w_cured.setText («Емделген:») self.w_cured.setFont (QFont ('SansSerif', 18)) өзіндік. w_cured.setStyleSheet («» «фон түсі: қара; түс: көгілдір; жиек стилі: бастапқы; жиек ені: 1 пиксель» «»)

#бүкіл әлем бойынша емделген нөмір

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 («» «фондық түс: қара; түс: ақ; жиек стилі: бастапқы; жиек ені: 1 пиксель «» «)

«» «_ Жергілікті елдердің коды _» «»

#local - Country self.c = QLabel (self) self.c.setGeometry (170, 200, 400, 40) self.c.setText («Менің елім: Бангладеш») self.c.setFont (QFont ('SansSerif' '), 18)) self.c.setStyleSheet («» «өң-түсі: қара; түсі: ақ; жиек стилі: басталуы; жиектің ені: 1px» «») #жергілікті жағдайларды растау self.c_cases = QLabel (өзін) self.c_cases.setGeometry (5, 240, 400, 40) self.c_cases.setText («Кейстер:») self.c_cases.setFont (QFont ('SansSerif', 18)) self.c_cases.setStyleSheet («» «фон -түс: қара; түс: қызғылт сары; жиек стилі: бастапқы; жиек ені: 1px «» «) #жергілікті істер саны 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 («» «фон түсі: қара; түс: ақ; жиек стилі: бастапқы; жиек ені: 1px» «»)

#жергілікті өлім

self.c_death = QLabel (self) self.c_death.setGeometry (350, 240, 100, 40) self.c_death.setText («Өлімдер:») self.c_death.setFont (QFont ('SansSerif', 18)) өзіндік. c_death.setStyleSheet («» «фон түсі: қара; түс: қызыл; жиек стилі: шығыс; жиек ені: 1 пиксель» «»)

#жергілікті өлім саны

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 («» «өңдік түсі:») қара; түс: ақ; жиек стилі: бастапқы; шекара ені: 1px «» «) #жергілікті емделген өзін-өзі.c_cured = QLabel (өзін-өзі) өзін-өзі тазалау. setText («Емделген:») self.c_cured.setFont (QFont ('SansSerif', 18)) self.c_cured.setStyleSheet («» «өң-түсі: қара; түс: көгілдір; жиек стилі: шығыс; жиек ені): 1px «» «) #жергілікті емделген сан 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 («» «өң-түсі: қара; түсі: ақ; жиек стилі: шығыс; жиек ені: 1 пиксель» «»)

«» «_ Уақыт, Күн, Сағат _» «»

#clock self.clock = QLabel (self) self.clock.setGeometry (115, 340, 400, 70) self.clock.setFont (QFont ('SansSerif', 60)) self.clock.setStyleSheet («» «фон- түс: қара; түс: ақ; жиек стилі: басталу; жиек ені: 1px «» «) #жұмыс күні өзінше белгілеу.weekday = QLabel (self) self.weekday.setGeometry (5, 360, 110, 20) self.weekday.setFont (QFont ('SansSerif', 13)) self.weekday.setStyleSheet («» «өң-түсі: қара; түсі: ақ; жиек стилі: басталу; жиек ені: 1 пиксель» «») #күн 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 («» «фон түсі: қара; түсі: ақ; жиек стилі: бастапқы; жиек ені: 1 пиксель» «»)

#болмаса, таймерді тексеріңіз.

тырысу:

«» «деректерді алуға тырысыңыз, әйтпесе кодты іске қосыңыз» «» self.latest = self.covid.getLatest () #gte covid19 соңғы деректер

#'BD'-Бангладеш,' IN'-Үндістан және т.б ел коды бойынша соңғы деректерді алыңыз

self.local = self.covid.getLocationByCountryCode ('BD', хронологиялар = Жалған) #басып шығару (өздігінен жергілікті) #баспа (өзін -өзі соңғы)

қоспағанда:

«» «деректерді ала алмады» «» басып шығарыңыз («Интернет қатесі !!»)

#ignore -дан өтіңіз, бәрібір жүгіріңіз

self.timer.start (1000) #таймерді бастаңыз

self.show () #біздің интерфейсті көрсетіңіз

def update (өзінше):

«» «жапсырмаларды ақпаратпен жаңарту» «»

«» «_Жарнаманы шығару уақыты мен күні туралы ақпаратты жаңарту _» «»

#сағат пен күннің уақытын орнату (мәндерді жаңарту) #мәндерді алу және жаңарту #білу үшін python datetime құжаттамасын оқыңыз

self.dt = datetime.datetime.now () #datetime деректерін алу

self.clock.setText (self.dt.strftime ('%X')) self.weekday.setText (self.dt.strftime ('%A')) self.date.setText (self.dt.strftime ('%) x ')) «» «_ covid19 деректерін жаңарту _» «» #дүниежүзілік соңғы деректер self.w_cases_num.setText (str (self.latest

басып шығару («жаңарту»)

қайтару

def main (): app = QApplication (sys.argv) win = CoronaTracker () #sys.exit (app.exec ()) #install, if _name_ == '_main_': main ()

6 -қадам: Аяқтау:

Аяқтау
Аяқтау

Кодты тексергеннен кейін мен оны үстелге қойдым және оған қуат көзін бөлдім. Осылайша, ол зарядтау кезінде жұмыс істей алады. Реттеуді қолдану арқылы бұл жүктемені түсіруге де мүмкіндік береді, бұл ur-SD картасына да қолайлы қорғаныс береді.

Біз қалай және кім болсақ та өлуіміз керек. Өзіміз туралы ойламай, әлем туралы ойлайық. Біз тек өз істеріміз арқылы мәңгілік өмір сүре аламыз, осылай болсын.

Ұсынылған: