Идея сделать маленький компьютер лежит в умах инженеров уже много лет. Одним из самых популярных типов микрокомпьютеров является смартфон - симбиоз компьютера с его операционной системой и функционалом и сотового телефона. Распространение смартфонов на базе процессоров с архитектурой ARM, как производителей процессоров делать миниатюрные, но мощные вычислительные системы, так и конструкторов электроники развиваться в направлении одноплатных систем.

System-on-a-Chip (SoC) - англоязычное название этого типа компьютеров. Имеет два самых известных направлениях:

Одноплатные компьютеры на Windows, с процессорами типа Intel Atom. Чаще всего это планшеты, или более крупные. Если вести речь об интересных проектах, то LattePanda.

Одноплатные компьютеры на процессорах с ARM архитектурой. Ярким представителем подобных устройств являются приставки к телевизору «Android TV Box», планшеты с ОС Android и подобными, Одноплатные ПК подобные Raspberry Pi.

Семейство Raspberry - благодаря им мы узнали о компьютере размером с кредитку

Первую плату Raspberry pi анонсировали в 2011 году, а запустили в производство в 2012. Обычно платы линейки Raspberry выходят в различных версиях, отличаются маркировкой типа «Model A», «Model B» и подобные, отличия заключаются в периферии и мощности, но об этом позже. Первая плата была довольно слабой по своим мощностям, а именно (через дробь будут перечислены отличия модели А/В):

    Процессор Broadcom BCM2835, с тактовой частотой всего лишь 700 мГц;

    256/512 Мб ОЗУ;

    1/2 USB разъёма;

    Слот для SD-карты памяти;

    «гребенка» GPIO для подключения периферии и создания своих проектов автоматизации;

    У Model B есть Ethernet разъём;

    3,5 мм Аудио, RCA, HDMI CSI, DSI.

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

Актуальные версии Raspberry в 2017 году

В 2017 году самые распространенные платы это Raspberry Pi 3 model B и Raspberry Pi Zero. Давайте ознакомимся с их характеристиками, начнем с 3-его поколения «малинки»:

    4-х ядерный процессор с тактовой частотой в 1,2 ГГц (Broadcom BCM2837);

  • 4 разъёма USB, 1 micro-USB OTG;

    HDMI, Audio Jack;

    Ethernet 10/100;

Плата Pi Zero очень миниатюрна, её размер вдвое меньше своих «полноценных» собратьев, характеристики соответственно тоже:

    Broadcom BCM2835, как на первой плате, но работает на 1 ГГц;

    512 Мб ОЗУ;

    Слот для Micro-SD-карты памяти;

  • Wi-Fi (только у модели zero W);

Для того чтобы «малинка» заработала вы должны приобрести дополнительно блок питания 5 В и 2 А, карту памяти micro-SD не менее 4 Гб 10 класса (от этого будет зависеть быстродействие системы в целом). Встроенной памяти на плате нет, поэтому операционная система устанавливается на карту памяти, стоит отметить, что первые версии использовали SD-карту, а новые платы - micro-SD.

Операционная система и программное обеспечение

Малинка использует процессор ARM, поэтому придётся ограничится линукс системами, из ОС от Microsoft, доступна лишь Windows 10 IoT. Пожалуй, из всех одноплатных компьютеров именно для raspberry адаптировано больше всего операционных систем, тем не менее официально поддерживаются следующие:

    Raspbian OS, как видно из названия это «родная» система от производителя, как и то, что она основана на Debian;

    Fedora для «малины» называется «Pidora»;

    Kodi - медиацентр;

    OSMC - еще один медиацентр;

Если говорить о «самоделках» и не сертифицированных ОС, то здесь целое раздолье: различные варианты Ubuntu, Puppy linux, GENTOO, Android, Arch и многие другие. Программное обеспечение для линукс доступно на тех-же репозиториях, что и на ПК версиях, собственно логично.

Для чего нужны GPIO, CSI, DSI разъёмы?

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

Первое что бросается в глаза - это наличие питающих выводов - 5 В 500 (300 у model B) мА и 3,3 В 50 мА, это значит, что вы сможете питать свои проекты напрямую от Raspberry, если они не потребляют больших токов. Следующим фактом нужно принять то, что на выходе любого из выходов логическая единица равняется не 5 В, а 3,3, нагружать же их можно до 16 мА. Никакой защиты от перегрузки не предусмотрено, поэтому будьте осторожны.

Вы можете использовать эти выводы для подключения датчиков и исполнительных механизмов, это пригодится . Одним из распространённых проектов является - метеостанция.

Вам доступны различные интерфейсы для связи:

Три ШИМ-выхода, позволят регулировать мощность или другие параметры подключаемых устройств. Также этот разъём служит для подключения готовых модулей, например, модуль «Sense», со светодиодной матрицей 8х8 и набором датчиков для мониторинга окружающей среды.

DSI разъём служит для подключения специальных дисплеев для Raspberry, которых в продаже имеется великое множество, как по размеру, так и по наличию сенсорной панели. Расшифровывает как Последовательный Интерфейс Дисплея.

CSI - подобный разъём, но уже для подключения камеры, носит и аналогичное название - Последовательный интерфейс камеры.

Семейство Orange pi

После успеха плат Raspberry Pi, другие разработчики начали актино продвигать свои «Пи-подобные» проекты одноплатных компьютеров, среди них есть занимательное семейство Orange Pi, которое включает в себя множество различных вариантов и версий.

Основные различия между ними заключаются в объёме оперативной памяти, наличия встроенного Wi-Fi, а также EMMС памяти на плате. Интересна Orange своей ценой, если на 2017 год, цена на 3-ю «Малинку» - больше 2500 рублей, на «Апельсин» - от 1000.

Среди популярных и актуальных плат можно выделить следующие, в порядке возрастания цены:

  • Orange Pi PC Plus.

Давайте рассмотрим их характеристики в сравнительной таблице.

Таблица сравнения плат семейства Orange pi

Название Orange Pi Zero Orange Pi PC 2 Orange Pi PC Plus
Процессор Allwinner H5 (Cortex-A53 1,6GHz) Allwinner H3 (Cortex-A7 1,6GHz)
Количество ядер
Графика
Оперативная память 512 Мб/256 Мб 1 Гб 1 Гб
Хранение данных

micro-SD до 64 Гб

micro-SD и встроенная eMMC 8 Гб
Видео выходы
Сетевые возможности Ethernet 10/100 Ethernet 10/100 Wi-Fi 2.4G 150 Мб/с
USB 1 3

Как вы могли убедиться, платы довольно похожи друг на друга, но некая эволюция всё же прослеживается, например, использование более нового процессора H5, или установка встроенной памяти на плату, что значительно ускоряет быстродействие. Если вы решите купить плату типа PC Plus с eMMC памятью - будет лучше если операционную систему вы установите на неё. Логика работы такая, что, если установлена флеш-карта с ОС - загрузка происходит с неё, а в противном случае, с eMMC.

Почему Orange дешевле, чем Raspberry

Отличия в цене обусловлены в первую очередь брендом, не стоит забывать, что «Малинки Пи» всё-таки основоположники этого направления в технике. В Orange применяемые процессоры дешевле, чем в Raspberry, к тому же они сильнее греются, а заявленные 1,6 ГГц, по факту это не реальная, а маркетинговая рабочая частота.

Рекомендуемая производителем процессора частота находится на уровне 1,2 ГГц. При стандартной рабочей частоте наблюдается повышенный нагрев, не спасает и рекомендуемая пассивная система охлаждения. Будьте внимательны и приобретите 5 Вольтовый кулер для Orange/Raspberry. В целом производительность двух семейств схожая.

В чем еще разница Raspberry vs Orange?

В отличии от Малинки на сайте Orange представлено гораздо больше поддерживаемых ОС, при этом список разбит по предназначению к конкретной модели Orange pi.

Для актуальной Pi PC 2 наблюдаются такие ОС:

    Arch linux Server/Desktop;

    Ubuntu Server/Desktop;

    Debian Server/Desktop;

    Android Orange OS;

    Raspbian Server/Desktop.

Список операционных систем для других плат почти такой же, за мелкими исключениями.

Давайте рассмотрим для чего нужно такое обилие официальных операционных систем и сторонних проектов.

Использование одноплатных компьютеров в роли Smart TV или мультимедиа центра оправдано широкими возможностями и низкой ценой. Таким образом вы можете превратить ваш одноплатник в медиацентр для телевизора с помощью Kodi - это бесплатный кроссплатформенный плеер, для воспроизведения аудио, видео, фото и просмотра IP-TV. Для Orange он поставляется в комплекте с OpenELEC.

Другое актуальное применение - игровая консоль из Raspberry PI или Orange Pi. Для этого есть специальные ОС с огромным количеством эмуляторов:

  • И очень много других в т.ч. dos.

Проектов на самом деле два:

2. RetroPie (для Raspbery) и Retroorangepie (для апельсина соответственно).

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

Вы можете использовать эти платы для серфинга в интернете, просмотра видео и работы в офисе, в базовой Raspbian, с офисным пакетом LibreOffice, есть предустановленный браузер Chromium, если вам понадобится софт от Windows, тот же Word прекрасно запускается из-под Wine. Получается, что Вам доступны все прелести Linux, с минимальными физическими размерами и энергопотреблением.

Раз уж мы заговорили об энергопотреблении и Linux, стоит упомянуть, об отличной возможности создать домашнее облако или web-сервер. Так вы получите тихую и энергоэффективную систему с неплохим быстродействием, что трудно достичь, используя классический системный блок с его кулерами.

Это пригодится в системах «Smart Home» и сервера для видеонаблюдения. Для видеонаблюдения, как модно говорить, «Из коробки» существует отличный проект «MotionEye». С его помощью вы можете осуществлять контроль и запись IP-камер через веб-интерфейс. Существует возможность установки его поверх Raspbian, так и в качестве самостоятельной ОС.

Выводы

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

Их аналоги: Banana PI, C.H.I.P., ODROID, TinkerBoard - имеют достаточно интересные характеристики и цены, часто превосходящие «Малинку» и «Апельсинку». А одноплатный компьютер Latte-Panda и вовсе выполнен на процессоре Intel Atom 8300, и работает под управлением полноценной ОС Windows, что на момент написания статьи невозможно для ARM машин.

Однако стоимость сопоставима с таким форм-фактором компьютеров, как «Stick», пионером этого форм-фактора является компания Intel, а маркетологи его называли «Компьютер размером с флешку». К сожалению, они лишены полноценного GPIO и гибкости в плане конструктивных решений готового продукта.

Приветствую всех.

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

На MySku уже были обзоры Raspberry Pi, Orange Pi и Banana Pi - самых массовых и распространенных «одноплатников» в мире. Поэтому я решил выбрать для обзора более оригинальную модель, про которой в Рунете практически нет информации.

Обзореваемый мной микрокомпьютер носит название Khadas Vim и выпускается в Китае компанией WesionTek.

К отличительным особенностям этой модели стоит отнести поддержку Android 7 и наличие аппаратного декодера 4K H.265 видео, поэтому данный микрокомпьютер можно использовать и в качестве обычной ТВ-приставки.

Предыстория



Двумя годами раньше китайцы из компании WesionTek совместно с магазином GeekBuying выпустили девайс под названием GeekBox.

Сам по себе GeekBox представлял обычную медиаприставку. Но если докупить продающуюся отдельно плату Landingship, то он превращался в достаточно функциональный ARM-микрокомпьютер с GPIO-интерфейсом аж на 60 пинов, часами реального времени, ИК-портом, несколькими физическими кнопками, CSI и DSI интерфейсами.

Также отдельно можно было докупить модули камеры и фирменный 7,9" экран, компактный кулер по типу тех, что устанавливаются в ноутбуки и еще какие-то аксессуары.

Задумка была интересной и нестандартной, но в итоге все кончилось провалом.

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

А может провалу поспособствовала цена: стоимость самого GeekBox на старте продаж составляла $110, еще $30 предлагалось доплатить за Landingship-плату, все остальные аксессуары также стоили отдельных денег, и все вместе выливалось в существенную сумму.

На GeekBuying все еще продаются нераспроданные остатки «гикбоксов» по сниженным ценам - $65 за основную плату, $10 за Landingship, $50 за дисплей и еще $10 за совместимую 8МП-камеру. Все еще дороговато, но как знать, если бы такие цены были установлены изначально, то возможно проект бы и взлетел.

Спустя год разработчики из WesionTek представили новый проект - одноплатный компьютер Khadas Vim.

Сделав выводы из провала «гикбокса», они упростили идею. 1 компьютер = 1 плата, GPIO уже распаян, а CSI и DSI интерфейсы выброшены за ненадобностью.

Вместо Rockchip решили задействовать процессор Amlogic, цена снизилась до $55, ну а партнером проекта стал уже не GeekBuying, а GearBest. Что из этого получилось читайте далее.

Характеристики



Khadas Vim работает на базе процессора Amlogic S905X. Такой процессор часто используется в ТВ-боксах среднего ценового сегмента. А за графику тут отвечает графический сопроцессор Mali-450, который ныне встречается в основном в бюджетных моделях Android-планшетов.

Существуют две версии микрокомпьютера - обычная и Pro. Отличаются они количеством распаянной eMMC-памяти (8Гб или 16Гб), а также совмещенным модулем Bluetooth и Wi-Fi адаптера: старшая модель поддерживает работу в 5Ггц-диапазоне, в то время как младшая модель поддерживает только 2,4Ггц стандарты до 802.11n включительно.

В этом обзоре рассматривается Khadas Vim именно в модификации Pro - с 16Гб встроенной памяти и пятигигагерцовым Wi-Fi. Разница в цене между Pro и не_Pro версиями микрокомпьютера составляет около $10, на GearBest"е доступны для покупки обе версии.

Самым близким по характеристикам к Khadas Vim одноплатным компьютером является ODROID-C2. В его основе лежит процессор S905 (не «x») и GPU Mali-450, при этом он тоже позволяет аппаратно декодировать 4K видео (я не проверял, но разработчик заявляет о такой возможности), а также несет на борту гигабитный Ethernet против 10/100Mbit Ethernet у Vim. Но стоит ODROID-C2 значительно дороже, причем в славящемся конскими наценками российском магазине DNS он продается даже на пару сотен рублей дешевле, что и у китайцев на Али. Невероятно, но факт, как говорится.

Уникальной особенностью Vim являются его габариты. За счет уменьшения количества USB-портов разработчикам удалось сделать плату всего 11мм в высоту - это практически вдвое меньше, чем у Raspberry Pi и аналогичных ARM-микрокомпьютеров.

Ну и в завершение разговора о характеристиках несколько слов про GPIO. Khadas Vim оборудован 40-пиновым GPIO интерфейсом, но распиновка его отличается от распиновки GPIO Raspberry Pi.

То есть пользоваться GPIO можно, но аксессуары от Raspberry Pi (многочисленные дисплеи, аудио ЦАПы и прочие готовые промышленно изготовляемые платы расширения) с ним несовместимы. Нужно это учитывать.

Внешний вид и комплект поставки



Не буду мучать публику видом почтовых пакетов, сразу перейдем к сути.

Khadas Vim поставляется в картонной коробке, выполненной в форме книжной обложки. Внутри «книги» находится форма из сверхжесткого поролона, в которой лежит компьютер и USB Type-C кабель. Никаких инструкций и прочих бумажек не прилагается, краткие характеристики устройства отпечатаны на внутренней стороне обложки, а на обратной стороне находится призыв зайти на khadas.com за инструкциями по началу работы или связаться с разработчиками устройства по электронной почте в случае появления каких-то вопросов.

Khadas Vim и комплектный USB Type-C кабель для питания. По поводу кабеля могу лишь сказать, что производит он приятное впечатление. Оплетка матерчатая, корпуса разъемов металлические.

Микрокомпьютер поставляется уже собранным в многослойный акриловый корпус. Кстати, на данный момент это единственный фабричный корпус для Khadas Vim, с аксессуарами у этого девайса вообще все очень негусто. Хочется верить, что в будущем ситуация изменится.

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

Три кнопки на боку устройства - Power, Function, Reset.

Теперь вытащим плату из корпуса для того чтобы лучше рассмотреть детали.

Хочу обратить внимание на то, что все разъемы вынесены на один торец.

Разработчики Raspberry Pi еще в самой первой версии своего микрокомпьютера разнесли по разным торцам USB+Ethernet и все остальные разъемы. В результате получалось, что с тыльной стороны из одноплатника торчат кабели питания и HDMI (если мы используем устройство вместе с монитором), а сбоку из него же выходит Ethernet-кабель и провода от подключенной по USB периферии. Жить не мешает, но выглядит неряшливо.

А потом эту же практику подхватили разработчики других одноплатных устройств: кто в целях совместимости с корпусами для «малинки», а у кого-то и совместимости не было, но зато дурная мода на торчащие во все стороны провода была соблюдена.

У Khadas Vim такой проблемы нет. Все кабели подключаются с одной стороны, а значит что микрокомпьютер не станет источником визуального мусора, будучи размещенным на рабочем столе или тумбе под ТВ.

Теперь кратко пройдусь по компонентам устройства.

В самом центре находится процессор Amlogic S905X. Под ним распаян eMMC-чип , а 2Гб оперативной памяти представлены тут в виде четырех модулей по 512Мб. Два из них распаяны рядом с процессором и eMMC-памятью, и еще два находятся на нижней стороне платы.

Двухпиновый разъем слева предназначен для подключения батарейки к часам реального времени. Четырехпиновый разъем под USB Type-C разъемом в верхней части устройства - альтернативный разъем питания, позволяющий запитать микрокомпьютер в обход порта USB Type-C.

Эта серебристая микросхема - модуль AMPAK AP6255 ( на него), совмещающий в себе модули Bluetooth и Wi-Fi. Тут же распаян I-PEX разъем для подключения антенны, и некая примитивная антенна даже подключена. При необходимости стандартную антенну можно заменить на что-то более мощное.

Забегая наперед скажу, что работу используемого тут Wi-Fi-адаптера в стандарте 802.11ac я не проверял в силу отсутствия таковой возможности: мой домашний роутер не поддерживает 5Ггц диапазон.

На переднем плане находится сдвоенный ИК-приемник и, левее от него, светодиод, горящий во время работы.

Увы, мой телефон упорно выбирал в качестве точки фокуса более дальний план.

Наконец, нижняя сторона устройства. Из интересного тут можно увидеть еще два модуля оперативной памяти и слот для microSD-карты.

Поскольку Khadas Vim оборудован eMMC-накопителем, то карта памяти служит в качестве дополнительного хранилища, может использоваться для загрузки прошивки или для хранения дополнительной операционной системы при дуалбуте. А основная операционная система грузится из eMMC.

Операционные системы Khadas Vim

По состоянию на текущий момент Khadas Vim поддерживает следующие ОС:
  • Android 6
  • Android 7
  • Ubuntu 16.04 (Armbian)
  • Ubuntu 16.04 Server
  • Ubuntu Mate
  • LibreELEC
Для мультимедийных целей (использования Vim в роли ТВ-приставки) лучше всего использовать Android или LibreELEC.
Для всего остального подойдет Ubuntu.

Традиционная проблема практически всех ARM-компьютеров - отсутствие поддержки видеоускорения в *nix-системах «из коробки».

Плохая новость заключается в том, что Khadas Vim тоже ей подвержен по состоянию на момент написания этого обзора, 7 июля 2017 года. Поэтому хваленый аппаратный декодер 4K H.265 видео работает в Андроиде и LibreELEC, но любые попытки запустить тяжеловесное видео под Ubuntu закончатся демонстрацией слайдшоу.

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

Вообще, именно программная часть на мой взгляд является одним из главных достоинств Vim, выделяющих его из общей массы относительно малоизвестных одноплатных компьютеров. Разработчики обещают () оказывать техническую поддержку 5 лет и не менее 3 лет обновлять прошивки.

Android 6, Android 7



Khadas Vim поставляется с предустановленным Android 6.

Что мне понравилось, так это то, что это полностью стоковый андроид. На него не натянуто никаких сторонних лаунчеров, не предустановлено никакого китайского софта.

Вот меню. Присутствует Play Market и альтернативный магазин приложений Aptoide. Есть рут.

Asphalt 8, Megapolis, Walking Dead, HD Videobox, SeasonHit - это уже ставил я во время тестирования.

Также дела обстоят и с Android 7. Никакого мусора: чистая система с рутом и магазином приложений.

Оба «андроида» работают на Vim"е хорошо, но по субъективным наблюдениям Android 7 будет чуточку пошустрей предшественника. Это же подтверждают результаты сравнительных тестов, но о них мы поговорим далее.

Armbian



А вот Armbian, он же Ubuntu 16.04, непригоден для использования на этом микрокомпьютере. Во всяком случае специально созданная именно под Khadas Vim сборка.

Проблема в том, что в сборке наглухо заблокирован доступ к руту для пользователя. В результате недоступно ни одно действие, выполняемое с рут-привилегиями. Обновить установленные пакеты (sudo apt-get update, sudo apt-get dist-upgrade) нельзя. Установить новый пакет нельзя. И еще много подобных ограничений. В результате работать в системе можно, но только если не трогать ничего руками и довольствоваться предустановленным набором приложений.

Конечно, можно скачать универсальную сборку для устройств на базе Amlogic S905X. Или сборку для ODROID-C2, которая почти наверняка заработала бы. Но смысл это делать, если доступен Ubuntu Mate, и вот он-то работает без всяких проблем?

Ну и повторюсь, что эта проблема с Armbian актуальна на момент написания обзора. В новых версиях сборки ее наверняка исправят.

Ubuntu Mate



Ubuntu Mate заработала на Vim идеально, никаких бросающихся в глаза багов за время тестирования мне обнаружить не удалось.

Используемая тут графическая оболочка выглядит приятнее, чем в Armbian, Хотя дело вкуса, конечно же.

LibreELEC



Сборку LibreELEC для Vim с натяжкой можно назвать рабочей.

Первое, с чем я столкнулся после установки - отсутствие поддержки Wi-Fi (и Bluetooth, надо полагать, тоже, раз за работу и того и другого отвечает один модуль): система просто не увидела ни одну из беспроводных сетей, несмотря на включенный беспроводной адаптер в настройках.

С Ethernet-подключением проблем не возникло. С воспроизведением видео различных форматов - тоже. 4K видео также воспроизводилось без проблем.

Непонятная особенность: если все вышеперечисленные системы записываются и грузятся из eMMC-памяти, то LibreELEC устанавливается и запускается только с microSD-карточки.

Перепрошивка Khadas Vim

Микрокомпьютер перепрошивается двумя способами: через подготовку загрузочной (прошивочной?) карты памяти или через прямое подключение к компьютеру по USB.

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

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


Подключаем Vim к компьютеру USB-кабелем и переводим его в режим загрузки прошивки. Для этого нужно зажать кнопку Power и не отпуская ее нажать Reset, после чего подержать Power зажатым еще несколько секунд и отпустить. Если все сделано правильно, то в программе отобразится статус Connect Success.

После чего загружаем в программу скачанный файл прошивки и нажимаем на Start. Процесс записи пошел.

(На краснеющее на скриншоте сообщение об ошибке не обращайте внимание - это результат попытки перепрошиться с microSD-карты. Кстати, лишний довод в пользу того, чтобы прошивать Vim именно с компьютера - такой вариант надежнее и не приводит к ошибкам во время процесса записи)

Через несколько минут запись закончится. Нужно нажать на Stop и отключить микрокомпьютер от ПК. На этом процесс смены прошивки завершен, и Vim"ом можно начинать пользоваться.

Тестирование производительности

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

Но если кому-то хочется видеть скриншоты, то я выложил их все .

Тут нужно прояснить несколько моментов.

Первое. Я хотел сравнить производительность Android на Khadas Vim и на Raspberry Pi 3, но обнаружил, что Android на Raspberry Pi 3 фактически неработоспособен. Так что эксперимент не удался.

Второе. FFmpeg benchmark - это результат перекодирования случайно выбранного видеофайла консольной утилитой ffmpeg с ключом -benchmark, выводящим в конце два значения: время и количество задействованной оперативной памяти. Если на разных устройствах (или разных системах на одном устройстве) запустить этот процесс с одним и тем же файлом, то это позволяет сравнить производительность устройств относительно друг друга. Чем меньше цифры - тем больше производительность в данном случае. Увы, но более изящных бенчмарков, работающих под ARM Linux системами я не знаю.

Третье. Octane 2.0 - бенчмарк, доступный онлайн с любого устройства, оснащенного браузером и имеющего выход в интернет. В ходе этого тестирования на устройстве выполняются различные математические операции, по результатам каждой выводится результат в условных величинах, затем высчитывается усредненный общий результат. Это самый простой способ сравнения производительности устройств, работающих под разными ОС (Linux и Android в данном случае).

Заключение



Вот такой микрокомпьютер попал ко мне на обзор.

По производительности он примерно равен Raspberry Pi 3, только имеет существенно меньшее тепловыделение (Raspberry Pi 3 практически нереально использовать без радиаторов, Vim же без них чувствует себя неплохо - хотя дополнительное охлаждение никому и никогда не помешает, поэтому я собираюсь приклеить радиатор на его процессор в самом ближайшем будущем).

Перфекционист внутри меня остался очень доволен выводом всех разъемов под провода на одну сторону.

Понравилось , где разработчики довольно активно общаются с пользователями.

Понравилась поддержка Android, причем свежей версии и в стоковом состоянии. Для некоторых целей Android может оказаться более удобен, чем Linux.

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

И еще один минус - отсутствие аудиоразъема. Я специально не стал акцентировать на этом внимание в той части обзора, где рассматривался внешний вид микрокомпьютера, подумав, что если читатель не обратит на это внимание самостоятельно - значит не такой уж это и существенный недостаток. И действительно, ведь звук передается по HDMI-кабелю, да и Bluetooth-акустика получает все большее и большее распространение.

Но в целом Khadas Vim оставил после себя приятные впечатления и я могу рекомендовать его к покупке.

Если возникнут вопросы - постараюсь ответить на них сегодня вечером или в выходные дни.


P.S.: если будете покупать - не забудьте доложить в корзину на GearBest фирменный пульт. В комплект он не входит и отдельно стоит около 5 долларов, но при заказе вместе с микрокомпьютером доступен совершенно бесплатно.

Товар предоставлен для написания обзора магазином. Обзор опубликован в соответствии с п.18 Правил сайта.

Планирую купить +46 Добавить в избранное Обзор понравился +71 +117

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

Что это?

Это устройство, у которого на одной плате собрано всё минимально необходимое для работы. Как правило, это CPU, GPU, их обвязка и, возможно, USB и сетевые интерфейсы - как проводные, так и беспроводные. Видеовыходы могут быть разные: от устаревшего VGA или композитного видео до вполне современного HDMI - лишь бы встроенное видеоядро поддерживало. Питаются они, как правило, от разъёма USB и требуют ток в диапазоне 500-1500 мА. То есть их можно питать при помощи обычного зарядного устройства для мобильного телефона или (лучше) планшета.

Зачем это нужно?

Количество задач, с которыми справится такой компьютер, довольно велико. Список начинается домашним компьютером и заканчивается роутерами и модемами. Например, на такое устройство можно без проблем установить почти полный Linux, превратив его в неплохую машинку для работы с документами, веб-сёрфинга, прослушивания музыки и других несложных задач. Некоторые модели способны переварить даже проигрывание видеороликов вплоть до 1080р! И всё это - с привычным графическим интерфейсом. Единственное место, где могут возникнуть проблемы, - это другая архитектура. Как правильно, многие приложения имеют версию для ARM-архитектуры, а если нет - легко найти аналог, но специфический софт на этой платформе всё ещё попадается редко.

Другая сторона медали - автоматизация и узкая специализация. Так, для того же Raspberry Pi существуют прошивки, позволяющие превратить его в Wi-Fi роутер, сетевое хранилище данных или беспроводной сетевой плеер. Очень часто такие решения являются максимально завершенными и требуют минимальной возни, требуя от устанавливающего лишь записать нужный образ на носитель данных (чаще всего - карту памяти) и указать необходимые настройки. Возможности поистине безграничны - вы можете соорудить целый умный дом, используя лишь пару-тройку таких плат. Конечно, ради этого придётся попотеть с настройкой всех таких устройств, но даже тут существуют готовые решения, требующие лишь минимальной прямоты рук.

Не стоит также забывать о набирающем популярность явлении под названием «интернет вещей» (IoT). Например, Microsoft собирается выпустить специальную версию Windows 10 IoT Edition. Устройство, использующее специальные протоколы (и сборку софта, разработанную ими же), сможет взаимодействовать даже с телефонами Lumia! С точки зрения развития идей одноплатных компьютеров это действительно шаг вперёд: до этого управление можно было осуществлять лишь через маршрутизатор. Сейчас это звено исчезает, позволяя устройствам общаться напрямую, да ещё и используя привычные для этого методы - например, для взаимодействия с Arduino используется известный и популярный во всём мире C#.

Главная вещь, позволяющая одноплатным компьютерам общаться с окружающим миром - порты GPIO. Это порты, которые могут быть и входами и выходами, позволяя устройству взаимодействовать на уровне “включил-выключил”. Такая простота идеи позволяет, например, включать или выключать лампочку, при получении электронного письма с соответствующей командой. Типичный одноплатный компьютер оснащается 5-10 портами GPIO, но их количество можно расширить разными путями.

Популярные модели

1. Raspberry Pi

Raspberry Pi (или «Малинка», как они известны среди энтузиастов) - устройство, положившее начало этой истории. Впервые компьютеры этого семейства появились в 2012 году, и тогда это многим казалось фантастикой. Компьютер размером с кредитку? За 25 долларов? Запускает Linux? Тем не менее, уже в конце июля в производство была запущена альфа-версия платы, за ней в августе пришли первые готовые модели и люди начали потихоньку получать свои устройства.

Что на борту?

  • GPIO - универсальные порты для работы с любыми устройствами;
  • композитный видеовыход;
  • аудиовыход 3.5 мм;
  • USB;
  • Ethernet;
  • HDMI;
  • microUSB (питание);
  • слот для карты памяти.

У «Малинки» бывают разные конфигурации: A, A+, B, B+, 2B. A-модели - самые простые, на них установлено 256 МБ оперативной памяти, ARMv6 процессор прошлых поколений, один USB-порт и 25\40 GPIO портов. Варианты с индексом B значительно интереснее - тут уже и 512 МБ памяти, в наличии Ethernet и большее количество USB (2 или 4 в зависимости от модели). Последняя из них, 2B, оснащена четырёхядерным процессором, 1 ГБ оперативной памяти и в целом объективно лучше прошлых моделей. Цены варьируются от 20 (модель А+) до 35 (2B) долларов.

Что можно установить?

Raspberry Pi широко распространена, поэтому для этой платы существует множество разных дистрибутивов. В основном это софт, основанный на ядре Linux, но есть и исключения: например, RISC OS или FreeBSD.

Raspberry Pi

Компьютер размером с кредитку

У «Малинки» бывают разные конфигурации: A, A+, B, B+, 2B. A-модели - самые простые, на них установлено 256 МБ оперативной памяти, ARMv6 процессор прошлых поколений, один USB-порт и 25\40 GPIO портов. Варианты с индексом B значительно интереснее - тут уже и 512 МБ памяти, в наличии Ethernet и большее количество USB (2 или 4 в зависимости от модели).

Малинка

Как уже упоминалось, возможности такого компьютера практически бесконечны: он может выполнять любую работу - главное, чтобы на это хватило мощности процессора. Он откровенно слабоват во всех моделях, кроме 2B. Raspberry Pi продаётся через официальные интернет-магазины (RS, Element 14), так и в наших краях через местных поставщиков. У нас он есть например в Raspberry или Arduino . Покупать стоит в первую очередь (если, конечно, не стесняют финансы) модель 2B. Она и мощнее намного, и портов больше, и 4 USB многого стоят. Разница в цене не столь велика, совместимость в софте полная.

2. Cubieboard

Что на борту?

  • Разъём питания;
  • Ethernet;
  • HDMI;
  • оптический цифровой аудиовыход;
  • VGA;
  • USB;
  • microUSB;
  • аудиовыход 3.5 мм;
  • карта SD;
  • SATA;
  • GPIO.

Cubieboard - творение сумрачного инженерного гения из Китая. Появилась она в тестовых вариантах в сентябре 2012. Первый вариант был не слишком удачен, так что поговорим о третьей версии (благо, цена осталась та же). Как видно из картинки, портов больше, чем у Raspberry, к тому же на плате распаяны Wi-Fi, Bluetooth и инфракрасный port - это однозначный плюс. Машинка несёт в себе двуядерный процессор ARM Cortex-A7, 1/2 ГБ оперативной памяти, гигабитный Ethernet и вообще всячески набита интересностями.

Что можно установить?

Работает, как и малиновый собрат, на Linux, обычно своей особенной версии Cubian (вариант Debian). Софта много, а отсутствующие утилиты легко скомпилировать самостоятельно (после некоторой доработки напильником). Удачно реализованы разъёмы GPIO, они разнесены на разные части платы.

Зачем это мне и где это купить?

Cubieboard

Cubieboard - творение сумрачного инженерного гения из Китая

На плате распаяны Wi-Fi, Bluetooth и инфракрасный port - это однозначный плюс. Машинка несёт в себе двуядерный процессор ARM Cortex-A7, 1/2 ГБ оперативной памяти, гигабитный Ethernet и вообще всячески набита интересностями. Работает на Linux. Софта много, а отсутствующие утилиты легко скомпилировать самостоятельно.

Cubieboard повторяет возможности Raspberry, местами расширяя их. Впрочем, цены тоже выше: за старшую модель просят ~85$, то есть ровно в 2.5 раза больше, чем за Raspberry Pi 2. Стоит ли оно того - решать вам.

3. BeagleBone

Что на борту?

  • разъём питания;
  • Ethernet;
  • microUSB;
  • microSD;
  • microHDMI;
  • USB;
  • GPIO.

BeagleBone Black впервые появилась в 2013 году как наследник предыдущих BeagleBoard. Её по праву можно назвать самой стильной из всех. Разработчики делают упор на наличие большого количества универсальных портов. К тому же, для BeagleBone существуют неплохие наборы аксессуаров. Беспроводных модулей нет. Процессор - 1 ГГц Cortex-A8, 512 мб оперативной памяти. В общем, на фоне Raspberry Pi 2 выглядит уже достаточно бледно.

Что можно установить?

Как и на все остальные одноплатные компьютеры - Linux. Что важно - на плате уже есть память объёмом 2 или 4 ГБ, причём туда даже может быть установлен свой дистрибутив Debian. Огромное количество портов расширения позволяют реализовать что угодно, а периферийные платы действительно могут повлиять на возможности устройства. Вы только взгляните, как они выглядят:

Зачем это мне и где это купить?

BeagleBone

BeagleBoard по праву можно назвать самой стильной из всех

Разработчики делают упор на наличие большого количества универсальных портов. К тому же, для BeagleBone существуют неплохие наборы аксессуаров. Беспроводных модулей нет. Процессор - 1 ГГц Cortex-A8, 512 мб оперативной памяти.

BeagleBone делает в первую очередь упор на аксессуары. Официальная цена - 45 долларов, в наших краях, как обычно, она отличается в большую сторону. Плату можно найти в тех же магазинах, что и Raspberry Pi.

А что бывает в мире готовых решений?

Если вам вдруг не хочется возиться с платами и установкой ОС, к вашим услугам есть так называемые «компьютеры на палочке» (stick computers). Здесь безраздельно царствуют китайские решения. По запросу “Android TV” можно найти сотни устройств различного качества. Ввиду разнообразия их нельзя как-то особенно удобно рассортировать, поэтому достаточно следовать паре простых правил. Ваше устройство должно:

  • Иметь Android старше 4.2. С тех пор появилось множество полезных мелочей, не стоит гнаться за копееечной экономией и терять их.
  • Иметь полноразмерный USB. USB OTG - это, конечно, тоже вариант, но он серьёзно уступает в удобстве.
  • Иметь Wi-Fi антенну. В условиях маленького пространства это - обязательный пункт. Нередко можно встретить инструкции по припайке её там, где это не предусмотрено. Облегчите себе жизнь - возьмите с готовой антенной.
  • Стоит также учитывать наличие пульта Д/У. Для многих операций он очень полезен, особенно - если совмещён с клавиатурой.

К слову, компания Intel недавно представила собственное решение - Compute Stick. Оно представляет собой полноценный x86-компьютер с процессором Atom, 2 ГБ оперативной памяти и накопителем объёмом 32 ГБ. По сути таким образом можно превратить в компьютер любой монитор или телевизор. Устройство поставляется с бесплатной версией Windows 8.1 with Bing, также на него можно установить Linux. Рекомендованная стоимость в Украине - 130 долларов. Это дороже всех перечисленных в данном материале решений, но и уровень производительности и совместимости с обычным пользовательским ПО здесь уже совершенно другой.

А как насчёт совсем новинок?

Сейчас популярность на Kickstarter стремительно набирает проект С.H.I.P.

Его подход схож с BeagleBone: cам по себе он стоит всего 9$ (+20$ доставка). К нему можно докупить дополнительные платы с различными выходами, батарею, и даже… телефонный корпус:

Если вы готовы вложиться, то это, пожалуй, будет удачный выбор. Устройство уже собрало нужную сумму, поддержать его можно вот (сбор средств будет продолжаться ещё несколько дней).

Вместо итога

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

P.S. Вот собраны сравнительные характеристики 44 таких компьютеров.

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

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

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

Arduino или Raspberry Pi? Микроконтроллер или микрокомпьютер?

Все платы для разработки можно разбить на 2 большие категории:

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

Существуют также гибридные платформы, где на одной плате расположен и микроконтроллер и процессор. Идея в том, чтобы оставить мощному процессору сложные задачи: выход в сеть, обработку медиа, а на микроконтроллер возложить функцию точного управления приводами, реле, сенсорами и другой периферией. Вы можете создать гибрид и сами, если возьмёте по одной плате из каждого семейства. У всех них найдутся общие интерфейсы, через которые можно организовать их взаимодействие.

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

Микроконтроллер Одноплатный компьютер
Производительность 1 ядро,
десятки-сотни МГц,
десятки КБ оперативки,
десятки-сотни КБ постоянной памяти.
1 или более ядер,
сотни-тысячи МГц,
сотни МБ оперативки,
гигабайты постоянной памяти.
Многозадачность Нет.
Но можно эмулировать.
Да.
Управляется ОС.
Удобство работы с интернетом Обычно нужны дополнительные модули и глубокое знание протоколов. Легко подключается из коробки, сетевой модуль обычно уже на борту.
Длительность работы от батареек Потребляет единицы-десятки мА. Возможны недели работы от батареек. Потребляет сотни-тысячи мА. Заряда большого аккумулятора хватит от силы на десяток часов.
Скорость реакции в проектах критичных к времени 100% контроль над временем и длительностью подачи сигналов. Из-за многозадачности критический процесс может проспать своё время.
Выбор языков программирования Ограниченный. Чаще C/C++. Python, JavaScript, Bash и десяткии других: любые доступные в ОС.
Возможности для работы с видео, компьютерным зрением Не хватит мощности. OpenCV, аппаратные видеокодеки, HDMI-выход.
Возможности для работы со звуком На мощных микроконтроллерах возможен синтез звука. Для работы с MP3/OGG/WAV нужны дополнительные модули. Поддержка MP3/OGG/WAV на уровне ОС. Аудиовыход HDMI и/или разъём 3,5 мм.

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

Так как нет большого смысла сравнивать лицом к лицу микроконтроллеры и микрокомпьютеры, далее мы отдельно приведём преимущества и недостатки конкретных плат в рамках своего семейства.

Сравнение микроконтроллеров

Если рассматривать микроконтроллерные платы в отрыве от задач вашего проекта, сложно в двух словах объективно описать преимущества и недостатки разных платформ. То, что в общем является недостатком, в вашем устройстве может не играть роли и наоборот.

Мы попытались сравнить платы, отталкиваясь от возможностей флагманской DIY-платформы Arduino Uno, так как платы именно этого семейства дали невероятный пинок развитию хобби-электроники во всём мире. Разные компании выпускают модули, сенсоры, платформы, дополнения с шильдами «Arduino compatible», «Designed for Arduino» и т.д. За этими словами стоит электронная и программная совместимость в первую очередь с Arduino Uno, а уж затем со всем остальным.

Как правило, с помощью ухищрений или дополнительных компонентов можно подключить что угодно, к чему угодно. Но ведь вам хочется сосредоточиться на своём проекте, а не на борьбе с электроникой? Поэтому волей не волей хочется сравнить любую плату на микроконтроллере именно с Arduino Uno. Так и сделаем.

Arduino Uno Процессор на 16 МГц, 32 КБ постоянной и 2 КБ оперативной памяти, 20 портов ввода-вывода, 6 аналоговых входов, 6 каналов ШИМ, 2 аппаратных прерывания, может, и не впечатляют, но без балласта в виде операционной системы и интерпретаторов, они позволяют решать практически любые задачи по точному дирижированию множеством сенсоров и исполнительных устройств. Тонны документации, уроков и готовых библиотек, огромное сообщество, работа из простой в освоении среды Arduino IDE с языком Arduino C++. Всё это просто не даст вам возможности сказать «не осилил». Родное напряжение в 5 вольт, которое является де-факто стандартом и колодки для установки плат расширения , аналоговые входы, всевозможные аппаратные интерфейсы позволяют подключить практически любую периферию, сенсоры и исполнительные устройства. Arduino Leonardo Та же Arduino Uno, но с другим микроконтроллером, который находится в том же классе, но имеет некоторые отличия положительного характера. Большее количество аналоговых входов (12 против 6) для сенсоров, больше каналов ШИМ (7 против 6), больше пинов с аппаратным прерыванием (5 против 2), раздельные независимые serial-интерфейсы для USB и UART. Arduino Leonardo может притворяться клавиатурой или мышью (HID-устройством) для компьютера. Это позволяет легко сделать своё собственное устройство ввода. Из-за распиновки чуть отличной от Arduino Uno возможна несовместимость с некоторыми платами расширения. Такие случаи, однако, редки, и в нашем магазине мы явно их прописываем. Iskra Neo Та же Arduino Leonardo, но произведённая нами, в России. Заметно дешевле оригинала. Arduino Mini Та же Arduino Uno, но в другом форм-факторе. Компактная. Всего 30×18 мм. Из-за форм-фактора нельзя без ухищрений устанавливать платы расширения Arduino. Предполагается соединение с дополнительными модулями проводами и/или через макетную плату . На плате нет USB-порта, поэтому прошивать нужно через отдельный USB-Serial адаптер . Iskra Mini Та же Arduino Mini, но произведённая нами, в России. Заметно дешевле оригинала. Есть в варианте с распаянными колодками и с незапаянными отверстиями. Arduino Micro Та же Arduino Leonardo, но в другом форм-факторе. Компактная. Всего 48×18 мм. Из-за форм-фактора нельзя без ухищрений устанавливать платы расширения Arduino. Предполагается соединение с дополнительными модулями проводами и/или через макетную плату . Arduino Mega Как Arduino Uno, но на базе более мощного микроконтроллера той же архитектуры. Отличный выбор «на вырост» или если Arduino Uno перестала справляться. В разы больше памяти: 256 КБ постоянной и 8 КБ оперативной. В разы больше портов: 60 из них 16 аналоговых и 15 с ШИМ. Немного длиннее базовой Arduino Uno: 101×53 мм против 69×53 мм. Arduino Due Одна из самых производительных плат от Arduino на микроконтроллере Cortex-M3 по форм-фактору аналогичная Arduino Mega. Процессор на 84 МГц и 512 КБ памяти. 66 пинов ввода-вывода, из которых 12 могут быть аналоговыми входами, 12 поддерживают ШИМ и все 66 могут быть настроены, как аппаратные прерывания. Встроенный контроллер шины CAN позволяет создавать сеть из Due или взаимодействовать с автомобильной электроникой. Два канала ЦАП позволяют синтезировать стереозвук с разрешением в 4,88 Гц. Родным напряжением для платы является 3,3 В, а не традиционные 5 В. Необходимо следить, чтобы выбираемая периферия поддерживала работу с этим уровнем или ставить преобразователи уровней напряжения. Iskra JS Плата на ядре Espruino: её программируют на JavaScript. JavaScript — язык высокого уровня. Программы писать проще, они компактнее и выразительнее. Особенно если речь идёт о многочисленных строковых операциях, массивах данных, веб-интерфейсе. Мощный микроконтроллер Cortex M4 на 168 МГц, 1 МБ флеш, 192 КБ оперативной памяти, десятки портов с ШИМ и аналоговых входов, 2 аналоговых выхода, по нескольку I²C, SPI, UART — всё это даёт подключить и одновременно работать с самыми разнообразными сенсорами и модулями. Несмотря на то, что родной уровень для платы — 3,3 вольта, пины толерантны к 5 вольтам: подключение пятивольтовой периферии тривиально. Из-за другой среды и экосистемы для программирования, может не существовать готовой библиотеки для выбранной периферии. Её придётся реализовать самостоятельно. Strela Робототехническая платформа «всё в одном» содержит в себе большинство тех вещей, которые нужны при создании любого лёгкого мобильного робота. Strela, как и любая другая Arduino, программируется из Arduino IDE, а в основе содержит тот же микроконтроллер, что и Arduino Leonardo. Встроенный драйвер для двух двигателей, 4 разъёма для сервоприводов, 4 кнопки и 4 светодиода свободного назначения, зуммер, слоты для ЖК-экрана и модуля беспроводной связи. Мощный регулятор питания позволяет без ухищрений использовать множество различных аккумуляторов. 11 входов-выходов выведены в виде 3-контактных разъёмов для лёгкого подключения дополнительных датчиков и модулей. ЖК-экран, кнопки и светодиоды подключены через расширитель портов, поэтому они не занимают входы-выходы общего назначения. На плате не предусмотрены колодки для установки плат расширения Arduino. Из-за изменённой нумерации контактов (в сравнении с базовой Arduino Leonardo), необходимо использовать немного другие функции для работы с пинами платы. Они предоставлены в одноимённой библиотеке. Arduino Yún Уникальный гибрид Arduino Leonardo и микрокомпьютера на OpenWRT Linux. Отличный выбор для «интернета вещей». Плата оснащена Ethernet и WiFi, через которые можно общаться с устройством и даже перепрошивать платформу удалённо. Мощь Linux позволяет работать с мультимедиа, а его сетевые возможности легко интегрироваться с социальными сетями и другими веб-сервисами. OpenWRT — это порезанный Linux. На микрокомпьютере можно установить не любой Linux-софт. А в качестве скриптовых языков программирования из коробки можно использовать только Bash и Python. STM32 Nucleo F401RE Плата с мощным микроконтроллером Cortex-M4. Платформа программируется не через Arduino IDE, а через онлайн-среду mbed.org. Субъективно, она мощнее и стройнее Arduino IDE, хотя и не так распространена. Для пытливого ума — отличный выбор. Процессор на 84 МГц, 512 КБ постоянной и 96 КБ оперативной памяти. 50 портов ввода-вывода, из которых 16 аналоговых и 29 с ШИМ. Родной уровень напряжения — 3,3 В, но все пины толерантны к 5 В, поэтому проблем электронной совместимости с Arduino-периферией возникнуть не должно. Колодки для плат расширения по конфигурации совпадают с Arduino Uno, поэтому на Nucleo можно поставить множество плат расширения от Arduino. На плате не выведен отдельный SPI-разъём. Платы расширения Arduino, которые используют SPI через ICSP-разъём без ухищрений не будут работать. Из-за другой среды и экосистемы для программирования, может не существовать готовой библиотеки для выбранной периферии. Её придётся реализовать самостоятельно. Teensy 3.2 Компактная плата с мощным микроконтроллером Cortex-M4. Программируется из привычной Arduino IDE. Меньше Arduino Micro (35×17 мм), но почти столь же мощная, как Nucleo: процессор 72 МГц, 256 КБ постоянной и 64 КБ оперативной памяти, 34 порта ввода-вывода, из которых 21 могут быть аналоговыми, а 12 поддерживают ШИМ. Teensy 3.1 очень энергоэффективна. У неё нет регулятора напряжения, но входным может являться любое от 3,3 до 5,5 В. Это же напряжение и будет логическим уровнем. В режиме сна плата потребляет всего 0,25 мА, что даёт возможность работать от аккумулятора несколько месяцев. Встроенный контроллер шины CAN позволяет создавать сеть из Due или взаимодействовать с автомобильной электроникой. Два канала ЦАП позволяют синтезировать стереозвук с разрешением в 4,88 Гц. Плата поставляется с нераспаянными контактами. Вам предстоит самостоятельно впаять штырьковые соединители или проводки. Из-за большой разницы в архитектуре с классическим Arduino не все библиотеки для сторонней периферии могут работать из коробки. Рабочее напряжение равно входному, а поэтому плывёт по мере разряда батарейки. Это может оказаться важным при выборе периферии, если она рассчитана на какой-то конкретный вольтаж. Netduino 2 Плата повторяет форм-фактором Arduino Uno, но имеет мощную начинку, достаточную для исполнения программ, написанных на платформе.NET. Netduino программируется на C# или любом другом.NET-языке в привычной любому.NET-разработчику среде Visual Studio. В качестве стандартной библиотеки предоставляется.NET Micro Framework. В Visual Studio работает автодополнение, подсказки, контекстная помощь в MSDN и полноценный отладчик. Вам доступны breakpoint’ы, пошаговое исполнение кода, наблюдение за переменными. Отладка происходит без ухищрений, просто с подключённым USB-кабелем. Благодаря всему этому, скорость разработки под Netduino в разы превосходит скорость разработки под любую другую платформу. На плате не выведен отдельный SPI-разъём. Платы расширения Arduino, которые используют SPI через ICSP-разъём без ухищрений не будут работать. Из-за другой среды и экосистемы для программирования, может не существовать готовой библиотеки для выбранной периферии. Её придётся реализовать самостоятельно. Netduino Plus 2 Как Netduino, только мощнее и с Ethernet на борту. Отличный выбор для реализации проектов интернета вещей. Те же, что и у Netduino 2.

Сравнение одноплатных компьютеров

Законодателем моды среди одноплатных компьютеров является Raspberry Pi. Эта сверхпопулярная платформа в своё время перевернула представление о возможностях, габаритах и стоимости полноценного компьютера для DIY-электронщиков.

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

Raspberry Pi 3 Model B Один из самых популярных одноплатников. Четыре ядра по 1200 МГц, 1 ГБ оперативной памяти и полноценный Linux, основанный на Debian помогут решить множество задач, требовательных к вычислительным ресурсам. Среди них можно выделить компьютерное зрение, обработку звука в реальном времени, создание веб-сервисов. Тонны документации, уроков и готовых библиотек, огромное сообщество. Всё это просто не даст вам возможности сказать «не осилил». Привычные порты HDMI, 3,5 мм аудио, 4 USB помогут с лёгкостью подключить монитор, колонки, клавиатуру, мышь и другие USB-устройства. Модули BLE и WiFi на борту помогут соединить компьютер с другими устройствами без проводов. На плате нет АЦП, поэтому подключение аналоговых сенсоров возможно только с помощью внешних, дополнительных компонентов. Предоставляется лишь 1 аппаратный ШИМ-канал, что усложняет работу с периферией, которая управляется ШИМ’ом. BeagleBone Black Микрокомпьютер схожий с Raspberry Pi, который даёт больше благ, привычных для микроконтроллерных плат. Отличный выбор для проектов интернета вещей, когда необходимо управляться с множеством сенсоров и исполнительных устройств. Мощная среда для разработки Cloud9 IDE. Вы просто заходите на BeagleBone через браузер и программируете на любимом языке будь то Python, JavaScript (Node.js), Bash или любой другой язык Linux. Результат можно проверить мгновенно, а если что-то не заработало, использовать встроенный в среду полноценный отладчик. На борту уже установлена флеш-память eMMC на 4 ГБ с операционной системой Linux. Память может быть увеличена внешней microSD-картой. Широкие возможности по подключению периферии. 8 ШИМ-выходов и 7 аналоговых входов. Возможны аппаратные прерывания. Диковинный разъём microHDMI для подключения монитора. Для передачи звука используется он же. Вычислительная мощность скромнее, чем у Raspberry Pi: 1 ядро на 400 МГц и 512 МБ оперативной памяти.

Рис. 1. Внешний вид компьютера РС/104 с дочерними платами

Сегодня вычислительные системы проникли во все сферы жизне­деятельности человека: высокопроизводительные встраиваемые системы используются в абсолютно разных областях, начиная от управления производственными линиями и заканчивая медицинским оборудованием. Чтобы сделать грамотный выбор в пользу той или иной встраиваемой системы, необходимо прежде всего проанализировать такие показатели, как производительность и архитектура процессора, реализованные интерфейсы, потребляемая энергия, используемое программное обеспечение (ПО), стоимость и время разработки.

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

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

Какой форм-фактор лучше всего подходит для разрабатываемой системы?

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

Одноплатные компьютеры - это готовое решение, которое позволяет исключить этап разработки и производства в случае применения процессорных модулей для создания несущей платы, следовательно, разработчики системы концентрируются только на программных вопросах. Это решение позволяет максимально быстро вывести продукцию на рынок, однако оно обладает и более высокой стоимостью. Так как одноплатные компьютеры выпускаются с учетом максимально возможного удовлетворения всех требований заказчика, то здесь не избежать избыточности по поддерживаемым интерфейсам: их количеству, объему установленной памяти и т. п. Также надо учитывать, что жизненный цикл системы будет ограничен сроком производства конкретного одноплатного компьютера, используемого в этой системе. При его снятии с производства придется обновлять и свою систему с учетом отличий нового компьютера от устаревшего, например, иное расположение разъемов интерфейсов на плате компьютера. На рынке встраиваемых систем получили широкое распространение следующие форм-факторы одноплатных компьютеров: 3,5″ (146×102 мм), 2,5″(100×72 мм, альтернативное название Pico ITX) и РС/104 (96×90 мм).

Особое внимание стоит уделить одноплатным компьютерам стандарта РС/104. Дочерние платы, или модули расширения для компьютеров РС/104, имеют те же размеры 96×90 мм, что и плата компьютера, и объединяются с ней жестко определенными стандартом интерфейсами (рис. 1) PCI, PCI Express (PCIe) и ISA (в более ранних версиях). Таким образом, стандарт РС/104 позволяет избежать необходимости в собственной разработке несущей платы и более оптимально сконфигурировать компьютер, используя модули различных производителей. Следует отметить, что за долгое время существования стандарта РС/104 множество производителей разработало огромное количество различных по назначению и выполняемым функциям модулей. Дополнительная свобода от конкретной платы компьютера обеспечивается тем, что в РС/104 разъемы интерфейсов на корпусе соединены с платой компьютера или модулем расширения с помощью кабелей. Ограничением в применении одноплатных компьютеров РС/104 является использование процессоров небольшой мощности. Потребляемая мощность одноплатного компьютера РС/104 должна быть не более 25 Вт, и связано это с ограничением по нагрузке используемых межплатных разъемов в стандарте РС/104 . Еще одной сложностью является то, что используются процессоры в основном архитектуры х86 из-за применяемых в стандарте РС/104 интерфейсов. Совсем недавно в ARM-процессорах стали использовать PCIe интерфейс, а ранее для применения ARM в одноплатных компьютерах РС/104 приходилось использовать дополнительные микросхемы для реализации интерфейсов PCI, PCIe и ISA .

Процессорные модули (рис. 2) как компоненты, устанавливаемые на печатную плату, оптимально устраняют избыточность системы. Разработчик может максимально точно следовать требованиям технического задания, учитывая размер печатной платы, ее форму, размещение интерфейсов и типы используемых разъемов, и применить при этом только ту периферию на несущей плате, которая необходима для данной системы. Благодаря стандартизации модулей существует возможность простой модификации системы путем замены модулей на несущей плате. Таким образом, можно осуществить более тонкую настройку системы под требования заказчика и выпускать версии системы с более или менее производительными процессорами или даже менять архитектуру процессора путем простой замены модуля. Благодаря взаимозаменяемости модулей обеспечивается легкое обновление системы при появлении новых процессоров, а это также продлевает жизненный цикл изделия, делает его свободным от устаревания и снятия с производства конкретного модуля и устраняет зависимость от одного производителя.

Рис. 2. Виды процессорных модулей

Так же, как и у одноплатных компьютеров стандарта РС/104, для процессорных модулей учитываются ограничения по мощности. Для модулей COM Express жестких стандартов не установлено, но значение потребляемой мощности определяется характеристиками межплатных разъемов. Оно соответствует примерно 50 Вт для модулей Type 2, Type 6 и Type 7 и 25 Вт для Type 10 (Mini COM Express), так как данный тип модулей использует только один разъем в отличие от предыдущих . Строго ограничивают потребляемую модулем мощность стандарты Qseven - до 12 Вт и SMARC (Smart Mobility ARChitecture) - до 15 Вт. .

Насколько низким должно быть энергопотребление разрабатываемой системы?

Производительность процессора напрямую связана с энергопотреблением: процессоры с более низкой производительностью требуют меньше энергии. Кроме того, выбор процессора зависит также от системы охлаждения. Меньше ограничений накладывает активная система охлаждения, позволяя выбрать процессор необходимой производительности. Когда же система ограничена пассивным безвентиляторным охлаждением, в приоритете будут процессоры с низким энергопотреблением, и жертвовать придется производительностью процессора из-за ограничений по массо-габаритным параметрам системы охлаждения.

В области малой мощности CISC (complex instruction set computer, компьютер с полным набором команд) платформа x86 исторически проигрывала архитектуре RISC (reduced instruction set computer, компьютер с сокращенным набором команд), на которой построены процессоры ARM. Более простая архитектура ARM имеет небольшую площадь кристалла и существенно меньше потребляет энергию. Это преимущество позволило данным процессорам занять ведущее место среди форм-факторов с минимальными размерами. Стандарты Qseven и SMARC изначально разрабатывались с учетом особенностей архитектуры ARM. Тем не менее развитие платформы x86 продолжается, и сегодня разработчики имеют доступ к малопотребляющим x86 моделям. Новые процессоры обеспечивают более высокую производительность, чем у предыдущего поколения x86, при этом потребляя менее 10 Вт. Это позволило использовать новые малопотребляющие процессоры x86 в модулях Qseven и SMARC и создать новый модуль COM Express Mini (Type 10), который обеспечивает преемственность стандарта COM Express в меньшем по размеру модуле.

Выбор операционной системы и ПО

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

Linux - наиболее универсальная операционная система. Она поддерживает как x86, так и ARM процессоры. Традиционно при применении ARM использовались Linux и построенная на ее основе Android. И только совсем недавно Microsoft портировала Windows для архитектуры ARM. Многие производители одноплатных компьютеров и процессорных модулей с процессорами ARM ограничиваются поддержкой Linux, что накладывает ограничения на используемую операционную систему. В рассматриваемом случае более универсальными оказываются x86 процессоры. Они поддерживаются и Linux, и Windows, а при необходимости использовать VxWorks или QNX чаша весов будет склоняться в сторону x86 процессоров, так как эти операционные системы поддерживают только некоторые ядра архитектуры ARM. В пользу Windows, даже при том, что она увеличивает стоимость системы, говорит огромный объем ПО, системы разработки и отладки, написанные под эту ОС, и профессиональная поддержка.

Факторы, влияющие на стоимость системы

Стоимость системы формируется сложным многообразием факторов. Например, можно предположить, что стоимость зависит от размера модуля или одноплатного компьютера, мотивируя это тем, что на меньшей печатной плате установлено меньше компонентов. Тем не менее в действительности меньший модуль может быть дороже, чем модуль большей площади. Технические характеристики, модель с одноядерным или четырехъядерным процессором и реализованные интерфейсы ввода/вывода являются теми условиями, которые будут определять общую стоимость платы.

Ресурсы, потраченные на разработку и отладку, стоимость используемого ПО и оборудования - все это, в свою очередь, скажется на стоимости решения. Рассмотрим модули COM Express Basic, Compact и Mini форм-факторов с одним и тем же установленным процессором. У модуля Mini меньше площадь печатной платы, но могут потребоваться те же функции, что в Basic и Compact модулях. Чтобы их эффективно реализовать, понадобятся дополнительные слои печатной платы, а это дорогостоящая и кропотливая инженерная работа, увеличивающая время разработки и, соответственно, стоимость производства.

Инженерные затраты обычно выстраиваются таким образом: наиболее дорогостоящими являются полностью сформированные, готовые к использованию одноплатные компьютеры PC/104 (из-за плотности монтажа на печатной плате), затем идут одноплатные компьютеры 3,5″ и Pico ITX, близко по стоимости к ним находятся модули стандарта COM Express. Модули SMARC и Qseven имеют меньше компонентов и, как правило, имеют более низкую функциональность, чем COM Express, что заметно уменьшает их стоимость.

Для оценки полной стоимости системы нельзя оставлять без внимания ресурсы, потраченные на разработку, отладку и тестирование несущей платы для решения на процессорных модулях. Данное решение (несущая плата + процессорный модуль) начинает выигрывать по стоимости после превышения определенного количества изделий, когда стоимость разработки и отладки несущей платы начинает компенсироваться более дешевым производством несущей платы из-за более простой структуры и меньшим количеством реализованных интерфейсов по сравнению с одноплатным компьютером.

Нельзя забывать и о рабочем температурном диапазоне модулей и одноплатных компьютеров. Использование компонентов с так называемым индустриальным температурным диапазоном –40…+85 °С и последующие температурные тесты могут увеличить стоимость в 1,5 раза по сравнению с коммерческими моделями 0…+70 °С. Поэтому нельзя пренебрегать возможностью смягчить требования к рабочему температурному диапазону даже на 10…20 °С: так, рабочий температурный диапазон –20…+75 °С значительно снизит стоимость решения по сравнению с –40…+85 °С. Также стоит обратить внимание, что минусовой диапазон –40…–20 °С больше влияет на стоимость, чем плюсовой диапазон +60…+85 °С.

Выбор оптимального варианта

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

Такое же решение в пользу одноплатного компьютера, очевидно, принимается при небольших количествах разрабатываемой системы - (например, 100 шт.), когда затраты на разработку и производство несущей платы явно превысят выгоду от применения процессорного модуля по сравнению с одноплатным компьютером.

Если необходимо обеспечить длительное время использования системы, например от 10 лет, то решение с большой вероятностью будет принято в пользу применения процессорного модуля. Жизненный цикл одноплатного компьютера напрямую зависит от жизненного цикла важнейших компонентов, установленных на плате компьютера, снятие с производства которых делает нецелесообразным модификацию машины и, следовательно, также ведет к снятию ее с производства. Такими важнейшими компонентами являются чипсет и процессор. Для примера, максимальный период производства серии Embedded компании Intel составляет всего 7 лет. Длительный жизненный цикл системы обеспечивается простой заменой устаревших процессорных модулей на разработанной вами несущей плате.

Еще сложнее сделать выбор между х86 процессорами и ARM. Как было рассмотрено ранее, немаловажную роль здесь сыграет применяемое ПО и энергопотребление системы. Windows и отсутствие жестких ограничений говорит о целесообразности использования х86 процессоров, а Linux и экстремально низкое энерго­потребление - об ARM.

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