Переход на eMMC. Прошивка одноплатника Khadas VIM1 Pro
Интеграторам Home Assistant давно известна проблема недолговечности SD карт, которые используются в качестве носителей в Rasspbary Pi и других, аналогичных одноплатных компьютерах, поскольку в Home Assistant напрочь отсутствует оптимизация записи данных. Если с MajorDomo SD карта может прослужить около года то в Home Assistant приходится ее менять раз в несколько месяцев. От сюда неудобства - переодически неработающий сервер, а следственно и вся автоматизация. И конечно же дополнительные затраты на покупку новой SD-шки.
Выход - использование внешних носителей (SSD, USB и HDD, последний - нецелесообразно, но возможно), или замена одноплатника на содержащий на борту eMMC память, которая кроме достойной скорости передачи данных, имеет приличный ресурс. Такая же память используется в домашних ТВ-боксах и других девайсах. Она с успехом работает годами.
Сегодня выбор одноплатных компьютеров доволе велик. Начиная с олдовых Rasspbary Pi, заканчивая Orange Pi, Banana Pi, ASUS SBC Tinker board S и других. Все кроме Rasspbary Pi имеют а арсенале линейки плат с eMMC памятью. Дело за малым - выбрать.
На рынке одноплатников появился новый, китайский игрок - Khadas.
Не буду много писать об этом компьютере, не могу сказать что он достоен отдельного обзора. Он практически ни чем не отличается от своих собратьев кроме энергоэффективности и терморежима. Забегая на перед, скажу что в качестве сервера он трудится у меня без дополнительного охолаждения 24/7. В тот момент когда "Малинка" закипала обрабатывая процессы умного дома. ТТХ можно найти на странице производителя: https://lite.bz/bqhw7
Для построения сервера был выбран бюджетный вариант - Khadas VIM1 Pro с 16gb eMMC памятью на борту.
Прошивка:
Готового IMG образа HASS для eMMC, команда разработчиков не предоставляет. То есть Home Assistant на Khadas VIM1 Pro придется ставить вручную.
Ставить будем на чистую операционную систему, в Docker. Не буду описывать весь процесс установки Docker'a, этой информации полно в сети. Поясню лишь некоторык нюансы которые существуют на момент написания статьи.
1. Для установки ось нам необходимо скачать ее образ из сайта производителя:
Я выбрал проддерживаемую на тот момент производителем Ubuntu 18.04 for Linux 4.9
2. Далее, нужно скачать утилиту USB Burn Tool. Работает она до безобразия просто - импортируем образ системы и нажимаем кнопку Start.
Предварительно установив прошиваемую плату в режим прошивки, зажав кнопку питания (та что возле GPIO пинов) и не отпуская, одноразово жмем кнопку Resert (та что возле USB портов). Через несколько секунд, полата войдет в нужный нам режим о чем будет свидетельствовать появления надписи Connect Sussess в списке устройств и по нажатию кнопки Start, должен начаться процесс прошивки, о завершении прогивки говорит наличие зеленой строки с надписью 100%: Burning successfully. Ваш одноплатник прошит!
3. Смотрим в настройках роутера IP адрес устройства и заходим на него по SSH:
ssh root@192.168.x.x с паролем khadas и сразу же меняем его на свой по команде passwd
По умолчанию, система создает два пользователя - root и khadas с одинаковым паролем khadas. В целях безопасности, рекомендовано от последнего юзера избавиться.
4. Устанавливаем Docker. Как это делать, описывать не буду. Добро пожаловать на docker.com.
5. Установка Home Assistant. А вот здесь начинаются нюансы! Интернет нам предлагает несколько вариантов установки, самый распространенный и казалось бы простой - не работает.
ВНИМАНИЕ!
curl -Lo installer.sh https://raw.githubusercontent.com/home-assistant/supervised-installer/master/installer.sh
bash installer.sh --machine raspberrypi3
curl -sL "https://raw.githubusercontent.com/home-assistant/supervised-installer/master/installer.sh" | bash -s
НЕ РАБОТАЮТ!
Вы получите ошибку: bash: line 1: 404:: command not found. Поскольку по данному адресу, этого серипта больше не существует.
Следующий вариант установки описанный на сайте HASS: https://www.home-assistant.io/installation/linux#install-home-assistant-container - вполне рабочий! Но!...
docker run -d \
--name homeassistant \
--privileged \
--restart=unless-stopped \
-e TZ=MY_TIME_ZONE \
-v /PATH_TO_YOUR_CONFIG:/config \
--network=host \
ghcr.io/home-assistant/home-assistant:stable
Он инсталлирует HASS без Supervisor! А это нам ни к чему. На GitHub описан еще один вариант установки HASS на чистую систему включая Supervisor:
apt-get install \
jq \
wget \
curl \
udisks2 \
libglib2.0-bin \
network-manager \
dbus -y
Далее, необходимо установить два компонента, без которых HASS не установится и в процессе инсталляции система будет ругаться на их отсутствие:
dpkg: dependency problems prevent configuration of homeassistant-supervised:
homeassistant-supervised depends on docker-ce; however:
Package docker-ce is not installed.
homeassistant-supervised depends on os-agent; however:
Package os-agent is not installed.
Устанавливаем docker-c:
sudo apt install docker-ce
Устанавливаем os-agent:
sudo -i
apt update && sudo apt upgrade -y && sudo apt autoremove -y
apt --fix-broken install
apt-get install jq curl avahi-daemon apparmor-utils udisks2 libglib2.0-bin network-manager dbus wget -y
curl -fsSL get.docker.com | sh
wget https://github.com/home-assistant/os-agent/releases/download/1.2.2/os-agent_1.2.2_linux_aarch64.deb
sudo dpkg -i os-agent_1.2.2_linux_aarch64.deb
wget https://github.com/home-assistant/os-agent/releases/download/1.2.2/os-agent_1.2.2_linux_armv7.deb
sudo dpkg -i os-agent_1.2.2_linux_armv7.deb
Обязательно обратите внимание на версию компонента os-agent_1.2.2! В документании встречается устевшая версия os-agent_1.0.0_linux.
Далее продолжаем инсталляцию Home Assistant:
wget https://github.com/home-assistant/supervised-installer/releases/latest/download/homeassistant-supervised.deb
dpkg -i homeassistant-supervised.deb
Покупалась плата здесь: https://lite.bz/bqhw7
0 Комментариев
Рекомендуемые комментарии
Комментариев нет