Բովանդակություն:
- Քայլ 1. Ինչպե՞ս է աշխատում թվային ծանուցման տախտակը:
- Քայլ 2: Պահանջվող բաներ
- Քայլ 3. Uանուցումների ցուցադրման 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 09:48
Iceանուցման տախտակները գրեթե օգտագործվում են ամենուր, ինչպիսիք են գրասենյակները, դպրոցները, հիվանդանոցները և հյուրանոցները: Դրանք կարող են նորից ու նորից օգտագործվել կարևոր ծանուցումներ ցուցադրելու կամ առաջիկա իրադարձությունների կամ հանդիպումների գովազդման համար: Բայց ծանուցումը կամ գովազդը պետք է տպվեն թղթի վրա և ամրացվեն ծանուցման վահանակներին:
Այս Ուղեցույցում եկեք սովորենք կառուցել մեր թվային ծանուցման տախտակը Raspberry Pi- ով ՝ շատ թղթեր և տոնիկ խնայելու համար:
Քայլ 1. Ինչպե՞ս է աշխատում թվային ծանուցման տախտակը:
- Raspberry Pi- ն միացված է HDMI էկրանին, որը մեր թվային ծանուցման տախտակն է:
- Windows համակարգիչն օգտագործվում է ծանուցումը թվային ծանուցման տախտակին ինտերնետի միջոցով հրապարակելու համար:
- Windows PC- ի կողմից հրապարակված ծանուցումը Digital Notice Board- ը ստանում է CloudMQTT բրոքերի միջոցով:
- Windows PC- ի և Digital Notice Board- ի միջև հաղորդակցությունն իրականացվում է MQTT արձանագրության միջոցով:
Քայլ 2: Պահանջվող բաներ
- Raspberry Pi Rasbian OS- ով
- Displayուցադրել HDMI պորտով
- Windows համակարգիչ
- Ինտերնետ կապը
- CloudMQTT հաշիվ
Քայլ 3. Uանուցումների ցուցադրման GUI ձևավորում
Մենք պետք է նախագծենք 2 GUI, մեկը Raspberry Pi- ի համար HDMI էկրանին ծանուցումը ցուցադրելու համար, իսկ մյուսը Windows PC- ի համար ՝ Raspberry Pi- ին ծանուցումը CloudMQTT բրոքերի միջոցով հրապարակելու համար:
GUI- ի դիզայնը կախված է այն վայրից, որտեղ դուք տեղադրելու եք թվային ծանուցման տախտակը: Օրինակ, թույլ տվեք նախագծել Instructables Office- ի GUI ՝ առաջիկա իրադարձություններն ու հանդիպումները ցուցադրելու համար, որպեսզի աշխատակիցները կարողանան թարմացվել վերջին տեղեկություններով:
Windows համակարգչի վրա հեշտ է GUI- ի ձևավորում, ուստի թույլ տվեք նախագծել Digital Notice Board GUI- ն Windows համակարգչում և պատճենել կոդը Raspberry Pi- ում:
Պահանջվող ծրագրակազմ
Anaconda (որը ներառում է python 2.7, Qt Designer փաթեթ և Spyder IDE):
Qt Designer- ը այն գործիքն է, որն օգտագործվում է GUI- ներ նախագծելու համար: Qt Designer- ի ելքը կլինի.ui ֆայլ, հետագայում այն կարող է փոխակերպվել.py հետագա ընթացքի համար:
Ի՞նչ է կատարվում տեսանյութում:
- Ներբեռնեք Anaconda Windows Installer- ը python 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 / 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 ֆայլ և կտեղադրի այն նույն գրացուցակում:
- Բացեք Rpi_UI.py ֆայլը Spyder IDE- ով, որը ներառված է Անակոնդայում:
- Սցենարը գործարկելիս կցուցադրվի ավելի վաղ նախագծված GUI:
Հաջորդը, եկեք ստեղծենք CloudMQTT հաշիվը:
Քայլ 4: Ստեղծեք CloudMQTT հաշիվ
- Այցելեք այս հղումը:
- Ստեղծեք հաշիվ էլփոստով և մուտք գործեք ձեր հաշիվ:
- Ստեղծեք նոր օրինակ (ես այն անվանեցի որպես TEST_1):
- Բացեք Instance- ի տվյալները:
- Նշեք սերվերը, օգտվողը, գաղտնաբառը և նավահանգիստը:
- Անդրադարձեք CloudMQTT Python Documentation- ին և պահպանեք սցենարը CloudMQTT.py- ով:
- Փաստաթղթերի օրինակելի կոդը պահանջում է paho գրադարան, Տեղադրեք Paho Python Client- ը pip գործիքի միջոցով, բացեք cmd հուշումը որպես ադմինիստրատոր և մուտքագրեք հետևյալ հրամանը:
pip տեղադրել paho-mqtt
Քայլ 5. Raspberry Pi- ի վերջնական ծածկագիրը բացատրված է
Այստեղ թույլ տվեք բացատրել, թե ինչպես եմ RPi_UI.py ֆայլը համատեղել CloudMQTT.py- ի հետ և պահել այն որպես RPi_UI.py:
Ներմուծեք գրադարաններ, եթե այն տեղադրված չէ, պարզապես տեղադրեք այն:
ներմուծել paho.mqtt.client որպես mqtt
ներմուծել urlparse PyQt5- ից
Googledrivedownloader- ը տեղադրելու համար օգտագործեք հրամանը
pip տեղադրել googledrivedownloader
Փոփոխականների սկզբնականացում,
պատկերակ = "[email protected]"
contestImg = "սև" հանդիպում 1 = "Հանդիպում 1." venue1 = "Timeամանակը և վայրը 1": meeting2 = "Հանդիպում 2:" venue2 = "Timeամանակը և վայրը 2": meeting3 = "Meeting3:" venue3 = "Timeամանակը և վայրը 3":
Հետևում է Ui_MainWindow դասին
դաս Ui_MainWindow (օբյեկտ):
def setupUi (self, MainWindow) ՝… def retranslateUi (self, MainWindow) ՝… def _update (self):…
Ֆունկցիայի setupUi- ի հետևյալ տողերը թարմացնում են GUI- ն ամեն 3 վայրկյանը մեկ `զանգահարելով _update գործառույթը
self.retranslateUi (հիմնական պատուհան)
QtCore. QMetaObject.connectSlotsByName (MainWindow) self.timer = QTimer () self.timer.timeout.connect (self._update) self.timer.start (3000)
On_message գործառույթը սպասում է միջնորդի հաղորդագրությանը, երբ հաղորդագրությունը ստացվում է, այն ներբեռնում է պատկերը google drive- ից ՝ google drive- ի օգտագործվող հղման ID- ի միջոցով, ինչպես նաև փոխում է գլոբալ փոփոխականների արժեքները:
def on_message (հաճախորդ, 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 ', noticeReceived) գլոբալ մրցույթ 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_file_from_google_drive (file_id = fileId, dest_path = ուղի) contestImg = result.group (1) հանդիպում 1 = result.group (2) ven11 = result.group (3) meeting2 = result.group (4) ven22 = result.group (5) meeting3 = result.group (6) վայր 3 = արդյունք. խումբ (7)
Կոդը բաղկացած է 2 անվերջ հանգույցից,
rc = mqttc.loop ()
եւ
sys.exit (app.exec_ ())
Այս օղակները միաժամանակ գործարկելու համար ես օգտագործել եմ Threading հասկացությունը
def sqImport (tId). 1 ՝ = sqImport, args = [0]) threadB = Thread (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 ֆունկցիայի մեջ կանչում է հրապարակման գործառույթը ՀՐԱՊԱՐԱԿԵԼ կոճակին սեղմելուց հետո:
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- ով վերահսկվող Messenger LCD -- 16x2 LCD -- Hc05 -- Պարզ -- Անլար ծանուցման տախտակ `8 քայլ
Bluetooth- ով կառավարվող Messenger LCD || 16x2 LCD || Hc05 || Պարզ || Անլար հայտարարությունների տախտակ. …………………………. Լրացուցիչ տեսանյութերի համար բաժանորդագրվեք իմ YouTube ալիքին …… ………………………………… noticeանուցումների տախտակն օգտագործվում է մարդկանց նոր տեղեկատվությամբ թարմացնելու համար կամ Եթե ցանկանում եք հաղորդագրություն ուղարկել սենյակում կամ կիսով չափ
Տնային ավտոմատացում Raspberry Pi- ի միջոցով `օգտագործելով ռելեային տախտակ. 7 քայլ
Տնային ավտոմատացում Raspberry Pi- ի միջոցով `օգտագործելով ռելեային տախտակ. Մարդկանց մեծ մասը ցանկանում է ունենալ մեծ հարմարավետություն, բայց ողջամիտ գներով: Մենք ծուլություն ենք զգում ամեն երեկո, երբ արևը մայր է մտնում և հաջորդ առավոտ լուսավորվում են տները ՝ կրկին անջատելով լույսերը, կամ միացնելու/անջատելու օդորակիչը/օդափոխիչը/ջեռուցիչները, ինչպես որ
Անլար ծանուցման տախտակ (Bluetooth) ՝ 5 քայլ (նկարներով)
Անլար ծանուցման տախտակ (Bluetooth). Այս ժամանակակից աշխարհում, որտեղ ամեն ինչ թվայնացված է, ինչու չէ, սովորական iceանուցումների տախտակը ստանում է նոր տեսք: Այսպիսով, թույլ տվեք կատարել Bluetooth- ով վերահսկվող iceանուցման տախտակ, որը շատ պարզ է: Այս կարգավորումը կարող է օգտագործվել ստատիկ ծանուցման տեղում տախտակ, ինչպես քոլեջներում
Հաջորդի ցուցադրում - Ինտերֆեյս և արձանագրություն բացատրված PIC- ով և Arduino- ով. 10 քայլ
Հաջորդի ցուցադրում | Ինտերֆեյսը և արձանագրությունը բացատրվում են PIC- ով և Arduino- ով. կգործի ցուցադրելու համար
CAN արձանագրություն. Այո, մենք կարող ենք: 24 քայլ
CAN արձանագրություն. Այո, մենք կարող ենք. Կարևոր է բացատրել, որ CAN- ը միաժամանակյա սերիական հաղորդակցության արձանագրություն է: Սա նշանակում է, որ ս