Агуулгын хүснэгт:

SmartHome утасгүй холбоо: MQTT -ийн туйлын үндэс: 3 алхам
SmartHome утасгүй холбоо: MQTT -ийн туйлын үндэс: 3 алхам

Видео: SmartHome утасгүй холбоо: MQTT -ийн туйлын үндэс: 3 алхам

Видео: SmartHome утасгүй холбоо: MQTT -ийн туйлын үндэс: 3 алхам
Видео: Sonoff 10A самый дешевый беспроводной выключатель с WiFi – умный дом ewelink 2024, Долдугаар сарын
Anonim
SmartHome утасгүй холбоо: MQTT -ийн туйлын үндэс
SmartHome утасгүй холбоо: MQTT -ийн туйлын үндэс
SmartHome утасгүй холбоо: MQTT -ийн туйлын үндэс
SmartHome утасгүй холбоо: MQTT -ийн туйлын үндэс

MQTT -ийн үндэс:

** Би гэрийн автоматжуулалтын цуврал хийх гэж байгаа бөгөөд ирээдүйд хийсэн бүх зүйлээ сурч мэдсэн алхмуудаа даван туулах болно. Энэхүү зааварчилгаа нь MQTT -ийг миний ирээдүйн зааварчилгаанд ашиглахаар хэрхэн тохируулах талаархи үндсэн мэдээлэл юм. Гэсэн хэдий ч энэ агуулгын сургаал нь хэрэгжүүлэхийг хүссэн аливаа төсөлд хамаатай болно. **

Интернетийн зүйлүүд:

Юмсын Интернет нь дэлхийг эзэлж байна. Намайг энэ нийгэмлэгт элссэн цагаас хойш энэ нь хүмүүсийн барилгыг бэхжүүлсэн юм

Интернетэд холбогдсон, хянадаг төхөөрөмжүүд. Интернетийн зүйлстэй ажиллахдаа MQTT протоколыг дагаж мөрдөхгүй байх нь хэцүү байдаг. Энэ бол өнөө үед HTTP эсвэл FTP гэх мэт интернэтэд ашигладаг бусадтай адил харилцааны протокол юм.

MQTT гэж юу вэ:

MQTT (Message Queuing Telemetry Transport) нь нийтлэх/захиалах архитектурыг ашигладаг хөнгөн харилцааны протокол юм. Интернетийн ихэнх хэсгийг ашигладаг HTTP нь хүсэлт/хариултын систем дээр суурилдаг. Энэ нь үйлчлүүлэгчээс хүсэлт хүлээн авч, илгээдэг гэсэн үг юм. тэр үйлчлүүлэгчид үзүүлэх хариу. MQTT нь бас сервертэй (брокер гэж нэрлэдэг) олон үйлчлүүлэгчтэй байдаг. HTTP -ээс ялгаатай нь MQTT нь үйлчлүүлэгчдэд тодорхой "сэдвүүдийг" нийтлэх эсвэл захиалах боломжийг олгодог. Энэ нь илүү өргөн хүрээнд харилцах боломжийг олгодог. төвлөрсөн цэг, брокер. Зангилаа бүр брокерын сэдвээр нийтлэх боломжтой бөгөөд энэ сэдвээр бүртгүүлсэн аливаа зангилаа мессеж хүлээн авах болно. Үйлчлүүлэгчид олон сэдвийг захиалж, дараа нь олон удирдамж эсвэл шинэчлэлтийг хүлээн авах боломжтой болно.

Бүхэл бүтэн систем нь үйл явдалд суурилсан бөгөөд захиалсан үйлчлүүлэгч бүрт брокероос ирсэн мессежийг дамжуулах боломжийг олгодог. Тиймээс үйлчлүүлэгч мэдээлэл авахыг хүсдэг HTTP -ээс илүүтэйгээр үйлчлүүлэгч мэдээллийг хүлээн авмагц брокероос шууд дамжуулдаг. QOS-ийн тодорхойлолт гэх мэт төрөл бүрийн хамгаалалтыг авах боломжтой үйлчилгээнүүд байдаг. QOS -ийн тодорхойлолт нь брокерт мессежийг хамгийн ихдээ нэг удаа, дор хаяж нэг удаа эсвэл яг нэг удаа хүргэх шаардлагатай эсэхийг тодорхойлох боломжийг олгодог. Энэ нь үйлчлүүлэгч бүрт өгөгдлийг шаардлагатай хэлбэрээр хүргэх боломжийг олгодог. Үйлчлүүлэгчид ямар нэгэн шалтгаанаар салгагдсан тохиолдолд тухайн сэдэвт нийтлэгдсэн мессежийг брокерт буферлахыг хүсч болно. Интернетэд буцаж ирмэгц тэр өгөгдлийг үйлчлүүлэгч рүү шилжүүлэх болно.

Сэдэв нь онцгой зүйл биш бөгөөд энэ нь ташуу зураасаар тусгаарлагдсан олон төрлийн мөрүүд юм. Доорх жишээн дээрх формат нь дараах байдалтай байна: гэр/унтлагын өрөө/таазны гэрэл. Дэд сэдвийг илэрхийлэхийн тулд ташуу зураасыг сэдвийн дараа байрлуулна. Тиймээс мессежийг гэрт нь нийтлэх боломжтой бөгөөд байшингийн бүх төхөөрөмж үүнийг хүлээж авах болно. Үүнийг шууд унтлагын өрөөнд хэвлүүлэх боломжтой бөгөөд унтлагын өрөөний бүх төхөөрөмж мессеж хүлээн авах болно. Мөн энэ нь анх харуулсан гэр/унтлагын өрөө/таазны гэрэлд заасан төхөөрөмж рүү орж болох бөгөөд унтлагын өрөөний зөвхөн таазны гэрэл мессеж хүлээн авах болно. Ийм бие даасан төхөөрөмжийг бүхэл бүтэн экосистем хүртэл хийсвэрлэх арга нь маш тохиромжтой, ялангуяа гэрийн автоматжуулалтын хувьд. Сэдвүүдийг задлах өөр арга замууд байгаа бөгөөд энэ аппликешн нь хамгийн утга учиртай байх болно.

Хангамж

Дараахь зүйлсийн зөвхөн нэг нь л хэрэгтэй.

Ubuntu:

Линуксд зориулсан Windows дэд систем: https://ubuntu.com/wsl (Зөвхөн танд Linux/MacOS байхгүй бол)

MacOS: MacBook шаарддаг

Үүнийг хийх шаардлагатай:

Mosquitto MQTT брокер - apt -get ашиглан татаж авсан (Баримт бичиг:

Алхам 1: Анхны тохиргоо (таны үйлдлийн системээс хамаарна)

MacOS/Linux:

Тохиргоо хийх шаардлагагүй бол терминалаа нээгээд Mosquitto Setup руу ороорой!

Windows:

Хэрэв та Windows дээр байгаа бол Линуксд зориулсан Windows дэд системийг суулгах шаардлагатай болно. Энэ бол ашиглахад тун хялбар, маш үнэ цэнэтэй хэрэгсэл бөгөөд Windows дотор Ubuntu терминал ажиллуулах боломжийг танд олгоно. Зөвхөн терминал дээр хөгжүүлэлтийг шалгахын тулд Ubuntu -г суулгаж, давхар ачаалах шаардлагагүй болно!

Суулгах алхамууд:

1. Windows Store руу ороод ubuntu -г хайж олоорой

2. Линуксд зориулсан Windows дэд системийг татаж суулгаарай

3. Аппликешныг нээж, зааврыг дагаж тохиргоог хийж дуусгаарай, та үргэлжлүүлэхэд бэлэн байна!

Алхам 2: Шумуулын тохиргоо:

Шумуулын тохиргоо
Шумуулын тохиргоо
Шумуулын тохиргоо
Шумуулын тохиргоо
Шумуулын тохиргоо
Шумуулын тохиргоо

MQTT -ийн талаархи танилцуулгад дурдсанчлан протокол нь зуучлагч (сервер) шаарддаг. Энэхүү брокер нь үйлчлүүлэгч бүртэй тогтоосон бүх холболтын үндсэн цэг юм. Бүх мессежийг дамжуулж, энэ брокер дээр дараалалд оруулдаг. Брокер сонгох олон сонголт байдаг бөгөөд та эдгээрийг онлайнаар олох боломжтой боловч бидний ашиглах хамгийн түгээмэл сонголт бол шумуул юм.

Mosquitto бол Linux-д суурилсан MQTT брокер бөгөөд маш олон функцтэй. Би яг одоо энэ функцын онцлог шинж чанаруудын талаар мэдээлэл өгөхгүй, гэхдээ үүнд нийцсэн цөөн хэдэн үндсэн шаардлага бол хэрэглэгчийн/нууц үгийн баталгаажуулалт, TLS шифрлэлтийг дэмждэг бөгөөд эдгээр нь бүгд юмсын интернет төхөөрөмжийг хөгжүүлэхэд хэрэгтэй байдаг.

Алхам:

Эдгээр бүх алхамуудыг терминалын цонхонд хийх ёстой.

1. Mosquitto болон MQTT Clients -ийг суулгаарай

sudo apt-get шумуул шумуул-үйлчлүүлэгчийг суулгаарай

2. Сэдэв захиалах

mosquitto_sub -"туршилт"

Энэ нь сэдвийг захиалах явдал юм. Энэ сэдвийг "-t" гэж тэмдэглэсэн бөгөөд сэдвийн утга нь "тест" юм. "-T" дараах утга нь хэд хэдэн тусгай захиалгад хадгалагдахыг хүссэн зүйл байж болно.

3. Терминалын шинэ цонх нээж "тест" сэдэвт мессеж нийтлүүлнэ үү.

mosquitto_pub -t "тест" -m "MQTT -тэй Сайн байна уу!"

Энэ нь "туршилтын" сэдэвт мессежийг нийтэлж, манай бусад терминалын жишээ захиалгын тал дээр мессеж хүлээн авах боломжийг олгоно. Хэвлэгдсэн мессежийг "-m" гэж тэмдэглэсэн бөгөөд мессежийн утга нь "Hello World With MQTT" юм. Энэ мессежийг яг л сэдэв шиг хүссэнээрээ өөрчилж болно!

4. Эхний терминалын цонх руу очиж үр дүнг нь үзээрэй! Та "Hello World With MQTT" гэсэн гарчигтай мессеж хүлээн авах ёстой. Хэрэв та үүнийг олж харахгүй байгаа бол зөв сэдвийг оруулсан эсэхээ шалгаарай. Хэрэв та үүнийг амжилттай дуусгасан бол үргэлжлүүлэн тоглоорой. Дэд сэдэв, өөр өөр зурвас бүхий өөр сэдвийг туршиж үзээрэй!

Алхам 3: Дуусга

Тийм шүү! Бүгдийг дуусгасны дараа та MQTT хэрхэн ажилладаг талаар ойлголттой болно. Энэ бол MQTT протоколын хамгийн бага хэмжээг харуулсан маш энгийн заавар юм. Ирээдүйн зааварчилгаа нь зүйлсийн интернет, ялангуяа Arduino дээр ажилладаг ESP8266 модулиудтай хэрхэн ажилладаг талаар илүү нарийвчлан судлах болно. Миний анхны практик хэрэглээ бол одоогоор өрөөндөө байгаа ухаалаг кофе чанагч байх болно. Хэрэв та өөрийн гар утас болон Alexa -аас хянадаг кофе чанагчийг хэрхэн хийхийг сурахыг хүсч байвал намайг дагана уу.

Зөвлөмж болгож буй: