Përmbajtje:
- Hapi 1: Si funksionon tabela e njoftimeve dixhitale?
- Hapi 2: Gjërat e kërkuara:
- Hapi 3: Dizajni i GUI për shfaqjen e njoftimeve:
- Hapi 4: Krijoni një llogari CloudMQTT:
- Hapi 5: Kodi përfundimtar i Raspberry Pi Shpjegohet:
- Hapi 6: Windows PC GUI:
- Hapi 7: Kodi Final i Windows PC Shpjegohet:
- Hapi 8: Vendosni Tabelën e Njoftimeve Dixhitale:
Video: Tabela e Njoftimeve Dixhitale duke përdorur Raspberry Pi dhe MQTT Protokolli: 8 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:20
Tabelat e Njoftimeve përdoren pothuajse kudo, si zyra, shkolla, spitale dhe hotele. Ato mund të përdoren pa pushim për të shfaqur njoftime të rëndësishme ose për të reklamuar ngjarje ose takime të ardhshme. Por njoftimi ose reklamat duhet të shtypen në një letër dhe të fiksohen në tabelat e njoftimeve.
Në këtë Instructable le të mësojmë të ndërtojmë Bordin tonë të Njoftimeve Dixhitale me Raspberry Pi për të kursyer shumë letra dhe toner!
Hapi 1: Si funksionon tabela e njoftimeve dixhitale?
- Një Raspberry Pi i lidhur me një ekran HDMI i cili është tabela jonë e njoftimeve dixhitale.
- Një kompjuter Windows përdoret për të publikuar njoftimin në Tabelën e Njoftimeve Dixhitale përmes internetit.
- Njoftimi i publikuar nga Windows PC merret nga Tabela e Njoftimeve Dixhitale përmes një ndërmjetësi CloudMQTT.
- Komunikimi midis Windows PC dhe Bordit të Njoftimeve Dixhitale arrihet me protokollin MQTT.
Hapi 2: Gjërat e kërkuara:
- Raspberry Pi me OS Rasbian
- Shfaq me port HDMI
- Windows PC
- Lidhje interneti
- Llogari CloudMQTT
Hapi 3: Dizajni i GUI për shfaqjen e njoftimeve:
Ne duhet të krijojmë 2 GUI, një për Raspberry Pi për të shfaqur njoftimin në HDMI Display dhe një tjetër për Windows PC për të publikuar njoftimin për Raspberry Pi përmes ndërmjetësit CloudMQTT.
Dizajni i GUI varet nga vendi ku do të vendosni Tabelën e Njoftimeve Dixhitale. Për shembull, më lejoni të krijoj një GUI për Instructables Office për të shfaqur ngjarjet dhe takimet e ardhshme në mënyrë që punonjësit të azhurnohen me informacionin më të fundit.
Easyshtë e lehtë të hartosh një GUI në një kompjuter Windows, kështu që le të krijojmë GUI të Panelit të Njoftimeve Dixhitale në kompjuterin Windows dhe të kopjojmë kodin në Raspberry Pi.
Softueri i kërkuar:
Anaconda (e cila përfshin python 2.7, paketën Qt Designer dhe Spyder IDE).
Qt Designer është mjeti i përdorur për të hartuar GUI. Dalja e Qt Designer do të jetë një skedar.ui, më vonë mund të konvertohet në.py për proces të mëtejshëm.
Çfarë po ndodh në video?:
- Shkarkoni Anaconda Windows Installer për python 2.7 dhe instalojeni në një kompjuter Windows (proces normal i instalimit).
- Pas instalimit, mund të gjeni mjetin Qt Designer në "installation_directory / Library / bin / designer.exe" (për mua është "C: / Anaconda2 / Library / bin / designer.exe")
- Krijoni një shkurtore për "designer.exe" dhe vendoseni në desktop.
- hapur "designer.exe".
- Krijoni një dritare të re kryesore.
- Zgjidhni dhe vendosni paraqitjet dhe pamjet e kërkuara (pamja e tekstit, pamja e etiketës, etj).
- Ruaj si skedar Rpi_UI.ui.
- Për ta shndërruar në skedar.py hapni cmd në dosjen aktuale ku ekziston skedari Rpi_UI.ui dhe shkruani komandën e mëposhtme
instalimi_direktoria / Biblioteka / bin / pyuic5.bat -x RPi_UI.ui -o RPi_UI.py
per mua eshte, C: / Anaconda2 / Biblioteka / bin / pyuic5.bat -x RPi_UI.ui -o RPi_UI.py
kjo komandë do ta shndërrojë skedarin Rpi_UI.ui në skedarRpi_UI.py dhe do ta vendosë në të njëjtin drejtori.
- Hapni skedarin Rpi_UI.py me Spyder IDE i cili përfshihet në Anaconda.
- Drejtimi i skenarit do të shfaqë GUI që kemi krijuar më herët.
Tjetra, le të krijojmë llogarinë CloudMQTT.
Hapi 4: Krijoni një llogari CloudMQTT:
- Vizitoni këtë lidhje.
- Krijoni një llogari me E-mail dhe regjistrohuni në llogarinë tuaj.
- Krijo shembull të ri (e kam quajtur si TEST_1).
- Hapni informacionin e Instancës.
- Shënoni Serverin, Përdoruesin, Fjalëkalimin dhe Portin.
- Referojuni CloudMQTT Python Documentation dhe ruani skriptin si CloudMQTT.py.
- Kodi shembull në dokumentacion kërkon bibliotekë paho, Instaloni Paho Python Client duke përdorur mjetin pip, hapni cmd si administrator dhe futni komandën e mëposhtme.
pip instaloni paho-mqtt
Hapi 5: Kodi përfundimtar i Raspberry Pi Shpjegohet:
Këtu, më lejoni të shpjegoj mënyrën se si e kombinova skedarin RPi_UI.py me CloudMQTT.py dhe e ruajta si RPi_UI.py.
Importoni biblioteka, nëse nuk janë të instaluara, thjesht instalojini
import paho.mqtt.klient si mqtt
import urlparse nga PyQt5 import QtGui, QtWidgets, QtCore nga PyQt5. QtCore import QTimer, QTime nga filetimi i importit Thread import sys import nga google_drive_downloader import GoogleDriveDownloader si gdd import os
Për të instaluar googledrivedownloader, përdorni komandën
pip instaloni googledrivedownloader
Fillimi i variablave,
ikona = "[email protected]"
contestImg = "black" meeting1 = "Takimi1:" venue1 = "Koha dhe vendi1." takimi2 = "Takimi2:" vendi2 = "Koha dhe vendi2." meeting3 = "Takimi3:" venue3 = "Koha dhe vendi3."
E ndjekur nga klasa Ui_MainWindow
klasa Ui_MainWindow (objekti):
def setupUi (vetja, MainWindow):… def retranslateUi (vetja, MainWindow):… def _zhurnimi (vetja):…
Linjat e mëposhtme në funksionin setupUi përditësojnë GUI çdo 3 sekonda duke thirrur funksionin _update
self.retranslateUi (MainWindow)
QtCore. QMetaObject.connectSlotsByName (MainWindow) self.timer = QTimer () self.timer.timeout.connect (self._update) self.timer.start (3000)
Funksioni on_message pret mesazhin nga ndërmjetësi, sapo të merret mesazhi, ai shkarkon imazhin nga disku i Google duke përdorur ID -në e lidhjes të shkëmbyer me google drive dhe gjithashtu ndryshon vlerat e variablave globale
def on_message (klient, obj, msg):
print (str (msg.payload)) if (str (msg.payload)): noticeReceived = str (msg.payload) result = re.search ('%1 (.*)%2 (.*)%3 (. *)%4 (.*)%5 (.*)%6 (.*)%7 (.*)%8 ', njoftimRreceptuar) konkurs globalImg takimi global1 vendi global1 takimi global2 vendi global2 takimi global3 vendi global3 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 = rruga) contestImg = rezultati.group (1) takimi1 = rezultati.group (2) vendi1 = rezultati.group (3) takimi2 = rezultati.group (4) vendi2 = rezultati.group (5) takimi3 = rezultati.group (6) vendi3 = rezultati. grupi (7)
Kodi përbëhet nga 2 sythe pafund,
rc = mqttc.loop ()
dhe
sys.exit (app.exec_ ())
Për të drejtuar këto sythe njëkohësisht, kam përdorur konceptin Threading
def sqImport (tId): nëse tId == 0: ndërsa 1: rc = 0 ndërsa rc == 0: rc = mqttc.loop () print ("rc:" + str (rc)) nëse tId == 1: ndërsa 1: app = QtWidgets. QApplication (sys.argv) MainWindow = QtWidgets. QMainWindow () ui = Ui_MainWindow () ui.setupUi (MainWindow) MainWindow.show () sys.exit (app.exec_ ()) threadA = Thread (target) = sqImport, args = [0]) threadB = Thread (target = sqImport, args = [1]) threadA.start () threadB.start () threadA.join () threadB.join ()
Faleminderit, ne kemi përfunduar konfigurimin e Raspberry Pi, më pas le të krijojmë GUI për Windows PC për të publikuar mesazhin në Raspberry Pi.
Hapi 6: Windows PC GUI:
- Hartoni një GUI për Windows dhe ruajeni atë si Windows_UI.ui.
- Shndërroni atë në një skedar python.
- Kombinoje atë me skedarin CloudMQTT.py dhe ruajeni atë si Windows_UI.py.
- Funksioni i skedarit Windows_UI.py është i ngjashëm me skedarin RPi_UI.py, ndryshimi i vetëm është se skedari Windows_UI.py publikon mesazhin ndërsa RPi_UI.py merr mesazhin.
Hapi 7: Kodi Final i Windows PC Shpjegohet:
- Skedari Windows_UI.py ka të gjitha klasat dhe funksionet e RPi_UI.ui përveç disa.
- Në vend të funksionit on_message, ai ka një funksion on_publish për të publikuar mesazhin.
- Kodi i mëposhtëm brenda funksionit retranslateUi thërret funksionin e publikimit pasi të klikohet butoni PUBLISH.
self.pushButton.clicked.connect (self.publish)
- Funksioni i publikimit bashkon ID -në e lidhjes së Google Drive dhe informacionin e takimit dhe e publikon atë nën temën "njoftim".
- Ky mesazh do të merret nga Raspberry Pi.
Hapi 8: Vendosni Tabelën e Njoftimeve Dixhitale:
- Lidhni Raspberry Pi me një ekran HDMI, unë kam përdorur televizorin tim Sony si Ekranin e Tabelave të Njoftimeve Dixhitale.
- Drejtoni skedarin RPi_UI.py në Raspberry Pi.
- Drejtoni skedarin Windows_UI.py në kompjuterin Windows.
- Vendosni ID -në e lidhjes së Google Drive të një imazhi të konkursit dhe njoftimin e takimit.
- Klikoni në butonin PUBLISH.
- Tani mund të shihni Tabelën e Njoftimeve Dixhitale të azhurnuar brenda pak sekondash.
Sugjerime:
- Ju mund të krijoni numrin e dëshiruar të tabelave të njoftimeve dixhitale dhe tabelat mund të regjistrohen në tema të ndryshme.
- Për ta bërë skedarin Windows_UI.py të lëvizshëm, mund ta shndërroni skedarin në një skedar të ekzekutueshëm duke përdorur pyinstaller, në mënyrë që të ekzekutoni skedarin e ekzekutueshëm në çdo kompjuter Windows pa instaluar bibliotekat e kërkuara në PC.
Faleminderit
SABARI KANNAN M
Recommended:
Si të bëni orë analoge dhe orë dixhitale me shirit led duke përdorur Arduino: 3 hapa
Si të Bëni Orë Analog & Orë Dixhitale Me Led Strip Duke Përdorur Arduino: Sot do të bëjmë një Orë Analog & Ora dixhitale me Led Strip dhe moduli MAX7219 Dot me Arduino. Do të korrigjojë kohën me zonën kohore lokale. Ora Analog mund të përdorë një shirit LED më të gjatë, kështu që mund të varet në mur për t'u bërë një art
LCD e kontrolluar nga Bluetooth me Messenger -- LCD 16x2 -- Hc05 -- E thjeshte -- Tabela e Njoftimeve me valë: 8 hapa
LCD e kontrolluar nga Bluetooth me Messenger || LCD 16x2 || Hc05 || E thjeshte || Tabela e Njoftimeve Wireless: …………………………. Ju lutemi SUBSCRIBE në kanalin tim në YouTube për më shumë video …… ………………………………… Tabela e njoftimeve përdoret për të përditësuar njerëzit me informacione të reja ose Nëse dëshironi të dërgoni mesazh në dhomë ose në gjysmë
Tabela e Njoftimeve me valë (Bluetooth): 5 hapa (me fotografi)
Tabela e Njoftimeve me valë (Bluetooth): Në këtë botë moderne ku gjithçka është dixhitalizuar, pse jo edhe tabela konvencionale e Njoftimeve merr një pamje të re. Pra, le të bëjmë një Tabelë Njoftimesh të kontrolluar nga Bluetooth e cila është shumë e thjeshtë. Ky konfigurim mund të përdoret në vend të njoftimit statik bordi si në kolegje/në
Monitorimi i përshpejtimit duke përdorur Raspberry Pi dhe AIS328DQTR duke përdorur Python: 6 hapa
Monitorimi i përshpejtimit duke përdorur Raspberry Pi dhe AIS328DQTR Duke përdorur Python: Përshpejtimi është i kufizuar, mendoj sipas disa ligjeve të Fizikës.- Terry Riley Një cheetah përdor përshpejtim të mahnitshëm dhe ndryshime të shpejta në shpejtësi kur ndiqni. Krijesa më e shpejtë në breg, herë pas here, përdor ritmin e saj të lartë për të kapur prenë.
Nextion Display - Ndërfaqja dhe Protokolli i Shpjeguar Me PIC dhe Arduino: 10 Hapa
Nextion Display | Ndërfaqja dhe Protokolli i Shpjeguar Me PIC dhe Arduino: Ekrani Nextion është shumë i lehtë për t’u përdorur dhe ndërfaqe e lehtë me mikrokontrolluesit. Me ndihmën e redaktorit Nextion ne mund të konfigurojmë ekranin dhe mund të krijojmë UI në ekran. Pra, bazuar në ngjarjet ose komandat Ekrani i ardhshëm do të veprojë për të shfaqur