Библиотека MQTT
Этот раздел сейчас дорабатывается, приносим извинения за неудобства. Если вам нужна срочная помощь, обратитесь в службу поддержки Tibbo.
Библиотека MQTT реализует минимум функций, необходимый устройству на Tibbo BASIC\/C для работы в роли клиента MQTT. Библиотека поддерживает обе роли: издателя (publisher) и подписчика (subscriber).
Объяснение работы и устройства протокола MQTT выходит за рамки этого руководства. В интернете есть очень много материалов по MQTT. В частности, нам нравятся учебные материалы (и серверное ПО!) компании HiveMQ:
hivemq.com/blog/mqtt-essentials/
О библиотеке
| Поддерживаемые платформы: | Любая платформа как минимум с одним из интерфейсов: Ethernet (net.), Wi-Fi (wln.) или GPRS (ppp.). |
| Подключаемые файлы: | mqtt.tbs, mqtt.tbh (из current_library_set\mqtt\trunk\). |
| Зависимости: | библиотека SOCK |
Процедуры API: Для работы с библиотекой используйте процедуры API. | mqtt_start() - запускает библиотеку MQTT. mqtt_connect() - поручает библиотеке подключиться к серверу MQTT (брокеру). mqtt_reconnect() - поручает библиотеке переподключиться к серверу MQTT (брокеру). mqtt_disconnect() - отключает устройство от сервера MQTT (брокера). mqtt_publish() - публикует тему и её данные на сервере MQTT (брокере). mqtt_sub() - подписывает устройство на указанную тему на сервере MQTT (брокере). mqtt_unsub() - отписывает устройство от указанной темы. |
Процедуры событий: Вызывайте процедуры событий из соответствующих обработчиков событий, как описано здесь. | mqtt_proc_timer() - вызывайте из обработчика события on_sys_timer(). mqtt_proc_data() - вызывайте из обработчика события on_sock_data_arrival(). |
Процедуры обратного вызова: Тела процедур обратного вызова нужно реализовать в другом месте проекта. | callback_mqtt_connect_ok() - вызывается, когда устройство успешно подключилось к серверу MQTT. callback_mqtt_connect_lost() - вызывается при потере соединения с сервером MQTT. callback_mqtt_notif() - вызывается, когда подписчик получает сообщение от сервера MQTT. callback_mqtt_sub_ok() - вызывается у подписчика, когда сервер MQTT подтверждает запрошенную подписку. |
| Необходимое место в буфере: | 2 страницы буфера. В зависимости от используемых тем MQTT может потребоваться больше. |