Интернет вещей (англ. 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)
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 и весь андроидный софт.
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, ни исходников, ни даже вообще нормальных дров и библиотек.
Как вообще обстоят дела с доступностью документацией на эти железяки?firedragon
13.04.2019 20:48+2Очень плохо обстоит. Если процессор еще описан, то драйвера под большим вопросом. А GPU это особая тема, практически никакой документации.
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+
Buzzzzer
13.04.2019 15:28+6Я бы еще odroid`ы в этот список внёс.
konchok
13.04.2019 20:07+3Без одроидов этот список ниочём. По качеству софта и поддержки одни из лучших плат. Асус запилил какую-то плату, потом забросит её через год. Для оранж нормального софта вообще не было никогда.
Punk_Joker
14.04.2019 02:55А как с поддержкой железа одроидов в mainline ядре?
konchok
14.04.2019 18:22Там на всех платах разный SoC, у меня стоит Samsung Exynos. Для андроид вполне стандартное железо, должен поддерживаться по идее. Хотя Hardkernel поставляет свои ядра, они ясно говорят что плата будет поддерживаться как минимум до такого-то года — 2024 для моей модели 2016(!) года.
Punk_Joker
14.04.2019 21:34Меня больше интересует mainline ядро Linux. Надо будет посмотреть, как там поддержка железа одроидовю
ktod
13.04.2019 19:49+1Вы еще не указали как обстоят дела с поддержкой в маинлайн ядре. У тех же Khadas Vim1 и PINE64 Rock64, например. Очень важная такая инфа.
Тестирование ethernet, опять же. Включая стресс тестирование, что опять же важно.
Punk_Joker
14.04.2019 02:51Указать бы наличие eMMC. Применять одноплатник без eMMC для серьезных задач как минимум глупо.
malishich
14.04.2019 08:19Считаю что упущены платформы на Odroid и FriendlyArm (NanoPi). Без них обзор абсолютно не полный.
ElectricFromUfa
14.04.2019 09:08+1Почему в тексте статьи не указан источник, откуда автор срисовал ВСЕ результаты тестов??
Тест 10 миниПК (2018)
wholeman
На мой взгляд для подобных микрокомпьютеров очень важны два момента: цена и поддержка медиаускорителя (прежде всего кодирование и воспроизведение видео) в свободных ОС. Жаль, что Вы ничего об этом не написали.
Naves
Полностью поддерживаю.
Плюс проверка реальной скорости ethernet.
wholeman
Насчёт скорости согласен — AFAIK в той же Малинке ethernet сделан через USB и на самом деле вместо гигабита выдаёт около 300Mb/s.
musuk
я не видел, больше чем 100Mb/s
wholeman
До B+ по-моему и не было. А в ней сделали, как я написал.
musuk
Точно: Gigabit Ethernet over USB 2.0 (maximum throughput 300 Mbps)
Andy_Big
А зачем в IoT медиаускоритель?
wholeman
Например, для видеонаблюдения. А в домашних условиях можно совместить IoT сервер с медиацентром.
Kitsok
Не очень хорошо, если из-за просмотра видео, у вас остановится отопление.
kzhyg
Нормально делай — нормально будет, что ещё можно сказать.
Kitsok
Можно сказать, что не надо на одном компьютере решать разные по уровню ответственности задачи
areht
А можете сказать почему?
Если компьютер способен решать задачу высокой ответственности, то почему он не справится с низкой?
Kitsok
Конечно справится, но не ставить же в каждую розетку по компьютеру с 4 ядрами, это выйдет дороговато.
Почему я считаю, что не надо на одном компьютере запускать управление "умным домом" и гонять видео — потому что даже если ресурсов это компьютера достаточно, и даже есть запас, всегда существует вероятность программной ошибки и аппаратного сбоя, и обычно чем выше нагрузка, тем больше вероятность сбоя. Да и задачи разные требуют разного железа-софта. Управление, например, воротами требует почти real time, иначе возникает дискомфортная для пользователя задержка между условным нажатием на кнопку и открыванием ворот.
Управление отоплением и водоснабжением — банально слишком ответственные задачи, риск — повреждение здания с дорогим ремонтом.
Учитывая, что мы тут обсуждаем не профессиональные системы с выделенной серверной и зарезервированным железом, а решения из "палки и верёвки", надо ли повышать и без того немалый риск?
areht
> обычно чем выше нагрузка, тем больше вероятность сбоя.
Ну… спорное утверждение. Даже не буду прикапываться к «обычно», но…
Нагрузка «выше» в абсолютных или относительных величинах должна к сбоям приводить? Что надежнее управляет умным домом, 1x160MHz или 4x2GHz?
> Управление, например, воротами требует почти real time, иначе возникает дискомфортная для пользователя задержка между условным нажатием на кнопку и открыванием ворот.
Интересное представление о «real time»… Вы таки правда думаете видеоплеер, рендерящий 4K*60FPS не справится с управлением воротами без задержки?
> Да и задачи разные требуют разного железа-софта.
Ну, это может быть, но вообще ортогонально надежности.
> Управление отоплением и водоснабжением — банально слишком ответственные задачи, риск — повреждение здания с дорогим ремонтом.
Поэтому что? Нельзя их на одном устройстве совмещать? Нужно на одном устройстве совмещать, уменьшая количество точек отказа? Нельзя, что бы устройство видео играло, что бы пользователь вовремя поломку [не]заметил?
Ivanii
Надежней справится 1*8 МГц без ОС, если только этим и будет заниматься, надежность у него в разы выше одноплатника и по количеству деталей и по количеству элементов на кристалле и по размеру работающего софта.
Чем больше софта работает тем больше очереди, больше задержки, больше вероятность задержки при выделении памяти процессу, при использовании потоковой обработки медиаданных это проявляется в разы заметнее.
areht
> А в домашних условиях можно совместить IoT сервер с медиацентром.
Не, ну если у вас IoT сервер 1*8 МГц…
Хотя, честно говоря, у меня большие сомнения в качестве софта для всего этого «без ОС», всё уходит в оптимизацию под 8МГц.
> при использовании потоковой обработки медиаданных это проявляется в разы заметнее.
А где конкретно это можно увидеть? Задержка открытия ворот от выделения трех байт под команду открытия ворот?
kzhyg
Обе задачи — одинаково бесполезная фигня с нулевой ответственностью. Компьютер «общего назначения» вообще не должен ничем управлять, только обеспечивать веб-морду с настройками и кнопкой «сделать хорошо». А ещё кинцо показывать.
Kitsok
Вы на собственном практическом опыте делаете такое заявление?
kzhyg
Вы умеете задавать вопросы так, чтобы они были именно вопросами, а не расплывчатыми намёками?
Kitsok
Это я тоже умею, но мой вопрос в другом: у вас есть практический опыт реализации систем автоматизированного управления воротами, отоплением и водоснабжением?
kzhyg
И опять вопрос поставлен максимально однобоко. Ну да ладно, пусть оно прилипнет к вашей совести.
У меня есть опыт разработки и поддержки софта для двух комплексов аппаратов самообслуживания и систем централизованного управления ими, возможно, это каким-то образом касается затронутой темы.
Kitsok
Спасибо за ответ, я так и думал.
Любая задача кажется простой, пока за неё не возьмёшься.
В небольшом доме о 250м2 отказ отопления с последующим замерзанием обошёлся примерно в 15 тысяч долларов — замена почти всей сантехники, труб, местами полов.
В другом доме автоматика сбойнула и включила подпитку системы отопления, кончилось прорывом, затоплением и последующим замерзанием. Дом не под снос, но ущерб очень значительный, повезло, что отделку не успели сделать.
Так что прежде чем говорить о плевости решения и малой ответственности решаемой задачи, стоит ознакомиться с предметом обсуждения.
kzhyg
О, вы мне напоминаете операторов первой линии службы поддержки, которые зачитывают скрипт, даже если очевидно, что он сломан.
wholeman
Всё же малинки и прочие больше похожи на решения для DIY, а описанные Вами проблемы (и суммы) несколько из другой категории. Тут и дублирующий компьютер будет нелишним. Но у меня задачи куда скромнее и безопаснее.
wholeman
Под отопление можно и отдельный контроллер выделить, а не завязывать всё на один центральный компьютер. Но варианты использования могут быть очень разными, в том числе, когда небольшие сбои некритичны.
astraleuro
Никогда не понимал идеи совмещать медиацентр с какими-либо другими сущностями (даже с медиасервером), ведб гораздо логичнее выглядит, когда медиацентр — это отдельный юнит, разве нет?
Googlist
Зачем кормить єлектричеством лишние сущности?
wholeman
Это сильно зависит от конкретной конфигурации. Иногда удобнее разделять, а иногда наоборот.
vasimv
Ну, например, для CUDA и быстрой обработки JPEG. Для езды по стереокамере. Хотя, конечно, специфичный случай.
BlackSCORPION
Для CUDA есть Jetson nano
sim2q
и потребление хорошо бы потестировать во всех услучаях