
Автор материала протестировал запуск полноценного Zigbee-координатора для умного дома на смартфоне с Android 10 и новее. Для этого понадобились эмулятор Linux-окружения Termux, программа-мост Zigbee2MQTT и сетевой Zigbee-шлюз. Вся связка позволяет управлять датчиками и лампами без привязки к проприетарным хабам Xiaomi, Tuya или Aqara.
Zigbee - это беспроводной стандарт с низким энергопотреблением, который используют большинство производителей домашней автоматизации. Главная проблема экосистем - вендорная блокировка, когда устройства разных брендов не видят друг друга без «родного» шлюза. Инструмент Zigbee2MQTT решает эту задачу, превращая универсальный координатор в мост между Zigbee-сетью и MQTT-брокером.
Проект Zigbee2MQTT поддерживает более 5500 устройств от 580 с лишним брендов. Актуальный список совместимого оборудования всегда публикуется на официальном сайте разработчиков. Сама система автоматизации в статье не рассматривается, но обычно для визуализации и сценариев используют Home Assistant, Node-RED или OpenHAB.
Для эксперимента автор взял два типа координаторов. Первый - LAN-стик на чипе CC2652P7 от BacchusWorkshop с питанием по USB Type-C и подключением к роутеру по кабелю. Второй - Wi-Fi-шлюз SLS от проекта slsys.io, который может соединяться напрямую с точкой доступа смартфона для полной автономности.
У Wi-Fi-шлюза есть нюанс: он работает на частоте 2,4 ГГц, которую также использует Zigbee. При сильной зашумленности эфира это может приводить к задержкам или потере пакетов. В настройках SLS-шлюза нужно активировать режим Zigbee TCP Bridge на порту 8881, чтобы он работал как прозрачный координатор.
Для LAN-стика потребовалось узнать его IP-адрес в панели роутера и зайти в веб-интерфейс. В настройках автор выбрал режим TCP Server и запомнил локальный порт. Возникла особенность: поле Target IP оказалось заблокированным в нужном режиме, поэтому пришлось временно переключить стик в другой режим, прописать адрес смартфона и вернуть TCP Server обратно.
Среда Termux выступает полноценным Linux-окружением на телефоне. Автор предупреждает: версия из Google Play устарела и неработоспособна. Актуальный установочный файл нужно скачивать только из каталога F-Droid или с GitHub.
Дополнительно рекомендуются утилиты Termux:Boot для автозапуска и Termux:API для интеграции с аппаратной частью Android. Все три приложения обязательно устанавливать из одного источника, иначе возникнет конфликт цифровых подписей. После первого запуска Termux создает Linux-пользователя, права суперпользователя для задачи не требуются.
Для удобства автор сразу настроил SSH-сервер, который в Termux по умолчанию слушает порт 8022. Чтобы Android не «убивал» фоновые процессы при выключенном экране, в Termux активируется режим бодрствования командой termux-wake-lock. В системных настройках самого смартфона для приложений Termux, Termux:Boot и Termux:API нужно выставить режим «Нет ограничений» в разделе контроля активности или энергосбережения.
Дальнейшая установка выполняется через SSH-клиент с компьютера. Сначала ставят MQTT-брокер Mosquitto, который принимает и распределяет сообщения по модели «издатель - подписчик». В конфигурации прописывают прослушивание порта 1883 и разрешают анонимные подключения.
Для Zigbee2MQTT сначала устанавливают Node.js LTS-версии, Git, Python и инструменты сборки. Затем клонируют репозиторий проекта с GitHub и активируют менеджер пакетов pnpm версии 10.18.3. Сборка зависимостей на смартфоне занимает некоторое время и требует терпения.
Конфигурационный файл data/configuration.yaml создают вручную. В секции последовательного порта указывают IP-адрес и порт координатора в формате tcp://192.168.1.122:8881. Параметры сетевого ключа, идентификатора сети и расширенного идентификатора оставляют со значением GENERATE, чтобы Zigbee2MQTT сам сгенерировал уникальные ключи при первом запуске.
После запуска командой pnpm start встроенный веб-интерфейс Zigbee2MQTT становится доступен в браузере по IP-адресу смартфона на порту 8090. Для фоновой работы и автозапуска после перезагрузки телефона команды запуска Mosquitto и Zigbee2MQTT добавляют в конфигурационный файл профиля ~/.bashrc.
Читайте также
Печатники возглавили рейтинг районов Москвы по росту цен на новостройки за 5 лет
Активы рыночных фондов недвижимости впервые превысили 1 трлн рублей
Застройщики начали системно готовить кадры вместе с вузами
На севере Хабаровского края запустили отопление в жилых домах
Акции девелопера ПИК упали почти на 5% из-за планов делистинга