Обзор Khadas VIM4
Этот SBC превосходит Raspberry Pi, но ему не хватает собственной экосистемы.
Khadas VIM4 быстрее, чем самый быстрый Raspberry Pi, и предлагает больше возможностей подключения, но в настоящее время он не совместим с huge array HATs и другими дополнительными платами Pi.
Очень мощный
Впечатляющая производительность Android
4K YouTube с Android
Встроенный eMMC
Ограниченная поддержка GPIO
Не совместим с Raspberry Pi
Технические характеристики
SoC | Amlogic A311D2 2,2 ГГц четырехъядерный процессор ARM Cortex-A73 2,0 ГГц четырехъядерный процессор Cortex-A53 |
ARM Mali-G52 MP8 (8EE) Графический процессор до 800 МГц Декодер 8K 24fps и кодер с низкой задержкой 4K H.264 / H2.65 50fps Поддержка мульти-видео декодера до 4Kx2K при 60fps + 1x1080P при 60fps HDR10, HDR10 +, HLG и PRIME HDR обработка видео Безопасность на основе TrustZone для потоковой передачи видео DRM |
|
Оперативная память | 8 ГБ LPDDR4X 2016 МГц, 64 бит |
Хранилище | 32 ГБ eMMC 5.1 |
Карта Micro SD | |
M.2 NVMe через внешнюю распределительную плату (продается отдельно) | |
Порты | 1 x USB 2 |
1 x USB 3 | |
1 x HDMI 2.1 | |
Гигабитный Ethernet | |
1 x USB Type C (USB 2 OTG и USB PD) | |
Модуль Wi-Fi / Bluetooth | AP6275S Wi-Fi 6
|
802.11a/b/g/n/ac/ax, 2T2R MIMO с RSDB [2] | |
Bluetooth 5.1 | |
GPIO | 40 pin GPIO не совместим с Raspberry Pi Процессор: USB, I2C, I2S, SPDIF, UART, PWM, ADC, GPIO MCU: SWCLK, SWDIO |
Питание | USB C 9-20 В (12V в наших тестах) |
Поддержка ОС | Ubuntu 22.04 |
Android 11 | |
Размеры | 82,0 x 58,0 x 11,5 мм |
Настройка
Khadas VIM4 может быть того же размера, что и Raspberry Pi 4, но его форм-фактор сильно отличается. Отказавшись от портов, покрывающих две стороны платы, вместо этого VIM4 получил порты вдоль одного длинного края. Слева направо у нас есть USB 2.0, USB C (PD и дисплей), HDMI 2.0 Gigabit Ethernet и USB 3. Под портом HDMI находится скрытый порт microSD.
На противоположном краю платы находится 40-контактный GPIO. Перевернув плату, мы видим два разъема для камеры MIPI-CSI, дисплей MIPI, разъем для сенсорного экрана и высокоскоростной интерфейс V-by-One для промышленного применения.
Также присутствует слот M.2, но разъем обращен в сторону от нижней стороны платы. Итак, как мы можем подключить твердотельный накопитель NVMe? Для этого нам необходимо приобрести дополнительную плату, которая предоставляет слоты M.2 для NVMe и дополнительный 4G-модем. Мы приобрели нашу собственную дополнительную плату и подключили запасной накопитель NVMe емкостью 256 ГБ.
Также, к сожалению, из пользовательского интерфейса OOOWOW нет возможности установить Ubuntu на NVMe.
Использование
Первым шагом к использованию Khadas VIM4 является установка операционной системы, и этот процесс очень прост. Похоже, что сетевые инсталляторы сейчас в моде, даже Raspberry Pi Foundation тестирует бета-версию. Но Khadas сделал еще один шаг вперед, и его инсталлятор готов к работе с самого начала. OOOWOW – это название интерфейса, подобного BIOS, который мы используем для поиска и загрузки последней версии ОС.
Используя OOOWOW, мы можем обновить список доступных операционных систем, которыми на момент написания статьи были Ubuntu 22.04 (настольные и серверные) и версия Android 11. Интерфейс напоминает нам Raspberry Pi raspi-config, который также использует интерфейс меню whiptail.
Мы использовали OOOWOW для обновления списка доступных операционных систем, а затем выполнили чистую установку Ubuntu 22.04. Загрузка заняла 60 секунд, а установка – еще 74 секунды, в общей сложности 134 секунды (2 минуты 14 секунд), что является удивительно быстрым и простым процессом. Загруженные образы операционной системы сохраняются в оперативной памяти, а затем распаковываются на 32-гигабайтный накопитель eMMC.
Время загрузки от появления логотипа загрузки Khadas до экрана входа в Ubuntu составляет 26 секунд. Для нашего Raspberry Pi 4, работающего с microSD, это заняло 30 секунд. Затем мы загрузили Raspberry Pi Compute Module 4 из eMMC, и он попал на рабочий стол за 20 секунд.
Общий опыт работы с Ubuntu проходит гладко. Это намного лучше, чем то, что мы испытали на Raspberry Pi 4. Дополнительные процессорные ядра и eMMC обеспечивают необходимый прирост производительности. Мы тестировали Khadas VIM4 в течение целого дня, используя его в качестве нашей основной машины для проведения видеозвонков с локальной группой пользователей Linux, прошивки кода Arduino на Raspberry Pi Pico и легкого редактирования фотографий.
Мы посмотрели 40-минутное видео с разрешением 1080p на YouTube и оно было отличным. В оконном и полноэкранном режимах видео было плавным, но, когда мы увеличили его до 4K, мы увидели, что производительность значительно упала.
Мы вернулись к 1080p, посмотрели тестовое HDR-видео и включили статистику для ботаников. При разрешении 1080p мы пропустили в общей сложности 10 кадров из 2232 (0,45%), что было бы незаметно для человеческого глаза. Raspberry Pi 4 может воспроизводить полноэкранный YouTube с разрешением 720p, но разрешение 1080p быстро становится недоступным для просмотра. Kahads VIM4 выглядит как настольный компьютер с низким энергопотреблением, а не как одноплатный компьютер, и когда мы говорим о низком энергопотреблении, мы имеем в виду именно это.
Силовые и температурные тесты
В наших тестах мы подключили VIM4 к выходу USB-C настольного блока питания PinePower и увидели, что устройство автоматически настраивает напряжение 12V, а на холостом ходу потребляет 0,1А, что дает нам потребляемую мощность в режиме холостого хода 1,2W. При нагрузке для наших стресс-тестов устройство не превышало 12V при 0,5А, потребляемая мощность 6W. Это по сравнению с Raspberry Pi 4, который работал на холостом ходу при 5,1V 0,2А, потребляя 1,02W. Во время стресс-теста мы увидели пик 5,3V при 1,2А, 6,24W. Таким образом, это говорит нам о том, что они почти равномерно распределены по энергопотреблению, несмотря на то, что Khadas VIM4 имеет четыре дополнительных ядра процессора.
При всей этой мощности, как он работает с тепловой точки зрения? Большой плоский радиатор и вентилятор Khadas VIM4 являются четкими индикаторами того, что SoC может нагреваться. Наши тесты включали пятиминутный период простоя, а затем пятиминутный стресс-тест на все ядра процессора, при котором температура регистрировалась во внешнем файле каждую секунду. Мы также провели сравнительный анализ Raspberry Pi 4 8GB. Обе машины работали на своих стандартных скоростях, которые в случае Raspberry Pi 4 теперь составляют 1,8 ГГц благодаря недавнему обновлению.
Обе машины работали на холостом ходу при температуре около 45 градусов по Цельсию, причем Khadas VIM4 работал на холостом ходу при более низкой температуре 45,2 градуса по Цельсию (по сравнению с 45,7 градуса по Цельсию у Pi 4). При выполнении стресс-теста мы увидели, как функционирует вентилятор Khadas VIM4. В автоматическом режиме температура срабатывания составляет 50 градусов Цельсия. Вентилятор и радиатор обеспечивали относительную прохладу SoC с максимальной температурой 64,7 градуса Цельсия. Наш Raspberry Pi 4 показал себя хуже, достигнув 79,8 градуса Цельсия, но помните, что у нашего Pi нет охлаждения, ни пассивного, ни активного. Мы повторили стресс-тест на VIM4, но на этот раз отключили вентилятор. Температура стресс-теста достигла максимума в 82,2 градуса Цельсия, но общая производительность системы оставалась приемлемой.
Чтобы ускорить работу процессора, мы использовали sysbench для проверки всех простых чисел до двух миллионов. Мы настроили тест на использование восьми процессорных ядер для Khadas VIM4 и четырех процессорных ядер для Raspberry Pi 4. Khadas VIM4 превосходит Raspberry Pi 4 в этой задаче, занимая вдвое меньше времени, чем Pi. Это происходит из-за грубой силы сдвига. У нас восемь ядер и процессор с тактовой частотой 2,1 ГГц против 1,8 ГГц у Pi 4. Это означает, что Khadas VIM4 является гораздо лучшей альтернативой для необработанной вычислительной мощности, и именно здесь на первый план выходит продвигаемая позиция VIM4 как возможной платформы для машинного обучения.
Использование GPIO
40-контактный GPIO может побудить нас задуматься: «Могу ли я использовать свои HATs Raspberry Pi с VIM4?» но наши надежды быстро рушатся. Они могут быть физически совместимы, но их распиновка и функциональность сильно отличаются. Тем не менее, существует базовый доступ к GPIO, и у нас также есть доступ к I2C, UART, PWM и 1-Wire (обычно используется для датчиков температуры DS18B20).
В примерах фрагментов кода, приведенных в документации Khadas VIM4, мы видим, что у нас есть базовый доступ к GPIO через терминал Linux и библиотеку Python. Несмотря на все наши усилия, библиотека Python «wiringpi» оказалась непригодной для использования. Мы столкнулись с ошибкой как с wiringpi Python, так и с базовым пакетом операционной системы. Редакция платы для VIM4 отсутствовала, что мешало библиотеке понять компоновку GPIO. Мы обратились к Khadas с этой проблемой, и в их честном ответе они сообщили, что для GPIO с WiringPi не было наложения дерева устройств и что это рассматривается.
Мы решили использовать терминальный метод доступа к GPIO в Linux. Чтобы использовать GPIO таким образом, нам нужно немного посчитать и решить проблему с разрешениями. Доступ к GPIO, как ни странно, является привилегией только для root, а не для sudo. К счастью, у пользователя root тот же пароль, что и у нашего пользователя Khadas, поэтому после быстрого su root мы смогли начать использовать GPIO.
Выводам GPIO присваивается нетривиальная ссылка, которая требует от нас сначала определить, какой вывод мы хотим использовать. После недолгих догадок мы наткнулись на распиновку и, обратившись к документации, последовали примеру GPIOT_19. Этот вывод GPIO расположен в четырех контактах от порта micro HDMI, и к нему мы подключили светодиод, используя резистор 330 Ом и макетную плату вместе с некоторыми перемычками. На Raspberry Pi мы бы использовали библиотеку Python (RPi.GPIO, GPIO Zero и т.д.) И напрямую работали с этим pin-кодом.
Сначала нам нужно вычислить базу диапазона (базовые значения, заданные GPIO), а затем нужно найти ссылку на индекс Pin-кода для выбранного нами pin-кода GPIO. Чтобы определить базу диапазонов, мы читаем содержимое gpio-диапазонов. Который возвращает, что базовый диапазон начинается с 355.
cat /sys/kernel/debug/pinctrl/fe000000.apb4\:pinctrl\@4000-pinctrl-meson/gpio-ranges
Далее нам нужно определить PIN-код GPIO, GPIOT_19. Для этого нам нужно использовать другую команду, чтобы перечислить доступные контакты GPIO и их соответствующий индекс.
cat /sys/kernel/debug/pinctrl/fe000000.apb4\:pinctrl\@4000-pinctrl-meson/pins
Это возвращает множество данных, все, что нам нужно знать – это индекс для GPIOT_19. Итак, с помощью небольшой магии grep мы вырезали данные из списка и увидели, что индекс GPIO равен 110.
cat /sys/kernel/debug/pinctrl/fe000000.apb4\:pinctrl\@4000-pinctrl-meson/pins | grep GPIOT_19
Мы добавили базу диапазона к индексу Pin-кода и подтвердили, что расчет 456 в документации был правильным. После этого включили GPIO для использования, а затем написали быстрый скрипт Bash для мигания светодиода. Это сработало хорошо, но процесс занимает немного больше времени и усилий, нежели у Raspberry Pi.
Тестирование 64-разрядной версии Android 11
С помощью OOOWOW мы можем установить 32-разрядную или 64-разрядную версию Android 11. Это довольно базовая версия Android, в которой отсутствуют все приложения Google, но у нас есть магазин приложений. Установлен и готов к использованию Aptoide, сторонний рынок приложений, который имеет приличный выбор приложений. Для наших тестов мы установили YouTube, PPSSPP и Real Racing 3.
Базовый интерфейс Android такой же, как и следовало ожидать на любом устройстве Android, только немного меньше «Google». У нас есть доступ к полной версии Android и возможность изменять настройки через меню общих настроек.
В подменю настроек Khadas мы нашли HDMI-IN. Это запускает мультимедийный интерфейс, который может отображать видеопоток с входа HDMI. Мы протестировали его, подключив Raspberry Pi 4 к входу и включив питание. Несколько мгновений спустя нас приветствовал знакомый рабочий стол Raspberry Pi. Прямого способа записи ленты не существовало, но есть сторонние приложения, которые могут это сделать.
С помощью Ubuntu воспроизведение YouTube достигло максимального разрешения 1080p. YouTube воспроизвел то же видео в формате 4K с leepspvideo, но на этот раз с нулевым количеством пропущенных кадров через соединение Wi-Fi 5.
Восьмиядерный процессор Khadas VIM4 отлично подходит для ретро-игр. Мы подключили наш контроллер Xbox One через Bluetooth и приготовились к утреннему углубленному тестированию.
Playstation Portable (PSP), выпущенная в начале 2000-х годов, является одной из самых сложных для управления машин, и God of War: Chains of Olympus считается эталоном. Мы протестировали эту игру с помощью PPSSPP, эмулятора PSP, и без какой-либо настройки столкнулись с несколькими проблемами. Игровой процесс был менее 60 кадров в секунду, а звук был искажен.
В чем причина? Настройки рендеринга OpenGL установлены по умолчанию. Мы изменили это на Vulkan и перезапустили тест, и он был намного лучше, фактически он стабильно работал на скорости 60 кадров в секунду при 2-кратном масштабировании разрешения. Используя frameskip, мы снизили скорость до 30 кадров в секунду, и игровой процесс нисколько не пострадал. Мы могли бы даже увеличить масштаб разрешения до 3 раз. Мы попытались протестировать эмулятор Nintendo 64 (mupen64), установленный через Aptoide, но, увы, этому не суждено было случиться, и он выходил из строя каждый раз, когда мы его открывали.
Родные игры для Android очень плавные, Real Racing 3 от EA – это быстро развивающаяся спортивная гоночная игра, которая работает в формате 4K без каких-либо проблем. Мы даже обнаружили, что встроенный ускоритель VIM4 совместим и может использоваться для управления игрой.
Общий просмотр веб-страниц через браузер Google Chrome превосходен и по ощущениям идентичен обычному просмотру на Android, только с гораздо большим экраном. Похоже, что Android – это то, где Khadas VIM4 выделяется.
Для каких проектов можно использовать Khadas VIM4?
Мощность и форм-фактор Khadas VIM4 подходят для многих проектов. Давайте сначала сосредоточимся на его необработанной силе. У нас достаточно мощности, чтобы использовать Khadas VIM4 в качестве замены настольного компьютера с низким энергопотреблением или для проектов машинного обучения. Если вам нужно немного больше возможностей, чем Raspberry Pi 4, Khadas VIM4 – жизнеспособный вариант, особенно учитывая, что цена 8GB Pi 4 близка к Khadas VIM4.
Создатели, на данный момент Khadas VIM4 – не самый лучший вариант для вас. В настоящее время доступ к GPIO ограничен, но есть надежда, что эта проблема будет решена в ближайшие месяцы.
Те, кому больше всего подойдет Khadas VIM4 – это ретро-геймеры и любители кино. Мощность SoC на базе Arm, а также 64-разрядная версия Android делают его приятным для использования в гостиной. Bluetooth просто работает, и мы можем управлять ОС Android, не вставая с дивана.
Стоит ли покупать?
Khadas VIM4 – это мощная плата, которая оказывается в том неудобном положении, когда «больше мощности, чем у Pi, меньше мощности, чем у APU», но она довольно хорошо преодолевает разрыв. Учитывая текущую нехватку Pi, это может быть минута славы для Khadas VIM4. Однако, стоит отметить, что цена довольно высокая – 240 долларов.
Недостатком этого Khadas VIM4 является GPIO. Мы хотели бы видеть полный доступ через Python и другие языки программирования. Как только мы это получим, Khadas VIM4 будет «на одном уровне» с функциями Raspberry Pi, хотя у него никогда не будет такого уровня поддержки и огромной экосистемы, как у Pi.
Любители ретро-игр, желающие создать кабинетную или домашнюю игровую систему, должны рассмотреть Khadas VIM4 и Android 11. Тут есть доступ к множеству эмуляторов, игр и 4K YouTube, когда вам нужно руководство, чтобы победить этого босса.
Khadas VIM4 также подойдет для любителей кино. Plex, YouTube, Disney +, Netflix и т.д. – тут есть все необходимое, чтобы развлекать и информировать.
Стоит ли покупать Khadas VIM4?
Покупайте, если
- Вам нужна мощная плата
- Желаете заменить настольный компьютер
- Хотите использовать для просмотра кино
- Нужен эмулятор 4K YouTube
Не покупайте, если
- Ищите решение по более разумной цене
- Нужна поддержка Raspberry Pi
- Нужна полная поддержка GPIO