Как выбрать протокол для датчиков умного дома
Один и тот же датчик температуры можно подключить пятью способами. Разбираемся, по каким признакам выбирать канал связи и протокол, чтобы не менять половину устройств через год.
Разделы материала
Два уровня, которые часто путают
Когда говорят «датчик работает по 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.
Всё сходится в один брокер, а панель показывает дачу целиком. Как вывести эти показания на экран, читайте в материалах про график показаний и шкалу заполнения.
Чек-лист выбора
- Для каждого устройства записано, от чего оно питается.
- Отмечено, где устройство стоит относительно роутера и есть ли между ними толстые стены.
- Определено, какие устройства должны реагировать мгновенно.
- Проверено, что устройство работает локально, без облака производителя.
- Для радиосетей с шлюзом понятно, где этот шлюз будет стоять.
- Все устройства в итоге приходят в одну схему топиков.
Типичные ошибки
- Батарейный датчик по Wi-Fi без режима сна. Батарейки садятся очень быстро, и датчик бросают.
- Сравнение несравнимого. «Что лучше, Zigbee или MQTT» — вопрос без ответа: это разные уровни.
- Только облако. Устройство, которое не умеет работать без серверов производителя, однажды перестанет работать совсем.
- Шлюз в дальнем углу. Координатор радиосети за металлической дверью щитка теряет половину датчиков.
- Зоопарк форматов. Каждое устройство пишет в топики по-своему, и панель приходится собирать из исключений.
Вопросы и ответы
Можно ли смешивать разные протоколы в одном доме?
Да, и так делает большинство. Главное, чтобы все данные сходились в одном брокере в единой схеме топиков.
Мешают ли Zigbee и Wi-Fi друг другу?
Они работают в близком частотном диапазоне. Обычно помогает развести каналы: выбрать для радиосети датчиков канал подальше от используемого роутером.
Когда стоит тянуть провод?
Когда идёт ремонт, а устройство стоит далеко, в подвале, гараже или за несколькими бетонными стенами. Провод надёжнее любого радио.