Բովանդակություն:

Ktopամացույցով աշխատասեղան COVID19- ի հաշվիչ: Raspberry Pi Powered Tracker: 6 քայլ
Ktopամացույցով աշխատասեղան COVID19- ի հաշվիչ: Raspberry Pi Powered Tracker: 6 քայլ

Video: Ktopամացույցով աշխատասեղան COVID19- ի հաշվիչ: Raspberry Pi Powered Tracker: 6 քայլ

Video: Ktopամացույցով աշխատասեղան COVID19- ի հաշվիչ: Raspberry Pi Powered Tracker: 6 քայլ
Video: НАША ЖИЗНЬ ИЗМЕНИЛАСЬ ПОСЛЕ ПОЯВЛЕНИЯ ............ 2024, Հուլիսի
Anonim
Ktopամացույցով աշխատասեղան COVID19- ի հաշվիչ: Raspberry Pi Powered Tracker- ը
Ktopամացույցով աշխատասեղան COVID19- ի հաշվիչ: Raspberry Pi Powered Tracker- ը

Մենք գիտենք, որ մենք կարող ենք մահանալ ցանկացած պահի, նույնիսկ ես կարող եմ մահանալ այս գրառումը գրելիս, ի վերջո, ես, դու, մենք բոլորս մահկանացուներ ենք: Ամբողջ աշխարհը ցնցվեց COVID19 համաճարակի պատճառով: Մենք գիտենք, թե ինչպես դա կանխել, բայց հե! մենք գիտե՞նք ինչպես աղոթել և ինչու՞ աղոթել, արդյո՞ք դա անում ենք ամեն օր: Ոչ !! Իրականում, մենք մոռանում ենք այն հիմնական պատճառը, թե ինչու պետք է ինչ -որ բաներ անենք: Այսպիսով, մենք գիտենք, որ հիգիենիկ ապրելակերպը կարող է փրկել մեզ, բայց մենք դա ճիշտ չենք անում: Դիտարկենք իմ կրտսեր եղբոր դեպքը, նա ցանկանում է դուրս գալ և խաղալ նույնիսկ այս պահին: Ես պետք է ինչ -որ բան անեի, որպեսզի բոլորին հետևողականորեն տեղեկացնեի COVID19- ի վերջին դեպքերի մասին: Այսպիսով, ես պատրաստեցի գրպանային գրասեղան, որը ցույց է տալիս COVID19- ի վերջին դեպքերը իրական ժամանակում: Քանի որ սա ունի ժամացույց, ես կարող եմ այն տեղադրել մի վայրում, որտեղ բոլորը հավաքվում կամ գալիս են: Նրանք կտեսնեն, թե ինչպես են թվերը ավելանում, ինչը նրանց մեջ իրազեկություն կբերի, և հուսով եմ, որ բոլորը գիտակից կլինեն: Նաև, քանի որ ես ստեղծող և հոբբի եմ, սա լավ նախագիծ էր, որը պետք է աշխատեր այս արգելափակման նիստում:

Քայլ 1: Իմ օգտագործած մասերը

Իմ օգտագործած մասերը
Իմ օգտագործած մասերը
Իմ օգտագործած մասերը
Իմ օգտագործած մասերը
Իմ օգտագործած մասերը
Իմ օգտագործած մասերը
Իմ օգտագործած մասերը
Իմ օգտագործած մասերը
  • Raspberry Pi 3 Model B (բեռնված է sd քարտի միջոցով)
  • Raspberry Pi UPS մոդուլ (ըստ ցանկության)
  • 7 դյույմանոց HDMI LCD էկրան
  • HDMI- ից HDMI մալուխ (սա գալիս է էկրանին)
  • USB մալուխներ
  • 5v 2A հոսանքի ադապտեր (pi- ն սնուցելու համար)
  • PVC թերթ [փայտե գույն] (մարմինը պատրաստելու համար)

Քայլ 2: Կարգավորեք Raspberry Pi- ն

Կարգավորել Raspberry Pi
Կարգավորել Raspberry Pi

Ենթադրում եմ, որ դուք կատարելապես հաստատել եք pi- ն, եթե դա չեք արել -

  1. ձեռք բերել SD քարտ `ավելի քան 8 ԳԲ
  2. ներբեռնեք վերջին raspbian iso ֆայլը այստեղից:
  3. Այրեք SD քարտը ՝ օգտագործելով etcher

(Նկատի ունեցեք, որ մարդիկ կարող են ասել այլ ծրագրակազմի մասին, որը ձեզանից պահանջում է ինչ -որ բան կարգավորել, բայց մյուսը շատ հեշտ է օգտագործել և պարզ, բայց նաև արդյունավետ):

Պարզապես միացրեք ձեր SD քարտը համակարգչին, գործարկեք etcher, կտեսնեք, որ SD քարտը ինքնաբերաբար ընտրվում է etcher- ի կողմից, այնուհետև կտտացրեք ՝ ներբեռնված iso ֆայլը կամ պատկերը ընտրելու համար, այնուհետև այրեք այն: Հաջող գրելուց և մշակելուց հետո անջատեք SD քարտը և միացրեք այն ձեր pi- ին, միացրեք այն և VOILA !! Այն ողջ է.

Քայլ 3: Շղթայի դիագրամ

Շղթայի դիագրամ
Շղթայի դիագրամ

Միացրեք ամեն ինչ և միացրեք raspbery pi- ն, այն պարզապես միացնում է, ուրիշ ոչինչ:

Դուք կտեսնեք pi- ի գործարկումը:

Քայլ 4: Մարմին

Մարմինը
Մարմինը
Մարմինը
Մարմինը
Մարմինը
Մարմինը
Մարմինը
Մարմինը

Ես PVC թերթը կտրեցի ըստ ցուցադրման չափի, այնուհետև այն ավելացրեցի պտուտակներով: Դրանից հետո ես ամեն ինչ լարեցի: Վերջապես ավելացրեց հետևի մեկ այլ թերթիկ `այն ընկնելուց աջակցելու համար (կապույտ թերթ): Եթե ամեն ինչ կարգին է, դուք պետք է տեսնեք pi- ի գործարկումը (վերջին նկարը)

Քայլ 5. Softwareրագրակազմ (աղբյուրի ծածկագիր)

Րագիրը գրված է python3- ում: GUI- ի (գրաֆիկական ինտերֆեյս) համար ես օգտագործել եմ PyQt5, իսկ իրական ժամանակում COVID19- ի տվյալները հանելու համար օգտագործել եմ COVID19Py գրադարանը: Շնորհակալություն այն տղաներին, ովքեր API- ն հասանելի դարձան մեզ համար

Դա շատ է, հիմա բացեք ազնվամորի pi- ի տերմինալը և տեղադրեք գրադարաններ (պատճենեք դրանցից յուրաքանչյուրը և տեղադրեք rpi տերմինալի վրա):

Պատճենելիս անտեսեք $ նշանը

$ pip3 տեղադրել pyqt5

$ pip3 տեղադրման հարցում $ pip3 տեղադրել covid19py

Վերջ, հիմա ներբեռնեք կոդը այստեղից, ես տրամադրել եմ ներքևի ծածկագիրը.

"" "*Altամացույցով իրական ժամանակի Covid19 միջազգային և տեղական որոնիչ*" "" "" *************** Մնացեք տանը մնացեք ապահով: Ապրեք, թույլ տվեք ապրել ******** ***** """

"""

հեղինակ ՝ ashraf minhaj փոստ ՝ [email protected] կայք ՝ ashrafminhajfb.blogspot.com ""

#ներմուծել անհրաժեշտ գրադարաններ

ներմուծել PyQt5 #QT GUI գրադարան python3- ի համար PyQt5. QtCore ներմուծել Qt, QTimer #timer ՝ PyQt5- ից թարմացնելու համար: QtWidgets ներմուծել * #ամեն ինչ ներմուծել PyQt5- ից: QtGui ներմուծել QFont #տառատեսակների համար ներմուծել sys #անհրաժեշտ QT ծրագրերի համար #ներմուծել os ներմուծել COVID19Py #covid19 տեղեկատվություն -api ներմուծման ամսաթիվը #դուք գիտեք, թե սա ինչի համար է

դաս CoronaTracker (QWidget):

"" "հիմնական դաս, որը պարունակում է ամեն ինչ" "def _init _ (self):" "" բաներ գործարկել "" "super ()._ init _ () self.covid = COVID19Py. COVID19 () #initialize self.timer = QTimer () #initialize self.timer.timeout.connect (self.update) #եթե ժամաչափը հասնում է շեմի - զանգահարեք Update self.ui () #օգտվողի միջերես

def ui (ես):

"" "Օգտվողի միջերեսի բաժին" "" self.setWindowTitle ("Covid19 միջազգային և տեղական որոնիչ") #self.setWindowFlags (Qt. CustomizeWindowHint) #hide title bar self.setStyleSheet ("Background-color: black") 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 ("" "background-color: black; color: white; border-style: outset; border-width: 1px" "")

"" "_ աշխարհի վերջին տվյալները _" ""

#world label self.w = QLabel (self) self.w.setGeometry (200, 55, 400, 40) self.w.setText («Աշխարհը մի հայացքով») self.w.setFont (QFont («SansSerif», 18)) self.w.setStyleSheet ("" "ֆոն-գույնը` սև; գույնը `կապույտ; եզրագծի ոճը` սկզբնական

#ամբողջ աշխարհում հաստատված դեպքեր

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)) ինքն իրեն w_cases.setStyleSheet ("" "background-color: black; color: orange; border-style: outset; border-width: 1px" "") #cases 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 ("" "background-color: black; color: white; border-style: outset; border-width: 1px "" ")

#մահ ամբողջ աշխարհում

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 ("" "background-color: black; color: red; border-style: outset; border-width: 1px" "") #մահվան թիվը 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 "" ")

#բուժվում է ամբողջ աշխարհում

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)) ինքն իրեն w_cured.setStyleSheet ("" "background-color: black; color: cyan; border-style: outset; border-width: 1px" "")

#ամբողջ աշխարհում բուժված համարը

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 ("" "background-color: սև; գույնը `սպիտակ; եզրագիծ` սկզբնական

"" "_ Տեղական-ըստ երկրի ծածկագիրը _" ""

#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 ("" "ֆոնային-գույնը` սև; գույնը `սպիտակ; եզրագծի ոճը` սկզբնական self.c_cases.setGeometry (5, 240, 400, 40) self.c_cases.setText ("Cases:") self.c_cases.setFont (QFont ('SansSerif', 18)) self.c_cases.setStyleSheet ("" "background -գույնը ՝ սև; գույնը ՝ նարնջագույն; եզրագիծ ՝ սկզբնական self.c_cases_num.setFont (QFont («SansSerif», 18)) self.c_cases_num.setStyleSheet ("" "background-color: black; color: white; color: white; border-style: outset; border-width: 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 ("" "background-color: black; color: red; border-style: outset; border-width: 1px" "")

#տեղական մահվան դեպքեր

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 ("" "background-color: սև; գույնը `սպիտակ; եզրագիծ ՝ սկզբնական 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 ("" "ֆոն-գույնը` սև; գույնը `սպիտակ; եզրագիծ` սկզբնական; եզրագծի լայնությունը `1px" "")

"" _,ամանակ, ամսաթիվ, ժամացույց _ """

#clock self.clock = QLabel (self) self.clock.setGeometry (115, 340, 400, 70) self.clock.setFont (QFont ('SansSerif', 60)) self.clock.setStyleSheet ("" "background- գույնը ՝ սև; գույնը ՝ սպիտակ; եզրագիծ ՝ սկզբնական; եզրագծի լայնությունը ՝ 1 պիքս "" ") #պիտակ շաբաթվա համար 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 ("" "ֆոնային-գույնը` սև; գույնը `սպիտակ; եզրագծի ոճը` սկզբնական; եզրագծի լայնությունը `1"

#ստուգեք ժմչփը, եթե ոչ self.timer.isActive (): #եթե ժմչփը կանգնած է (հասել է շեմի) #1 վայրկյանից հետո (մոտ) կամ 1000ms

փորձել:

"" "փորձիր տվյալներ ստանալ, այլապես գործարկիր կոդը" "self.latest = self.covid.getLatest () #gte covid19 վերջին տվյալները

#ստացեք վերջին տվյալները երկրի կոդով 'BD'-Bangladesh,' IN'-India և այլն

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

բացառությամբ ՝

"" "չհաջողվեց ստանալ տվյալներ" "" print ("Internet Error !!")

անցիր #անտես, միեւնույն է վազիր

self.timer.start (1000) #գործարկել ժամաչափը

self.show () #ցուցադրել մեր Օգտվողի միջերեսը

def թարմացում (ինքնուրույն):

"" "թարմացնել պիտակները տեղեկատվությամբ" ""

"" "_" Գովազդից հանեք թարմացման ժամի և ամսաթվի մասին տեղեկատվություն _ """

#կարգաբերեք ժամացույցի և ամսաթվի ժամը (թարմացման արժեքներ) #ստացեք և թարմացրեք արժեքները #ավելին իմանալու համար կարդացեք python ամսաթվերի փաստաթղթերը

self.dt = datetime.datetime.now () #ստանալ տվյալների ժամային տվյալներ

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 [' հաստատված '])) self.w_death_num.setText (str (self.latest [' մահեր »])) self.w_cured_num.setText (փող (self.latest ['վերականգնված'])) #տեղական վերջին տվյալները self.c_cured_num.setText (փող (self.local [0] ['վերջին'] ['վերականգնված'])) self.c_death_num.setText (փող (self.local [0] ['վերջին'] ['մահեր'])) self.c_cases_num.setText (փող (self.local [0] ['վերջին'] ['հաստատված' ']))

տպել («թարմացնել»)

վերադարձ

def main (): app = QApplication (sys.argv) win = CoronaTracker () #instantiate sys.exit (app.exec ()) #գործարկել ծրագիրը, եթե _name_ == '_main_': main ()

Քայլ 6: Ավարտեք

Ավարտել
Ավարտել

Կոդը փորձարկելուց հետո այն դրեցի գրասեղանի մեջ և դրա համար նվիրեցի էներգիայի աղբյուր: Որպեսզի այն կարողանա աշխատել լիցքավորման ընթացքում: Օգտագործելով վերելքներ, սա կարող է գործարկվել նույնիսկ բեռը նվազեցնելու դեպքում, ինչը նաև տալիս է ur pi SD քարտին համապատասխան պաշտպանություն:

Անկախ նրանից, թե ինչպես և ով ենք մենք, մենք պետք է մահանանք: Եկեք չմտածենք ձեր մասին, մտածեք աշխարհի մասին: Մենք միայն հավիտյան կարող ենք ապրել մեր գործերով, թող այդպես լինի:

Խորհուրդ ենք տալիս: