Სარჩევი:

სამუშაო მაგიდის COVID19 ტრეკერი საათით! Raspberry Pi Powered Tracker: 6 Steps
სამუშაო მაგიდის COVID19 ტრეკერი საათით! Raspberry Pi Powered Tracker: 6 Steps

ვიდეო: სამუშაო მაგიდის COVID19 ტრეკერი საათით! Raspberry Pi Powered Tracker: 6 Steps

ვიდეო: სამუშაო მაგიდის COVID19 ტრეკერი საათით! Raspberry Pi Powered Tracker: 6 Steps
ვიდეო: OL Live - ვირტუალური სამუშაო მაგიდა 2024, ნოემბერი
Anonim
სამუშაო მაგიდის COVID19 ტრეკერი საათით! Raspberry Pi Powered Tracker
სამუშაო მაგიდის COVID19 ტრეკერი საათით! Raspberry Pi Powered Tracker

ჩვენ ვიცით, რომ ჩვენ შეგვიძლია მოვკვდეთ ნებისმიერ დროს, მე კი შემიძლია მოვკვდე ამ პოსტის წერისას, ბოლოს და ბოლოს, მე, შენ, ჩვენ ყველანი მოკვდავები ვართ. მთელი მსოფლიო შეძრა COVID19 პანდემიის გამო. ჩვენ ვიცით როგორ ავიცილოთ თავიდან ეს, მაგრამ ჰეი! ჩვენ ვიცით როგორ ვილოცოთ და რატომ ვილოცოთ, ვაკეთებთ ამას ყოველდღიურად? არა !! სინამდვილეში, ჩვენ გვავიწყდება ძირეული მიზეზი, თუ რატომ უნდა გავაკეთოთ რამე. ამრიგად, ჩვენ ვიცით, რომ ჰიგიენურმა ცხოვრების წესმა შეიძლება გვიშველოს, მაგრამ ჩვენ ამას სათანადოდ არ ვაკეთებთ. განვიხილოთ ჩემი უმცროსი ძმის შემთხვევა, მას სურს ამ დროს გასვლა და თამაში. მე უნდა გამეკეთებინა ყველაფერი, რომ თანმიმდევრულად მიმეწოდებინა ყველას COVID19– ის უახლესი შემთხვევების შესახებ. ასე რომ, მე გავაკეთე დიგიდიალური მაგიდის ჩვენება, რომელიც აჩვენებს COVID19– ის უახლეს შემთხვევებს რეალურ დროში. რადგან მას აქვს საათი, შემიძლია დავდო ის ადგილი, სადაც ყველა იკრიბება ან მოდის. ისინი დაინახავენ რიცხვების დამატებას, რაც გამოიწვევს მათში ცნობიერების ამაღლებას და იმედია ყველა იქნება ცნობიერი. ასევე, რადგან მე ვარ შემქმნელი და ჰობისტი, ეს კარგი პროექტი იყო ამ ჩაკეტილ სესიაზე სამუშაოდ.

ნაბიჯი 1: ნაწილები, რომლებიც მე გამოვიყენე:

ნაწილები, რომლებიც მე გამოვიყენე
ნაწილები, რომლებიც მე გამოვიყენე
ნაწილები, რომლებიც მე გამოვიყენე
ნაწილები, რომლებიც მე გამოვიყენე
ნაწილები, რომლებიც მე გამოვიყენე
ნაწილები, რომლებიც მე გამოვიყენე
ნაწილები, რომლებიც მე გამოვიყენე
ნაწილები, რომლებიც მე გამოვიყენე
  • Raspberry Pi 3 Model B (ჩამტვირთავი sd ბარათის გამოყენებით)
  • Raspberry Pi UPS მოდული (სურვილისამებრ)
  • 7 დიუმიანი HDMI LCD ეკრანი
  • HDMI to HDMI კაბელი (ამას მოყვება ეკრანი)
  • USB კაბელები
  • 5v 2A დენის ადაპტერი (სიმძლავრის pi)
  • PVC ფურცელი [ხის ფერი] (სხეულის გასაკეთებლად)

ნაბიჯი 2: Raspberry Pi- ის დაყენება:

Raspberry Pi- ის დაყენება
Raspberry Pi- ის დაყენება

ვფიქრობ, თქვენ სრულყოფილად დააყენეთ პი, თუ არ გაქვთ -

  1. მიიღეთ SD ბარათი - 8 GB ზე მეტი
  2. ჩამოტვირთეთ უახლესი raspbian iso ფაილი აქედან.
  3. ჩაწერეთ SD ბარათი etcher გამოყენებით

(გაითვალისწინეთ, რომ ხალხს შეუძლია თქვას სხვა პროგრამული უზრუნველყოფის შესახებ, რომელიც მოითხოვს თქვენ გააკეთოთ რაიმე დაყენება, მაგრამ სხვა რამ არის ძალიან მარტივი გამოსაყენებელი და მარტივი, მაგრამ ეფექტურიც.)

უბრალოდ შეაერთეთ თქვენი SD ბარათი კომპიუტერთან, გაუშვით სხვა, დაინახავთ, რომ SD ბარათი ავტომატურად ირჩევა etcher– ის მიერ, შემდეგ დააწკაპუნეთ გადმოწერილი iso ფაილის ან სურათის შესარჩევად, შემდეგ დაწვით. წარმატებული წერისა და დამუშავების შემდეგ გათიშეთ SD ბარათი და დაუკავშირეთ თქვენს პი -ს, ჩართეთ იგი და VOILA !! Ცოცხალია.

ნაბიჯი 3: სქემის დიაგრამა:

Წრიული დიაგრამა
Წრიული დიაგრამა

შეაერთეთ ყველაფერი და გააძლიერე raspbery pi, ის უბრალოდ აკავშირებს, სხვა არაფერი.

თქვენ ნახავთ pi ჩატვირთვას.

ნაბიჯი 4: სხეული:

სხეული
სხეული
სხეული
სხეული
სხეული
სხეული
სხეული
სხეული

მე დავჭრა PVC ფურცელი ეკრანის ზომის მიხედვით, შემდეგ დავამატე ის ხრახნების გამოყენებით. ამის შემდეგ ყველაფერი გავაფორმე. ბოლოს დაამატეთ კიდევ ერთი ფურცელი უკანა მხარეს, რათა ხელი შეუწყოს დაცემას (ლურჯი ფურცელი). თუ ყველაფერი კარგადაა, თქვენ უნდა ნახოთ pi ჩატვირთვა (ბოლო სურათი)

ნაბიჯი 5: პროგრამული უზრუნველყოფა (წყაროს კოდი):

პროგრამა დაწერილია python3– ში. GUI- სთვის (გრაფიკული მომხმარებლის ინტერფეისი) მე გამოვიყენე PyQt5, ხოლო რეალურ დროში COVID19 მონაცემების ამოსაღებად გამოვიყენე COVID19Py ბიბლიოთეკა. მადლობა ბიჭებს, რომლებმაც ჩვენთვის ხელმისაწვდომი გახადეს API

ეს საკმაოდ ბევრია, ახლა გახსენით ტერმინალი ჟოლოს პიზე და დააინსტალირეთ ბიბლიოთეკები (დააკოპირეთ თითოეული მათგანი და ჩასვით rpi ტერმინალზე).

კოპირების დროს იგნორირება გაუკეთეთ $ ნიშანს

$ pip3 დააინსტალირეთ pyqt5

$ pip3 ინსტალაციის მოთხოვნა $ pip3 install covid19py

ეს არის ის, ახლა გადმოწერეთ კოდი აქედან, მე მოგაწოდეთ კოდი ქვემოთ:

"" "*რეალურ დროში Covid19 საერთაშორისო და ადგილობრივი თვალთვალი საათით*" "" "" ************** დარჩი სახლში დარჩი უსაფრთხოდ. იცხოვრე, იცხოვრე ******** ***** """

"""

ავტორი: აშრაფ მინჰაჯის ფოსტა: [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) #თუ ტაიმერი მიაღწევს ზღურბლს - დარეკეთ განახლება self.ui () #მომხმარებლის ინტერფეისი

def ui (საკუთარი თავი):

"" "მომხმარებლის ინტერფეისის განყოფილება" "" self.setWindowTitle ("Covid19 საერთაშორისო და ადგილობრივი თვალთვალი") #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 პიქსელი" "")

"" "_ მსოფლიოს უახლესი მონაცემები _" ""

#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 ("" "ფონი-ფერი: შავი; ფერი: ლურჯი; საზღვრის სტილი: საწყისი; საზღვრის სიგანე: 1 პიქსელი" "")

#მსოფლიოში დადასტურებული შემთხვევები

თვითმმართველობის w_cases.setStyleSheet ("" "ფონი-ფერი: შავი; ფერი: ნარინჯისფერი; საზღვრის სტილი: დასაწყისი; საზღვრის სიგანე: 1 პიქსელი" "") #საქმეების ნომერი 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 ("" "ფონი-ფერი: შავი; ფერი: თეთრი; საზღვრის სტილი: საწყისი: 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 ("" "ფონი-ფერი: შავი; ფერი: წითელი; საზღვრის სტილი: დასაწყისი; საზღვრის სიგანე: 1 პიქსელი" "") #სიკვდილის ნომერი 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 ("" "ფონი-ფერი: შავი; ფერი: თეთრი; საზღვრის სტილი: საწყისი: 1px "" ")

#მსოფლიო განკურნებულია

თვითმმართველობის 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 ("" "background-color: შავი; ფერი: თეთრი; საზღვრის სტილი: საწყისი; საზღვრის სიგანე: 1 პიქსელი "" ")

"" "_ ადგილობრივი-ქვეყნის კოდი _" ""

#local - ქვეყანა self.c = QLabel (self) self.c.setGeometry (170, 200, 400, 40) self.c.setText ("ჩემი ქვეყანა: ბანგლადეში") self.c.setFont (QFont ('SansSerif', 18)) self.c.setStyleSheet ("" "ფონი-ფერი: შავი; ფერი: თეთრი; საზღვრის სტილი: დასაწყისი; საზღვრის სიგანე: 1 პიქსელი" "") #ლოკალური დადასტურების შემთხვევები self.c_cases = QLabel (self) self.c_cases.setGeometry (5, 240, 400, 40) self.c_cases.setText ("შემთხვევები:") self.c_cases.setFont (QFont ("SansSerif", 18)) self.c_cases.setStyleSheet ("" "ფონზე -ფერი: შავი; ფერი: ნარინჯისფერი; საზღვრის სტილი: დასაწყისი; საზღვრის სიგანე: 1 პიქსელი "" ") #ლოკალური შემთხვევების რიცხვი 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 ("" "ფონი-ფერი: შავი; ფერი: თეთრი; ფერი: თეთრი; სასაზღვრო სტილი: დასაწყისი; საზღვრის სიგანე: 1 პიქსელი" "")

#ადგილობრივი სიკვდილი

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 ("" "background-color: შავი; ფერი: თეთრი; საზღვრის სტილი: დასაწყისი; საზღვრის სიგანე: 1 პიქსელი "" ") #ლოკალური განკურნებული თვით. c_cured = QLabel (self) self.c_cured.setGeometry (5, 280, 100, 40) self.c_cured. 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 ("" "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'-ბანგლადეში,' IN'-ინდოეთი და ა

self.local = self.covid.getLocationByCountryCode ('BD', ვადები = ყალბი) #ბეჭდვა (თვითმმართველობის. ადგილობრივი) #ბეჭდვა (თვით

გარდა:

"" "ვერ მივიღე მონაცემები" "" ბეჭდვა ("ინტერნეტ შეცდომა !!")

გაიარე #იგორი, გაიქეცი მაინც

self.timer.start (1000) #დაწყება ტაიმერი

self.show () #აჩვენეთ ჩვენი მომხმარებლის ინტერფეისი

def განახლება (საკუთარი თავის):

"" "ეტიკეტების განახლება ინფორმაციის" ""

"" "_ ამონაწერი რეკლამა განახლების დრო და თარიღი _""

#საათის და თარიღის დროის დაყენება (ღირებულებების განახლება) #მნიშვნელობების მიღება და განახლება #მეტი ინფორმაციის მისაღებად პითონის თარიღის დოკუმენტაციის წასაკითხად

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_cured_num.setText (str (self.latest ['ამოღებულია'])) #ლოკალური უახლესი მონაცემები self.c_cured_num.setText (str (self.local [0] ['უახლესი'] ['ამოღებული'])) self.c_death_num.setText (ქუჩა (თვითმმართველობის]))

ბეჭდვა ("განახლება")

დაბრუნების

def main (): app = QApplication (sys.argv) win = CoronaTracker () #instantiate sys.exit (app.exec ()) #გაუშვით პროგრამა თუ _name_ == '_main_': main ()

ნაბიჯი 6: დასრულება:

დასრულება
დასრულება

კოდის შესამოწმებლად მას მაგიდაზე ვდებ და ენერგიის წყაროს ვუთმობ მას. ასე რომ მას შეუძლია იმუშაოს დატენვისას. ამაღლების გამოყენებით, ეს შეიძლება გაშვებული იყოს დატვირთვის შემცირების დროსაც კი, ეს ასევე აძლევს ur pi SD ბარათს შესაბამის დაცვას.

როგორ და ვინ ვართ ჩვენ, ჩვენ უნდა მოვკვდეთ. მოდით არ ვიფიქროთ საკუთარ თავზე, ვიფიქროთ სამყაროზე. ჩვენ შეგვიძლია მხოლოდ სამუდამოდ ვიცხოვროთ ჩვენი საქმეებით, ასეც იყოს.

გირჩევთ: