Khadas VIM2 Basic — мощный одноплатник: установка Ubuntu, hass.io, Home Assistant, сравнение

Пост опубликован в блогах iXBT.com, его автор не имеет отношения к редакции iXBT.com

Здравствуйте друзья


Сегодня я расскажу о еще одном, мощном одноплатном компьютере — Khadas VIM2 Basic, о способе установки на него операционной системы Ubuntu Server и установки докер контейнера с средой hass.io и системы управления умным домом Home Assistant.

Во второй части обзора, я расскажу о том как я организовал свою систему управления умным домом и для чего мне понадобился еще один, да и еще такой мощный одноплатник. И конечно же будут сравнения .

Где купить ?

GearBest  — приехал отсюда

Khadas VIM2 Basic  Khadas VIM2 Basic (другой корпус) -  на момент публикации обзора — нет в наличии


Радиатор   Вентилятор 

Aliexpress

Khadas VIM2 Basic  $99.90 — 104.90 в зависимости от корпуса

Радиатор — $7.99  Вентилятор — $12.99

Поставка

Заказ я делал в магазине GearBest — и коробка с одноплатником приехала запаянная в пластик, очевидно как пришла с завода. Дополнительно я заказал систему охлаждения — в виде радиаторной пластины и вентилятора, которые приехали в пупырчатых пакетах.


Коробка черная, из плотного картона. Никакой информации кроме логотипа и названия бренда на крышке нет. На нижней стороне наклейка, где указана модель устройства — Khadas VIM2 Basic и требования к блоку питания — 5 В, 2А.

Параметры

Одноплатные компьютеры Khadas — это аппаратные платформы с открытым исходным кодом, которые могут служить медиацентрами, ТВ боксами, вычислительными модулями для робототехники или, как в моем случае — центром управления домашней автоматизации.

Версия Khadas VIM2 Basic оборудована 8 ядерным 64 разрядным процессором Amlogic S912, графикой Mali-T820MP3, 2 ГБ оперативной памяти DDR4, встроенным eMMC хранилищем на 16 ГБ и поддержкой карт памяти micro SD объемом до 128 ГБ.

Миникомп оснащен 1000 МБит Ethernet портом, wi-fi с поддержкой 2,4 и 5 ГГц сетей, Bluetooth 4.1, HDMI 2.0, 2 USB 2.0 порта и порт USB-C — который служит для подключения питания. Кроме этого на борту есть 2х канальный ИК порт.

Блок питания в комплект не входит, его можно приобрести отдельно, либо использовать любой, подходящий по мощности с USB портом. Кабель питания USB — USB Type C поставляется вместе с компьютером.

Конструкция

В отличии от других одноплатников, которые поставляются в виде платы, Khadas имеет собственный корпус, в данном модификации — полупрозрачный. В нижней части находится массивная металлическая пластина для теплоотвода, размеры корпуса 82.0 x 57.5 x 11.5 мм.

Все интерфейсные разъемы сосредоточены на задней широкой грани корпуса.  Корпус сделан из качественного пластика, все пригнано очень точно. По углам он скреплен четырьмя винтами М2.

При этом головки винтом имеют выемку под редкую треугольную отвертку, это первый случай, когда мне не хватило набора mijia wiha 24 в 1 — бита из него оказалась больше чем нужно.  Спас ситуацию набор Xiaomi Wowstick 1F+ 69 в 1 — там нашлась подходящая бита, кстати полностью совместимая с mijia wiha

С его помощью мне удалось легко разобрать корпус и получить доступ к внутренностям миникомпьютера. Не совсем понятно почему, но с завода миникомп не оборудован никаким, даже пассивным охлаждением — моя предусмотрительность меня не подвела.

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

Охлаждение

Меня на данном этапе больше беспокоит питание для вентилятора — соответсвтующий разъем находится на одном из углов материнской платы.  Дополнительные элементы охлаждения имеют собственные крепежные винты, которые, в случае с радиаторной пластиной, должны заменить стандартные.

Плата крепится к нижней части корпуса при помощи 4х коротких винтов М2, которые кстати рассчитаны под обычную крестовую отвертку.  Перед тем как устанавливать радиаторную пластину — на нее крепится вентилятор (забегая вперед скажу, что впоследствии я его отключил)

Для его крепления используются три М2 винта, идущие в комплекте с вентилятором. Перед установкой радиатора, на поверхность процессора и чипов памяти, клеится специальная теплопроводящая наклейка.

Далее устанавливается пластина, крепежные отверстия которой  в точности совпадают с отверстиями на плате. Далее, винтами из комплекта радиатора, которые имеют большую длину чем штатные, и кстати тоже треугольную головку, радиатор с материнской платой крепится к нижней части корпуса.

Еще один важный момент — правильно проложить провод питания от вентилятора, чтобы он не был зажат пластиной радиатора.

Установка ОС

Устанавливать операционную систему можно и на внешнюю micro SD карту и на внутренее eMMC хранилище. На сайте производителя имеется понятная инструкция по установке. Предлагается на выбор 5 вариантов установки + можно поставить стороннюю операционку. Я выбрал вариант установки на внутреннее хранилище.

Устанавливать я буду Linux Ubuntu bionic server — образ которого нужно скачать с сайта производителя, для записи образа на флеш компа, нужно скачать приложение USB Upgrade Tool.

Далее, открываем приложение и через меню File > Import Image добавляем скачанный образ операционки. Подключаем одноплатник к компьютеру комплектным кабелем и зажимаем кнопку питания. Кнопки находятся на узком торце, питание — это та что ближе к разъему GPIO, левая на слайде справа.  Удерживая питание нажимаем и отпускаем кнопку Reset — она самая правая, считаем 10 секунд и отпускаем кнопку питания.

Если все сделано правильно, то приложение коннектится к одноплатнику о чем и сообщает на экране. После этого надо нажать кнопку старт и подождать пока пройдет процесс записи — у меня это заняло около 4 минут.

Настройка

Для первого подключения я использовал кабельное подключение. Адрес можно посмотреть на роутере, в списке сети, после чего зайти на устройство по ssh, я использую приложение putty. В систему заведены учетные записи root и khadas, пароль khadas.

Для настройки wi-fi сети, напомню одноплатник поддерживает сеть 5 Ггц, я воспользовался утилитой установленной по умолчанию на Armbian — nmtui.

sudo nmtui

Настройка очень простая и интуитивно понятная — нужно добавить новое соединение и выбрать тип подключения wi-fi, далее указать имя сетевой карты — wlan 0, название и параметры сети wi-fi, в параметрах IPv4 я ввел параметры сети — адрес, шлюз, маску сети и ДНС вручную. Перезагружаем чтобы проверить что все корректно стартует

После этого я добавил отдельного пользователя, мне так удобнее, но это необязательный шаг — вполне можно использовать и предустановленную учетную запись. Нужно не забыть добавить созданного пользователя в группу sudo.

adduser *имяпользователя*

usermod -aG sudo *имяпользователя*

Следующий шаг — это подключение репозитория universe и обновление списка пакетов - 

sudo add-apt-repository universe && sudo apt-get update

Далее нужно обновить непосредственно сами установленные пакеты, это занимает некоторое время, продолжительность зависит от скорости подключения к интернет

sudo apt upgrade

Перед установкой докера и hassio — я ставлю еще несколько приложений для работы.

Это ftp сервер

sudo apt-get install ftpd

Аpparmor — программный инструмент упреждающей защиты, основанный на политиках безопасности 

sudo apt-get install apparmor

файловый менеджер midnight commander

sudo apt-get install mc

WatchDog — аппаратно реализованная схема контроля над зависанием системы.

sudo ln -s  /lib/systemd/system/watchdog.service /etc/systemd/system/multi-user.target.wants/watchdog.service

sudo systemctl enable watchdog.service
sudo systemctl start watchdog.service

И Mosquitto — бесплатный MQTT брокер

sudo apt-get install mosquitto

Останавливаем  Mosquitto

sudo /etc/init.d/mosquitto stop

меняем содержимое конфига 

sudo nano /etc/mosquitto/mosquitto.conf

Нажав Ctrl — K удаляем по строкам его содержимое и вставляем следующее

##Начало

pid_file /var/run/mosquitto.pid

persistence true

persistence_location /var/lib/mosquitto/

log_dest topic

log_type error

log_type warning

log_type notice

log_type information

connection_messages true

log_timestamp true

include_dir /etc/mosquitto/conf.d

##Конец

Старт Mosquitto

sudo /etc/init.d/mosquitto start

Теперь можно установить докер и нужные для него зависимости — avahi и jd. Докер нужен для развертывания контейнера с средой hassio для home assistant. Здесь все тоже недолго, весь процесс занимает пару минут.

sudo apt install avahi-daemon jq docker.io

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

sudo usermod -aG docker *имяпользователя*

Установка hassio

Этот вход нужно выполнить обязательно под рутом, заодно можно сменить дефолтный пароль, если вы этого не сделали раньше.

passwd

Проверяем версию докера — просто чтобы проверить корректно ли он поднялся,

docker --version

после чего устанавливается контейнер с hassio, с использованием конфигурации как для 64 разрядного raspberry (перечень доступных конфигураций).

curl -sL https://raw.githubusercontent.com/home-assistant/hassio-build/master/install/hassio_install | sudo bash -s — -m raspberrypi3-64

Это занимает пару минут, и после получения сообщения о запуске Hass.io — можно переходить в веб интерфейс

http://ваш IP:8123

Home Assistant

На веб интерфейсе уже ждет приветственное лого Home Assistant. На этом этапе остается только ждать пока закончатся все приготовления и система не предложит создать учетную запись. После этого логинимся с вновь созданной учеткой, и видим базовый интерфейс системы.

Изначально, для удобства настройки, через магазин приложений в меню hass.io я ставлю плагин Configurator, при помощи которого можно редактировать конфигурационные файлы.  Язык системы переключается на русский — для этого нужно нажать на круглую кнопку с первой буквой вашего логина слева вверху.

В этом обзоре я не буду касаться более подробных настроек системы, про это у меня есть отдельные обзоры - 

Так как у меня уже есть настроенные сервера Home Assistant, мне достаточно скопировать по ftp конфигурационные файлы, заменить исходные файлы в папке /usr/share/hassio/homeassistant на них, проверить конфигрурацию и перезагрузить систему. После чего я получил полностью настроенную к работе систему.

Тесты

А теперь время сравнений. Основную роль в моей системе умного дома играют два одинаоквых одноплатника orange pi PC 2. Они имеют практически зеркальную конфигурацию, что очень удобно — экспериментировать можно на одном, а другой будет поддерживать работу дома. 

Конфигурация у меня довольно объемная — на сегодняшний день — 96 автоматизаций и 57 скриптов.   27 светильников и 35 выключателей — как физических так и логических. Камеры, медиаплеера, ИК базы, климатическая техника.

Сенсоры и бинарные сенсоры честно говоря просто лень считать, ведь только сенсоров показаний батареей датчиков Xiaomi у меня 60 штук и 70 кастомных сенсоров которые собирают данные по энерго мониторингу, и это даже не половина от общего количества.

Мощности orange pi pc 2 с головой хватает на это все хозяйство, процессор занят, в среднем менее чем на 10% и обычно не греется выше 50 градусов. Но есть одно но.

Я использую плагин Motion Eye — который выполняет роль видеорегистратора для трех камер и это задача по настоящему ресурсоемкая.

Ее я назначил для raspberry pi 3B+, и в принципе кроме нее, он только собирает данные по bluetooth c датчиком мифлора, что не занимает ресурсов.

Нормальная работа Motion Eye съедает почти 70% ресурсов процессора, грея его свыше 80 градусов. Кстати если добавить плагин на оранжи, процессоры будут заняты более чем на 90% с учетом их текущих задач.

При этом на малине то одна то другая камера периодически отваливается, это видно по графику температуры процессора, она при этом падает.

Для героя обзора, совмещение обязанностей не составляет никаких трудностей — имея копию конфигурации оранжа, сбор данных по блютуз и плагин MotionEye от распберри, загрузка процессора составляет не более 25%, и даже при отключенном вентиляторе — его жужанние меня слегка раздражает, не греется более 60 градусов. К слову вентилятор включается при 50 градусах и держит температуру на этом уровне.

А вот как чувствует себя малинка, после того как я отключил плагин MotionEye — загрузка процессора сразу уже упала более чем в 10 раз, и не поднималась выше 5%, как и температура, которая быстро опустилась до 50 градусов, и там и держалась на этом уровне.

Видеоверсия обзора

Вывод

Khadas VIM2 Basic — хотя и недешевый, но мощный одноплатный компьютер, легко справляющийся даже с тяжелыми задачами типа потокового видео. Полный набор проводных и беспроводных интерфейсов, совместимость с разными операционными системами — все это делает его достойным кандидатом на место центрального сервера для умного дома. На этом все, спасибо за внимание.