Мазмұны:
- 1 -қадам: Сандық хабарландыру тақтасы қалай жұмыс істейді?
- 2 -қадам: Қажетті заттар:
- 3 -қадам: Хабарландыруларды көрсету үшін GUI дизайны:
- 4 -қадам: CloudMQTT есептік жазбасын орнату:
- 5 -қадам: Raspberry Pi қорытынды коды түсіндіріледі:
- 6 -қадам: Windows PC GUI:
- 7 -қадам: Windows компьютерінің соңғы коды түсіндіріледі:
- 8 -қадам: Сандық хабарландыру тақтасын орнатыңыз:
Бейне: Raspberry Pi мен MQTT протоколын қолданатын цифрлық хабарландыру тақтасы: 8 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:25
Хабарландыру тақталары кеңсе, мектептер, ауруханалар мен қонақүйлер сияқты барлық жерде дерлік қолданылады. Оларды маңызды хабарландыруларды көрсету немесе алдағы оқиғалар мен кездесулерді жарнамалау үшін қайта -қайта қолдануға болады. Бірақ хабарландыруды немесе жарнаманы қағазға басып шығарып, хабарландыру тақтасына бекіту керек.
Бұл нұсқаулықта көптеген қағаздар мен тонерді үнемдеу үшін Raspberry Pi көмегімен цифрлық хабарландыру тақтасын құруды үйренейік!
1 -қадам: Сандық хабарландыру тақтасы қалай жұмыс істейді?
- Raspberry Pi біздің сандық хабарландыру тақтасы болып табылатын HDMI дисплейіне қосылған.
- Windows компьютері Интернет арқылы сандық хабарламалар тақтасында хабарламаны жариялау үшін қолданылады.
- Windows ДК жариялаған хабарламаны CloudMQTT брокері арқылы Digital Notice Board алады.
- Windows компьютері мен цифрлық хабарламалар тақтасы арасындағы байланыс MQTT хаттамасы арқылы жүзеге асады.
2 -қадам: Қажетті заттар:
- Rasbian OS қосылған Raspberry Pi
- HDMI порты бар дисплей
- Windows компьютері
- Интернет байланысы
- CloudMQTT есептік жазбасы
3 -қадам: Хабарландыруларды көрсету үшін GUI дизайны:
Біз 2 GUI -ді жобалауымыз керек, біреуі Raspberry Pi -ге арналған хабарламаны HDMI дисплейінде көрсету үшін, екіншісі Windows компьютеріне арналған хабарламаны Raspberry Pi -ге CloudMQTT брокері арқылы жариялау үшін.
GUI дизайны цифрлық хабарландыру тақтасын орналастыратын жерге байланысты. Мысалы, алдағы оқиғалар мен кездесулерді көрсету үшін қызметкерлерді соңғы ақпаратпен жаңартып отыру үшін Instructables Office GUI құруға рұқсат етіңіз.
Windows компьютерінде GUI құрастыру оңай, сондықтан Windows компьютерінде Digital Notice Board GUI -ді құрастырып, кодты Raspberry Pi -ге көшірейік.
Қажетті бағдарламалық қамтамасыз ету:
Анаконда (оған python 2.7, Qt Designer пакеті мен Spyder IDE кіреді).
Qt Designer - бұл GUI -ді құруға арналған құрал. Qt Designer шығысы.ui файлы болады, кейін оны әрі қарай өңдеу үшін.py түрлендіруге болады.
Бейнеде не болып жатыр?:
- Python 2.7 үшін Anaconda Windows Installer жүктеп, оны Windows компьютеріне орнатыңыз (қалыпты орнату процесі).
- Орнатқаннан кейін сіз Qt Designer құралын «install_directory / Library / bin / designer.exe» ішінен таба аласыз (мен үшін бұл «C: / Anaconda2 / Library / bin / designer.exe»)
- «Designer.exe» сілтемесін жасаңыз және оны жұмыс үстеліне қойыңыз.
- «designer.exe» файлын ашыңыз.
- Жаңа негізгі терезені жасаңыз.
- Орналасулар мен қажетті көріністерді (мәтін көрінісі, жапсырма көрінісі және т.б.) таңдаңыз және орналастырыңыз.
- Rpi_UI.ui файлы ретінде сақтаңыз.
- Оны.py файлына айналдыру үшін Rpi_UI.ui файлы бар қалтада cmd шақыруын ашыңыз және келесі пәрменді теріңіз
install_directory / Library / bin / pyuic5.bat -x RPi_UI.ui -o RPi_UI.py
мен үшін бұл, C: / Anaconda2 / Library / bin / pyuic5.bat -x RPi_UI.ui -o RPi_UI.py
бұл команда Rpi_UI.ui файлын toRpi_UI.py файлына түрлендіреді және оны сол каталогқа орналастырады.
- Anaconda құрамына кіретін Spyder IDE көмегімен Rpi_UI.py файлын ашыңыз.
- Сценарийді іске қосу біз бұрын жасаған GUI көрсетеді.
Әрі қарай, CloudMQTT есептік жазбасын орнатуға рұқсат етіңіз.
4 -қадам: CloudMQTT есептік жазбасын орнату:
- Мына сілтемеге өтіңіз.
- Электрондық пошта арқылы тіркелгі жасаңыз және тіркелгіңізге кіріңіз.
- Жаңа дананы жасаңыз (мен оны TEST_1 деп атадым).
- Instance ақпаратын ашыңыз.
- Серверге, пайдаланушыға, құпия сөзге және портқа назар аударыңыз.
- CloudMQTT Python құжаттамасына жүгініңіз және сценарийді CloudMQTT.py ретінде сақтаңыз.
- Құжаттамадағы мысал коды paho кітапханасын қажет етеді, Paho Python Client бағдарламасын pip құралының көмегімен орнатыңыз, әкімші ретінде cmd шақыруын ашыңыз және келесі пәрменді енгізіңіз.
paho-mqtt орнатыңыз
5 -қадам: Raspberry Pi қорытынды коды түсіндіріледі:
Міне, мен RPi_UI.py файлын CloudMQTT.py -мен біріктіруді және оны RPi_UI.py ретінде сақтауды түсіндірейін.
Кітапханаларды импорттаңыз, егер ол орнатылмаса
paho.mqtt.client файлын mqtt ретінде импорттаңыз
PyQt5 -тен urlparse импорттау QtGui, QtWidgets, QtCore PyQt5 -тен импорттау
Googledrivedownloader орнату үшін пәрменді қолданыңыз
pip googledrivedownloader орнатыңыз
Айнымалыларды инициализациялау,
белгіше = «[email protected]»
CompetImg = «қара» кездесу1 = «Кездесу1:» орын1 = «Уақыт пен орын1.» Meeting2 = «Жиналыс2:» venue2 = «Уақыт пен орын2.» кездесу3 = «Кездесу3:» орын3 = «Уақыт пен орын3.»
Ui_MainWindow класы бойынша
сынып Ui_MainWindow (объект):
def setupUi (өзін, MainWindow):… def retranslateUi (өзін, MainWindow):… def _update (өзін):…
SetupUi функциясының келесі жолдары _update функциясын шақыру арқылы әр 3 секунд сайын GUI жаңартады
self.retranslateUi (MainWindow)
QtCore. QMetaObject.connectSlotsByName (MainWindow) self.timer = QTimer () self.timer.timeout.connect (self._update) self.timer.start (3000)
On_message функциясы брокерден хабарламаны күтеді, хабар алынғаннан кейін суретті google дискіден google drive ортақ сілтеме идентификаторы арқылы жүктейді, сонымен қатар жаһандық айнымалылардың мәндерін өзгертеді
def on_message (клиент, obj, хабар):
print (str (msg.payload)) if (str (msg.payload)): noteReceived = str (msg.payload) нәтиже = қайта іздеу ('%1 (.*)%2 (.*)%3 (. *)%4 (.*)%5 (.*)%6 (.*)%7 (.*)%8 ', хабарлама алынды) жаһандық конкурсImg global Meeting1 жаһандық орын1 жаһандық кездесу2 жаһандық кездесу2 жаһандық кездесу3 жаһандық орын3 fileId = «» +result.group (1)+«» path = «/home/pi/Desktop/Instructables/RPi UI/ContestImages/»+result.group (1)+«. jpg» gdd.download_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): if tId == 0: while 1: rc = 0 while 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_ ()) threadA = Thread (мақсатты) = sqImport, args = [0]) threadB = Thread (target = sqImport, args = [1]) threadA.start () threadB.start () threadA.join () threadB.join ()
Керемет, біз Raspberry Pi -ді орнатуды аяқтадық, содан кейін хабарды Raspberry Pi -ге жариялау үшін Windows компьютерлеріне арналған GUI құрастырамыз.
6 -қадам: Windows PC GUI:
- Windows үшін GUI жасаңыз және оны Windows_UI.ui ретінде сақтаңыз.
- Оны python файлына айналдырыңыз.
- Оны CloudMQTT.py файлымен біріктіріп, оны Windows_UI.py ретінде сақтаңыз.
- Windows_UI.py файлының функциясы RPi_UI.py файлына ұқсас, айырмашылығы - Windows_UI.py файлында хабарды жариялау, ал RPi_UI.py хабарламаны алады.
7 -қадам: Windows компьютерінің соңғы коды түсіндіріледі:
- Windows_UI.py файлында RPi_UI.ui файлдарының барлығынан басқа барлық сыныптары мен функциялары бар.
- On_message функциясының орнына хабарламаны жариялау үшін on_publish функциясы бар.
- RetanslateUi функциясының келесі коды PUBLISH батырмасы басылғаннан кейін жариялау функциясын шақырады.
self.pushButton.clicked.connect (self.publish)
- Жариялау функциясы google drive ортақ сілтеме идентификаторы мен жиналыс ақпаратын біріктіреді және оны «хабарландыру» тақырыбында жариялайды.
- Бұл хабарды Raspberry Pi алады.
8 -қадам: Сандық хабарландыру тақтасын орнатыңыз:
- Raspberry Pi -ді HDMI дисплейіне қосыңыз, мен Sony теледидарымды сандық хабарламалар тақтасының дисплейі ретінде қолдандым.
- Raspi Pi ішіндегі RPi_UI.py файлын іске қосыңыз.
- Windows компьютерінде Windows_UI.py файлын іске қосыңыз.
- Конкурс суреті мен жиналыс туралы хабарландырудың Google дискісінің сілтеме идентификаторын енгізіңіз.
- ЖАРЫҚТАУ түймесін басыңыз.
- Енді сіз бірнеше секунд ішінде жаңартылған сандық хабарландыру тақтасын көре аласыз.
Кеңестер:
- Сіз цифрлық хабарландыру тақталарының қажетті санын жасай аласыз және тақталар әр түрлі тақырыптарға жазыла алады.
- Windows_UI.py файлын портативті ету үшін, файлды pyinstaller көмегімен орындалатын файлға түрлендіруге болады, осылайша кез келген Windows компьютерінде орындалатын файлды компьютерге қажетті кітапханаларды орнатпай -ақ іске қосуға болады.
Рақмет сізге
САБАРИ КАННАН М.
Ұсынылған:
Кристалды осциллятор мен флип -флоптарды қолданатын цифрлық сағат: 3 қадам
Кристалды осциллятор мен флип -флоптарды қолданатын цифрлық сағат: сағаттар электрониканың барлық түрлерінде кездеседі, олар кез келген компьютердің жүрек соғысы. Олар барлық тізбекті тізбектерді синхрондау үшін қолданылады. олар уақыт пен күнді бақылау үшін есептегіш ретінде де қолданылады. Бұл нұсқаулықта сіз үйренесіз
Raspberry Pi хабарландыру тақтасы: 11 қадам (суреттермен)
Raspberry Pi хабарландыру тақтасы: Бұл менің шіркеуім үшін жұмыс жасаған жоба. Біз нартекс/вестибюль аймағына орнатылатын және әр секунд сайын статикалық слайдтар арқылы айналатын электронды хабарландыру тақтасын алғымыз келді. Бұл біздің жобалық мақсаттарымыз: статикалық слайдтар, бейне немесе дыбыс жоқ
Arduino мен жарықдиодты матрицалық дисплейді қолданатын цифрлық сағат: 6 қадам
Ардуино мен жарықдиодты матрицалық дисплейді қолданатын цифрлық сағат: Қазіргі уақытта жасаушылар мен әзірлеушілер жобалардың прототипін тез дамыту үшін Arduino -ны қалайды. Arduino-бұл ашық аппараттық құралдар мен бағдарламалық жасақтамаға негізделген ашық электронды платформа. Arduino өте жақсы пайдаланушылар қауымдастығына ие. Бұл жобада
WiFi мен IR қашықтан басқару пульті мен Android қосымшасын қолданатын NodeMCU мен IR қабылдағышымен 8 релелік басқару: 5 қадам (суреттермен)
WiFi мен IR қашықтан басқару пульті мен Android қосымшасын пайдаланатын NodeMCU мен IR қабылдағышымен 8 релелік басқару: wifi мен қашықтан және андроид қосымшасы арқылы nodemcu мен IR қабылдағышты қолданатын 8 релелік қосқышты басқару. Қашықтан басқару құралы wifi қосылымына тәуелсіз жұмыс істейді. МҰНДА
Мектептеріңіздің хабарландыру тақтасын шынымен хабарландыру етіңіз: 4 қадам
Мектептеріңіздің хабарландыру тақтасын шынымен де есте қаларлықтай етіп жасаңыз: Бір күні мен сабақта отырдым, өз жұмысымды істедім (жөтел, жөтел, сөйлеу, жөтел), ал менің мұғалім мені сыртқа шақырды. Баггер, мен ойладым. Бірақ жоқ, ол шын мәнінде оны салуымды қалаған