Агуулгын хүснэгт:
- Хангамж
- Алхам 1: Анхны тохиргоо (таны үйлдлийн системээс хамаарна)
- Алхам 2: Шумуулын тохиргоо:
- Алхам 3: Дуусга
Видео: SmartHome утасгүй холбоо: MQTT -ийн туйлын үндэс: 3 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:00
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 -аас хянадаг кофе чанагчийг хэрхэн хийхийг сурахыг хүсч байвал намайг дагана уу.
Зөвлөмж болгож буй:
LoRa Arduino, Esp8266 эсвэл Esp32: 15 алхам бүхий бага зардалтай E32 (sx1278/sx1276) төхөөрөмж бүхий 3 км -ээс 8 км хүртэлх утасгүй холбоо: 15 алхам
LoRa Arduino, Esp8266 эсвэл Esp32 -д зориулсан бага өртөгтэй E32 (sx1278/sx1276) төхөөрөмж бүхий 3Km -аас 8Km хүртэлх утасгүй холбоо: Би Semtech цувралын LoRa төхөөрөмж дээр суурилсан EBYTE E32 -ийг удирдах номын сан, маш хүчирхэг, энгийн бөгөөд хямд төхөөрөмжтэй. 3км -ийн хувилбар энд, 8км -ийн хувилбар энд байна Тэд 3000м -ээс 8000м -ийн зайд ажиллах боломжтой бөгөөд тэдгээр нь маш олон онцлог шинж чанартай байдаг
Утасгүй шифрлэгдсэн харилцаа холбоо Arduino: 5 алхам
Утасгүй шифрлэгдсэн харилцаа холбоо Arduino: Сайн байцгаана уу, энэ хоёр дахь нийтлэлд би утасгүй холболтоо аюулгүй болгохын тулд Atecc608a чипийг хэрхэн ашиглах талаар тайлбарлах болно. Үүний тулд би NRF24L01+ -ийг утасгүй хэсэг болон Arduino UNO -д ашиглах болно. ATECC608A бичил чипийг
Arduino дээр суурилсан төслүүдэд NRF24L01 дамжуулагч модулийг ашиглан утасгүй холбоо: 5 алхам (зурагтай)
Arduino дээр суурилсан төслүүдэд NRF24L01 дамжуулагч модулийг ашиглан утасгүй холбоо: Энэ бол миний робот, микро контроллеруудын талаархи хоёр дахь зааварчилгаа юм. Таны роботыг амьд бөгөөд хүлээж байсны дагуу ажиллаж байгаа нь үнэхээр гайхалтай бөгөөд хэрэв та роботоо эсвэл бусад зүйлийг утасгүйгээр хурдан, хурдан удирдах нь илүү хөгжилтэй байх болно гэдэгт итгээрэй
Хямд 433MHz RF модулиуд болон пик микроконтроллер ашиглан утасгүй холбоо. 2 -р хэсэг: 4 алхам (зурагтай)
Хямд 433MHz RF модулиуд болон пик микроконтроллер ашиглан утасгүй холбоо. 2 -р хэсэг: Энэхүү зааварчилгааны эхний хэсэгт би MPLAB IDE ба XC8 хөрвүүлэгч ашиглан PIC12F1822 -ийг хэрхэн програмчлах, хямд TX/RX 433MHz модулийг ашиглан энгийн утсыг утасгүйгээр илгээхийг үзүүлэв. кабелийн зар
Bluefruit ашиглан утасгүй цуваа холбоо: 4 алхам
Bluefruit ашиглан утасгүй цуваа холболт хийх: Утаснуудаа бага энергитэй bluetooth -ээр солих энгийн алхам алхмаар зааварчилгаа: Орчин үеийн bluetooth бага эрчим хүчний технологийн тусламжтайгаар үүнийг хийх талаар бараг ямар ч баримт бичиг байхгүй тул үүнийг олж мэдэхэд надад маш их хугацаа шаардагдлаа. Bluefrui -ийн хувьд