Mundarija:

Armtronix platalarida MQTT: 3 qadam
Armtronix platalarida MQTT: 3 qadam

Video: Armtronix platalarida MQTT: 3 qadam

Video: Armtronix platalarida MQTT: 3 qadam
Video: Диммер на Tiny85 Управляем из приложений 2024, Noyabr
Anonim
Armtronix platalarida MQTT
Armtronix platalarida MQTT

Ushbu qo'llanmada biz sizga Linux (Debian yoki Ubuntu) asosidagi tizimdan qanday foydalanishni va unga Mosquitto (Mqtt Broker) ni qanday o'rnatishni, shuningdek Mqtt mijozidan telefoningizda (Android)/ Linux asosida qanday foydalanishni ko'rsatmoqchimiz. Mqtt orqali xabar yuborish va qabul qilish tizimi. Bu bilan tanishib chiqqandan so'ng, biz sizga taxtamizni o'rnatilgan Mqtt brokeri yordamida qanday sozlash va ulash mumkinligini ko'rsatmoqchimiz. Shuningdek, sizga Mqtt brokeriga autentifikatsiyani qanday qo'shish mumkinligini va disk raskadrovka bo'yicha ba'zi asosiy maslahatlar va fokuslarni ko'rsatmoqchiman. Shunday qilib, boshlaylik ………

1 -qadam: Mqtt brokerini o'rnatish:

Mqtt brokerini o'rnatish
Mqtt brokerini o'rnatish
Mqtt brokerini o'rnatish
Mqtt brokerini o'rnatish
Mqtt brokerini o'rnatish
Mqtt brokerini o'rnatish
Mqtt brokerini o'rnatish
Mqtt brokerini o'rnatish

Siz o'rnatishingiz mumkin bo'lgan bir nechta Mqtt brokerlari mavjud. Ba'zi ma'lum bo'lganlar quyida aytib o'tilgan. Ulardan ba'zilari bulutga asoslangan xizmatlardir.

  • HiveMQ
  • MosquittoCloud
  • MQTT
  • Adafruit.io

Biz sizga mosquittoni Linux asosidagi tizimga (Ubuntu 18.04) qanday o'rnatishni ko'rsatamiz. Buni amalga oshirish uchun avval Mosquittoni ubuntu manba ro'yxatiga qo'shing. Mosquitto Ubuntu omborlarida mavjud bo'lganda, siz uni apt-get bilan o'rnatishingiz mumkin bo'ladi.

Faqat terminalni oching. Terminalni ochish uchun Ubuntu Desktop -ning pastki chap burchagiga o'ting, Ilovani ko'rsatish -ni bosing (nuqta 3X3 katakchasi). Oyna ochiladi. U erda siz terminalni qidirasiz. Terminalni bosing, siz quyidagi rasmlarda ko'rsatilgandek ochilgan oynani ko'rishingiz kerak.

  • Ilovani ko'rsatish (1 -rasm).
  • Terminalni qidiring (2 -rasm).
  • Terminal oynasi (3 -rasm).

Terminalni ochganingizdan so'ng quyidagi buyruqlarni kiriting

sudo apt-add-repository ppa: chivin-dev/chivin-ppa

sudo apt-get yangilanishi

sudo apt-get chivinni o'rnating

Mqtt mijozini ham o'rnatishingiz mumkin. Buni qilish buyrug'i bo'ladi

sudo apt-get chivin-mijozlarni o'rnating

Malumot uchun ba'zi rasmlar

  • Ppa qo'shish (4 -rasm).
  • Repo yangilanmoqda (5 -rasm).
  • Mosquittoni o'rnatish (6 -rasm).
  • Mosquitto mijozini o'rnatish (7 -rasm).

2 -qadam: MQTT (Mosquitto) ni sinovdan o'tkazish

MQTT (Mosquitto) sinovlari
MQTT (Mosquitto) sinovlari
MQTT (Mosquitto) sinovlari
MQTT (Mosquitto) sinovlari
MQTT (Mosquitto) sinovlari
MQTT (Mosquitto) sinovlari

Ubuntu (xuddi shu tizim yoki boshqa tizim) orqali mqttni tekshirish uchun avval sudo apt-get install mosquitto-clients buyrug'i bilan o'rnatilgan mqtt mijozini o'rnatish kerak. Agar siz uni mobil telefon (android) yordamida tekshirmoqchi bo'lsangiz, MyMqtt ilovasini o'yin do'konidan o'rnatishingiz mumkin.

Mqtt Topics deb nomlangan narsa ustida ishlaydi. Tushunish oson bo'lishi uchun bu mavzularni kompyuterning qattiq diskidagi papka sifatida ko'rib chiqing. Keling, bu kompyuterni kompyuter serveri sifatida ko'rib chiqaylik (mqtt dunyosida Mqtt Broker). Ushbu serverda bitta papkaga ega bo'lishni ko'rib chiqaylik.

Jild nomi: /Folder_one /

Keling, ikki xil tizimdagi (kompyuter/noutbuk) ikki kishini ko'rib chiqaylik, bu serverga fayllarni o'qish yoki fayllarni yuborish/tashlab yuborish yoki ikkala operatsiyani bajarish uchun.

Biz ikkita odamni/tizimni System X, System Y deb nomlaymiz (Bu Mqtt dunyosidagi Mqtt mijozlari).

Aytaylik, System X "/Folder_one/" jildiga ba'zi fayllarni (fayl nomi: harorat) yuboradi/tashlab yuboradi, bu mqtt dunyosida biz bu nashr deb atashimiz mumkin (biz fayl o'rniga xabar/yuk yuklaymiz).

Aytaylik, Y tizimi bu faylni yoki boshqa faylni olishni/o'qishni yoki bu papkani yangilashni xohlaydi, unga kerak bo'lgan birinchi narsa papkaning nomi va yo'lini bilishdir, bu bizning holatimizda "/Folder_one/". Endi u bu papkaga o'tadi va u faylni o'qiydi/oladi (fayl nomi: harorat). Yo'lni/mavzuni bilish va Mqtt dunyosidagi fayl/yangi fayllarning o'zgarishini tekshirish - bu mavzuga obuna bo'lish.

Yuqoridagi misolni hisobga olib, X tizimi "/Folder_one" ga nashr qilinmoqda va Y tizimi "/Folder_one" ga obuna bo'lgan.

Shuni ham unutmangki, X tizimi "/Folder_one" ga obuna bo'lishi mumkin va Y tizimi "/Folder_one" da ham nashr qilishi mumkin. Aqlli tarzda, hatto Server tizimi (Mqtt Broker) Mqtt mijozini biz o'rnatgan holda "/Folder_one" ga nashr qilishi/obuna bo'lishi mumkin. Esda tutish kerak bo'lgan boshqa narsa - Mqtt Brokerining IP -manzilini bilishingiz kerak bo'lgan mavzuni nashr qilish yoki unga obuna bo'lish.

Avval biz uni broker bilan bir xil tizimda o'rnatilgan ubuntu mijozi orqali sinab ko'ramiz. Biz ikkita terminal oynasini ochamiz, biri nashr qiladi, ikkinchisi unga obuna bo'ladi. Masalan, biz mavzu sifatida /Folder_one dan foydalanamiz. Mavzuga kirishdan oldin siz ubuntu -ning IP -manzilini topishingiz kerak bo'ladi. Buning uchun ekranning o'ng yuqori burchagiga bosing, wifi sozlamalarini tanlang, u erdan siz ubuntu tizimining IP -manzilini (hozirda broker IP) topa olasiz. Malumot uchun ekran tasviri (8 -rasm).

Yoki brokerning IP -manzilini topish uchun terminalda quyidagi buyruq yordamida tarmoq vositalarini o'rnatish orqali IP -manzilni topishingiz mumkin

sudo apt net-tools ni o'rnatadi

Tarmoq vositalarini o'rnatish (9-rasm). Shundan so'ng, ipconfig buyrug'ini kiriting, siz tarmoq va interfeyslarning ro'yxatini olasiz

sudo ipconfig

Mening tizimim IP -manzili 192.168.1.67 (10 -rasm)

Nashr qilish uchun

mosquitto_pub -h 192.168.1.67 -t /Folder_one -m pub_to_folderone

Bu erda mosquitto_pub buyrug'i bo'lib, undan keyin parametr -identifikator elementi -bu host /brokerning IP -manzili (bizning holatda 192.168.1.67), keyin -t -nashriyotchi uchun mavzu nomi (bizning holatda /Folder_one), keyin -m bu yuboriladigan xabarni/yukni bildiradi (bizning holatda pub_to_folderone).

Obuna bo'lish uchun

mosquitto_sub -h 192.168.1.67 -t /Folder_one

Nashriyot tomonidan yuborilgan xabar: pub_to_folderone

Nashr qilish uchun namuna

mosquitto_pub -h 192.168.1.67 -t /Folder_one -m "salom test mqtt"

mosquitto_pub -h 192.168.1.67 -t /Folder_one -m "mqtt ishlayotgan"

Mavzuga obuna bo'lish uchun olingan javoblarga misol

mosquitto_sub -h 192.168.1.67 -t /Folder_one

Nashriyot tomonidan yuborilgan xabar:

  • pub_to_folderone
  • salom test mqtt
  • mqtt ishlaydi

Pub Sub ikkita alohida terminal oynasida yonma -yon (11 -rasm)

Androidda Mqttni sinovdan o'tkazish (mening mqtt)

Android telefoningizga mymqtt ilovasini o'yin do'konidan o'rnating (12 -rasm)

Ilovani oching va chap yuqori burchakni bosing (13 -rasm, 14 -rasm).

Sozlamalarni bosing va broker IP -manzilini kiriting, port sukut bo'yicha 1883 bo'ladi. Hozirda biz tasdiqlangan mqtt brokeridan foydalanmayapmiz, shuning uchun foydalanuvchi nomi va parol bo'sh bo'ladi. Uni saqlang va yana ilovaning chap yuqori burchagini bosing (<Sozlamalar), tortma yana ochiladi (15 -rasm).

Çekmecenin yuqori qismida, sizga brokerning IP -manzili va ilova ulangan port ko'rsatiladi (16 -rasm).

Endi obuna bo'lishni bosish orqali obuna bo'lishni xohlagan mavzuni qo'shing. Bu erda biz mavzuni /Folder_one sifatida qo'shamiz (17 -rasm, 18 -rasm).

Buni qilgandan so'ng, ubuntu tizimidan terminal yordamida biz mavzuni nashr qilamiz. Nashriyotda siz ushbu mobil ilovada yuklangan yuk/xabarni olishingiz kerak. Masalan, yuklarni "ARM -Avtomatlashtirish robototexnika va mexatronika" sifatida nashr etish. Buyruq yuqorida aytib o'tilganidek.

mosquitto_pub -h 192.168.1.67 -t /Folder_one -m "ARM -Avtomatika robototexnika va mexatronika"

ubuntu tizimidan nashr qilish (19 -rasm).

Boshqaruv panelida e'lon qilingan xabar qabul qilindi (20 -rasm).

Endi Android telefonidan (My mqtt) nashr qilib, ubuntu tizimiga obuna bo'laylik. Bu misol uchun biz "/mymqtt_to_pub" mavzusidan foydalanmoqdamiz.

Buning uchun avval ubuntu tizimidan terminal oching va quyidagi buyruq yordamida "/mymqtt_to_pub" mavzusiga obuna bo'ling (21 -rasm)

mosquitto_sub -h 192.168.1.67 -t /mymqtt_to_pub

Endi mymqtt ilovasining tortmasiga o'ting va nashr etishni bosing. Nashriyot mavzusini qo'shing (bizning holimizda "/mymqtt_to_pub") va biz "salom Ubuntu" yuboradigan kabi xabar yuboring, yuborish tugmasini bosing (22 -rasm, 23 -rasm).

Xabar ubuntu tizimining terminal oynasida paydo bo'lishi kerak (24 -rasm).

E'tibor bering, ubuntu tizimi ham, android telefoni ham bitta tarmoqda bo'lishi kerak yoki port 1883 ochilishi kerak va siz mqtt ishlashi uchun yo'riqnoma/shlyuzingizning IP manzilini bilishingiz kerak. Agar siz mqtt brokeriga autentifikatsiyani qo'shishni xohlasangiz, buni quyidagi blog havolasi orqali amalga oshirishingiz mumkin https://medium.com/@eranda/setting-up-authenticat… Bu blogning ikkinchi qadamini bajaring. Biz brokerimizning autentifikatsiyasini ta'minladik va taxtalarimiz uchun autentifikatsiyalangan brokerdan foydalanamiz.

3 -qadam: Armtronix Board & Mqtt bilan ishlash

Armtronix Board & Mqtt bilan ishlash
Armtronix Board & Mqtt bilan ishlash
Armtronix Board & Mqtt bilan ishlash
Armtronix Board & Mqtt bilan ishlash
Armtronix Board & Mqtt bilan ishlash
Armtronix Board & Mqtt bilan ishlash

Hozirgi vaqtda biz sinxron to'lqinni kesish va o'z navbatida lampochkani xiralashtirish yoki fan tezligini nazorat qilish uchun Triakdan foydalanadigan Wifi Single Dimmer platasidan foydalanmoqdamiz. Shuningdek, biz uni mqtt autentifikatsiya turi orqali bog'ladik.

Dastlab biz taxtani sozladik. Uni sozlash bosqichlari quyida aytib o'tilgan.

Quvvat bortida u Wi -Fi kirish nuqtasini joylashtira boshlaydi.

Android telefon yoki noutbukdan foydalanib, ushbu APga ulaning (25 -rasm).

Ushbu APga ulanganingizdan so'ng, 192.168.4.1 -ni ulang. Ma'lumot ulanishidan foydalanmasligingizga ishonch hosil qiling (3G/4G).

IP -ni yozganda, quyidagi sahifani kiritish kerak bo'lgan veb -sahifa ochiladi (26 -rasm).

  • SSID: Wifi AP nomi.
  • Parol: SSID parol.
  • IoT rejimi Mqtt yoki Http (Mqtt ni tanlang).
  • Mqtt Broker IP (Bizning holatda bu 192.168.1.67).
  • Mqtt foydalanuvchi nomi va parol, biz autentifikatsiya turidan foydalanayotganimizda, Naren, xxxx dan foydalanganmiz
  • Mqtt nashr qilish mavzusi: Bu kengash qaysi mavzuda chiqadi, bizda /testpub ishlatilgan.
  • Mqtt obuna bo'lish mavzusi: Bu biz qaysi testda triakni ishga tushirish buyruqlarini tinglaydi.
  • Qurilmaning nomi: bu taxtani ishga tushirish uchun alexaga chaqirgan ismingiz, biz corvi ishlatganmiz.

Tafsilotlarni kiritgandan so'ng, "Taqdim etish" tugmasini bosing, bunda siz 27 -rasmda ko'rsatilgandek ekranga ega bo'lasiz, taxta AP -ni joylashtirishni to'xtatguncha biroz kuting.

E'tibor bering, biz taxtamizni Uart orqali Arduino IDE seriyali monitoriga uladik. Shunday qilib, chap tomonda siz Uart orqali chop etiladigan disk raskadrovka xabarlarini ko'rasiz (bu faqat sizning ma'lumotingiz uchun).

Bu bajarilgandan so'ng siz disk raskadrovka ekranini ko'rishingiz mumkin. Tafsilotlarning aksariyati u erda ko'rinadi. Shundan so'ng, u disk raskadrovka (ketma -ket) ekranida brokerga muvaffaqiyatli ulanadi, buni ko'rishingiz mumkin.

MQTT brokeriga autentifikatsiya bilan ulangan. 1 -mavzuga obuna.

Buni chop qilgandan so'ng, siz unga obuna bo'lgan mavzu bo'yicha mqtt orqali buyruqlar yuborishni boshlashingiz mumkin, ya'ni /testsub /

Buning uchun boshqaruv paneli buyruqlari:

  • R13_ON: Triakni 100%yoqish uchun.
  • R13_OFF: Triakni 0%ga o'chirish uchun.
  • Dimmer: xx: Bu erda xx - xiralashtirish qiymati va uni 0 dan 99 gacha o'zgartirish mumkin.
  • Qayta tiklash: taxta konfiguratsiyasini tozalash uchun.
  • Vaziyat: Kengashning nashriyot mavzusida taxtaning dimmer holatini chop eting.

Bu buyruqni mqtt mijozi o'rnatilgan ubuntu tizimidan yuborish uchun uni quyida ko'rsatilgandek kiriting. Bu erda autentifikatsiya tufayli ikkita qo'shimcha parametr qo'shiladi -ya'ni foydalanuvchi nomi --P va parol -bu katta -kichik harflarga bog'liqligini unutmang.

mosquitto_pub -h 192.168.1.67 -u Naren -P xxxx -t /testsub -m R13_ON

mosquitto_pub -h 192.168.1.67 -u Naren -P xxxx -t /testsub -m R13_OFF

mosquitto_pub -h 192.168.1.67 -u Naren -P xxxx -t /testsub -m Dimmer: 50

Eslatma: 50 - dimmer qiymati

mosquitto_pub -h 192.168.1.67 -u Naren -P xxxx -t /testsub -m R13_ON

mosquitto_pub -h 192.168.1.67 -u Naren -P xxxx -t /testsub -m holati

Oxirgi maqom uchun maqom taxtaning nashriyot mavzusida chop etiladi, bu bizning holatlarimizda /testpub. Bizning taxtamizdagi har qanday o'zgarish taxtaning nashr mavzusida chop etiladi. Misol uchun, agar biz Dimmer: 50 -ni obuna bo'lgan mavzuni jismoniy bajarishdan ko'ra o'tkazsak, doska nashr mavzusining xiralashgan darajasini ko'rsatuvchi xabar yuboradi. Misol quyida ko'rsatilgan, Ubuntu tizimidan kengashning nashr mavzusiga obuna bo'lish uchun quyidagi buyruqni kiriting

mosquitto_sub -h 192.168.1.67 -u Naren -P xxxx -t /testpub

biz olgan xabar

DimmerIS50

bir nechta ekranli shortilar quyida joylashgan (28 -rasm, 29 -rasm)

Tavsiya: