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

Armtronix самбар дээрх MQTT: 3 алхам
Armtronix самбар дээрх MQTT: 3 алхам

Видео: Armtronix самбар дээрх MQTT: 3 алхам

Видео: Armtronix самбар дээрх MQTT: 3 алхам
Видео: ESP8266 Диммер + реле из обзора Armtronix - Baba Awesam 2024, Долдугаар сарын
Anonim
Armtronix самбар дээр MQTT
Armtronix самбар дээр MQTT

Энэхүү зааварчилгаанд бид эхлээд Linux (Debian эсвэл Ubuntu) дээр суурилсан системийг хэрхэн ашиглах, түүн дээр Mosquitto (Mqtt Broker) суулгах, мөн Mqtt клиентийг гар утсан дээрээ (Android)/ Линукс дээр хэрхэн ашиглахыг харуулахыг хүсч байна. систем, Mqtt -ээр дамжуулан мессеж илгээх, хүлээн авах. Үүнтэй танилцсаны дараа бид энэхүү суулгасан Mqtt брокероор манай самбарыг хэрхэн тохируулж, холбохыг танд үзүүлэхийг хүсч байна. Мөн та Mqtt брокерт хэрхэн баталгаажуулалт хийх, дибаг хийх зарим үндсэн зөвлөмж, аргуудыг харуулахыг хүсч байна. Тиймээс эхэлцгээе ………

Алхам 1: Mqtt Broker -ийг суулгах:

Mqtt Broker -ийг суулгах
Mqtt Broker -ийг суулгах
Mqtt Broker -ийг суулгах
Mqtt Broker -ийг суулгах
Mqtt Broker -ийг суулгах
Mqtt Broker -ийг суулгах
Mqtt Broker -ийг суулгах
Mqtt Broker -ийг суулгах

Та суулгах боломжтой олон Mqtt брокерууд байдаг. Зарим мэдэгдэж байгаа хүмүүсийг доор дурдсан болно. Тэдгээрийн зарим нь үүлэн дээр суурилсан үйлчилгээ юм.

  • HiveMQ
  • MosquittoCloud
  • MQTT
  • Adafruit.io

Бид танд Mosquitto -ийг Linux дээр суурилсан системд (Ubuntu 18.04) хэрхэн суулгах талаар үзүүлэх болно. Үүнийг хийхийн тулд эхлээд Mosquitto -г ubuntu -ийн эх сурвалжийн жагсаалтад нэмж оруулаарай. Mosquitto Ubuntu-ийн репозиторуудад бэлэн болсны дараа та үүнийг apt-get ашиглан суулгах боломжтой болно.

Терминал нээхэд л болно. Терминал нээхийн тулд Ubuntu Desktop -ийн зүүн доод буланд очоод Show application дээр дарна уу (Цэглэсэн 3X3 сүлжээ). Цонх нээгдэх болно. Тэнд та Терминал хайж байна. Терминал дээр дарна уу, та дараах зургуудад харуулсан байдлаар цонх нээгдэхийг харах ёстой.

  • Програмыг харуулах (Зураг 1).
  • Терминал хайх (Зураг 2).
  • Терминал цонх (Зураг 3).

Терминалийг нээсний дараа дараах тушаалуудыг оруулна уу

sudo apt-add-repository ppa: шумуул-dev/шумуул-ppa

sudo apt-get update

sudo apt-get шумуул суулгах

Та мөн Mqtt клиентийг суулгаж болно. Үүнийг хийх тушаал байх болно

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

Таны лавлахад зориулагдсан зарим зураг

  • Ppa нэмэх (Зураг 4).
  • Репо шинэчлэгдэж байна (Зураг 5).
  • Шумуул суулгах (Зураг 6).
  • Mosquitto Client суулгах (Зураг 7).

Алхам 2: MQTT (шумуул) тест хийх

MQTT (шумуул) -ийг туршиж байна
MQTT (шумуул) -ийг туршиж байна
MQTT (шумуул) -ийг туршиж байна
MQTT (шумуул) -ийг туршиж байна
MQTT (шумуул) -ийг туршиж байна
MQTT (шумуул) -ийг туршиж байна

Ubuntu (ижил систем эсвэл бусад системээр) ашиглан mqtt-ийг туршихын тулд өмнө нь sudo apt-get install mosquitto-clients командын дагуу суулгасан mqtt клиентийг суулгах хэрэгтэй. Хэрэв та үүнийг гар утас (андройд) ашиглан туршиж үзэхийг хүсч байвал тоглоомын дэлгүүрээс MyMqtt програмыг суулгаж болно.

Mqtt нь Сэдэв нэртэй зүйл дээр ажилладаг. Ойлгоход хялбар байхын тулд эдгээр сэдвийг компьютерийн хатуу диск дээрх хавтас гэж үзнэ үү. Энэ компьютерийг компьютерийн сервер гэж үзье (mqtt ертөнцөд Mqtt брокер байдаг). Энэ сервер дээр нэг хавтастай болохыг авч үзье.

Фолдерын нэр: /Folder_one /

Одоо хоёр өөр системээс (PC/зөөврийн компьютер) хоёр хүн энэ сервер рүү хандаж файл унших, файл илгээх/хаях эсвэл хоёуланг нь хийх боломжийг авч үзье.

Бид хоёр хүн/системийг System X, System Y гэж нэрлэх болно (Эдгээр нь Mqtt Дэлхийн Mqtt үйлчлүүлэгчид юм).

Одоо System X нь (/Folder_one/) фолдерт зарим файлыг (файлын нэр: температур) илгээдэг/хаядаг гэж хэлье, энэ бол mqtt ертөнцөд бид энэ хэвлэлийг дуудаж болно (бид файлын оронд зарим мессеж/ачааг илгээдэг).

System Y нь энэ файл эсвэл шинэ файлыг авах/унших эсвэл энэ фолдерт шинэчлэхийг хүсч байгаа гэж хэлье, хамгийн эхний зүйл бол бидний хувьд "/Folder_one/" гэсэн фолдерын нэр, замыг мэдэх явдал юм. Тиймээс одоо энэ фолдерт очиж тэр файлыг унших/хүлээн авах болно (файлын нэр: температур). Зам/Сэдвийг мэдэх, Mqtt ертөнц дэх файл/шинэ файлуудын өөрчлөлтийг шалгах нь тухайн сэдвийн захиалга юм.

Дээрх жишээг харгалзан үзвэл

X систем нь "/Folder_one" дээр хэвлэгдэж байгаа бөгөөд Y систем нь "/Folder_one" -д бүртгүүлсэн байна.

Мөн System X нь "/Folder_one" -д бүртгүүлэх боломжтой бөгөөд System System нь "/Folder_one" дээр нийтлэх боломжтойг анхаарна уу. Ухаалаг шиг Сервер систем (Mqtt Broker) нь Mqtt клиентийг одоогийн байдлаар суулгаснаар "/Folder_one" -г нийтлэх/захиалах боломжтой. Санаж байх ёстой өөр нэг зүйл бол Mqtt Broker -ийн IP хаягийг мэдэх шаардлагатай сэдвийг нийтлэх эсвэл захиалах явдал юм.

Эхлээд бид үүнийг брокертой ижил систем дээр суулгасан ubuntu клиентээр дамжуулан туршиж үзэх болно. Бид хоёр терминал цонх нээх бөгөөд нэг нь хэвлэгдэх бөгөөд нөгөө нь үүнийг захиалах болно. Жишээлбэл, бид /Folder_one -ийг сэдэв болгон ашиглах болно. Субъект руу орохоосоо өмнө ubuntu -ийн IP хаягийг олох шаардлагатай болно. Үүнийг хийхийн тулд дэлгэцийн баруун дээд буланд дарж wifi тохиргоог сонгоно уу, тэндээс ubuntu системийн IP хаягийг (одоогоор брокер IP) олох боломжтой болно. Дэлгэцийн богино хэсгийг лавлах зорилгоор хуваалцсан (Зураг 8).

Эсвэл брокерын IP хаягийг олохын тулд терминалыг дараах тушаалыг ашиглан сүлжээний хэрэгслүүдийг суулгаснаар IP хаягийг олж болно

sudo apt суулгах net-tools

Сүлжээний хэрэгслүүдийг суулгах (Зураг 9). Үүний дараа ipconfig командыг бичээд мак болон IP хаяг бүхий сүлжээний интерфэйсийн жагсаалтыг авах болно

sudo ipconfig

Миний системийн IP хаяг нь 192.168.1.67 (Зураг 10)

Хэвлэх

mosquitto_pub -h 192.168.1.67 -t /Folder_one -m pub_to_folderone

Энд mosquitto_pub нь тушаал бөгөөд дараа нь хост /брокерын IP хаяг (манай тохиолдолд 192.168.1.67) гэсэн параметрийг тодорхойлох элемент, дараа нь нийтлэгчийн сэдвийн нэр болох -t, (дараа нь манай тохиолдолд /Folder_one) -m гэдэг нь илгээгдэх мессеж/ачааг хэлнэ (манай тохиолдолд pub_to_folderone).

Бүртгүүлэхийн тулд

mosquitto_sub -h 192.168.1.67 -t /Folder_one

Нийтлэгчээс илгээсэн мессеж: pub_to_folderone

Нийтлэх жишээ

mosquitto_pub -h 192.168.1.67 -t /Folder_one -m “hi test mqtt”

mosquitto_pub -h 192.168.1.67 -t /Folder_one -m “mqtt ажиллаж байна”

Сэдвийг захиалах талаар авсан хариултын жишээ

mosquitto_sub -h 192.168.1.67 -t /Folder_one

Нийтлэгчээс илгээсэн зурвас:

  • pub_to_folderone
  • Сайн байна уу mqtt
  • mqtt ажиллаж байна

Pub Sub -ийг хоёр тусдаа терминал цонхонд зэрэгцүүлэн байрлуулна (Зураг 11)

Android дээр Mqtt тест хийх (миний mqtt)

Mymqtt програмыг тоглоомын дэлгүүрээс андройд утсан дээрээ суулгаарай (Зураг 12)

Програмыг нээгээд зүүн дээд буланд дарна уу (Зураг 13, Зураг 14).

Тохиргоо дээр дарж брокерийн IP хаягийг оруулна уу, порт нь анхдагчаар 1883 байх болно. Одоогоор бид баталгаажуулсан mqtt брокерийг ашиглаагүй байгаа тул хэрэглэгчийн нэр, нууц үг хоосон байх болно. Үүнийг хадгалаад програмын зүүн дээд буланд дахин дарна уу (<Тохиргоо) шүүгээ дахин нээгдэнэ (Зураг 15).

Шүүгээний дээд талд брокерын IP хаяг, програм холбогдсон портыг харуулах болно (Зураг 16).

Одоо Subscribe дарж бүртгүүлэхийг хүссэн сэдвээ оруулна уу. Энд бид сэдвийг /Folder_one гэж нэмж оруулах болно (Зураг 17, Зураг 18).

Үүнийг хийсний дараа ubuntu системээс терминал ашиглан бид энэ сэдвийг нийтлэх болно. Хэвлэн нийтлэхдээ энэхүү гар утасны апп дээр нийтлэгдсэн ачаалал/мессежийг авах ёстой. Жишээлбэл, ачааг "ARM -Automation Robotics & Mechatronics" гэж нийтлэх. Тушаал бол дээр дурдсанчлан юм.

mosquitto_pub -h 192.168.1.67 -t /Folder_one -m “ARM -Automation Robotics & Mechatronics”

ubuntu системээс нийтлэх (Зураг 19).

Хяналтын самбар дээр нийтлэгдсэн мессежийг хүлээн авсан (Зураг 20).

Одоо андройд утаснаас (My mqtt) нийтэлж, ubuntu системд бүртгүүлцгээе. Энэ жишээнд бид "/mymqtt_to_pub" сэдвийг ашиглаж байна.

Үүнийг хийхийн тулд эхлээд ubuntu системээсээ терминал нээгээд дараах тушаалыг ашиглан "/mymqtt_to_pub" сэдэвт бүртгүүлнэ үү (Зураг 21)

mosquitto_sub -h 192.168.1.67 -t /mymqtt_to_pub

Одоо mymqtt програмын шургуулга руу очоод нийтлэх дээр дарна уу. Нийтлэлийн сэдвийг нэмж (манай тохиолдолд "/mymqtt_to_pub" гэж бичээрэй) мөн "сайн уу Ubuntu" илгээх шиг мессеж илгээх товчийг дарна уу (Зураг 22, Зураг 23).

Зурвас таны ubuntu системийн терминал цонхонд гарч ирэх ёстой (Зураг 24).

Ubuntu систем болон андройд утас хоёулаа нэг сүлжээнд байх ёстой эсвэл 1883 порт байх ёстой бөгөөд mqtt ажиллахын тулд та чиглүүлэгч/гарцынхаа IP хаягийг мэддэг байх ёстой гэдгийг анхаарна уу. Хэрэв та mqtt брокер дээрээ нэвтрэлт танилтыг нэмэхийг хүсвэл доор дурдсан блогын линкээр орж үүнийг хийж болно https://medium.com/@eranda/setting-up-authenticat… Энэ блогийн хоёр дахь алхамыг дагана уу. Бид брокерынхоо баталгаажуулалтыг идэвхжүүлсэн бөгөөд манай банкинд баталгаажсан брокерийг ашиглах болно.

Алхам 3: Armtronix Board & Mqtt -тэй ажиллах

Armtronix Board & Mqtt -тэй хамтран ажиллах
Armtronix Board & Mqtt -тэй хамтран ажиллах
Armtronix Board & Mqtt -тэй хамтран ажиллах
Armtronix Board & Mqtt -тэй хамтран ажиллах
Armtronix Board & Mqtt -тэй хамтран ажиллах
Armtronix Board & Mqtt -тэй хамтран ажиллах

Одоогийн байдлаар энэхүү зааварчилгааны хувьд бид Triac ашиглан синус долгионыг цавчихын тулд чийдэнгээ бүдгэрүүлэх эсвэл сэнсний хурдыг хянах зориулалттай Wifi Single Dimmer хавтанг ашиглаж байна. Мөн бид үүнийг mqtt баталгаажуулалтын төрлөөр холбосон.

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

Самбар дээр хүч нь Wifi хандалтын цэгийг байрлуулж эхэлнэ.

Андройд утас эсвэл зөөврийн компьютер ашиглан энэ холбогч руу холбогдоно уу (Зураг 25).

Энэ AP -д холбогдсоны дараа 192.168.4.1 -ийг AP холболттой систем/утаснаас хөтөч (chrome/firefox) нээж оруулна уу. Та дата холболтоо (3G/4G) ашиглахгүй байгаа эсэхийг шалгаарай.

IP -ийг бичих үед дараах хуудсыг оруулах шаардлагатай вэб хуудас нээгдэнэ (Зураг 26).

  • SSID: Wifi AP нэр.
  • Нууц үг: SSID нууц үг.
  • IoT горим Mqtt эсвэл Http (Mqtt сонгоно уу).
  • Mqtt Broker IP (Манай тохиолдолд энэ нь 192.168.1.67 юм).
  • Mqtt хэрэглэгчийн нэр, нууц үг, бид нэвтрэлт танилтын төрлийг ашиглаж байгаа тул Naren, xxxx -ийг ашигласан болно
  • Mqtt нийтлэх сэдэв: Энэ нь самбар аль сэдвээр нийтлэх болно, бид /testpub ашигласан болно.
  • Mqtt захиалах сэдэв: Энэ нь триакийг ажиллуулах тушаалуудыг самбар ямар сэдвээр сонсдог вэ?
  • Төхөөрөмжийн нэр: Энэ бол самбарыг идэвхжүүлэхийн тулд alexa руу дууддаг нэр бөгөөд бид corvi ашигладаг.

Дэлгэрэнгүй мэдээллийг оруулсны дараа илгээх товчийг дарна уу, ингэснээр та Зураг 27 -д үзүүлсэн шиг дэлгэцтэй болж, самбар AP -ийг байрлуулахаа болих хүртэл хэсэг хугацаанд хүлээнэ үү.

Бид самбараа Uart -аар дамжуулан Arduino IDE -ийн цуваа дэлгэцтэй холбосон болохыг анхаарна уу. Тиймээс зүүн гар талд та Uart -ээр дамжуулан хэвлэсэн дибаг хийх зурвасуудыг харах болно (энэ нь зөвхөн таны лавлагаанд зориулагдсан болно).

Үүнийг хийсний дараа та дибаг хийх дэлгэцийг харах боломжтой. Ихэнх нарийн ширийн зүйлс тэнд харагдах болно. Үүний дараа энэ нь дибаг хийх (цуваа) дэлгэц дээр брокертой амжилттай холбогдох болно.

Баталгаажуулалт бүхий MQTT брокертой холбогдсон. 1 -р сэдэвт бүртгүүлсэн.

Үүнийг хэвлэсний дараа та захиалсан сэдвээр mqtt -ээр дамжуулан тушаалуудыг илгээж болно, өөрөөр хэлбэл /testsub /

Энэ самбарын тушаалууд нь:

  • R13_ON: Триакийг 100%асаах.
  • R13_OFF: Триакийг 0%хүртэл унтраах.
  • Диммер: xx: Энд xx нь бүдэгрүүлэх утга бөгөөд 0 -ээс 99 хүртэл өөрчилж болно.
  • Дахин тохируулах: Самбарын тохиргоог арилгах.
  • Төлөв: Удирдах зөвлөлийн нийтлэх сэдвээр самбарын бүдэг байдлыг хэвлэ.

Mqtt клиент суулгасан ubuntu дээр суурилсан системээс энэ тушаалыг илгээхийн тулд доор үзүүлсэн шиг бичнэ үү. Баталгаажуулалтын ачаар энд хоёр нэмэлт параметрийг нэмж оруулсан болно, өөрөөр хэлбэл -u нь хэрэглэгчийн нэр бөгөөд -P нь нууц үг бөгөөд эдгээр нь том үсгийг томруулдаг гэдгийг анхаарна уу.

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 Диммер: 50

Тэмдэглэл: 50 нь бүдэгрүүлэгч утга юм

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 Статус

Хамгийн сүүлийн үеийн статусын хувьд статусыг самбар дээр нийтлэх сэдвээр хэвлэнэ. Энэ нь бидний хувьд /testpub юм. Манай самбар дээрх төхөөрөмжийн аливаа өөрчлөлтийг самбарын нийтлэлийн сэдвээр хэвлэнэ. Жишээлбэл, хэрэв бид Dimmer: 50 -ийг захиалсан сэдвээр физик байдлаар гүйцэтгэхээс илүүтэйгээр самбарыг дамжуулбал самбар нь нийтлэлийн сэдвийг бүдэгрүүлсэн түвшинг харуулсан мессеж илгээх болно. Жишээг доор үзүүлэв, Ubuntu системээсээ самбар дээрх нийтлэх сэдвийг захиалахын тулд дараах тушаалыг оруулна уу

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

бидэнд ирдэг мессеж

DimmerIS50

ижил дэлгэцийн богино өмд доор байна (Зураг 28, Зураг 29)

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