Пример кода
Этот раздел сейчас переделывается. Приносим извинения за неудобства. Если вам нужна срочная помощь, обратитесь в 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 выводится много полезной отладочной информации.
- Можно переключиться в режим релиза, чтобы оценить, насколько быстро всё работает без отладочного вывода.