Mundarija:
- 1 -qadam: Mqtt brokerini o'rnatish:
- 2 -qadam: MQTT (Mosquitto) ni sinovdan o'tkazish
- 3 -qadam: Armtronix Board & Mqtt bilan ishlash
Video: Armtronix platalarida MQTT: 3 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:23
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:
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
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
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:
ESP32 bilan MQTT kayfiyat chiroqlari: 4 qadam (rasmlar bilan)
ESP32 bilan MQTT kayfiyat chiroqlari: Men uzoq vaqt davomida LED tasmasiga sakrashni xohlagan edim, shuning uchun yugurib chiqib, o'yinchoq uchun LED tasmasini oldim. Men bu kayfiyat chiroqlarini yasashni tugatdim. Ularni MQTT yordamida boshqarish mumkin, bu esa har xil aqlli usullarni qo'shish imkonini beradi
MQTT suzish havzasi harorati monitor: 7 qadam (rasmlar bilan)
MQTT suzish havzasi harorati monitor: Bu loyiha mening uyni avtomatlashtirish bo'yicha boshqa loyihalarimning hamrohi, Smart Data- Geyser boshqaruvchisi va ko'p maqsadli xonalarni yoritish va asboblarni boshqarish. Bu hovuz yonidagi monitor, basseyn suvining harorati va atrofdagi havoni o'lchaydi
Batareyadan ishlaydigan eshik va qulf sensori, Quyosh, ESP8266, ESP-Now, MQTT: 4 qadam (rasmlar bilan)
Batareyadan quvvat oladigan eshik va qulf sensori, Quyosh, ESP8266, ESP-Now, MQTT: Ushbu yo'riqnomada men sizga masofali velosiped saroyining eshigi va qulf holatini kuzatish uchun batareyadan ishlaydigan sensorni qanday yasaganimni ko'rsataman. Menda elektr tarmog'i yo'q, shuning uchun batareyadan quvvat olaman. Batareya kichik quyosh batareyasi bilan quvvatlanadi, bu modul
ARMTRONIX Wifi 30Amps kengashi: 4 qadam (rasmlar bilan)
ARMTRONIX Wifi 30Amps platasi: KIRISH: Armtronix 30AMPS o'rni - bu IOT kartasi. Kengashning xususiyatlari quyidagilardir: Simsiz boshqaruv. USB -dan UART -ga, AC -dan DC -ga 5V DC -dan 5V DC -ACgacha. Kengashning tashqi ko'rinishi va o'lchami 105 mm X 7
ARMTRONIX WIFI Yagona Dimmer Board V0.2: 3 qadam (rasmlar bilan)
ARMTRONIX WIFI SINGLE Dimmer Board V0.2: Armtronix Wifi dimmer - bu uyni avtomatlashtirish uchun mo'ljallangan IOT platasi. Kengashning xususiyatlari quyidagilardir: Simsiz boshqaruv Kichik shaklli faktor Bortda AC dan to DC quvvatiga 1V 230VAC dan 5V DC gacha. DC virtual kalit Kengash o'lchami 61,50