Բովանդակություն:

MQTT Armtronix տախտակների վրա. 3 քայլ
MQTT Armtronix տախտակների վրա. 3 քայլ

Video: MQTT Armtronix տախտակների վրա. 3 քայլ

Video: MQTT Armtronix տախտակների վրա. 3 քայլ
Video: BigTreeTech - Manta - M8P - Basics 2024, Հուլիսի
Anonim
MQTT Armtronix տախտակների վրա
MQTT Armtronix տախտակների վրա

Այս ուսանելի ծրագրում մենք կցանկանայինք սկզբում ցույց տալ ձեզ, թե ինչպես կարող եք օգտագործել Linux (Debian կամ Ubuntu) համակարգով և տեղադրել դրա վրա Mosquitto (Mqtt Broker), ինչպես նաև ցույց տալ, թե ինչպես օգտագործել Mqtt հաճախորդը ձեր հեռախոսի (Android)/ Linux հիմքի վրա համակարգը, հաղորդագրություններ ուղարկելը և ստանալը Mqtt- ի միջոցով: Սրա հետ ծանոթանալուց հետո մենք կցանկանայինք ցույց տալ ձեզ, թե ինչպես կարող եք կարգավորել և միացնել մեր խորհուրդը այս տեղադրված Mqtt բրոքերի հետ: Նաև կցանկանայի ցույց տալ ձեզ, թե ինչպես կարող եք ավելացնել իսկությունը Mqtt բրոքերին և կարգաբերման որոշ հիմնական խորհուրդներ և հնարքներ: Այսպիսով, եկեք սկսենք ………..

Քայլ 1: Mqtt բրոքերի տեղադրում

Mqtt բրոքերի տեղադրում
Mqtt բրոքերի տեղադրում
Mqtt բրոքերի տեղադրում
Mqtt բրոքերի տեղադրում
Mqtt բրոքերի տեղադրում
Mqtt բրոքերի տեղադրում
Mqtt բրոքերի տեղադրում
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 (Mosquitto) փորձարկում
MQTT (Mosquitto) փորձարկում
MQTT (Mosquitto) փորձարկում
MQTT (Mosquitto) փորձարկում
MQTT (Mosquitto) փորձարկում
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- ի հետ աշխատելը

Աշխատում է Armtronix Board & Mqtt- ի հետ
Աշխատում է Armtronix Board & Mqtt- ի հետ
Աշխատում է Armtronix Board & Mqtt- ի հետ
Աշխատում է Armtronix Board & Mqtt- ի հետ
Աշխատում է Armtronix Board & Mqtt- ի հետ
Աշխատում է 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)

Խորհուրդ ենք տալիս: