Оглавление:
- Шаг 1: Установка Mqtt Broker:
- Шаг 2: Тестирование MQTT (Mosquitto)
- Шаг 3: Работа с Armtronix Board и Mqtt
Видео: MQTT на платах Armtronix: 3 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:48
В этом руководстве мы хотели бы сначала показать вам, как вы можете использовать систему на основе Linux (Debian или Ubuntu) и установить на нее Mosquitto (Mqtt Broker), а также покажем вам, как использовать клиент Mqtt на вашем телефоне (Android) / на базе Linux. система, отправляющая и получающая сообщения через Mqtt. Ознакомившись с этим, мы хотели бы показать вам, как вы можете настроить и подключить нашу плату к этому установленному брокеру Mqtt. Также хотел бы показать вам, как можно добавить аутентификацию к брокеру Mqtt и несколько основных советов и приемов для отладки. Итак, приступим ………..
Шаг 1: Установка Mqtt Broker:
Вы можете установить несколько брокеров Mqtt. Некоторые известные из них указаны ниже. Некоторые из них являются облачными сервисами.
- HiveMQ
- МоскитОблако
- MQTT
- Adafruit.io
Мы покажем вам, как установить Mosquitto в системе на базе Linux (Ubuntu 18.04). Для этого сначала добавьте Mosquitto в список источников Ubuntu. Как только Mosquitto станет доступным в репозиториях Ubuntu, вы сможете установить его с помощью apt-get.
Просто откройте Терминал. Чтобы открыть терминал, перейдите в левый нижний угол рабочего стола Ubuntu, нажмите «Показать приложение» (сетка Doted 3x3). Откроется окно. Там вы ищите Терминал. Нажмите на терминал, вы должны увидеть открытое окно, как показано на следующих изображениях.
- Показать приложение (Изображение 1).
- Найдите терминал (изображение 2).
- Окно терминала (Изображение 3).
После открытия Терминала введите следующие команды.
sudo apt-add-repository ppa: mosquitto-dev / mosquitto-ppa
sudo apt-get update
sudo apt-get install mosquitto
Вы также можете установить клиент Mqtt. Команда сделать это будет
sudo apt-get install mosquitto-clients
Некоторые изображения для справки
- Добавление ppa (Изображение 4).
- Обновление репо (Изображение 5).
- Установка Mosquitto (Изображение 6).
- Установка клиента Mosquitto (Изображение 7).
Шаг 2: Тестирование MQTT (Mosquitto)
Чтобы протестировать mqtt через ubuntu (та же система или другая система), вам необходимо установить клиент mqtt, который был установлен ранее командой sudo apt-get install mosquitto-clients. Если вы хотите протестировать его с помощью мобильного телефона (Android), вы можете установить приложение MyMqtt из игрового магазина.
Mqtt работает над тем, что называется Темами. Для простоты понимания рассмотрите эти темы как папку на жестком диске компьютера. Давайте рассматривать этот компьютер как компьютерный сервер (который в мире mqtt является брокером Mqtt). На этом сервере давайте рассмотрим наличие одной папки.
Имя папки: / Folder_one /
Теперь давайте рассмотрим двух человек из двух разных систем (ПК / ноутбук), обращающихся к этому серверу либо для чтения файлов, либо для отправки / дампа файлов, либо для выполнения обеих операций.
Мы назовем двух людей / систему System X, System Y (это клиенты Mqtt в мире Mqtt).
Теперь предположим, что System X отправляет / выгружает некоторый файл (имя файла: температура) в папку «/ Folder_one /». В мире mqtt мы можем назвать это публикацией (мы отправляем какое-то сообщение / полезную нагрузку вместо файла).
Теперь, допустим, система Y хочет получить / прочитать этот файл или любой новый файл или обновить в этой папке, первое, что ей нужно, это знать имя папки и путь, который в нашем случае - «/ Folder_one /». Итак, теперь он перейдет в эту папку и прочитает / получит этот файл (имя файла: температура). Знание пути / темы и проверка изменений в файле / новых файлах в мире Mqtt - это подписка на эту тему.
Рассматривая приведенный выше пример, Система X публикуется в «/ Folder_one», а система Y подписывается на «/ Folder_one»
Также обратите внимание, что System X также может подписаться на «/ Folder_one», а система Y также может публиковать в «/ Folder_one». Точно так же даже серверная система (брокер Mqtt) может публиковать / подписываться на «/ Folder_one», установив на нее клиент Mqtt, как мы это сделали сейчас. Еще нужно помнить, что для публикации или подписки на тему вам необходимо знать IP-адрес Mqtt Broker.
Сначала мы протестируем его через клиент ubuntu, который установлен в той же системе, что и брокер. Мы откроем два окна терминала, одно из них опубликует, а другое подпишется на него. Для примера мы будем использовать / Folder_one в качестве темы. Перед публикацией / подпиской в теме вам нужно будет найти IP-адрес ubuntu. Для этого щелкните в правом верхнем углу экрана, выберите настройку Wi-Fi, оттуда вы сможете найти IP-адрес системы ubuntu (в настоящее время IP-адрес брокера). Снимок экрана предоставлен для справки (Изображение 8).
Или, чтобы найти IP-адрес брокера, вы можете найти IP-адрес, установив сетевые инструменты, используя следующую команду в терминале
sudo apt install net-tools
Установка 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
В настоящее время для этого мы используем нашу плату Wifi Single Dimmer Board, которая использует симистор для обрезки синусоидальной волны и, в свою очередь, затемняет лампочку или контролирует скорость вентилятора. Также мы подключили его через тип аутентификации mqtt.
Изначально мы настроили плату. Шаги по настройке указаны ниже.
Включите плату, и она начнет размещать точку доступа Wi-Fi.
Подключитесь к этой точке доступа с помощью телефона или ноутбука на базе Android (Изображение 25).
После подключения к этой точке доступа введите 192.168.4.1, открыв браузер (chrome / firefox) из системы / телефона, подключенной к точке доступа. Убедитесь, что вы не используете подключение для передачи данных (3G / 4G).
При вводе IP-адреса откроется веб-страница, на которой необходимо ввести следующее (Изображение 26).
- SSID: имя точки доступа Wi-Fi.
- Пароль: пароль SSID.
- Режим IoT Mqtt или Http (выберите Mqtt).
- IP-адрес Mqtt Broker (в нашем случае 192.168.1.67).
- Имя пользователя и пароль Mqtt, поскольку мы используем тип аутентификации, мы использовали Naren, xxxx
- Тема публикации Mqtt: это будет тема, по которой также публикуется доска, мы использовали / testpub.
- Тема подписки на Mqtt: это будет тема, которую плата прослушивает для команд, запускающих симистор, мы использовали / testsub.
- Имя устройства: это имя, которое вы вызываете у alexa для запуска платы, мы использовали corvi.
После ввода данных нажмите кнопку отправки, при этом вы получите экран, как показано на рисунке 27, подождите некоторое время, пока плата не перестанет размещать точку доступа.
Обратите внимание, что мы подключили нашу плату через 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 Нарен -P xxxx -t / testsub -m R13_ON
mosquitto_pub -h 192.168.1.67 -u Нарен -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 Нарен -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 Нарен -P xxxx -t / testpub
сообщение, которое мы получаем
ДиммерIS50
несколько снимков экрана с такими же изображениями ниже (Изображение 28, Изображение 29)
Рекомендуемые:
MQTT Mood Lights с ESP32: 4 шага (с изображениями)
MQTT Mood Lights с ESP32: какое-то время у меня было искушение запрыгнуть на подножку светодиодов, поэтому я выбежал и взял светодиодную ленту, чтобы с ней поиграть. В итоге я сделал эти огни настроения. Им можно управлять с помощью MQTT, что позволяет добавлять всевозможные умения. Это
GlassCube - светодиодный куб 4x4x4 на стеклянных печатных платах: 11 шагов (с изображениями)
GlassCube - Светодиодный куб 4x4x4 на стеклянных печатных платах: Моей первой инструкцией на этом веб-сайте был светодиодный куб 4x4x4 с использованием стеклянных печатных плат. Обычно мне не нравится делать один и тот же проект дважды, но недавно я наткнулся на видео французского производителя Heliox, которое вдохновило меня на создание более крупной версии моего оригинала
Плата ARMTRONIX Wifi 30 ампер: 4 шага (с изображениями)
Плата ARMTRONIX Wifi 30Amps: ВВЕДЕНИЕ: Релейная плата Armtronix 30AMPS представляет собой плату IOT. Характеристики платы: Беспроводное управление. На плате USB-UART. Внешний вид и размер платы 105 мм X 7
Светодиодный куб DotStar 4x4x4 на стеклянных печатных платах: 10 шагов (с изображениями)
Светодиодный куб DotStar 4x4x4 на стеклянных печатных платах. Вдохновением для этого проекта послужили другие крошечные светодиодные кубики, такие как HariFun и nqtronix. Оба этих проекта используют светодиоды SMD для создания куба с очень маленькими размерами, однако отдельные светодиоды соединены проводами. Моя идея была т
ARMTRONIX WIFI SINGLE Dimmer Board V0.2: 3 шага (с изображениями)
ARMTRONIX WIFI SINGLE Dimmer Board V0.2: Диммер Armtronix Wifi - это плата IOT, предназначенная для домашней автоматизации. Характеристики платы: Беспроводное управление. Малый форм-фактор. Встроенный источник питания переменного и постоянного тока от 230 В до 5 В постоянного тока. Виртуальный переключатель постоянного тока Размер платы 61,50