Тестирование брокера и клиента Mosquitto на Raspberry Pi

В этом руководстве вы протестируете MQTT-брокер Mosquitto и MQTT-клиент на Raspberry Pi. Вы подпишете MQTT-клиент на MQTT-топик и опубликуете тестовые сообщения.

MQTT-клиент Mosquitto на Raspberry Pi

Рекомендуемые ресурсы:

Тестирование установки MQTT-брокера

После :doc:`установки MQTT-брокера </raspberry/rnt/how-to-install-mosquitto-broker-on-raspberry-pi/index>`_ рекомендуется установить MQTT-клиент для тестирования установки брокера и публикации тестовых сообщений.

Выполните следующую команду, чтобы установить MQTT-клиент Mosquitto:

sudo apt install -y mosquitto mosquitto-clients

Запустите Mosquitto в фоновом режиме как демон:

mosquitto -d

Подписка на топик testTopic

Чтобы подписаться на MQTT-топик с помощью клиента Mosquitto, откройте терминал (Окно #1) и введите команду:

mosquitto_sub -d -t testTopic
Подписка MQTT-клиента Mosquitto на топик

Теперь вы подписаны на топик с именем testTopic.

Если вы включили имя пользователя и пароль на вашем брокере, вам нужно выполнить команду следующим образом:

mosquitto_sub -d -t testTopic -u user -P pass

Замените user на ваше имя пользователя, а pass на ваш пароль. Например, моё имя пользователя — sara, а пароль — pass1245, поэтому мне нужно выполнить команду следующим образом:

mosquitto_sub -d -t testTopic -u sara -P pass1245

Публикация сообщения «Hello World!» в топик testTopic

Чтобы опубликовать тестовое сообщение в testTopic, откройте терминал (Окно #2) и выполните следующую команду:

mosquitto_pub -d -t testTopic -m "Hello world!"
Публикация сообщения MQTT-клиентом Mosquitto

Сообщение «Hello World!» получено в Окне #1, как показано на рисунке выше.

Если вы включили имя пользователя и пароль на вашем брокере, вам нужно выполнить команду следующим образом:

mosquitto_pub -d -t testTopic -m "Hello world!" -u user -P pass

Замените user на ваше имя пользователя, а pass на ваш пароль.

Публикация сообщения нескольким клиентам

Пока Окно #1 все ещё подписано на топик testTopic, откройте новое терминальное Окно #3 и выполните следующую команду для подписки на топик testTopic:

mosquitto_sub -d -t testTopic

Если вы включили имя пользователя и пароль на вашем брокере, вам нужно выполнить команду следующим образом:

mosquitto_sub -d -t testTopic -u user -P pass

Замените user на ваше имя пользователя, а pass на ваш пароль.

В Окне #2 опубликуйте сообщение «Hello World!»:

mosquitto_pub -d -t testTopic -m "Hello world!"

Если вы включили имя пользователя и пароль на вашем брокере, вам нужно выполнить команду следующим образом:

mosquitto_pub -d -t testTopic -m "Hello world!" -u user -P pass
Два подписчика получают сообщение от одного издателя Mosquitto

Поскольку два клиента подписаны на топик testTopic, они оба получат сообщение «Hello world!».

Этот простой пример показывает, как работает MQTT и как ваши устройства (например: :doc:`ESP8266 </esp32/rnt/esp8266-and-node-red-with-mqtt/index>`_ или :doc:`ESP32 </esp32/rnt/esp32-mqtt-publish-subscribe-arduino-ide/index>`_ и т.д.) могут быть подписаны на один и тот же топик для получения сообщений, или устройство может публиковать сообщения нескольким устройствам.

Заключение

В этом руководстве вы проверили, что ваш брокер Mosquitto, установленный на Raspberry Pi, работает правильно. Теперь вы можете экспериментировать с MQTT в своих проектах ESP32/ESP8266 IoT. У нас есть несколько практических примеров работы с MQTT, с которыми вы можете поэкспериментировать. Вот некоторые из них:

Вы также можете запустить MQTT-брокер Mosquitto в облаке. Запуск облачного MQTT-брокера Mosquitto позволяет подключать несколько плат ESP32/ESP8266 и других IoT-устройств из любой точки мира, используя различные сети, если у них есть подключение к Интернету. Ознакомьтесь с руководством ниже: