Тестирование микрокомпьютеров для IoT

Для начала рассмотрим термин «интернет вещей». В википедии увидим следующее определение:
Интернет вещей (англ. Internet of Things, IoT) — концепция вычислительной сети физических предметов («вещей»), оснащённых встроенными технологиями для взаимодействия друг с другом или с внешней средой, рассматривающая организацию таких сетей как явление, способное перестроить экономические и общественные процессы, исключающее из части действий и операций необходимость участия человека.

Гейты


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

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

Микрокомпьютеры


ASUS Tinker Board




Микрокомпьютер от известной всеми компании ASUS, плата с открытыми спецификациями и с размерами Raspberry Pi (о которой мы поговорим дальше). Поддерживает воспроизведение 4K/30fps.
CPU: Rockchip RK3288 (4x Cortex-A17 @ 1.8GHz)
GPU: Mali-T760
Оперативная память: 2 GB LPDDR3 RAM
Интерфейсы: GbE, WiFi, Bluetooth 4.0, 4xUSB 2.0 плюс microSD, micro-USB, HDMI, MIPI-CSI, MIPI-DSI, 40-pin разъем

Raspberry Pi 3 Model B+




Самый популярный микрокомпьютер, о компании которой не слышал только ленивый. Является наследником Raspberry Pi 3 Model B.
CPU: Broadcom BCM2837B0 (4xCortex-A53, 64-bit @ 1.4GHz)
GPU: Broadcom Videocore-IV
Оперативная память: 1 GB LPDDR2 SDRAM
Интерфейсы: WiFi, Bluetooth 4.2, GbE, 4xUSB 2.0, microSD, micro-USB, HDMI, MIPI-CSI, MIPI-DSI, 40-pin разъем

Orange Pi PC 2



Микрокомпьютер от компании Shenzhen Xunlong, имеет такой же размер, как и Raspberry Pi.
CPU: Allwinner H5 (4xCortex-A53, @ 1 GHz)
GPU: Mali-450 MP2
Оперативная память: 1 GB DDR3 RAM
Интерфейсы: 3xUSB 2.0, micro-USB OTG, HDMI, GbE, microSD, CVBS, аудио, MIPI-CSI, 40-pin разъем

Khadas Vim1



Плата от стартапа Khadas.
CPU: Amlogic S905X (4x Cortex-53 @ 1.5 GHz)
GPU: Mali-450 MP2
Оперативная память: 2GB DDR3 RAM
Память: eMMC на 8 GB
Интерфейсы: Wi-Fi, Bluetooth 4.2, Fast Ethernet, 2xUSB 2.0, Type C, HDMI 2.0a, IR, micro SD, 40-pin разъем (не совместим с Raspberry Pi), ИК-приёмник

PINE64 Rock64




Микрокомпьютер от компании PINE64, имеет такой же форм-фактор как у Raspberry Pi.
CPU: Rockchip RK3328 (4x Cortex A53 @1.3 GHz)
GPU: Mali – 450M2
Оперативная память: 1/2/4 GB LPDDR3 RAM
Интерфейсы: HDMI 2.0a с HDR10, GbE, 2 x USB 2.0, 1 x USB 3.0, 40-pin разъем.

Перейдем к тестам


Тесты на скорость работы CPU


Это встроенный бенчмарк утилиты 7zip, она выдает средние значения в MIPS, соответственно, чем больше, тем лучше.



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



Тест заключается в рендеринге, написанный на языке программирования C, на выходе получаем изображение разрешением 2048x2048.



Тест занимается перекодированием wav файла в mp3.



Скорость работы оперативной памяти


Бенчмарк заключается в том, что выполняются две операции, это копирование в memcpy и заполнение памяти заданными значениями в memset.



Тест на чтение блоками в один килобайт.





Скорость с базами данных


Тест создает базу данных на 1 млн. записей на mysql и далее тестируются в этой таблице различные операции, происходят транзакции в локальной БД mysql.





Заключение


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

Комментарии 57

    +3
    На мой взгляд для подобных микрокомпьютеров очень важны два момента: цена и поддержка медиаускорителя (прежде всего кодирование и воспроизведение видео) в свободных ОС. Жаль, что Вы ничего об этом не написали.
      +3
      Полностью поддерживаю.
      Плюс проверка реальной скорости ethernet.
        +2
        Насчёт скорости согласен — AFAIK в той же Малинке ethernet сделан через USB и на самом деле вместо гигабита выдаёт около 300Mb/s.
          0
          я не видел, больше чем 100Mb/s
            0
            До B+ по-моему и не было. А в ней сделали, как я написал.
              +1
              Точно: Gigabit Ethernet over USB 2.0 (maximum throughput 300 Mbps)
        +3
        А зачем в IoT медиаускоритель?
          0
          Например, для видеонаблюдения. А в домашних условиях можно совместить IoT сервер с медиацентром.
            +4

            Не очень хорошо, если из-за просмотра видео, у вас остановится отопление.

              –2
              Нормально делай — нормально будет, что ещё можно сказать.
                +3

                Можно сказать, что не надо на одном компьютере решать разные по уровню ответственности задачи

                  –1
                  А можете сказать почему?
                  Если компьютер способен решать задачу высокой ответственности, то почему он не справится с низкой?
                    +1

                    Конечно справится, но не ставить же в каждую розетку по компьютеру с 4 ядрами, это выйдет дороговато.
                    Почему я считаю, что не надо на одном компьютере запускать управление "умным домом" и гонять видео — потому что даже если ресурсов это компьютера достаточно, и даже есть запас, всегда существует вероятность программной ошибки и аппаратного сбоя, и обычно чем выше нагрузка, тем больше вероятность сбоя. Да и задачи разные требуют разного железа-софта. Управление, например, воротами требует почти real time, иначе возникает дискомфортная для пользователя задержка между условным нажатием на кнопку и открыванием ворот.
                    Управление отоплением и водоснабжением — банально слишком ответственные задачи, риск — повреждение здания с дорогим ремонтом.
                    Учитывая, что мы тут обсуждаем не профессиональные системы с выделенной серверной и зарезервированным железом, а решения из "палки и верёвки", надо ли повышать и без того немалый риск?

                      –1
                      > обычно чем выше нагрузка, тем больше вероятность сбоя.

                      Ну… спорное утверждение. Даже не буду прикапываться к «обычно», но…
                      Нагрузка «выше» в абсолютных или относительных величинах должна к сбоям приводить? Что надежнее управляет умным домом, 1x160MHz или 4x2GHz?

                      > Управление, например, воротами требует почти real time, иначе возникает дискомфортная для пользователя задержка между условным нажатием на кнопку и открыванием ворот.

                      Интересное представление о «real time»… Вы таки правда думаете видеоплеер, рендерящий 4K*60FPS не справится с управлением воротами без задержки?

                      > Да и задачи разные требуют разного железа-софта.

                      Ну, это может быть, но вообще ортогонально надежности.

                      > Управление отоплением и водоснабжением — банально слишком ответственные задачи, риск — повреждение здания с дорогим ремонтом.

                      Поэтому что? Нельзя их на одном устройстве совмещать? Нужно на одном устройстве совмещать, уменьшая количество точек отказа? Нельзя, что бы устройство видео играло, что бы пользователь вовремя поломку [не]заметил?
                        +1
                        Надежней справится 1*8 МГц без ОС, если только этим и будет заниматься, надежность у него в разы выше одноплатника и по количеству деталей и по количеству элементов на кристалле и по размеру работающего софта.
                        Чем больше софта работает тем больше очереди, больше задержки, больше вероятность задержки при выделении памяти процессу, при использовании потоковой обработки медиаданных это проявляется в разы заметнее.
                          0
                          > А в домашних условиях можно совместить IoT сервер с медиацентром.

                          Не, ну если у вас IoT сервер 1*8 МГц…

                          Хотя, честно говоря, у меня большие сомнения в качестве софта для всего этого «без ОС», всё уходит в оптимизацию под 8МГц.

                          > при использовании потоковой обработки медиаданных это проявляется в разы заметнее.

                          А где конкретно это можно увидеть? Задержка открытия ворот от выделения трех байт под команду открытия ворот?
                    –3
                    Обе задачи — одинаково бесполезная фигня с нулевой ответственностью. Компьютер «общего назначения» вообще не должен ничем управлять, только обеспечивать веб-морду с настройками и кнопкой «сделать хорошо». А ещё кинцо показывать.
                      0

                      Вы на собственном практическом опыте делаете такое заявление?

                        0
                        Вы умеете задавать вопросы так, чтобы они были именно вопросами, а не расплывчатыми намёками?
                          0

                          Это я тоже умею, но мой вопрос в другом: у вас есть практический опыт реализации систем автоматизированного управления воротами, отоплением и водоснабжением?

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

                              Спасибо за ответ, я так и думал.
                              Любая задача кажется простой, пока за неё не возьмёшься.
                              В небольшом доме о 250м2 отказ отопления с последующим замерзанием обошёлся примерно в 15 тысяч долларов — замена почти всей сантехники, труб, местами полов.
                              В другом доме автоматика сбойнула и включила подпитку системы отопления, кончилось прорывом, затоплением и последующим замерзанием. Дом не под снос, но ущерб очень значительный, повезло, что отделку не успели сделать.
                              Так что прежде чем говорить о плевости решения и малой ответственности решаемой задачи, стоит ознакомиться с предметом обсуждения.

                                –3

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

                                  0
                                  Всё же малинки и прочие больше похожи на решения для DIY, а описанные Вами проблемы (и суммы) несколько из другой категории. Тут и дублирующий компьютер будет нелишним. Но у меня задачи куда скромнее и безопаснее.
                    0
                    Под отопление можно и отдельный контроллер выделить, а не завязывать всё на один центральный компьютер. Но варианты использования могут быть очень разными, в том числе, когда небольшие сбои некритичны.
                    +3
                    Никогда не понимал идеи совмещать медиацентр с какими-либо другими сущностями (даже с медиасервером), ведб гораздо логичнее выглядит, когда медиацентр — это отдельный юнит, разве нет?
                      –2
                      Зачем кормить єлектричеством лишние сущности?
                        0
                        Это сильно зависит от конкретной конфигурации. Иногда удобнее разделять, а иногда наоборот.
                      0
                      Ну, например, для CUDA и быстрой обработки JPEG. Для езды по стереокамере. Хотя, конечно, специфичный случай.
                        0
                        Для CUDA есть Jetson nano
                      0
                      и потребление хорошо бы потестировать во всех услучаях
                      +1
                      На каких платформах, с какими настройками тестировали?

                        +1
                        Ни на каких. Автор просто скопировал все тесты из этого видео www.youtube.com/watch?v=zpGA2stVpxo автор которого Руслан Надыршин есть на хабре ElectricFromUfa
                        +2
                        Гейт — шлюз, тестов как LAN или IoT шлюза нету, тестов как сервер IoT нету, представленные данные частично описывают производительность этих железок в качестве медиаплеера…

                        Цена сравниваемых однопалатников — Orange Pi PC2 — 25 $, ASUS Tinker Board — 85 $, не удивительно что у них отличается производительность. И для сравнения мой медиаплеер — MECOOL KI PRO за 75 $ — DVB-S2/T2/C COMBO, IPTV(мультикаст), 2.4G/5G WiFi, ethernet 1000 Мбит, H.265 4K 60fps 10btis и весь андроидный софт.
                          +1
                          А где тесты GPU?
                          Для Mali-T760 заявлено OpenGL ES 1.2, 1.1, 2.0, 3.1, 3.2, Vulkan 1.0, OpenCL 1.1, 1.2, RenderScript.
                          Или как обычно ни описания на GPU, ни исходников, ни даже вообще нормальных дров и библиотек.
                          Как вообще обстоят дела с доступностью документацией на эти железяки?
                            +3
                            Очень плохо обстоит. Если процессор еще описан, то драйвера под большим вопросом. А GPU это особая тема, практически никакой документации.
                              0
                              И как производители объясняют такое положение дел?
                            +7
                            очень не хватает важного:
                            ASUS Tinker Board — $64-$80
                            Raspberry PI3B+ — $35-$50
                            Orange Pi PC 2 — $25-$45
                            Khadas Vim1 — $50-$80
                            PINE64 Rock64 — $25-$45

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

                            Но всё это кроется размером комьюнити. И тут победитель с большим отрывом известен. А это — важная тема.
                            PS у Khadas есть VIM2 — там и DDR4 и прочее, если тестировать её наверно всех порвёт, но ценник 100+, и beaglebone AI выкатывают, но он как-то хлипко выглядит пока, а просят тоже 100+

                              0
                              За 100+ можно и intel atom взять какой-нибудь. Тот же aaeon up board.
                              +6

                              Я бы еще odroid`ы в этот список внёс.

                                +3
                                Без одроидов этот список ниочём. По качеству софта и поддержки одни из лучших плат. Асус запилил какую-то плату, потом забросит её через год. Для оранж нормального софта вообще не было никогда.
                                  0
                                  А как с поддержкой железа одроидов в mainline ядре?
                                    0
                                    Там на всех платах разный SoC, у меня стоит Samsung Exynos. Для андроид вполне стандартное железо, должен поддерживаться по идее. Хотя Hardkernel поставляет свои ядра, они ясно говорят что плата будет поддерживаться как минимум до такого-то года — 2024 для моей модели 2016(!) года.
                                      0
                                      Меня больше интересует mainline ядро Linux. Надо будет посмотреть, как там поддержка железа одроидовю
                                +1
                                Вы еще не указали как обстоят дела с поддержкой в маинлайн ядре. У тех же Khadas Vim1 и PINE64 Rock64, например. Очень важная такая инфа.
                                Тестирование ethernet, опять же. Включая стресс тестирование, что опять же важно.
                                  +3
                                  Выкопали какие-то Khadas, а Odroid забыли.
                                    +1
                                    Указать бы наличие eMMC. Применять одноплатник без eMMC для серьезных задач как минимум глупо.
                                      +1
                                      Считаю что упущены платформы на Odroid и FriendlyArm (NanoPi). Без них обзор абсолютно не полный.
                                        +11
                                        Почему в тексте статьи не указан источник, откуда автор срисовал ВСЕ результаты тестов??

                                        Тест 10 миниПК (2018)
                                          0

                                          Banana pi m3 не было?

                                            0
                                            А кто-то может посоветовать максимально стабильное в работе устройство. Что бы разбросить по миру пару сотен таких «гейтов» с 3G модемами и они работали годами? Производительность большая не нужна.
                                              0

                                              Банан м3 (8 медленных ядер) ненадёжный, требовательный к питанию и греется; апельсин похожий, на более старом чипе. Можно взять банан М1 (самый недорогой, 2 ядра) или м2 (4 ядра, чаще берут для роутеров, но там моделей много) и софт получше, чем у вышеперечисленных. Малина обычно подороже, но ситуация с софтом менее кошмарна.

                                                0
                                                В малине есть watchdog, чтобы работало годами рекомендуют сдкарту переводить в readonly, и выбирать хороший блок питания, а не дешевую зарядку от телефона с параметрами стопицот китайских ампер.
                                                0
                                                Хорошо было бы добавить в данный обзор Jetson Nano Kit от Nvidia — $99 (с доставкой в Россию выйдет ~8300-9000 руб).
                                                4GB LPDDR4 RAM, 128 CUDA ядер, 4K 30fps на монитор
                                                На TensorFlow нейронки запускать самое то, и размер не на много больше Rpi3
                                                Тут есть некоторое сравнение с Rpi3
                                                  +3
                                                  Бесполезно это писать автору, он ничего и не тестировал.
                                                  В моём тесте в 2019 году Jetson Nano Kit участвовать точно будет
                                                    +3

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

                                                  +1
                                                  Задумка статьи отличная, но она бесполезная. В графиках зачем-то идут в разном порядке (а не в порядке обзора) одноплатники. Не хватает цены, доставки, различных характеристик, мнения автора и т.п. Типа выводы делайте сами. Посмотрите графики и сделайте вывод. Для меня бесполезно…

                                                  Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.