Съдържание:

MQTT на дъски Armtronix: 3 стъпки
MQTT на дъски Armtronix: 3 стъпки

Видео: MQTT на дъски Armtronix: 3 стъпки

Видео: MQTT на дъски Armtronix: 3 стъпки
Видео: Terneo srz and terneo rzx - thermostats for infrared heating panels and convectors 2024, Юли
Anonim
MQTT на дъски Armtronix
MQTT на дъски Armtronix

В тази инструкция бихме искали първоначално да ви покажем как можете да използвате Linux (Debian или Ubuntu) базирана система и да инсталирате Mosquitto (Mqtt Broker) върху нея, също така ще ви покажем как да използвате Mqtt клиент на вашия телефон (Android)/ Linux базиран система, изпращане и получаване на съобщения чрез 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, щракнете върху Показване на приложението (мрежа с точки 3X3). Ще се отвори прозорец. Там търсите терминал. Щракнете върху терминала, трябва да можете да видите отворен прозорец, както е показано на следващите изображения.

  • Показване на приложението (Изображение 1).
  • Търсете терминал (Изображение 2).
  • Терминален прозорец (Изображение 3).

Въведете следните команди, след като отворите терминала

sudo apt-add-repository ppa: mosquitto-dev/mosquitto-ppa

sudo apt-get update

sudo apt-get инсталирайте комар

Можете също да инсталирате клиента Mqtt. Команда да се направи това ще бъде

sudo apt-get инсталирайте клиенти на комари

Някои изображения за ваше сведение

  • Добавяне на ppa (Изображение 4).
  • Актуализиране на репо (Изображение 5).
  • Инсталиране на Mosquitto (Изображение 6).
  • Инсталиране на Mosquitto Client (Изображение 7).

Стъпка 2: Тестване на MQTT (Mosquitto)

Тестване на MQTT (Mosquitto)
Тестване на MQTT (Mosquitto)
Тестване на MQTT (Mosquitto)
Тестване на MQTT (Mosquitto)
Тестване на MQTT (Mosquitto)
Тестване на MQTT (Mosquitto)

За да тествате mqtt чрез ubuntu (същата система или друга система), трябва да инсталирате mqtt клиент, който е бил инсталиран по-рано чрез командата sudo apt-get install mosquitto-clients. В случай, че искате да го тествате с помощта на мобилен телефон (android), можете да инсталирате приложението MyMqtt от магазина за игри.

Mqtt работи върху нещо, наречено Topics. За по -лесно разбиране разглеждайте тези теми като папка на твърдия диск на компютъра. Нека да третираме този компютър като компютърен сървър (който в света на mqtt е Mqtt брокер). В този сървър нека разгледаме наличието на една папка.

Име на папката: /Folder_one /

Сега нека разгледаме двама души от две различни системи (компютър/лаптоп), които имат достъп до този сървър или за четене на файлове, или за изпращане/изхвърляне на файлове, или за извършване на двете операции.

Ще назовем двамата хора/система като System X, System Y (Това са клиенти на Mqtt в света на Mqtt).

Да кажем, че System X изпраща/изхвърля някакъв файл (име на файл: температура) в папката „/Folder_one/“, това в света на mqtt можем да наречем това публикуване (изпращаме съобщение/полезен товар вместо файл).

Сега, да речем, че системата Y иска да получи/прочете този файл или всеки нов файл или да актуализира в тази папка, първото нещо, от което се нуждае, е да знае името и пътя на папката, което в нашия случай е „/Folder_one/“. Така че сега той ще отиде в тази папка и ще прочете/получи този файл (име на файл: температура). Познаването на пътя/темата и проверката за промени във файла/новите файлове в света на Mqtt е абонамент за тази тема.

Имайки предвид горния пример, System X публикува в „/Folder_one“, а System Y се абонира за „/Folder_one“

Също така имайте предвид, че System X може също да се абонира за „/Folder_one“, а System Y може също да публикува в „/Folder_one“. По същия начин дори сървърната система (The Mqtt Broker) може да публикува/да се абонира за „/Folder_one“, като инсталира клиента Mqtt на него, както направихме в момента. Другото, което трябва да запомните, е да публикувате или да се абонирате за тема, която ще трябва да знаете IP адреса на Mqtt Broker.

Първо ще го тестваме чрез ubuntu клиент, който е инсталиран в същата система като брокера. Ще отворим два терминални прозореца, единият от които ще публикува, а другият ще се абонира за него. За пример Ще използваме /Folder_one като тема. Преди pub/sub към тема ще трябва да намерите IP адреса на ubuntu. За да направите това, щракнете в горния десен ъгъл на екрана, изберете wifi настройка, от там ще можете да намерите IP адреса на системата ubuntu (понастоящем IP на брокера). Екранна снимка, споделена за справка (Изображение 8).

Или за да намерите IP адреса на брокер, можете да намерите IP адреса, като инсталирате мрежови инструменти, като използвате следната команда в терминала

sudo apt инсталирате net-tools

Инсталиране на мрежови инструменти (Изображение 9). След това просто напишете командата ipconfig ще получите списък на мрежовия интерфейс с mac и 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 е командата, последвана от идентификатор на параметър елемент -h, който е 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 „здрав тест 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)

Тестване на Mqtt на android (моят mqtt)

Инсталирайте приложението mymqtt от магазина за игри на телефона си с Android (Изображение 12)

Отворете приложението и кликнете в горния ляв ъгъл (Изображение 13, Изображение 14).

Кликнете върху Настройки и въведете IP адреса на брокера, портът по подразбиране ще бъде 1883. В момента не използваме удостоверен брокер mqtt, така че потребителското име и паролата ще бъдат празни. Просто го запазете и отново кликнете върху горния ляв ъгъл на приложението (<Настройки) чекмеджето ще се отвори отново (Изображение 15).

В горната част на чекмеджето ще ви покаже IP адреса на брокера и порта, към който е свързано приложението (Изображение 16).

Сега добавете темата, която искате да се абонирате, като щракнете върху Абониране. Тук ще добавим тема като /Folder_one (Изображение 17, Изображение 18).

След като направите това, от системата на ubuntu с помощта на терминал ще публикуваме в темата. При публикуването трябва да получите полезния товар/съобщението, публикувано в това мобилно приложение. Например публикуване на полезен товар като „ARM -Automation Robotics & Mechatronics“. Командата е както бе споменато по -рано.

mosquitto_pub -h 192.168.1.67 -t /Folder_one -m „ARM -Автоматична роботика и мехатроника“

публикуване от системата на ubuntu (Изображение 19).

Получено публикувано съобщение на таблото за управление (Изображение 20).

Сега нека да публикуваме от телефон с Android (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, така и телефонът с Android трябва да са в една и съща мрежа или порт 1883 трябва да бъде изложен и трябва да знаете IP адреса на вашия рутер/шлюз, за да работи mqtt. Ако искате да добавите удостоверяване към вашия брокер 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

Понастоящем за тази инструкция ние използваме нашата Wifi Single Dimmer Board, която използва Triac за нарязване на синусоида и на свой ред затъмнява крушката или контролира скоростта на вентилатора. Също така сме го свързали чрез тип удостоверяване на mqtt.

Първоначално сме конфигурирали дъската. Стъпките за конфигурирането му са както е споменато по -долу.

Захранване На дъската той ще започне да хоства Wifi точка за достъп.

С помощта на телефон или лаптоп с Android се свържете към тази точка за достъп (Изображение 25).

След като се свържете с тази AP, въведете 192.168.4.1, като отворите браузър (chrome/firefox) от свързаната с AP система/телефон. Уверете се, че не използвате вашата връзка за данни (3G/4G).

При въвеждане на IP ще се отвори уеб страница, където трябва да бъде въведено следното (Изображение 26).

  • SSID: Име на Wi -Fi AP.
  • Парола: SSID парола.
  • IoT режим Mqtt или Http (Изберете Mqtt).
  • Mqtt Broker IP (В нашия случай е 192.168.1.67).
  • Потребителско име и парола на Mqtt, тъй като използваме тип удостоверяване, използвахме Naren, xxxx
  • Тема за публикуване на Mqtt: Това ще бъде по коя тема дъската също публикува, използвахме /testpub.
  • Тема за абониране на Mqtt: Това ще бъде коя тема дъската слуша за команди за задействане на триака, които сме използвали /testsub.
  • Име на устройството: Това е името, което извиквате към alexa за задействане на дъската, използвали сме corvi.

След като въведете данните, натиснете бутона за изпращане, като направите това, ще получите екран, както е показано на изображението 27, изчакайте известно време, докато дъската спре да хоства AP.

Моля, обърнете внимание, че ние сме свързали нашата платка чрез Uart към серийния монитор на Arduino IDE. Така че от лявата страна ще видите съобщенията за отстраняване на грешки, които отпечатва чрез Uart (това е само за ваше сведение).

След като това стане, можете да видите екрана за отстраняване на грешки. Повечето подробности ще бъдат видими там. След това той ще се свърже успешно с брокера на екрана за отстраняване на грешки (сериен), можете да видите това.

Свързан с брокер MQTT с удостоверяване. Абониран за тема 1.

След като отпечата това, сега можете да започнете да му изпращате команди чрез mqtt по темата, за която е абониран, т.е. /testsub /

За тази дъска командите са:

  • R13_ON: За да включите триака на 100%.
  • R13_OFF: За да изключите триака на 0%.
  • Димер: xx: Където, xx е стойността на затъмняване и може да варира от 0 до 99.
  • Нулиране: За да изчистите конфигурацията на платката.
  • Статус: Отпечатайте състоянието на затъмняване на дъската върху темата за публикуване на дъската.

За да изпратите тази команда от система, базирана на ubuntu, където е инсталиран mqtt клиент, просто я въведете, както е показано по -долу. Тук се добавят два допълнителни параметъра поради удостоверяване -т.е. -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)

Препоръчано: