Демонстрационная программа, использующая библиотеку MQTT

Демонстрационная программа, использующая библиотеку MQTT

Дата релиза:06/05/16
Последнее обновление:06/05/16
Файлы проекта:исходный код
Документация:документация по библиотеке MQTT
Версия TIDE Минимум:5.00.00
Версия TiOS Минимум:3.60
Платформа:TPS3W
Протестировать на:приложениях "MQTTPublisher" и "MQTTSubscriber" на пользовательских сборках TPS

О приложении

С целью демонстрации способов использования библиотеки MQTT мы создали два простых приложения на Tibbo BASIC под названием "mqtt_publisher" и "mqtt_subscriber".

В нашем случае издатель (устройство, публикующее события) осуществляет мониторинг трех кнопок (Тиббитов №38). Это действие выполняетcя объектом keypad.

Три кнопки на устройстве-издателе соответствуют светодиодам красного, желтого и зеленого свечения (Тиббиты №39) на устройстве-подписчике.

После кратковременного нажатия на кнопку издатель обращается к mqtt_publish() с темами сообщений "LED/Red", "LED/Green" и "LED/Yellow". Данные по теме сообщения соответствуют 0 (когда "кнопка отпущена") или 1 (когда "кнопка нажата"). Аналогичный код и в обработчике событий on_kp().

Устройство-подписчик подписан на все три темы с одним обращением к mqtt_sub() и линией "LED/#". Это действие выполняется однократно, внутри функции-обработчика callback_mqtt_connect_ok().

С каждым уведомлением, полученным от сервера, у подписчика вызывается функция callback_mqtt_notif(). Светодиоды включаются и отключаются внутри тела функций.

Тестирование демонстрационной программы, использующей библиотеку MQTT

Хотя программа предназначена для запуска на платах TPS3, ее можно немного изменить и использовать на других устройствах.

Чтобы провести тестирование нашего аппаратного обеспечения с MQTT, закажите пользовательские конфигурации "MQTTPublisher" и "MQTTSubscriber" для платформы TPS.

Все компоненты можно заказать и по отдельности:

  • Для устройства-издателя:
    • плата TPP3 в корпусе TPB3,
    • Тиббиты №00-3 в сокетах S1, S3, S5, а также
    • Тиббиты №38 в сокетах S2, S4, S6,
    • питание: Тиббит №10 и №18, подходящий адаптер питания на 12В.
  • Для устройства-подписчика:
    • плата TPP3 в корпусе TPB3,
    • Тиббиты №00-3 в сокетах S1, S3, S5,
    • Тиббит №39-2 (красного свечения) в S2,
    • Тиббит №39-3 (желтого свечения) в S4,
    • Тиббит №39-1 (зеленого свечения) в S6,
    • питание: Тиббит №10 и №18, подходящий адаптер питания на 12В.

Этапы тестирования

  • Установите подходящий сервер MQTT. Мы рекомендуем HiveMQ (www.hivemq.com):
    • Загрузите ПО: www.hivemq.com/downloads/ (необходима регистрация).
    • Распакуйте загруженный файл.
    • Перейдите в папку "windows-service" и выполните команду "installService.bat".
    • Перейдите в папку "bin" и выполните команду"run.bat".
    • Устанавливать имя пользователя и пароль не нужно.
  • Откройте проект издателя mqtt_publisher и проект подписчика mqtt_subscriber в двух отдельно запущенных средах TIDE, а затем скорректируйте в файлах проекта global.tbh следующее:
    • OWN_IP — назначьте подходящий незанятый IP-адрес издателю и подписчику (уточним еще раз, что они должны использовать два разных IP-адреса);
    • MQTT_SERVER_HOST — укажите IP-адрес ПК, на котором запускается HiveMQ.
  • Выберите устройства подписчика и издателя в качестве целевых объектов отладки и запустите на них соответствующие демонстрационные приложения.
  • Нажмите на кнопки на устройстве-издателе, чтобы увидеть, как загорятся светодиоды на устройстве-подписчике.
  • При работе в режиме Debugging отладочная информация отображается в окне вывода в обоих запущенных средах TIDE.
  • Чтобы увидеть насколько быстро программа работает без вывода информации об отладке, следует переключиться в режим Release.
Демонстрационная программа, использующая библиотеку MQTT