ESP8266:Библиотеки/Враппер-библиотека MQTT для ESP8266
Враппер-библиотека MQTT для ESP8266[1]
Эта статья рассказывает о враппер-библиотеке MQTT для модуля ESP8266. Она называется «esp-mqtt», создана разработчиками сервиса EasyIoT Cloud, и ее можно использовать в IDE Arduino.
[Картинка]
Термин «враппер» – это производное от «wrapper», что переводится как «обертка». Это промежуточный слой, благодаря которому библиотеку, написанную для плат Arduino, можно использовать для чипа ESP8266. В данном случае речь о стандартной библиотеке MQTT. Но эта библиотека от EasyIoT Cloud – не просто враппер; помимо функций для подключения, отключения, публикации и подписки в ней есть вспомогательные функции для управления настройками EasyIoT Cloud. При помощи этих функций пользователи могут добавлять в EasyIoT Cloud новые модули и параметры, а также изменять значения в эти модулях и параметрах.
Загрузить библиотеку можно с GitHub.
Дополнительные функции враппер-библиотеки «esp-mqtt»:
- uint16_t NewModule() – для создания нового модуля
- bool SetModuleType(uint16_t moduleId, const char* moduleType) – для установки типа нового модуля
- void NewModuleParameter(uint16_t moduleId, const char* parameterName) – для создания нового параметра
- bool SetParameterIsCommand(uint16_t moduleId, const char* parameterName, bool isCommand) – для установки у параметра флага «Is Command» (параметр – это команда)
- bool SetParameterDescription(uint16_t moduleId, const char* parameterName, const char* description) – для введения описания параметра
- bool SetParameterUnit(uint16_t moduleId, const char* parameterName, const char* unit) – для установки единицы измерения в параметре
- bool SetParameterDBLogging(uint16_t moduleId, const char* parameterName, bool dbLogging) – для установки у параметра флага «DB Logging» (запись логов в базу данных)
- bool SetParameterChartSteps(uint16_t moduleId, const char* parameterName, bool chartSteps) – для установки у параметра флага «Chart Steps» (интерполяция данных в графике)
- bool SetParameterUINotifications(uint16_t moduleId, const char* parameterName, bool uiNotifications) – для установки у параметра флага «UI Notifications» (уведомления в пользовательском интерфейсе)
- bool SetParameterDbAvgInterval(uint16_t moduleId, const char* parameterName, uint dbAvgInterval) – для установки среднего интервала для записи в базу данных (в мин).