Мазмуну:
- 1 -кадам: Санариптик билдирүү тактасы кантип иштейт?
- 2 -кадам: Керектүү нерселер:
- 3 -кадам: Эскертүүлөрдү көрсөтүү үчүн GUI дизайны:
- 4 -кадам: CloudMQTT эсебин орнотуу:
- 5 -кадам: Raspberry Pi акыркы коду түшүндүрүлдү:
- 6 -кадам: Windows PC GUI:
- 7 -кадам: Windows PC акыркы коду түшүндүрүлдү:
- 8 -кадам: Санариптик билдирүү тактасын орнотуңуз:
Video: Raspberry Pi жана MQTT протоколун колдонуу менен санариптик билдирүү тактасы: 8 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:41
Билдирүү такталары кеңсе, мектептер, ооруканалар жана мейманканалар сыяктуу дээрлик бардык жерде колдонулат. Алар маанилүү эскертүүлөрдү көрсөтүү же алдыдагы окуяларды же жолугушууларды жарнамалоо үчүн кайра -кайра колдонулушу мүмкүн. Бирок кулактандыруу же жарнак кагазга басылып, такталарга илиниши керек.
Бул Нускамада, Raspberry Pi менен санариптик тактабызды курууну үйрөнөлү, көптөгөн кагаздарды жана тонерди үнөмдөңүз!
1 -кадам: Санариптик билдирүү тактасы кантип иштейт?
- Raspberry Pi биздин Санариптик тактабыз болгон HDMI дисплейине туташкан.
- Windows PC эскертмелерди Интернет аркылуу Санарип тактасына жарыялоо үчүн колдонулат.
- Windows PC тарабынан жарыяланган эскертме CloudMQTT брокери аркылуу Digital Notice Board тарабынан кабыл алынат.
- Windows PC менен Digital Notice Board ортосундагы байланыш MQTT протоколу менен ишке ашат.
2 -кадам: Керектүү нерселер:
- Rasbian OS менен Raspberry Pi
- HDMI порту менен көрсөтүү
- Windows PC
- Интернетке туташуу
- CloudMQTT эсеби
3 -кадам: Эскертүүлөрдү көрсөтүү үчүн GUI дизайны:
Биз 2 GUIди иштеп чыгышыбыз керек, бири Raspberry Pi үчүн эскертмени HDMI дисплейинде көрсөтүү үчүн, экинчиси Windows PC үчүн CloudMQTT брокери аркылуу Raspberry Piге билдирүү жарыялоо үчүн.
GUI дизайны Санариптик билдирүү тактасын жайгаштыра турган жерге көз каранды. Мисалы, келе жаткан окуяларды жана жолугушууларды көрсөтүү үчүн GUIди Instructables Office үчүн иштеп чыгууга уруксат бериңиз, ошондо кызматкерлер акыркы маалымат менен жаңыртылып турушу мүмкүн.
Windows ЖКда GUI долбоорлоо оңой, андыктан Windows PCдеги Digital Notice Board GUIди иштеп чыгалы жана кодду Raspberry Piге көчүрөлү.
Программалык камсыздоо талап кылынат:
Анаконда (анын ичинде python 2.7, Qt Designer пакети жана Spyder IDE бар).
Qt Designer GUIлерди иштеп чыгуу үчүн колдонулган курал. Qt Дизайнеринин чыгарылышы.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 / Китепкана / 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 Клиентин пип куралын колдонуп орнотуңуз, администратор катары cmd чакыруусун ачыңыз жана төмөнкү буйрукту киргизиңиз.
pip 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 = "black" Meeting1 = "Meeting1:" venue1 = "Time and place1." Meeting2 = "Meeting2:" venue2 = "Time and place2." Meeting3 = "Meeting3:" venue3 = "Time and place3."
Ui_MainWindow классынын артынан
класс Ui_MainWindow (объект):
def setupUi (өзүн, MainWindow):… def retranslateUi (өзүн, MainWindow):… def _update (өзүн):…
SetupUi функциясынын төмөнкү саптары _update функциясын чакырып, GUIди ар бир 3 секундда жаңыртып турат
self.retranslateUi (MainWindow)
QtCore. QMetaObject.connectSlotsByName (MainWindow) self.timer = QTimer () self.timer.timeout.connect (self._update) self.timer.start (3000)
On_message функциясы брокерден келген билдирүүнү күтөт, билдирүү алгандан кийин Google Driveдан бөлүшүлгөн шилтеме ID аркылуу google дисктен сүрөттү жүктөп алат жана глобалдык өзгөрмөлөрдүн маанилерин өзгөртөт
def on_message (кардар, obj, msg):
print (str (msg.payload)) if (str (msg.payload)): noteReceived = str (msg.payload) result = re.search ('%1 (.*)%2 (.*)%3 (. *)%4 (.*)%5 (.*)%6 (.*)%7 (.*)%8 ', эскертме алынды) глобалдык конкурсImg глобалдык жолугушуу1 глобалдуу жер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 = жол) CompetImg = result.group (1) Meeting1 = result.group (2) жер1 = result.group (3) жолугушуу2 = result.group (4) жер2 = result.group (5) жолугушуу3 = result.group (6) venue3 = result.group (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 PC үчүн GUIди иштеп чыгалы.
6 -кадам: Windows PC GUI:
- Windows үчүн GUIди иштеп чыгыңыз жана Windows_UI.ui катары сактаңыз.
- Аны python файлына айлантыңыз.
- Аны CloudMQTT.py файлы менен бириктирип, Windows_UI.py катары сактаңыз.
- Windows_UI.
7 -кадам: Windows PC акыркы коду түшүндүрүлдү:
- Windows_UI.py файлында RPi_UI.uiнин бардык класстары жана функциялары бар.
- On_message функциясынын ордуна, билдирүүнү жарыялоо үчүн on_publish функциясы бар.
- RetanslateUi функциясынын ичиндеги төмөнкү код ЖАРЫК баскычы басылганда жарыялоо функциясын чакырат.
self.pushButton.clicked.connect (self.publish)
- Жарыялоо функциясы google drive sharable link ID менен жолугушуу маалыматын бириктирип, аны "эскертүү" деген теманын алдында жарыялайт.
- Бул билдирүү Raspberry Pi тарабынан кабыл алынат.
8 -кадам: Санариптик билдирүү тактасын орнотуңуз:
- Raspberry Pi'ни HDMI дисплейине туташтырыңыз, мен Sony сыналгымды Digital Notice Board дисплейи катары колдондум.
- Raspi Piдеги RPi_UI.py файлын иштетүү.
- Windows ЖК Windows_UI.py файлын иштетүү.
- Конкурстун сүрөтүнүн жана жолугушуунун кулактандыруусунун Google дискинин шилтемесинин идентификаторун киргизиңиз.
- ЖАРЫЯ баскычын басыңыз.
- Эми бир нече секунданын ичинде жаңыртылган Санариптик тактаны көрө аласыз.
Кеңештер:
- Сиз каалаган сандык санарип такталарды түзө аласыз жана такталар ар кандай темаларга жазылышы мүмкүн.
- Windows_UI.py файлын портативдүү кылуу үчүн, pyinstallerдин жардамы менен файлды аткарылуучу файлга айландырсаңыз болот, ошондо сиз каалаган Windows PCте аткарылуучу файлды PCке керектүү китепканаларды орнотпостон иштете аласыз.
Рахмат
САБАРИ КАННАН М.
Сунушталууда:
Bluetooth менен башкарылган Messenger LCD -- 16x2 ЖК -- Hc05 -- Жөнөкөй -- Зымсыз билдирүү тактасы: 8 кадам
Bluetooth менен башкарылган Messenger LCD || 16x2 ЖК || Hc05 || Жөнөкөй || Зымсыз билдирүү тактасы: …………………………. Дагы видеолор үчүн менин YouTube каналыма ЖАЗЫЛЫҢЫЗ …… ………………………………… Билдирүү тактасы элдерди жаңы маалымат менен жаңыртуу үчүн колдонулат же эгер сиз бөлмөдө же жарымында билдирүү жөнөткүңүз келсе
IoT RPi LED билдирүү тактасы: 3 кадам (сүрөттөр менен)
IoT RPi LED билдирүү тактасы: Бул Нускамада мен Raspberry Pi (RPi) колдонуп wifiга туташкан LED билдирүү тактасын жасадым. Колдонуучулар 8x8 LED дисплейинде көрсөтүлүүчү кыска билдирүүлөрдү жөнөтүү үчүн браузерлерин колдонуп Raspberry Pi веб -серверине туташат. Интерфадан бери
Кондиционердин пультунун IR протоколун түшүнүү: 9 кадам (сүрөттөр менен)
Кондиционердин пультунун IR протоколун түшүнүү: Мен IR протоколдору жөнүндө көптөн бери үйрөнүп келе жатам. IR сигналдарын кантип жөнөтүү жана алуу. Бул жерде бир гана нерсе калды - АР пультунун IR протоколу. Электрондук жабдуулардын дээрлик бардыгынын салттуу пультторунан айырмаланып (телевизор дейли)
Ардуино жана смартфонду колдонуу менен абаны токтотуу үчүн санариптик контролер: 7 кадам (сүрөттөр менен)
Ардуино жана смартфонду колдонуу менен абаны токтотуу үчүн санарип контролер: Саламатсыздарбы баарына. Бул көрсөтмөдө мен сизге ардуино + bluetooth модулун колдонуп, андроид +4.4 менен алыстан каалаган смартфонуңузду колдонуп, автоунаа токтотуу үчүн контроллерди кантип курууну көрсөтүүгө аракет кылам. бул менин эң биринчи көрсөтмөм, ошондуктан аюу
Raspberry Pi: Дубалга орнотулган Календар жана Билдирүү Борбору: 5 кадам (Сүрөттөр менен)
Raspberry Pi: Дубалга орнотулган Календарь жана Билдирүү Борбору: & сандык доорго чейин ” көптөгөн үй -бүлөлөр алдыдагы окуялардын ай сайын көрүнүшүн көрсөтүү үчүн дубал календарын колдонушкан. Дубалга орнотулган календардын бул заманбап версиясы ошол эле негизги функцияларды камтыйт: Үй -бүлө мүчөлөрүнүн ай сайын күн тартибин шайкештештирүү