Tanix w2 Debian: Умный дом на контейнерах

Tanix w2 Debian: Умный дом на контейнерах

📅 Дата публикации: 13 мая 2026 ⏱️ Время чтения: ~25 минут

В этой статье: Полное руководство по установке и настройке умного дома на базе ТВ-приставки Tanix w2. В отличие от стандартного использования Android TV, мы превратим эту недорогую приставку в мощный домашний сервер на базе Docker.

Почему Tanix w2? Это устройство обладает рядом преимуществ: низкое энергопотребление (всего 5-10 Вт), достаточная производительность для запуска десятка Docker-контейнеров, наличие Gigabit Ethernet и возможность загрузки с microSD. При этом стоимость приставки значительно ниже, чем у готовых NAS или серверов.

Что мы сделаем?

  • Установим Debian Linux на приставку (вместо штатного Android TV)
  • Настроим автоматическое отключение режима сна USB (чтобы приставка работала 24/7)
  • Развернём Docker — платформу для запуска приложений в изолированных контейнерах
  • Установим Portainer — удобный веб-интерфейс для управления контейнерами
  • Настроим MQTT-брокер Mosquitto — центральный узел для обмена данными между IoT-устройствами
  • Развернём ESPHome — для прошивки ESP8266/ESP32 через YAML-конфиги
  • Установим Home Assistant — сердце вашего умного дома
  • Добавим HACS — магазин пользовательских интеграций и интерфейсов
  • Установим Node-RED — визуальный инструмент для создания сценариев автоматизации
  • Настроим Watchtower — для автоматического обновления всех Docker-контейнеров
  • Установим Midnight Commander — удобный консольный файловый менеджер

В результате вы получите полностью работающую платформу для управления IoT-устройствами с низким энергопотреблением, автоматическим обновлением контейнеров и централизованным управлением через веб-интерфейс Home Assistant. Приставка будет работать 24/7, потребляя минимум электроэнергии, и станет идеальным бюджетным решением для вашего умного дома.

Характеристики Tanix w2
ПараметрЗначение
ОСAndroid 11
Центральный процессорS905W2 64-битный четырёхъядерный ARM Cortex A35
Графический процессорMali-G31
Оперативная памятьLPDDR4 912MHz (2/16) или DDR3 (4/32/64)
Встроенная память16GB/32GB/64GB eMMC
СетьEthernet 100 Мбит, Wi-Fi 2.4/5 ГГц, Bluetooth 4.0
ПортыUSB 2.0 (2 шт), microSD, HDMI, AV, SPDIF, RJ45
Питание5V / 2A (DC 5.5×2.1 мм)
💡 Важно: Кнопка Reset находится внутри AV-гнезда — для нажатия используйте зубочистку или спичку.

1. Установка Debian на приставку

Tanix w2

Минимальные требования: лучше брать microSD карту от 16 ГБ (8 ГБ тоже хватит) с быстрой скоростью записи и чтения. В моем случае это microSDXC Canvas Go! Plus 128 ГБ, 200 МБ/с.

💡 Возврат на Android TV: Скачайте Slimbox, запишите его на SD-карту программой Burn Card Maker 2.0.3. Установка такая же, как и Debian — вставить карточку, зажать зубочисткой кнопку в аудиоразъеме и подключить питание. Через 5 минут на приставке снова Android TV.

Подготовка носителя и образа Debian:

  • Скачайте программу для записи образа: https://etcher.balena.io/
  • Скачайте образ Debian для Amlogic: github.com/devmfc/debian-on-amlogic
  • Запишите образ на карту с помощью Balena Etcher
  • Откройте файл boot.config на первом FAT-разделе карты
  • Раскомментируйте строку box=tanixw2 (удалите # в начале)
  • Сохраните конфигурационный файл
  • Вставьте SD-карту (флешку) в выключенный ТВ-бокс
  • Зажмите зубочисткой кнопку в аудиоразъеме и подайте питание
  • Удерживайте кнопку сброса около 7 секунд

После загрузки подключитесь по SSH (логин: root, пароль: tvbox):

ssh root@ip_вашей_приставки

Перенос прошивки на внутреннюю память:

./aml-multiboot-setup.sh
./aml-install-to-emmc.sh
reboot

После перезагрузки снова подключитесь по SSH и обновите пакеты:

ssh root@ip
apt update && apt upgrade -y
apt install nano -y

2. Установка актуального времени

Проверьте текущие настройки:

timedatectl

Установите часовой пояс (для Москвы):

timedatectl set-timezone Europe/Moscow

Включите автосинхронизацию по NTP:

timedatectl set-ntp true

3. Отключение режима сна (USB autosuspend)

Часть 1. Создание скрипта-фикса

cat > /usr/local/bin/usb-fix.sh << 'EOF'
#!/bin/bash
echo -1 > /sys/module/usbcore/parameters/autosuspend
EOF
chmod +x /usr/local/bin/usb-fix.sh

Часть 2. Создание службы systemd

cat > /etc/systemd/system/usb-autosuspend-fix.service << 'EOF'
[Unit]
Description=Disable USB autosuspend for Smart Home
After=multi-user.target

[Service]
Type=oneshot
ExecStart=/usr/local/bin/usb-fix.sh
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target
EOF

Часть 3. Активация службы

systemctl daemon-reload
systemctl enable usb-autosuspend-fix.service
systemctl start usb-autosuspend-fix.service

Часть 4. Проверка

cat /sys/module/usbcore/parameters/autosuspend
✅ Если вы видите -1 — автосон USB отключен навсегда.

4. Установка Docker и Portainer

🐳 Что такое Docker? Docker — это платформа для автоматизации разработки, доставки и развертывания приложений в изолированных контейнерах. Контейнеры легче виртуальных машин и используют ядро основной системы.

📦 Что такое Portainer? Portainer — это легкий веб-интерфейс для управления контейнерами Docker, устраняющий необходимость использования командной строки.

Установка Docker:

apt update && apt install -y ca-certificates curl gnupg lsb-release && \ mkdir -p /etc/apt/keyrings && \ curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg && \ echo "deb [arch=arm64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null && \ apt update && apt upgrade -y && \ apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin && \ systemctl enable --now docker && \ docker --version

Установка Portainer:

docker volume create portainer
docker run -d --name portainer --restart=always -p 9000:9000 -p 9443:9443 -v /var/run/docker.sock:/var/run/docker.sock -v portainer:/data portainer/portainer-ce:latest
🌐 Portainer доступен по адресу: http://ip:9000 (создайте администратора при первом входе).

Расшарим папку с контейнерами в SMB:

apt install -y samba samba-common-bin
nano /etc/samba/smb.conf

Добавьте в конец файла:

[DockerVolumes]
  path = /var/lib/docker/volumes
  browseable = yes
  read only = no
  guest ok = no
  valid users = root
  force user = root
smbpasswd -a root
systemctl restart smbd
systemctl enable smbd

5. Установка MQTT Broker (Mosquitto)

📡 Что такое MQTT-брокер? Это центральный сервер, который принимает данные от устройств (издателей) и маршрутизирует их подписчикам по темам (topics). Принцип Pub/Sub — устройства не знают друг о друге напрямую.
docker volume create mosquitto
docker run -d --name mosquitto --restart=always --network host -v /var/lib/docker/volumes/mosquitto:/mosquitto eclipse-mosquitto:latest
docker stop mosquitto

Создаём файл mosquitto.conf:

mkdir -p /var/lib/docker/volumes/mosquitto/config
nano /var/lib/docker/volumes/mosquitto/config/mosquitto.conf

Вставьте текст:

persistence true
persistence_location /mosquitto/data/
log_dest file /mosquitto/log/mosquitto.log
listener 1883
allow_anonymous false
password_file /mosquitto/config/passwd

Создаём файл passwd:

Сгенерируйте пароль на сайте dmelo.eu:

  • Username: homeassistant
  • Password: придумайте пароль
  • Iterations: 100
  • Нажмите Generate
nano /var/lib/docker/volumes/mosquitto/config/passwd

Вставьте весь текст из зелёного поля, сохраните (CTRL+O → ENTER → CTRL+X).

docker start mosquitto

6. Установка ESPHome

🔌 Что такое ESPHome? Это простой способ написать код для ESP-плат (устройства, похожие на Arduino). Вы пишете YAML-конфигурацию, а ESPHome компилирует код и интегрируется с Home Assistant через зашифрованный API.
docker volume create esphome
docker run -d --name esphome --restart=always --network host -e TZ=Europe/Moscow -v /var/lib/docker/volumes/esphome:/config esphome/esphome:latest
🌐 ESPHome доступен по адресу: http://ip:6052

7. Установка Home Assistant

🏠 Что такое Home Assistant? Это бесплатная платформа с открытым исходным кодом для автоматизации умного дома, ориентированная на локальное управление и конфиденциальность. Устройства работают даже без интернета.
docker volume create homeassistant
docker run -d --name homeassistant --restart=always --network=host -v /var/lib/docker/volumes/homeassistant:/config ghcr.io/home-assistant/home-assistant:stable
⚠️ Важно: Регулярно делайте автоматические бэкапы Home Assistant в облако и ручные бэкапы перед важными изменениями.
🌐 Home Assistant доступен по адресу: http://ip:8123. Первый запуск может занять 5-10 минут.

8. Установка HACS

📦 Что такое HACS? Home Assistant Community Store — магазин пользовательских интеграций, интерфейсов и тем, которых нет в официальном магазине.

Шаг 1. Скачайте и распакуйте HACS

Скачайте последнюю версию HACS с GitHub, распакуйте папку hacs в /var/lib/docker/volumes/homeassistant/_data/custom_components/ (создайте папку custom_components при необходимости).

⚠️ Важно: После распаковки папки необходимо перезагрузить Home Assistant, иначе интеграция не появится в списке!

Шаг 2. Перезагрузите Home Assistant

systemctl restart homeassistant

Или через веб-интерфейс: Настройки → Система → Управление → Перезагрузить

Шаг 3. Установите интеграцию в Home Assistant

  1. Зайдите в HA: http://ваш_ip:8123
  2. Очистите кэш браузера (иначе HACS может не появиться)
  3. Настройки → Устройства и службы → Добавить интеграцию
  4. Найдите HACS и выберите его
  5. Подтвердите соглашения (поставьте галочки напротив всех пунктов) → Submit
  6. Авторизуйтесь через GitHub (скопируйте код и введите на github.com/login/device)
⚠️ Важно: Делайте бэкапы перед добавлением новых компонентов из HACS!

9. Установка Node-RED

🎨 Что такое Node-RED? Это визуальный инструмент программирования для создания приложений IoT, автоматизации и интеграции различных API. Работает по принципу «потокового программирования» без необходимости писать много кода.
docker run -it -p 1880:1880 -v node_red_data:/data --name mynodered nodered/node-red
🌐 Node-RED доступен по адресу: http://ip:1880

10. Установка Watchtower (автообновление контейнеров)

🔄 Что такое Watchtower? Контейнер для автоматического обновления всех Docker-контейнеров до последних версий.
docker run -d --name watchtower --restart=always -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --cleanup --interval 86400
⏱️ interval 86400 — проверка раз в сутки (86400 секунд = 24 часа). Флаг --cleanup удаляет старые образы.

11. Установка Midnight Commander (mc)

📁 Что такое Midnight Commander? Это удобный консольный файловый менеджер с двухпанельным интерфейсом, позволяющий копировать, перемещать, удалять, просматривать и редактировать файлы.
apt update && apt install mc -y

Запуск: просто введите mc в терминале.

Горячие клавиши:

  • F1 — справка
  • F3 — просмотр файла
  • F4 — редактирование
  • F5 — копирование
  • F6 — перемещение/переименование
  • F7 — создание папки
  • F8 — удаление
  • F9 — меню
  • F10 — выход

12. Связка Node-RED с Home Assistant через API

Более подробно описано в статье «Node-RED + Home Assistant: API-ключ и MQTT».

🔗 Также вы можете изучить официальную документацию node-red-contrib-home-assistant-websocket.
Мы используем cookie-файлы. Это нужно для лучшей работы сайта. Продолжая пользоваться сайтом, вы соглашаетесь с этим.