Тестирование брокера и клиента Mosquitto на Raspberry Pi
В этом руководстве вы протестируете MQTT-брокер Mosquitto и MQTT-клиент на Raspberry Pi. Вы подпишете MQTT-клиент на MQTT-топик и опубликуете тестовые сообщения.
Рекомендуемые ресурсы:
Вам понадобится плата Raspberry Pi — прочтите Лучшие стартовые наборы для 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
Теперь вы подписаны на топик с именем 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!"
Сообщение «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
Поскольку два клиента подписаны на топик 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-устройств из любой точки мира, используя различные сети, если у них есть подключение к Интернету. Ознакомьтесь с руководством ниже: