Пример кода

Внимание

Этот раздел сейчас переделывается. Приносим извинения за неудобства. Если вам нужна срочная помощь, обратитесь в Tibbo Support.

Чтобы показать использование библиотеки MQTT, созданы два простых приложения Tibbo BASIC: «mqtt_publisher» и «mqtt_subscriber».

Скачать их можно здесь: tibbo.com/programmable/applications.html (прокрутите страницу или найдите «MQTT Library Demo» и скачайте mqtt_demo.zip).

В демонстрации MQTT устройство-издатель следит за тремя кнопками (Tibbit #38). Это делается через объект клавиатуры (kp.).

Три кнопки на устройстве-издателе соответствуют красному, жёлтому и зелёному светодиодам (Tibbit #39) на устройстве-подписчике.

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

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

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

Проверка демонстрации MQTT

Демонстрация рассчитана на платы TPS3, но её легко адаптировать для других устройств. Проще всего получить тестовое оборудование, заказав конфигурации TPS "MQTTPublisher" и "MQTTSubscriber" на сайте Tibbo: tibbo.com/store/tps/custom.html.

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

  • Со стороны издателя:
    • плата TPP3 в корпусе TPB3;
    • понадобятся Tibbits #00-3 в слотах S1, S3, S5; и
    • Tibbits #38 в слотах S2, S4, S6;
    • понадобится также питание, то есть Tibbit #10 и #18, а также подходящий блок питания 12V.
  • Со стороны подписчика:
    • плата TPP3 в корпусе TPB3;
    • понадобятся Tibbits #00-3 в слотах S1, S3, S5;
    • Tibbit #39-2 (красный) в S2;
    • Tibbit #39-3 (жёлтый) в S4;
    • Tibbit #39-1 (зелёный) в S6;
    • понадобится также питание, то есть Tibbit #10 и #18, а также подходящий блок питания 12V.

MQTT Publisher на базе платы TPP3, показан без корпуса TPB3

MQTT Subscriber на базе платы TPP3, показан без корпуса TPB3

Шаги тестирования

  • Установите подходящий 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-адреса (вы ведь знаете, что им понадобятся два разных адреса?);
    • MQTT_SERVER_HOST - укажите здесь адрес ПК, на котором запущен HiveMQ.
  • Выберите устройства подписчика и издателя как цели отладки и запустите на них соответствующие демонстрационные приложения.
  • Нажимайте кнопки на издателе, чтобы увидеть, как загораются светодиоды на подписчике.
  • В режиме отладки в панелях вывода обоих экземпляров TIDE выводится много полезной отладочной информации.
  • Можно переключиться в режим релиза, чтобы оценить, насколько быстро всё работает без отладочного вывода.
Исходный материал Tibbo обновлён 13 августа 2025Оригинал на docs.tibbo.com · Сообщить об ошибке