К содержимому

Инструкции: IoT и умный дом

Как выбрать протокол для датчиков умного дома

Один и тот же датчик температуры можно подключить пятью способами. Разбираемся, по каким признакам выбирать канал связи и протокол, чтобы не менять половину устройств через год.

редакция «Топика»~5 мин

Разделы материала

Два уровня, которые часто путают

Когда говорят «датчик работает по Wi-Fi» и «датчик работает по MQTT», речь о разных вещах.

  • Канал связи — физический способ передать биты: радио Wi-Fi, Zigbee, Bluetooth Low Energy, провод.
  • Протокол обмена — договорённость о том, как оформлены сообщения: MQTT, HTTP и другие.

Wi-Fi-датчик может отправлять данные и по MQTT, и по HTTP. Zigbee-датчик сам по себе MQTT не знает: его сообщения принимает шлюз-координатор, который уже переводит их в топики брокера. Поэтому сравнивать «Zigbee или MQTT» бессмысленно — это не конкуренты, а соседние этажи. Как устроен верхний этаж, подробно описано в материале про обмен сообщениями MQTT.

Критерии выбора

Питание

Это первый и самый жёсткий фильтр. Радиомодуль Wi-Fi потребляет много, и датчику на батарейках приходится большую часть времени спать, просыпаясь лишь для отправки показания. Экономные сети вроде Zigbee и BLE изначально задуманы для батареек. Всё, что питается от сети или по проводу, может пользоваться любым каналом.

Дальность и стены

Wi-Fi упирается в покрытие роутера. Zigbee строит сеть-сетку: устройства с постоянным питанием ретранслируют сигнал соседей, и сеть растёт вместе с числом розеток и реле. У BLE дальность скромная, обычно в пределах комнаты или соседней. Провод не боится бетона и металла, но его нужно протянуть.

Задержка

Для выключателя важна мгновенная реакция, для датчика влажности в подвале — нет. Сонный батарейный датчик может узнать о команде только при следующем пробуждении, поэтому исполнительные устройства почти всегда питают от сети.

Работа без интернета

Самый недооценённый критерий. Если устройство умеет общаться только с облаком производителя, при обрыве связи или закрытии сервиса оно превращается в кусок пластика. Локальные протоколы и свой брокер дают предсказуемость.

Масштаб и обслуживание

Подумайте, сколько устройств будет через год-два. Десяток Wi-Fi-датчиков домашний роутер выдержит, но каждое устройство занимает адрес и отнимает долю эфира, и в какой-то момент сеть начинает тормозить уже для ноутбуков и телефонов. Радиосети для датчиков рассчитаны на много маленьких устройств и разгружают Wi-Fi. Учтите и обслуживание: батарейки придётся менять, прошивки — обновлять, а проводные датчики спрятаны в стенах и требуют аккуратной схемы разводки, иначе через несколько лет никто не вспомнит, где какой кабель.

Сравнение каналов связи

Каналы связи для домашних датчиков
КаналПитаниеДальностьЧто учесть
Wi-Fiлучше от сети; на батарейках — только с глубоким сномпокрытие роутеракаждое устройство занимает место в домашней сети
Zigbeeподходит для батареексеть-сетка через устройства с питаниемнужен шлюз-координатор; пересекается по частоте с Wi-Fi
Bluetooth Low Energyподходит для батареекв пределах комнатынужен приёмник рядом; удобен для меток и простых датчиков
Проводная линияпо тому же кабелю или отдельнодесятки метров без проблемнадёжнее всего, но требует прокладки при ремонте

MQTT или HTTP поверх канала

Если у устройства есть IP-адрес (Wi-Fi, провод), остаётся выбрать, как оно будет разговаривать.

HTTP — модель «запрос — ответ». Устройство само идёт на сервер и отдаёт показание или забирает команду. Просто, понятно, но нет постоянного соединения: чтобы получить команду быстро, приходится часто опрашивать сервер.

MQTT держит одно лёгкое соединение и мгновенно доставляет сообщения в обе стороны. Плюс подписки, retained-состояния и «завещания» для отслеживания пропавших устройств. Для умного дома это обычно удобнее. Где поставить брокер, разобрано в материале про домашний брокер.

Пример того, как Wi-Fi-датчик и Zigbee-датчик в итоге оказываются в одном пространстве топиков:

dacha/teplica/termometr/temperatura    <- Wi-Fi-датчик публикует сам
dacha/teplica/zb-vlazhnost-pochvy/vlazhnost  <- публикует шлюз Zigbee

Для панели разницы нет: оба значения приходят из брокера.

Пример: дача с теплицей

Условная дача в посёлке N: дом, теплица в двадцати метрах и колодец. В доме есть розетки и Wi-Fi, в теплице — только батарейки, у колодца — кабель к насосу.

  • В доме реле света и термостаты питаются от сети и подключены по Wi-Fi.
  • В теплице датчики температуры и влажности почвы работают от батареек по Zigbee; сигнал до дома добивает уличная розетка-ретранслятор.
  • Датчик давления у насоса подключён проводом к контроллеру, который стоит рядом и публикует данные по MQTT.

Всё сходится в один брокер, а панель показывает дачу целиком. Как вывести эти показания на экран, читайте в материалах про график показаний и шкалу заполнения.

Чек-лист выбора

  • Для каждого устройства записано, от чего оно питается.
  • Отмечено, где устройство стоит относительно роутера и есть ли между ними толстые стены.
  • Определено, какие устройства должны реагировать мгновенно.
  • Проверено, что устройство работает локально, без облака производителя.
  • Для радиосетей с шлюзом понятно, где этот шлюз будет стоять.
  • Все устройства в итоге приходят в одну схему топиков.

Типичные ошибки

  1. Батарейный датчик по Wi-Fi без режима сна. Батарейки садятся очень быстро, и датчик бросают.
  2. Сравнение несравнимого. «Что лучше, Zigbee или MQTT» — вопрос без ответа: это разные уровни.
  3. Только облако. Устройство, которое не умеет работать без серверов производителя, однажды перестанет работать совсем.
  4. Шлюз в дальнем углу. Координатор радиосети за металлической дверью щитка теряет половину датчиков.
  5. Зоопарк форматов. Каждое устройство пишет в топики по-своему, и панель приходится собирать из исключений.

Вопросы и ответы

Можно ли смешивать разные протоколы в одном доме?

Да, и так делает большинство. Главное, чтобы все данные сходились в одном брокере в единой схеме топиков.

Мешают ли Zigbee и Wi-Fi друг другу?

Они работают в близком частотном диапазоне. Обычно помогает развести каналы: выбрать для радиосети датчиков канал подальше от используемого роутером.

Когда стоит тянуть провод?

Когда идёт ремонт, а устройство стоит далеко, в подвале, гараже или за несколькими бетонными стенами. Провод надёжнее любого радио.