Բովանդակություն:
- Քայլ 1: Mqtt բրոքերի տեղադրում
- Քայլ 2. Փորձարկում MQTT (Mosquitto)
- Քայլ 3. Armtronix Board & Mqtt- ի հետ աշխատելը
Video: MQTT Armtronix տախտակների վրա. 3 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:45
Այս ուսանելի ծրագրում մենք կցանկանայինք սկզբում ցույց տալ ձեզ, թե ինչպես կարող եք օգտագործել Linux (Debian կամ Ubuntu) համակարգով և տեղադրել դրա վրա Mosquitto (Mqtt Broker), ինչպես նաև ցույց տալ, թե ինչպես օգտագործել Mqtt հաճախորդը ձեր հեռախոսի (Android)/ Linux հիմքի վրա համակարգը, հաղորդագրություններ ուղարկելը և ստանալը Mqtt- ի միջոցով: Սրա հետ ծանոթանալուց հետո մենք կցանկանայինք ցույց տալ ձեզ, թե ինչպես կարող եք կարգավորել և միացնել մեր խորհուրդը այս տեղադրված Mqtt բրոքերի հետ: Նաև կցանկանայի ցույց տալ ձեզ, թե ինչպես կարող եք ավելացնել իսկությունը Mqtt բրոքերին և կարգաբերման որոշ հիմնական խորհուրդներ և հնարքներ: Այսպիսով, եկեք սկսենք ………..
Քայլ 1: Mqtt բրոքերի տեղադրում
Կան բազմաթիվ Mqtt բրոքերներ, որոնք կարող եք տեղադրել: Որոշ հայտնի են, ինչպես նշված է ստորև: Նրանցից ոմանք ամպի վրա հիմնված ծառայություններ են:
- HiveMQ
- MosquittoCloud
- MQTT
- Adafruit.io
Մենք ձեզ ցույց կտանք, թե ինչպես տեղադրել Mosquitto- ն Linux- ի վրա հիմնված համակարգում (Ubuntu 18.04): Դա անելու համար նախ Mosquitto- ն ավելացրեք ubuntu աղբյուրների ցուցակին: Երբ Mosquitto- ն հասանելի լինի Ubuntu պահոցներում, դուք կկարողանաք տեղադրել այն apt-get- ով:
Պարզապես բացեք տերմինալ: Տերմինալ բացելու համար գնացեք Ubuntu Desktop- ի ձախ ներքևի անկյուն, կտտացրեք Showույց տալ ծրագիրը (նշվում է 3X3 ցանց): Պատուհան կբացվի: Այնտեղ դուք փնտրում եք տերմինալ: Սեղմեք տերմինալի վրա: Դուք պետք է կարողանաք տեսնել բացվող պատուհանը, ինչպես ցույց է տրված հետևյալ պատկերներում:
- Applicationույց տալ դիմումը (Պատկեր 1):
- Որոնել տերմինալ (Պատկեր 2):
- Տերմինալի պատուհան (Պատկեր 3):
Տերմինալը բացելուց հետո մուտքագրեք հետևյալ հրամանները
sudo apt-add-repository ppa: mosquitto-dev/mosquitto-ppa
sudo apt-get թարմացում
sudo apt-get տեղադրել մոծակ
Կարող եք նաև տեղադրել Mqtt հաճախորդը: Դա անելու հրաման կլինի
sudo apt-get տեղադրեք մոծակների հաճախորդներ
Որոշ պատկերներ ՝ ձեր տեղեկանքի համար
- ՊՊԱ ավելացնելը (Պատկեր 4):
- Ռեպոյի թարմացում (Պատկեր 5):
- Mosquitto- ի տեղադրում (Պատկեր 6):
- Mosquitto Client- ի տեղադրում (Պատկեր 7):
Քայլ 2. Փորձարկում MQTT (Mosquitto)
Mqtt- ը ubuntu- ի միջոցով (նույն համակարգը կամ այլ համակարգ) փորձարկելու համար հարկավոր է տեղադրել mqtt հաճախորդը, որը ավելի վաղ տեղադրվել էր sudo apt-get install mosquitto-clients հրամանով: Այն դեպքում, երբ ցանկանում եք փորձարկել այն բջջային հեռախոսի (android) միջոցով, կարող եք տեղադրել MyMqtt ծրագիրը play store- ից:
Mqtt- ն աշխատում է Թեմաներ կոչվող բանի վրա: Հեշտ հասկանալու համար այս թեմաները դիտեք որպես համակարգչի կոշտ սկավառակի թղթապանակ: Եկեք այս համակարգչին վերաբերվենք որպես համակարգչային սերվեր (որը mqtt աշխարհում Mqtt Broker է): Այս սերվերում եկեք հաշվի առնենք մեկ թղթապանակ ունենալու մասին:
Թղթապանակի անունը ՝ /Folder_one /
Այժմ եկեք հաշվի առնենք երկու տարբեր համակարգերից (ԱՀ/նոթբուք) երկու հոգու, ովքեր մուտք են գործում այս սերվեր ՝ ֆայլեր կարդալու կամ ֆայլեր ուղարկելու/թափելու կամ երկուսն էլ կատարելու համար:
Մենք երկու մարդկանց/համակարգին կանվանենք System X, System Y (Սրանք Mqtt Clients in Mqtt World- ում են):
Հիմա, ենթադրենք, System X- ն ուղարկում/թափում է ինչ -որ ֆայլ (ֆայլի անունը ՝ ջերմաստիճան) «/Folder_one/» թղթապանակ, սա mqtt աշխարհում մենք կարող ենք անվանել այս հրատարակություն (մենք ֆայլի փոխարեն ուղարկում ենք որոշակի հաղորդագրություն/բեռնվածություն):
Այժմ, ենթադրենք System Y- ն ցանկանում է ստանալ/կարդալ այս ֆայլը կամ որևէ նոր ֆայլ կամ թարմացնել այս թղթապանակում, առաջին բանը, որ անհրաժեշտ է, դա իմանալն է թղթապանակի անունն ու ուղին, որը մեր դեպքում «/Folder_one/» է: Այսպիսով, այժմ այն կգնա այս թղթապանակ և կկարդա/կստանա այդ ֆայլը (ֆայլի անունը. Ջերմաստիճան): Theանապարհը/թեման իմանալը և Mqtt աշխարհում ֆայլի/նոր ֆայլերի փոփոխությունների ստուգումը այդ թեմայի բաժանորդագրությունն է:
Հաշվի առնելով վերը նշված օրինակը ՝
System X- ը հրապարակում է «/Folder_one», իսկ System Y- ն բաժանորդագրվում է «/Folder_one» - ին
Նաև նշեք, որ System X- ը կարող է նաև բաժանորդագրվել «/Folder_one» - ին, իսկ System Y- ն կարող է հրապարակել նաև «/Folder_one» - ին: Իմաստունի պես, նույնիսկ Server համակարգը (The Mqtt Broker) կարող է հրապարակել/բաժանորդագրվել «/Folder_one» - ին ՝ դրա վրա տեղադրելով Mqtt հաճախորդը, ինչպես դա արել ենք ներկայումս: Մյուս բանը, որ պետք է հիշել, այն է, որ հրապարակեք կամ բաժանորդագրվեք մի թեմայի, որը ձեզ հարկավոր է իմանալ Mqtt բրոքերի IP հասցեն:
Սկզբում մենք այն կփորձարկենք ubuntu հաճախորդի միջոցով, որը տեղադրված է նույն համակարգում, ինչ բրոքերն է: Մենք կբացենք երկու տերմինալային պատուհաններ, որոնցից մեկը կհրապարակի, իսկ մյուսը ՝ բաժանորդագրվելու դրան: Օրինակի համար մենք կօգտագործենք /Folder_one- ը որպես թեմա: Նախքան փաբը/թեմայի ենթակայ լինելը ձեզ հարկավոր է գտնել ubuntu- ի IP հասցեն: Դա անելու համար կտտացրեք էկրանի աջ վերին անկյունին, ընտրեք wifi կարգավորումը, այնտեղից կկարողանաք գտնել ubuntu համակարգի IP հասցեն (ներկայումս բրոքերի IP): Հղման համար համօգտագործված էկրանի կարճ նկար (Պատկեր 8):
Կամ բրոքերի IP հասցեն գտնելու համար կարող եք գտնել IP հասցե ՝ տեղադրելով ցանցային գործիքներ ՝ օգտագործելով տերմինալում հետևյալ հրամանը
sudo apt տեղադրել ցանցային գործիքներ
Netանցային գործիքների տեղադրում (Պատկեր 9): Դրանից հետո պարզապես մուտքագրեք ipconfig հրամանը, դուք կստանաք ցանցի ինտերֆեյսի ցանկ ՝ mac և IP հասցեներով
sudo ipconfig
Իմ համակարգի IP հասցեն է 192.168.1.67 (Պատկեր 10)
Հրապարակելու համար
mosquitto_pub -h 192.168.1.67 -t /Folder_one -m pub_to_folderone
Այստեղ mosquitto_pub- ը հրաման է, որին հաջորդում է պարամետրի նույնացուցիչ տարրը -h, որը հանդիսանում է հյուրընկալողի /բրոքերի IP հասցեն (մեր դեպքում ՝ 192.168.1.67), որին հաջորդում է –t- ը, որը հանդիսանում է հրատարակչի թեմայի անվանումը (մեր դեպքում /Folder_one), որին հաջորդում է -m, ինչը նշանակում է ուղարկվող հաղորդագրություն/բեռնվածություն (որը մեր դեպքում pub_to_folderone է):
Բաժանորդագրվելու համար
mosquitto_sub -h 192.168.1.67 -t /Folder_one
Հրատարակչի ուղարկած հաղորդագրությունը ՝ pub_to_folderone
Հրապարակման օրինակ
mosquitto_pub -h 192.168.1.67 -t /Folder_one -m «hi test mqtt»
mosquitto_pub -h 192.168.1.67 -t /Folder_one -m “mqtt working”
Թեմային բաժանորդագրվելիս ստացված պատասխանի օրինակ
mosquitto_sub -h 192.168.1.67 -t /Folder_one
Հրատարակչի ուղարկած հաղորդագրությունը.
- pub_to_folderone
- բարև թեստ mqtt
- mqtt աշխատում է
Pub Sub- ը երկու առանձին տերմինալային պատուհանում ՝ կողք կողքի (Պատկեր 11)
Mqtt- ի փորձարկում android- ում (իմ mqtt)
Տեղադրեք mymqtt ծրագիրը play store- ից ձեր Android հեռախոսի վրա (Պատկեր 12)
Բացեք ծրագիրը և կտտացրեք ձախ վերին անկյունին (Պատկեր 13, Պատկեր 14):
Կտտացրեք Կարգավորումներ և մուտքագրեք բրոքերի IP հասցեն, նավահանգիստը լռելյայն կլինի 1883: Ներկայումս մենք չենք օգտագործում վավերացված mqtt բրոքեր, ուստի օգտվողի անունն ու գաղտնաբառը դատարկ կլինեն: Պարզապես պահեք այն և կրկին կտտացրեք ծրագրի ձախ վերին անկյունում (<Կարգավորումներ), դարակը նորից կբացվի (Պատկեր 15):
Գզրոցի վերևում այն ձեզ ցույց կտա բրոքերի IP հասցեն և նավահանգիստը, որին միացված է ծրագիրը (Պատկեր 16):
Այժմ ավելացրեք այն թեման, որին ցանկանում եք բաժանորդագրվել ՝ կտտացնելով «Բաժանորդագրվել»: Այստեղ մենք թեման կավելացնենք որպես /Folder_one (Պատկեր 17, Պատկեր 18):
Դա անելուց հետո, ubuntu համակարգից, օգտագործելով տերմինալը, մենք կհրապարակենք թեմային: Հրապարակման ժամանակ դուք պետք է ստանաք այս բջջային հավելվածում հրապարակված բեռնվածությունը/հաղորդագրությունը: Օրինակ ՝ բեռնվածքի հրատարակումը որպես «ARM -Automation Robotics & Mechatronics» անվանումով: Հրամանը, ինչպես նշվեց ավելի վաղ:
mosquitto_pub -h 192.168.1.67 -t /Folder_one -m «ARM -Automation Robotics & Mechatronics»
հրատարակում ubuntu համակարգից (Պատկեր 19):
Ստացվել է հրապարակված հաղորդագրությունը վահանակի վրա (Պատկեր 20):
Այժմ եկեք հրապարակենք android հեռախոսից (My mqtt) և բաժանորդագրվեք ubuntu համակարգին: Այս օրինակի համար մենք օգտագործում ենք «/mymqtt_to_pub» թեման:
Դա անելու համար նախ բացեք տերմինալ ձեր ubuntu համակարգից և բաժանորդագրվեք «/mymqtt_to_pub» թեմային ՝ օգտագործելով հետևյալ հրամանը (Պատկեր 21)
mosquitto_sub -h 192.168.1.67 -t /mymqtt_to_pub
Այժմ գնացեք mymqtt հավելվածի դարակը և կտտացրեք հրապարակել: Ավելացրեք հրապարակման թեման (մեր դեպքում դա «/mymqtt_to_pub» է) և ուղարկեք մի քանի հաղորդագրություն, ինչպես մենք կուղարկենք «hi Ubuntu», սեղմեք ուղարկելու կոճակը (Պատկեր 22, Պատկեր 23):
Հաղորդագրությունը պետք է հայտնվի ubuntu համակարգի ձեր տերմինալային պատուհանում (Պատկեր 24):
Նկատի ունեցեք, որ և ubuntu համակարգը, և Android հեռախոսը պետք է լինեն նույն ցանցում կամ 1883 պորտը պետք է բացահայտվի, և դուք պետք է իմանաք ձեր երթուղղիչի/դարպասի IP հասցեն, որպեսզի mqtt- ն աշխատի: Եթե ցանկանում եք վավերացում ավելացնել ձեր mqtt բրոքերին, կարող եք դա անել ՝ հետևելով ստորև նշված բլոգի հղմանը https://medium.com/@eranda/setting-up-authenticat… Հետևեք այս բլոգի երկրորդ քայլին: Մենք միացրել ենք մեր բրոքերի իսկությունը և կօգտագործենք վավերացված բրոքեր մեր տախտակների համար:
Քայլ 3. Armtronix Board & Mqtt- ի հետ աշխատելը
Ներկայումս այս ուսանելիի համար մենք օգտագործում ենք մեր Wifi Single Dimmer խորհուրդը, որն օգտագործում է Triac- ը ՝ կտրելու համար սինուսոալիքը և իր հերթին լամպը մարում կամ վերահսկում է օդափոխիչի արագությունը: Նաև մենք այն միացրել ենք mqtt նույնականացման տիպի միջոցով:
Սկզբում մենք կազմաձևեցինք տախտակը: Այն կազմաձևելու քայլերը, ինչպես նշված է ստորև:
Միացում տախտակին, այն կսկսի հյուրընկալել Wifi մուտքի կետ:
Android հեռախոսով կամ նոութբուքով միացեք այս AP- ին (Պատկեր 25):
Այս AP- ին միանալուց հետո մուտքագրեք 192.168.4.1 ՝ AP- ի միացված համակարգից/հեռախոսից դիտարկիչ (chrome/firefox) բացելով: Համոզվեք, որ չեք օգտագործում ձեր տվյալների կապը (3G/4G):
IP- ն մուտքագրելիս կբացվի վեբ էջ, որտեղ պետք է մուտքագրվի հետևյալը (Պատկեր 26):
- SSID ՝ Wifi AP անուն:
- Գաղտնաբառ ՝ SSID գաղտնաբառ:
- IoT ռեժիմ Mqtt կամ Http (Ընտրեք Mqtt):
- Mqtt Broker IP (Մեր դեպքում դա 192.168.1.67 է):
- Mqtt օգտվողի անունը և գաղտնաբառը, քանի որ մենք օգտագործում ենք նույնականացման տեսակը, մենք օգտագործել ենք Naren, xxxx
- Mqtt հրապարակման թեման. Սա կլինի այն թեման, որի վերաբերյալ հրապարակում է նաև խորհուրդը, մենք օգտագործել ենք /testpub:
- Mqtt բաժանորդագրվելու թեման. Սա կլինի այն թեման, որի վրա խորհուրդը լսում է triac- ի հրահրման հրամանները, որոնք մենք օգտագործել ենք /testub:
- Սարքի անունը. Դա այն անունն է, որը դուք կոչում եք alexa ՝ տախտակը գործարկելու համար, մենք օգտագործել ենք corvi:
Մանրամասները մուտքագրելուց հետո կտտացրեք ներկայացնել կոճակին, դա անելու դեպքում դուք կստանաք էկրան, ինչպես ցույց է տրված Պատկեր 27 -ում, սպասեք որոշ ժամանակ, մինչև խորհուրդը դադարեցնի AP- ի ընդունումը:
Խնդրում ենք նկատի ունենալ, որ մենք Uart- ի միջոցով մեր խորհուրդը միացրել ենք Arduino IDE- ի սերիական մոնիտորին: Այսպիսով, ձախ կողմում կտեսնեք այն վրիպազերծման հաղորդագրությունները, որոնք այն տպում է Uart- ի միջոցով (սա պարզապես ձեր տեղեկանքի համար է):
Երբ դա արվի, կարող եք դիտել վրիպազերծման էկրանը: Մանրամասների մեծ մասն այնտեղ տեսանելի կլինի: Դրանից հետո այն հաջողությամբ կկապվի բրոքերի հետ վրիպազերծման (սերիական) էկրանին, որը կարող եք տեսնել:
Միացված է MQTT բրոքերին ՝ նույնականացման միջոցով: Բաժանորդագրվել 1 թեմային:
Սա տպելուց հետո այժմ կարող եք սկսել հրամաններ ուղարկել mqtt- ի միջոցով այն թեմայի վրա, որին նա բաժանորդագրվել է, այսինքն.
Այս տախտակի համար հրամաններն են.
- R13_ON. Տրիակը միացնել 100%-ին:
- R13_OFF. Անջատել triac- ը 0%-ի:
- Dimmer: xx: Որտեղ, xx- ը մթնեցնող արժեք է և կարող է տատանվել 0 -ից 99 -ի սահմաններում:
- Վերագործարկեք ՝ տախտակի կազմաձևը մաքրելու համար:
- Կարգավիճակ. Տպել տպատախտակի ավելի թույլ լուսավորության կարգավիճակը գրատպության հրապարակման թեմայով:
Այս հրամանը ուղարկելու համար ubuntu- ի վրա հիմնված համակարգից, որտեղ տեղադրված է mqtt հաճախորդը, պարզապես մուտքագրեք այն, ինչպես ցույց է տրված ստորև: Նույնականացման պատճառով այստեղ ավելացվում է ևս երկու լրացուցիչ պարամետր `այսինքն.
mosquitto_pub -h 192.168.1.67 -u Naren -P xxxx -t /testub -m R13_ON
mosquitto_pub -h 192.168.1.67 -u Naren -P xxxx -t /testub -m R13_OFF
mosquitto_pub -h 192.168.1.67 -u Naren -P xxxx -t /testub -m Dimmer: 50
Նշում. 50 -ն ավելի թույլ արժեք է
mosquitto_pub -h 192.168.1.67 -u Naren -P xxxx -t /testub -m R13_ON
mosquitto_pub -h 192.168.1.67 -u Naren -P xxxx -t /testsub -m Կարգավիճակ
Վերջին կարգավիճակի համար կարգավիճակը տպվում է գրատախտակի հրապարակման թեմայի վրա, որը մեր դեպքում /testpub է: Օրինակ, եթե մենք անցնում ենք Dimmer: 50 գրատախտակին բաժանորդագրված թեմայի վրա, քան դա ֆիզիկապես կատարելու դեպքում, խորհուրդը հաղորդագրություն կուղարկի `նշելով հրապարակման թեմայի լուսավորված մակարդակը: Օրինակ ՝ ստորև, Ձեր ubuntu համակարգից բաժանորդագրվելու համար գրատախտակի հրապարակման թեմային մուտքագրեք հետևյալ հրամանը
mosquitto_sub -h 192.168.1.67 -u Naren -P xxxx -t /testpub
այն հաղորդագրությունը, որը մենք ստանում ենք
DimmerIS50
միևնույն էկրանի մի քանի շորտեր ՝ ստորև (Պատկեր 28, Պատկեր 29)
Խորհուրդ ենք տալիս:
WiFi- ի ավտոմատ միացում ESP8266/ESP32 տախտակների հետ `3 քայլ
Օգտագործելով WiFi AutoConnect ESP8266/ESP32 տախտակներով. Մենք կսովորենք, թե ինչպես օգտագործել AutoConnect գրադարանը, որը մեզ թույլ է տալիս սմարթֆոնի միջոցով միանալ և կառավարել WiFi մուտքի կետերը: Վերոնշյալ տեսանյութը ձեզ կառաջնորդի գործընթացում ՝ ձեզ անհրաժեշտ տարբեր էկրանների հետ միասին: մուտք գործել ՝ տեղեկություններ ստանալու մասին
GlassCube - 4x4x4 LED խորանարդ ապակե տախտակների վրա. 11 քայլ (նկարներով)
GlassCube - 4x4x4 LED խորանարդ ապակե տախտակների վրա. Այս կայքում իմ առաջին ուսանելիը 4x4x4 LED խորանարդն էր `ապակե PCB- ներ օգտագործելով: Սովորաբար, ես չեմ սիրում երկու անգամ նույն նախագիծն անել, բայց վերջերս հանդիպեցի ֆրանսիացի արտադրող Heliox- ի այս տեսահոլովակին, որն ինձ ոգեշնչեց իմ ծագման ավելի մեծ տարբերակ պատրաստել
SAMD21- ի վրա հիմնված տախտակների USB պորտը սարքավորման սերիական նավահանգստի պատրաստում: 3 քայլ
SAMD21- ի վրա հիմնված տախտակների USB պորտը սարքավորման սերիական նավահանգստի դարձնելը. Սա շատ օգտակար է մեր սիրելի տախտակներից տվյալների վրիպազերծման, ուղարկման և ստանալու համար: Ես աշխատում էի uChip- ի վրա, երբ անցնում էի տվյալների շտեմարանով
Սկսելով ESP32 - - ով ESP32 տախտակների տեղադրում Arduino IDE- ում - ESP32 Blink կոդ ՝ 3 քայլ
Սկսելով ESP32 | - ով ESP32 տախտակների տեղադրում Arduino IDE- ում | ESP32 Blink Code: Այս հրահանգների մեջ մենք կտեսնենք, թե ինչպես սկսել աշխատել esp32- ի հետ և ինչպես տեղադրել esp32 տախտակները Arduino IDE- ում, և մենք ծրագրելու ենք esp 32 -ին `թարթելու ծածկագիրը գործարկելով arduino ide- ի միջոցով:
4x4x4 DotStar LED խորանարդ ապակե տախտակների վրա. 10 քայլ (նկարներով)
4x4x4 DotStar LED խորանարդ ապակե տախտակների վրա. Այս նախագծի ոգեշնչումը եկավ այլ փոքրիկ LED խորանարդներից, ինչպիսիք են HariFun- ը և nqtronix- ը: Այս երկու նախագծերն էլ օգտագործում են SMD LED- ներ ՝ իսկապես փոքր չափսերով խորանարդ կառուցելու համար, սակայն առանձին LED- ները միացված են լարերով: Իմ գաղափարն էր