Дешёвый сервер Home Assistant

25-12-2024

Самый дешёвый сервер для Home Assistant на ТВ приставке H96 Max.

Предупреждение от разработчика сборки Armbian для RK3318: ... это всего лишь личное мнение, но, по-видимому, широко распространенное, что чип rk3318 не является официальной частью Rockchip. Вероятно, это бракованные детали rk3328, которые не прошли тесты на соответствие, но все равно продаются производителям телевизионных приставок. Они не достигают той же рабочей частоты, что и rk3328, имеют гораздо более высокие токи утечки (и, следовательно, более высокие температуры ), и часто платы, на которых они установлены, имеют низкое качество с некачественными компонентами , на самом деле очень и очень распространенной проблемой является отказ eMMC из-за плохих деталей и плохой пайки. Поэтому я лично рекомендую не покупать телевизионную приставку rk3318, а вместо этого найти должным образом поддерживаемый SBC (одноплатный компьютер), если вам нужен надежный продукт...

Ссылки на материалы

Оборудование

  • Приставка H96 Max 4Gb/64Gb. Подойдет вариант 4Gb/32Gb.
  • Кабель переходник SATA - USB.
  • Одна или две SD карты размером от 16Gb.
  • SSD диск размером от 128Gb.

Приставка

Дополнительное оборудование

Программное обеспечение

Мультитул и образ Armbian для приставки. Также можно скачать здесь.

Pro

Это самый дешёвый из доступных вариантов сервера Home Assistant. 4Gb оперативной памяти, встроенный bluetooth, Wi-Fi, четырех-ядерный процессор, блок питания в комплекте.

Начинка, по ряду параметров очень похожа на Home Assistant Green от разработчиков, только дешевле в три-четыре раза.

Contra

Это всё же ТВ приставка. Ещё и собранная - смотреть замечание разработчика имиджа. Используются различные варианты плат (см. форумы). Иногда требуется дополнительное охлаждение. Также используется устаревший CPU, 100Mbit сеть.

Варианты установки

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

  1. Загружаем образ Armbian и копию Multitool - здесь.
  2. Записываем Multitool на SD-карту - можно этой программой.
  3. Вставляем SD-карту в ТВ-приставку и включаем. Через несколько секунд синий светодиод начнет мигать и появится Multitool.
  4. ОБЯЗАТЕЛЬНО: делаем резервную копию существующей прошивки. (Процесс не быстрый, придется подождать).
  5. Выбираем пункт Shutdown и выключаем приставку.
  6. Вынимаем SD-карту и сохраняем tvbox-backup.gz файл с карты в надежное место.

На этом этапе общая часть заканчивается.

Загрузка с eMMC - система на eMMC

  1. Копируем выбранный образ Armbian на SD-карту в папку images
  2. Вставляем SD-карту в приставку H96Max и подаем питание.
  3. Загрузится Multitool, выбираем пункт Burn image to flash.
  4. Выбираем Armbian, прошиваем и выключаем приставку Shutdown
  5. Вынимаем SD-карту и подаем питание.
  6. Устанавливаем Armbian.

Загрузка с SD - система на SD

  1. Опять загружаемся с SD-карты и выбираем пункт Erase flash
  2. Выключаем приставку.
  3. С помощью программы записываем Armbian на SD-карту. (Лучше на свободную)
  4. Загружаемся с SD-карты и устанавливаем Armbian.

Загрузка с eMMC или SD - система на SSD

Основная идея - загрузочный раздел на SD-карте или eMMC памяти, а системный раздел перенести на SSD. Так и eMMC меньше портится, а с SD-карты можно периодически делать backup.

Для переноса системы подключаем SSD диск к приставке в разъём USB2.0. Список устройств в системе:

Система загружена с SD-карты, раздел устройства mmcblk0p1 смонтирован в /. Запускаем команду nand-sata-install.

Выбираем первый пункт - Загрузка с SD система на USB.

Выбираем раздел диска /dev/sda1.

Видим предупреждение, нажимаем продолжить.

Из файловых систем я выбрал ext4. Далее начинается форматирование диска и перенос системы.

Система готова, необходимо перезагрузить приставку.

После загрузки системы видно, что используется SSD диск подключенный к USB.

Проверяем дополнительно:

Видно, что раздел /dev/sda1 подключен как корневой раздел системы, а mmcblk0p1 используется как загрузочный.

Установка Armbian

При первом запуске меняем пароль root и создаем пользователя. Обновляем систему и устанавливаем программы.

apt update
apt upgrade
apt install sudo mc bluez

Выполняем конфигурацию системы rk3318-config

Везде нажимаем OK

Перезагружаем приставку и проверяем Bluetooth - hciconfig -a

Настраиваем mc, sudo.

Установка и настройка Home Assistant

Устанавливаем программы:

sudo apt-get install apparmor jq wget curl udisks2 libglib2.0-bin network-manager dbus lsb-release systemd-journal-remote systemd-resolved bluez cifs-utils nfs-common armbian-config -y

Ставим Docker:

curl -fsSL get.docker.com | sh
sudo usermod -aG docker $USER

Обязательно перезагружаем приставку.

Скачиваем и устанавливаем os-agent со страницы https://github.com/home-assistant/os-agent/releases/ выбираем версию os-agent_1.6.0_linux_aarch64.deb для aarch64 архитектуры.

wget https://github.com/home-assistant/os-agent/releases/download/1.6.0/os-agent_1.6.0_linux_aarch64.deb
sudo dpkg -i os-agent_1.6.0_linux_aarch64.deb

Скачиваем и устанавливаем пакет homeassistant-supervised - https://github.com/home-assistant/supervised-installer/releases.

wget https://github.com/home-assistant/supervised-installer/releases/download/2.0.0/homeassistant-supervised.deb
sudo BYPASS_OS_CHECK=true dpkg -i homeassistant-supervised.deb

Тип компьютера выбираем odroid-c2.

Исправление ошибок

Неподдерживаемая система - версия CGroup

Запускаем armbian-config

В файл /boot/armbianEnv.txt добавляем строку - extraargs=systemd.unified_cgroup_hierarchy=0. Сохраняем и перезагружаем приставку.

Неподдерживаемая система – операционная система

Нужно отредактировать файл  /etc/os-release.

sudo nano /etc/os-release

Меняем в нем строку PRETTY_NAME="Armbian 23.11.1 bookworm" на PRETTY_NAME="Debian GNU/Linux 12 (bookworm)".

Перезагружаем приставку.