Как использовать MQTT: подсказки специалистов

На прошлой неделе был релиз MQTT Buddy – нового MQTT клиента для Android. Это простое маленькое приложение (всего 1.7 Мб), которое очень легко использовать.

Наш клиент основан на протоколе MQTTЮ который использует модель Издатель-Подписчик. Это значит, что вы подписываетесь на разные топики, куда клиенты  (IoT устройства) публикуют сообщения. Все сообщения проходят через сервер – MQTT брокер. Общая схема общения MQTT:

mqtt architecture

Мы собрали несколько основных правил, как правильно называть топики в MQTT.

  1. Топики чувствительны к регистру. Будьте внимательны, потому что kitchen/temperature and Kitchen/Temperature – два разных топика.
  2. Не используйте первым в названии топика слэш: /home/kitchen/temperature. Таким образом вы создаете лишний уровень вложенности без какого-либо символа в начале.
  3. Не используйте пробелы в названии топика, т.к. они затрудняют чтение и поиск ошибок, если что-либо перестанет работать верно.
  4. Постарайтесь создавать короткие и четкие названия топиков. Для мобильных телефонов важно стараться сократить размер передаваемой информации. Названия топиков всегда вкллючаются в сообщение, в котором они используются.
  5. Избегайте непечатных символов. Рекомендуется использовать ASCII, т.к. данные символы всегда отображаются корректно.
  6. Помните о расширяемости. Должно быть несложно добавить новые IoT устройства в Вашу иерархию топиков не изменяя ее.
  7. Не используйте общие топики для всех сообщений. Например, если у вас на кухне несколько сенсоров, создайте для каждого из них свой топик: home/kitchen/temperature и home/kitchen/motion вместо home/kitchen для обоих

Если у Вас есть собственные советы, делитесь ими с нами J

 

1 thought on “Как использовать MQTT: подсказки специалистов”

  1. Уже написал на Play, но на всякий случай продублирую и тут – есть у меня мечта – иметь в MQTT клиенте отдельный виджет бы для термостата, чтобы место на экране сэкономить. Смотреть хочется на две температуры (текущую и уставку) и статус исполнительного устройства (вкл/выкл). Можно платный 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *