Სარჩევი:
- ნაბიჯი 1: როგორ მუშაობს ციფრული შეტყობინებების დაფა?
- ნაბიჯი 2: საჭირო ნივთები:
- ნაბიჯი 3: შეტყობინებების ჩვენების GUI დიზაინი:
- ნაბიჯი 4: შექმენით CloudMQTT ანგარიში:
- ნაბიჯი 5: Raspberry Pi საბოლოო კოდი განმარტებულია:
- ნაბიჯი 6: Windows PC GUI:
- ნაბიჯი 7: Windows PC საბოლოო კოდი განმარტებულია:
- ნაბიჯი 8: შექმენით ციფრული შეტყობინებების დაფა:
ვიდეო: ციფრული შეტყობინებების დაფა Raspberry Pi და MQTT პროტოკოლის გამოყენებით: 8 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:18
შეტყობინებების დაფები თითქმის ყველგან გამოიყენება, როგორიცაა ოფისი, სკოლები, საავადმყოფოები და სასტუმროები. ისინი შეიძლება გამოყენებულ იქნას არაერთხელ მნიშვნელოვანი შეტყობინებების ჩვენების ან მომავალი ღონისძიებების ან შეხვედრების რეკლამირების მიზნით. მაგრამ ცნობა ან რეკლამა უნდა დაიბეჭდოს ქაღალდზე და დამაგრდეს საინფორმაციო დაფებზე.
ამ ინსტრუქციურად ვისწავლოთ ჩვენი ციფრული შეტყობინებების დაფის შექმნა Raspberry Pi– ით უამრავი ქაღალდისა და ტონერის შესანახად!
ნაბიჯი 1: როგორ მუშაობს ციფრული შეტყობინებების დაფა?
- ჟოლო Pi უკავშირდება HDMI ეკრანს, რომელიც არის ჩვენი ციფრული შეტყობინებების დაფა.
- Windows კომპიუტერი გამოიყენება ციფრული შეტყობინებების დაფაზე შეტყობინების ინტერნეტით გამოქვეყნების მიზნით.
- Windows PC– ის მიერ გამოქვეყნებული შეტყობინება მიიღება ციფრული შეტყობინებების დაფის მიერ CloudMQTT ბროკერის საშუალებით.
- Windows კომპიუტერსა და ციფრული შეტყობინებების დაფას შორის კომუნიკაცია მიიღწევა MQTT პროტოკოლით.
ნაბიჯი 2: საჭირო ნივთები:
- Raspberry Pi Rasbian OS– ით
- ჩვენება HDMI პორტით
- Windows PC
- Ინტერნეტ კავშირი
- CloudMQTT ანგარიში
ნაბიჯი 3: შეტყობინებების ჩვენების GUI დიზაინი:
ჩვენ უნდა შევიმუშაოთ 2 GUI, ერთი Raspberry Pi– სთვის HDMI ეკრანზე შეტყობინების ჩვენებისათვის და მეორე Windows PC– ისთვის, რათა გამოაქვეყნოს ცნობა Raspberry Pi– ზე ბროკერის CloudMQTT საშუალებით.
GUI დიზაინი დამოკიდებულია იმ ადგილას, სადაც აპირებთ ციფრული შეტყობინებების დაფის განთავსებას. მაგალითად, ნება მომეცით შევადგინო GUI Instructables Office– ისთვის მომავალი მოვლენებისა და შეხვედრების ჩვენების მიზნით, რათა თანამშრომლებმა შეძლონ უახლესი ინფორმაციის განახლება.
Windows PC- ში ადვილია GUI- ს შემუშავება, ასე რომ მოდით შევქმნათ ციფრული შეტყობინებების დაფის GUI Windows კომპიუტერში და დააკოპიროთ კოდი Raspberry Pi- ში.
საჭირო პროგრამული უზრუნველყოფა:
ანაკონდა (რომელშიც შედის პითონი 2.7, Qt Designer პაკეტი და Spyder IDE).
Qt Designer არის ინსტრუმენტი, რომელიც გამოიყენება GUI– ების შესაქმნელად. Qt Designer– ის გამომავალი იქნება.ui ფაილი, მოგვიანებით ის შეიძლება გადაკეთდეს.py შემდგომი პროცესისთვის.
რა ხდება ვიდეოში:
- ჩამოტვირთეთ Anaconda Windows Installer პითონის 2.7 -ისთვის და დააინსტალირეთ Windows კომპიუტერში (ნორმალური ინსტალაციის პროცესი).
- ინსტალაციის შემდეგ, თქვენ შეგიძლიათ იპოვოთ Qt Designer ინსტრუმენტი "installation_directory / Library / bin / designer.exe" (ჩემთვის ეს არის "C: / Anaconda2 / Library / bin / designer.exe")
- შექმენით მალსახმობი "designer.exe" - სთვის და განათავსეთ იგი სამუშაო მაგიდაზე.
- გახსენით "designer.exe".
- შექმენით ახალი მთავარი ფანჯარა.
- შეარჩიეთ და განათავსეთ განლაგება და საჭირო ხედები (ტექსტის ხედი, ეტიკეტის ხედი და ა.შ.).
- შეინახეთ როგორც Rpi_UI.ui ფაილი.
- . Py ფაილში გადასაყვანად გახსენით cmd მოთხოვნა მიმდინარე საქაღალდეში, სადაც Rpi_UI.ui ფაილი არსებობს და ჩაწერეთ შემდეგი ბრძანება
installation_directory / ბიბლიოთეკა / bin / pyuic5.bat -x RPi_UI.ui -o RPi_UI.py
ჩემთვის ეს არის, C: / Anaconda2 / ბიბლიოთეკა / bin / pyuic5.bat -x RPi_UI.ui -o RPi_UI.py
ეს ბრძანება გადააქცევს Rpi_UI.ui ფაილს Rpi_UI.py ფაილში და განათავსებს მას იმავე დირექტორიაში.
- გახსენით Rpi_UI.py ფაილი Spyder IDE– ით, რომელიც შედის ანაკონდაში.
- სკრიპტის გაშვება აჩვენებს GUI, რომელიც ჩვენ ადრე შევიმუშავეთ.
შემდეგი, მოდით შევქმნათ CloudMQTT ანგარიში.
ნაბიჯი 4: შექმენით CloudMQTT ანგარიში:
- ეწვიეთ ამ ბმულს.
- შექმენით ანგარიში ელექტრონული ფოსტით და შედით თქვენს ანგარიშში.
- შექმენით ახალი მაგალითი (მე მას TEST_1 დავარქვი).
- გახსენით ინსტანციის ინფორმაცია.
- გაითვალისწინეთ სერვერი, მომხმარებელი, პაროლი და პორტი.
- იხილეთ CloudMQTT პითონის დოკუმენტაცია და შეინახეთ სკრიპტი CloudMQTT.py- ში.
- დოკუმენტის კოდის მაგალითი მოითხოვს პაჰოს ბიბლიოთეკას, დააინსტალირეთ Paho Python კლიენტი pip ინსტრუმენტის გამოყენებით, გახსენით cmd მოთხოვნა ადმინისტრატორად და შეიყვანეთ შემდეგი ბრძანება.
pip დააინსტალირეთ paho-mqtt
ნაბიჯი 5: Raspberry Pi საბოლოო კოდი განმარტებულია:
ნება მომეცით აგიხსნათ, თუ როგორ გავაერთიანე RPi_UI.py ფაილი CloudMQTT.py– თან და შევინახე როგორც RPi_UI.py.
ბიბლიოთეკების იმპორტი, თუ ის არ არის დაინსტალირებული, უბრალოდ დააინსტალირეთ
იმპორტი paho.mqtt.client როგორც mqtt
იმპორტი urlparse PyQt5– დან იმპორტი QtGui, QtWidgets, QtCore PyQt5– დან. QtCore იმპორტი QTimer, QTime საწყისი threading import თემადან იმპორტი sys იმპორტი re google_drive_downloader იმპორტი GoogleDriveDownloader როგორც gdd იმპორტი os
Googledrivedownloader– ის დასაყენებლად გამოიყენეთ ბრძანება
pip დააინსტალირეთ googledrivedownloader
ცვლადების ინიციალიზაცია,
icon = "[email protected]"
contestImg = "შავი" შეხვედრა 1 = "შეხვედრა 1:" venue1 = "დრო და ადგილი 1." შეხვედრა 2 = "შეხვედრა 2:" ადგილი 2 = "დრო და ადგილი 2." შეხვედრა 3 = "შეხვედრა 3:" venue3 = "დრო და ადგილი 3."
მოყვება კლასი Ui_MainWindow
კლასი Ui_MainWindow (ობიექტი):
def setupUi (self, MainWindow):… def retranslateUi (self, MainWindow):… def _ განახლება (self):…
ფუნქციის კონფიგურაციის შემდეგი ხაზები განაახლებს GUI ყოველ 3 წამში _ დარეკვის ფუნქციას
self.retranslateUi (მთავარი ფანჯარა)
QtCore. QMetaObject.connectSlotsByName (MainWindow) self.timer = QTimer () self.timer.timeout.connect (self._update) self.timer.start (3000)
On_message ფუნქცია ელოდება ბროკერის შეტყობინებას, მას შემდეგ რაც შეტყობინება მიიღება ის გადმოწერს სურათს google დისკიდან google drive google ბმული ID ბარათით და ასევე ცვლის გლობალური ცვლადების მნიშვნელობებს
def on_message (კლიენტი, obj, msg):
ამობეჭდვა (str (msg.payload)) if (str (msg.payload)): noticeReceived = str (msg.payload) result = re.search ('%1 (.*)%2 (.*)%3 (. *)%4 (.*)%5 (.*)%6 (.*)%7 (.*)%8 ', noticeReceived) გლობალური კონკურსი იმიჯის გლობალური შეხვედრა 1 გლობალური ადგილი 1 გლობალური შეხვედრის 2 გლობალური ადგილი 2 გლობალური შეხვედრის 3 გლობალური ადგილი 3 fileId = "" +result.group (1)+"" path = "/home/pi/Desktop/Instructables/RPi UI/ContestImages/"+result.group (1)+". jpg" gdd.download_file_from_google_drive (file_id = fileId, dest_path = გზა) კონკურსიImg = შედეგი. ჯგუფი (1) შეხვედრა 1 = შედეგი. ჯგუფი (2) ადგილი 1 = შედეგი. ჯგუფი (3) შეხვედრა 2 = შედეგი. ჯგუფი (4) ადგილი 2 = შედეგი. ჯგუფი (5) შეხვედრა 3 = შედეგი. ჯგუფი (6) ადგილი 3 = შედეგი. ჯგუფი (7)
კოდი შედგება 2 უსასრულო მარყუჟისგან,
rc = mqttc.loop ()
და
sys.exit (app.exec_ ())
ამ მარყუჟების ერთდროულად გასაშვებად, მე გამოვიყენე Threading კონცეფცია
def sqImport (tId): თუ tId == 0: ხოლო 1: rc = 0 ხოლო rc == 0: rc = mqttc.loop () print ("rc:" + str (rc)) if tId == 1: while 1: app = QtWidgets. QApplication (sys.argv) MainWindow = QtWidgets. QMainWindow () ui = Ui_MainWindow () ui.setupUi (MainWindow) MainWindow.show () sys.exit (app.exec_ ()) თემაA = თემა (სამიზნე = sqImport, args = [0]) თემა B = თემა (target = sqImport, args = [1]) threadA.start () threadB.start () threadA.join () threadB.join ()
მაგარია, ჩვენ დავასრულეთ Raspberry Pi– ს დაყენება, შემდეგ მოდით შევქმნათ GUI Windows PC– სთვის, რომ გამოაქვეყნოს შეტყობინება Raspberry Pi– სთვის.
ნაბიჯი 6: Windows PC GUI:
- შეიმუშავეთ GUI ფანჯრებისთვის და შეინახეთ როგორც Windows_UI.ui.
- გადააკეთეთ ის პითონის ფაილში.
- შეუთავსეთ მას CloudMQTT.py ფაილი და შეინახეთ როგორც Windows_UI.py.
- Windows_UI.py ფაილის ფუნქცია მსგავსია RPi_UI.py ფაილთან, ერთადერთი განსხვავება არის Windows_UI.py ფაილი აქვეყნებს შეტყობინებას, ხოლო RPi_UI.py იღებს შეტყობინებას.
ნაბიჯი 7: Windows PC საბოლოო კოდი განმარტებულია:
- Windows_UI.py ფაილს აქვს RPi_UI.ui– ს ყველა კლასი და ფუნქცია რამოდენიმეის გარდა.
- ნაცვლად on_message ფუნქციისა, მას გააჩნია შეტყობინების გამოქვეყნების on_publish ფუნქცია.
- შემდეგი კოდი retranslateUi ფუნქციაში იძახებს გამოქვეყნების ფუნქციას PUBLISH ღილაკზე დაჭერის შემდეგ.
self.pushButton.clicked.connect (self.publish)
- გამოქვეყნების ფუნქცია აერთიანებს google drive გაზიარებულ ბმულის ID- ს და შეხვედრის ინფორმაციას და აქვეყნებს მას თემის "გაფრთხილების" ქვეშ.
- ამ შეტყობინებას მიიღებს Raspberry Pi.
ნაბიჯი 8: შექმენით ციფრული შეტყობინებების დაფა:
- შეაერთეთ Raspberry Pi HDMI ეკრანზე, მე გამოვიყენე ჩემი Sony ტელევიზია, როგორც ციფრული შეტყობინებების დაფის ჩვენება.
- გაუშვით RPi_UI.py ფაილი Raspberry Pi- ში.
- გაუშვით Windows_UI.py ფაილი Windows კომპიუტერში.
- შეიყვანეთ კონკურსის სურათის Google Drive ბმულის ID და შეხვედრის განცხადება.
- დააწკაპუნეთ პუბლიკაციის ღილაკზე.
- ახლა თქვენ შეგიძლიათ ნახოთ განახლებული ციფრული შეტყობინებების დაფა რამდენიმე წამში.
მინიშნებები:
- თქვენ შეგიძლიათ შექმნათ ციფრული შეტყობინებების დაფების სასურველი რაოდენობა და დაფები შეიძლება გამოწერილი იყოს სხვადასხვა თემებზე.
- Windows_UI.py ფაილის პორტატული რომ გახადოთ, შეგიძლიათ გადააკეთოთ ფაილი შესრულებად ფაილში pyinstaller– ის გამოყენებით, ასე რომ თქვენ შეგიძლიათ გაუშვათ შესრულებადი ფაილი ნებისმიერ Windows კომპიუტერში კომპიუტერში საჭირო ბიბლიოთეკების დაყენების გარეშე.
Გმადლობთ
საბარი კანანი მ
გირჩევთ:
Bluetooth კონტროლირებადი მესენჯერი LCD -- 16x2 LCD -- Hc05 -- მარტივი -- უკაბელო შეტყობინებების დაფა: 8 ნაბიჯი
Bluetooth კონტროლირებადი მესენჯერი LCD || 16x2 LCD || Hc05 || მარტივი || უკაბელო შეტყობინებების დაფა: …………………………. გთხოვთ გამოიწეროთ ჩემი YouTube არხი მეტი ვიდეოსთვის …… ………………………………… შეტყობინებების დაფა გამოიყენება ხალხის ახალი ინფორმაციის გასაახლებლად ან თუ გსურთ შეტყობინების გაგზავნა ოთახში ან შუაში
უკაბელო შეტყობინებების დაფა (Bluetooth): 5 ნაბიჯი (სურათებით)
უკაბელო შეტყობინებების დაფა (Bluetooth): ამ თანამედროვე სამყაროში, სადაც ყველაფერი არის ციფრული, რატომ არ ხდება ჩვეულებრივი შეტყობინებების დაფა ახალ სახეს. ასე რომ, მოდით გავაკეთოთ Bluetooth კონტროლირებადი შეტყობინებების დაფა, რომელიც ძალიან მარტივია. ეს დაყენება შეიძლება გამოყენებულ იქნას სტატიკური შეტყობინების ადგილზე დაფა, როგორც კოლეჯებში
LED Strip შეტყობინებების დაფა: 3 ნაბიჯი
LED Strip შეტყობინებების დაფა: ეს ინსტრუქცია გაგიწევთ შეტყობინებების დაფის შექმნის პროცესში ინდივიდუალურად მიმართული NeoPixel LED ზოლებიდან. ეს პროექტი არის ჯოშ ლევინის მიერ დამზადებული ნიშნის ადაპტირებული ვერსია, რომლის ნახვა შეგიძლიათ https://github.com/bigjo
IoT RPi LED შეტყობინებების დაფა: 3 ნაბიჯი (სურათებით)
IoT RPi LED შეტყობინებების დაფა: ამ ინსტრუქციაში, მე გავაკეთე wifi- თან დაკავშირებული LED შეტყობინებების დაფა Raspberry Pi (RPi) გამოყენებით. მომხმარებლები დაუკავშირდებიან Raspberry Pi– ს ვებ სერვერს თავიანთი ბრაუზერების გამოყენებით, რათა წარადგინონ მოკლე შეტყობინებები, რომლებიც გამოჩნდება 8x8 LED ეკრანზე. მას შემდეგ, რაც ინტერფა
ინფრაწითელი NEC პროტოკოლის კოდირება და დეკოდირების დაფა: 5 ნაბიჯი
ინფრაწითელი NEC პროტოკოლის კოდირება და დეკოდირების დაფა: იღებს ნედლი მოდულირებული ან დემოდულირებული NEC IR სიგნალს და გარდაქმნის მას ბაიტებად, რომლებიც იგზავნება სერიული პორტიდან. სერიული ბაუდის სიჩქარე შეირჩევა ორი ნაგულისხმევი სიჩქარით. ნაგულისხმევი გამოყენების რეჟიმი გადასცემს ბრძანების თანმიმდევრობას ჩარჩო ბაიტით