Mundarija:

SmartHome simsiz aloqasi: MQTT -ning haddan tashqari asoslari: 3 qadam
SmartHome simsiz aloqasi: MQTT -ning haddan tashqari asoslari: 3 qadam

Video: SmartHome simsiz aloqasi: MQTT -ning haddan tashqari asoslari: 3 qadam

Video: SmartHome simsiz aloqasi: MQTT -ning haddan tashqari asoslari: 3 qadam
Video: Aqara WXKG03LM - одноклавишный беспроводный zigbee выключатель, для умного дома mihome 2024, Iyul
Anonim
SmartHome simsiz aloqasi: MQTT -ning haddan tashqari asoslari
SmartHome simsiz aloqasi: MQTT -ning haddan tashqari asoslari
SmartHome simsiz aloqasi: MQTT -ning haddan tashqari asoslari
SmartHome simsiz aloqasi: MQTT -ning haddan tashqari asoslari

MQTT asoslari:

** Men "Uy avtomatizatsiyasi" turkumini qilmoqchiman, men kelajakda qilgan hamma narsani o'rganish uchun qilgan qadamlarni bosib o'taman. Bu ko'rsatma MQTT -ni kelgusidagi ko'rsatmalarimdan foydalanish uchun qanday o'rnatish haqida ma'lumot beradi. Biroq, bu tarkibdagi ta'limotlar, o'zlari xohlagan loyihalarga tegishli bo'ladi. **

Narsalar Interneti:

Narsalar Interneti butun dunyoni egallab turibdi, ayniqsa Instructables -dagi biznikiga o'xshagan jamoalarda. Men bu jamoaga qo'shilganimdan buyon u odamlarning qurilishi bilan mustahkam bog'langan

Internetga ulangan va boshqariladigan qurilmalar. Internet -narsalar bilan ishlashda MQTT protokoli bilan kelishmaslik qiyin. Bu HTTP yoki FTP kabi bugungi kunda Internetda ishlatiladigan boshqalar kabi aloqa protokoli, ammo uning ish uslubi boshqalardan farqli o'laroq, Internet -narsalar uchun idealdir.

MQTT nima:

MQTT (Message Queuing Telemetry Transport - bu nashr etish/obuna qilish arxitekturasidan foydalanadigan engil aloqa protokoli. Internetning ko'p qismi foydalanadigan HTTP so'rov/javob berish tizimiga asoslangan. Bu shuni anglatadiki, u mijozdan so'rov oladi va yuboradi. Bu mijozga javob. MQTT -da ko'plab mijozlar kabi server (broker deb ham ataladi) mavjud. HTTP -dan farqli o'laroq, MQTT mijozlarga ma'lum "mavzular" ni nashr qilish yoki obuna bo'lish imkonini beradi. Har bir tugun brokerning mavzusini nashr etishi mumkin va bu mavzuga obuna bo'lgan har qanday tugun xabar oladi. Mijozlar bir nechta mavzularga obuna bo'lishlari mumkin va keyin bir nechta ko'rsatmalarni yoki yangilanishlarni olishlari mumkin.

Butun tizim voqealarga asoslangan va har bir obunali mijozga brokerdan xabar yuborish imkonini beradi. Mijoz ma'lumot so'ragan HTTP o'rniga, mijoz ma'lumotni brokerdan to'g'ridan -to'g'ri oladi. O'rnatilgan xizmatlar, shuningdek, QOS texnik xususiyatlari kabi turli xil himoya vositalariga ega. QOS spetsifikatsiyasi brokerga xabarni bir marta, hech bo'lmaganda bir marta yoki aniq bir marta etkazish kerakligini aniqlashga imkon beradi. Bu ma'lumotlarning har bir mijozga kerakli tarzda etkazib berilishini ta'minlaydi. Mijozlar, agar biron -bir sababga ko'ra uzilgan bo'lsa, brokerda o'z mavzusiga nashr etilgan xabarlarni buferda saqlashni so'rashlari mumkin. Internetga qaytgandan so'ng, bu ma'lumotlar mijozga yuboriladi.

Mavzu alohida narsa emas, bu chiziqlar bilan birlashtirilgan va ajratilgan turli satrlar. Quyidagi misolda quyidagi format ishlatiladi: uy/yotoqxona/ship_vari. Har bir chiziq pastki mavzuni bildirish uchun mavzudan keyin qo'yiladi. Shunday qilib, xabarni uyga e'lon qilish mumkin, u erda uydagi barcha qurilmalar qabul qilinadi. U to'g'ridan -to'g'ri uyga/yotoqxonaga nashr etilishi mumkin, u erda yotoqxonadagi barcha qurilmalar xabar oladi. Va u birinchi bo'lib uy/yotoqxona/ship_light ko'rsatilgandek, ma'lum bir qurilmaga tushishi mumkin, bu erda faqat yotoqxonadagi ship nuri xabar oladi. Bu kabi individual qurilmalarni butun ekotizimga qadar abstrakt qilish usuli juda qulay, ayniqsa uy avtomatizatsiyasi haqida. Mavzuni ajratishning boshqa usullari bor va men ularni kelgusida ko'rsatmalarni batafsil ko'rib chiqaman, bu erda dastur eng mantiqiy.

Ta'minotlar

Quyidagilardan faqat bittasi kerak:

Ubuntu:

Linux uchun Windows quyi tizimi: https://ubuntu.com/wsl (Faqat sizda Linux/MacOS bo'lmasa)

MacOS: MacBook -ni talab qiladi

Bu talab qilinadi:

Mosquitto MQTT Broker - apt -get yordamida yuklab olingan (Hujjatlar:

1 -qadam: Dastlabki sozlash (operatsion tizimingizga bog'liq)

MacOS/Linux:

O'rnatishning hojati yo'q, faqat terminalingizni oching va Mosquitto Setup -ga o'ting!

Windows:

Agar siz Windows -da bo'lsangiz, Linux uchun Windows quyi tizimini o'rnatishingiz kerak bo'ladi. Bu Windows-da Ubuntu terminalini ishga tushirishga imkon beradigan juda qulay va juda qimmatli vosita. Terminalda rivojlanishni sinab ko'rish uchun Ubuntu -ni o'rnatish va ikki marta yuklash shart emas!

O'rnatish bosqichlari:

1. Windows do'koniga o'ting va ubuntu -ni qidiring

2. Linux uchun Windows quyi tizimini yuklab oling va o'rnating

3. O'rnatishni yakunlash uchun ilovani oching va ko'rsatmalarga amal qiling, shunda siz davom etishga tayyormiz!

2 -qadam: chivinlarni o'rnatish:

Mosquitto o'rnatish
Mosquitto o'rnatish
Mosquitto o'rnatish
Mosquitto o'rnatish
Mosquitto o'rnatish
Mosquitto o'rnatish

MQTT haqida kirishda muhokama qilinganidek, protokolga broker (server) kerak bo'ladi. Bu broker har bir mijoz bilan barcha o'rnatilgan ulanishlar uchun tayanch nuqtadir. Barcha xabarlar ushbu broker orqali o'tadi va navbatga qo'yiladi. Brokerni tanlashning ko'plab variantlari bor va siz ularni Internetda topishingiz mumkin, lekin biz foydalanadigan variant, ehtimol, eng keng tarqalgan: chivin.

Mosquitto-bu Linux-da ishlaydigan MQTT brokeri bo'lib, u juda ko'p funktsional imkoniyatlarga ega. Men hozirda bu funksiyaning o'ziga xos xususiyatlariga kira olmayman, lekin u bajaradigan bir nechta asosiy talablar - bu foydalanuvchi/parolni autentifikatsiya qilish va TLS shifrlashni qo'llab -quvvatlash, bularning barchasi Internet -narsalar qurilmalarini ishlab chiqishda foydali.

Qadamlar:

Bularning barchasi terminal oynasida bajarilishi kerak.

1. Mosquitto va MQTT mijozlarini o'rnating

sudo apt-get mosquitto mosquitto-mijozlarni o'rnatish

2. Mavzuga obuna bo'lish

mosquitto_sub -"sinov"

Bu nima qiladi - bu mavzuga obuna bo'lish. Bu mavzu "-t" bilan belgilanadi va mavzu qiymati "test" dir. "-T" belgisidan keyingi qiymat siz istagan narsaga aylanishi mumkin.

3. Yangi terminal oynasini oching va "test" mavzusiga xabar chop eting.

mosquitto_pub -t "test" -m "MQTT bilan Salom dunyo!"

Bu "test" mavzusiga oid xabarni e'lon qiladi, bu bizning boshqa terminal misolimizga obuna tomonida xabarni olish imkonini beradi. Chop etilgan xabar "-m" bilan belgilanadi va xabar qiymati "MQTT bilan salom dunyo". Bu xabar, xuddi mavzu kabi, xohlaganingizga o'zgartirilishi mumkin!

4. Natijalaringizni ko'rish uchun birinchi terminal oynasiga o'ting! Siz "MQTT bilan salom dunyo" ko'rsatiladigan xabarni olishingiz kerak. Agar buni ko'rmasangiz, mavzuni to'g'ri yozganingizga ishonch hosil qiling. Agar buni muvaffaqiyatli tugatgan bo'lsangiz, u bilan o'ynashni davom ettiring. Mavzular va turli xabarlar bilan har xil mavzularni sinab ko'ring!

3 -qadam: yakunlang

Bo'ldi shu! Hammasi tugagach, siz MQTT qanday ishlashini tushunasiz. Bu MQTT protokoli minimalini ko'rsatadigan juda oddiy darslik. Future Instructables protokoli narsalar Internetida, xususan, Arduino -da ishlaydigan ESP8266 modullari bilan qanday ishlashini chuqurroq o'rganib chiqadi. Mening birinchi amaliy ilovam hozirda xonamda joylashgan aqlli qahva qaynatgich bo'ladi. Agar siz telefoningiz va Alexa -dan boshqariladigan qahva qaynatgichni tayyorlashni o'rganmoqchi bo'lsangiz, ko'proq darsliklar uchun menga ergashing.

Tavsiya: