Для начала рассмотрим термин «интернет вещей». В википедии увидим следующее определение:
Интернет вещей (англ. 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.





Заключение


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

Комментарии (55)


  1. wholeman
    13.04.2019 13:24
    +2

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


    1. Naves
      13.04.2019 13:34
      +2

      Полностью поддерживаю.
      Плюс проверка реальной скорости ethernet.


      1. wholeman
        13.04.2019 13:43
        +1

        Насчёт скорости согласен — AFAIK в той же Малинке ethernet сделан через USB и на самом деле вместо гигабита выдаёт около 300Mb/s.


        1. musuk
          13.04.2019 14:38

          я не видел, больше чем 100Mb/s


          1. wholeman
            13.04.2019 15:18

            До B+ по-моему и не было. А в ней сделали, как я написал.


            1. musuk
              13.04.2019 21:47
              +1

              Точно: Gigabit Ethernet over USB 2.0 (maximum throughput 300 Mbps)


    1. Andy_Big
      13.04.2019 15:04
      +3

      А зачем в IoT медиаускоритель?


      1. wholeman
        13.04.2019 15:17

        Например, для видеонаблюдения. А в домашних условиях можно совместить IoT сервер с медиацентром.


        1. Kitsok
          13.04.2019 16:00
          +4

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


          1. kzhyg
            13.04.2019 20:38
            -1

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


            1. Kitsok
              13.04.2019 21:36
              +2

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


              1. areht
                14.04.2019 07:15

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


                1. Kitsok
                  14.04.2019 10:47

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


                  1. areht
                    14.04.2019 11:00
                    -1

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

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

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

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

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

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

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

                    Поэтому что? Нельзя их на одном устройстве совмещать? Нужно на одном устройстве совмещать, уменьшая количество точек отказа? Нельзя, что бы устройство видео играло, что бы пользователь вовремя поломку [не]заметил?


                    1. Ivanii
                      14.04.2019 11:49

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


                      1. areht
                        14.04.2019 12:07

                        > А в домашних условиях можно совместить IoT сервер с медиацентром.

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

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

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

                        А где конкретно это можно увидеть? Задержка открытия ворот от выделения трех байт под команду открытия ворот?


              1. kzhyg
                14.04.2019 19:15
                -2

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


                1. Kitsok
                  14.04.2019 20:29

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


                  1. kzhyg
                    14.04.2019 20:59

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


                    1. Kitsok
                      14.04.2019 21:51

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


                      1. kzhyg
                        14.04.2019 23:22
                        -1

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


                        1. Kitsok
                          15.04.2019 00:11

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


                          1. kzhyg
                            15.04.2019 00:34
                            -2

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


                          1. wholeman
                            15.04.2019 14:45

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


          1. wholeman
            15.04.2019 13:26

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


        1. astraleuro
          13.04.2019 16:22
          +2

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


          1. Googlist
            13.04.2019 20:45
            -2

            Зачем кормить єлектричеством лишние сущности?


          1. wholeman
            15.04.2019 14:33

            Это сильно зависит от конкретной конфигурации. Иногда удобнее разделять, а иногда наоборот.


      1. vasimv
        14.04.2019 20:29

        Ну, например, для CUDA и быстрой обработки JPEG. Для езды по стереокамере. Хотя, конечно, специфичный случай.


        1. BlackSCORPION
          15.04.2019 04:09

          Для CUDA есть Jetson nano


    1. sim2q
      13.04.2019 21:30

      и потребление хорошо бы потестировать во всех услучаях


  1. barbos6
    13.04.2019 13:28
    +1

    На каких платформах, с какими настройками тестировали?


  1. Ivanii
    13.04.2019 13:39
    +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. kovserg
    13.04.2019 14:55
    +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, ни исходников, ни даже вообще нормальных дров и библиотек.
    Как вообще обстоят дела с доступностью документацией на эти железяки?


    1. firedragon
      13.04.2019 20:48
      +2

      Очень плохо обстоит. Если процессор еще описан, то драйвера под большим вопросом. А GPU это особая тема, практически никакой документации.


      1. kovserg
        14.04.2019 13:21

        И как производители объясняют такое положение дел?


  1. MEG123
    13.04.2019 15:18
    +5

    очень не хватает важного:
    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+


  1. Buzzzzer
    13.04.2019 15:28
    +6

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


    1. konchok
      13.04.2019 20:07
      +3

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


      1. Punk_Joker
        14.04.2019 02:55

        А как с поддержкой железа одроидов в mainline ядре?


        1. konchok
          14.04.2019 18:22

          Там на всех платах разный SoC, у меня стоит Samsung Exynos. Для андроид вполне стандартное железо, должен поддерживаться по идее. Хотя Hardkernel поставляет свои ядра, они ясно говорят что плата будет поддерживаться как минимум до такого-то года — 2024 для моей модели 2016(!) года.


          1. Punk_Joker
            14.04.2019 21:34

            Меня больше интересует mainline ядро Linux. Надо будет посмотреть, как там поддержка железа одроидовю


  1. ktod
    13.04.2019 19:49
    +1

    Вы еще не указали как обстоят дела с поддержкой в маинлайн ядре. У тех же Khadas Vim1 и PINE64 Rock64, например. Очень важная такая инфа.
    Тестирование ethernet, опять же. Включая стресс тестирование, что опять же важно.


  1. romxx
    13.04.2019 22:01
    +3

    Выкопали какие-то Khadas, а Odroid забыли.


  1. Punk_Joker
    14.04.2019 02:51

    Указать бы наличие eMMC. Применять одноплатник без eMMC для серьезных задач как минимум глупо.


  1. malishich
    14.04.2019 08:19

    Считаю что упущены платформы на Odroid и FriendlyArm (NanoPi). Без них обзор абсолютно не полный.


  1. ElectricFromUfa
    14.04.2019 09:08
    +1

    Почему в тексте статьи не указан источник, откуда автор срисовал ВСЕ результаты тестов??

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


  1. Wingtiger
    14.04.2019 14:55

    Banana pi m3 не было?


  1. Mgook
    14.04.2019 16:51

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


    1. Wingtiger
      14.04.2019 19:09

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


    1. Naves
      15.04.2019 08:49

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


  1. meljohin
    14.04.2019 16:51

    Хорошо было бы добавить в данный обзор Jetson Nano Kit от Nvidia — $99 (с доставкой в Россию выйдет ~8300-9000 руб).
    4GB LPDDR4 RAM, 128 CUDA ядер, 4K 30fps на монитор
    На TensorFlow нейронки запускать самое то, и размер не на много больше Rpi3
    Тут есть некоторое сравнение с Rpi3


    1. ElectricFromUfa
      14.04.2019 17:00
      +2

      Бесполезно это писать автору, он ничего и не тестировал.
      В моём тесте в 2019 году Jetson Nano Kit участвовать точно будет


      1. Semy
        14.04.2019 20:51
        +2

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


  1. dlinyj
    15.04.2019 10:55

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