Такие разные
Сегодня можно найти огромное множество самых разных одноплатных компьютеров: и с корпусом, и без; и с возможностью замены некоторых комплектующих (например, ОЗУ), хотя чаще без.
Для упрощения будем называть их мини-ПК.
Есть мини-ПК, оформленные как завершенное устройство, например, андроид приставка MXQ Pro 4K 5G.
Есть универсальные, например, Intel NUC.
Как правило, они отличаются высокой вычислительной мощностью и конструкционной завершенностью; поддерживают большой список ОС и могут заменить собой привычный системный блок.
Так же есть разновидность мини-ПК, которые можно использовать как часть чего-то большего. Например, плата Orange Pi PC. Она построена на том же процессоре (H3 Allwinner), что и упомянутая выше андроид приставка.
Они поддерживают малый список ОС. У них невысокая вычислительная мощность. Но зато они имеют множество разъемов для подключения периферии и отличаются низкой ценой, разнообразием по встроенной периферии и мощности. Разброс по платформам тоже велик: они есть на мобильных процессорах уровня ноутбуков и на уровне простеньких - телефонов.
По производителям на слуху, конечно, семейство Raspberry Pi. Но сейчас есть множество других, не менее интересных. Например: NanoPi; Rock64; Banana Pi; Orange Pi и даже Repka Pi. Все они отличаются друг от друга, хотя и имеют общие черты. Например, наличие GPIO разъема, Wi-Fi, или общего для некоторых моделей разных производителей - процессора.
В общем можно подобрать себе мини-ПК под любую задачу, подходящий по мощности, архитектуре и периферии. И это круто!
В этой статье мы поговорим о платах, на базе которых можно построить что-то большее.
Где их можно применить?
Само собой, при таком разнообразии мини-ПК их применений не счесть.
RetroPie
Самое простое применение мини-ПК - установить дистрибутив RetroPie, подключить геймпад и отправиться в мир ретро-игр.
RetroPie объединяет множество эмуляторов игровых консолей под интуитивно понятным пользовательским интерфейсом. Найдутся популярные платформы: NES, SNES, Genesis, Atari и некоторые другие. А значит и любимые игры: Battle City, Comix Zone, Super Mario Bros, Aladdin, Golden Axe, Streets of Rage, Contra Hard Corps, Earthworm Jim, Mortal Kombat, Sonic и многие другие.
Платы расширения и внешняя периферия
Но RetroPie - слишком простое применение для мини-ПК. Гораздо интереснее применять мини-ПК в каком-нибудь проекте.
Большое количество разъемов позволяет подключить самую разную периферию. Расширители GPIO для управления кучей реле, радио модули, всевозможные датчики, АЦП, ЦАП, конвертеры интерфейсов (например: CAN, RS485 (например, Modbus)) и тому подобное.
Причем, считаю, более правильным использовать специализированные микросхемы (платы) для расширения периферии, а не пытаться использовать GPIO в чистом виде.
Объяснение простое: скорость работы GPIO не всегда может удовлетворить инженера. Эмулировать какой-либо порт/протокол зачастую проблематично. Лучше применить отдельный микроконтроллер или даже ПЛИС.
Нужно обращать внимание на GPIO-контроллер платы и его характеристики. Часто GPIO имеет мизерный выходной ток и не переживает случайной подачи, например, 5В.
Такая ошибка может привести не только к выходу из строя GPIO-контроллера, но и целиком процессора, превратив плату в бесполезную кучку компонентов.
Одним из простых примеров использования мини-ПК с платой расширения - использовать его для программирования SPI Flash-памяти типа W25Q32 и 25Q64FW.
Для себя собирал такую плату расширения с возможностью переключения на 3.3В и 1.8В логику. Основой выступила плата Orange Pi One.
Так же, на большинстве из них присутствуют HDMI и USB. Это позволяет без особых проблем подключить к ним любой дисплей. Даже с сенсорным экраном. Например, 7-дюймовый сенсорный экран 1024x600.
А если мини-ПК с таким экраном (или обычным монитором, мышкой и клавиатурой) подключить через VNC к мощному серверу с рабочими местами, то можно установить большое количество дешевых рабочих мест без необходимости установки отдельного системного блока для каждого рабочего места. Вся вычислительная мощность будет заключена в сервере и будет делиться между пользователями удаленных рабочих столов. Об этом я упоминал в статье с описанием моего сервера.
Вендинговый (торговый) аппарат с мини-ПК тоже не составит труда собрать.
Ну или пульт управления и/или контроля станка, любого другого механизма/линии.
Для работы с ИИ такие платы слабо подходят. Хотя сейчас все больше появляется мини-ПК с PCI-E интерфейсом (чаще слот mPCIe с x1). А это, теоретически, позволяет подключить к такому мини-ПК уже полноценную дискретную видеокарту для вычислений ИИ.
Маленький может быть и влиятельным!
Логично, что разумнее отправлять данные для обработки на специализированный мощный вычислительный центр.
Иногда это сделать невозможно, но, как видно выше, тогда есть шанс решить эту задачу локально.
Это если говорить о решении сложных задач. Но для проекта не всегда требуется обрабатывать большой и сложный поток данных (либо все же приходится, но редко, т.е. имеется время на "потупить").
Казалось бы, с такими скромными вычислительными мощностями делать мини-ПК сервером глупо, но на практике часто бывает весьма оправдано.
Боты
Например, для большинства онлайн-ботов (чат-ботов), не требуется высоких вычислительных мощностей. Главное - высокий uptime в онлайн, ну и неплохо бы иметь малое потребление, т.к. нагрузка периодическая. С этим мини-ПК справляются на отлично. Например, тот же Orange Pi One имеет на борту Ethernet разъем (RJ-45). Остается только подключить к нему Ethernet кабель с доступом в интернет и зарядку от смартфона (для 5В питания платы). Ну и настроить ОС и ПО. В остальном - дело эстетики.
Свой сайт
Или же небольшой сайт-визитка. Хотя можно и больше одной странички. Все зависит от количества пользователей и общей нагрузки, требований к скорости работы сайта.
В рамках выполнения своей выпускной квалификационной работы я разрабатывал и запускал сайт на Orange Pi. ОС Armbian, web-сервер Apache. А с другого такого же мини-ПК подключался уже из ОС Android. Результат на фото ниже.
Свой файловый обменник
Например, аналог Google Drive, Яндекс.Диска и подобных.
Через USB, который присутствует практически у всех мини-ПК, можно подключить портативный жесткий диск.
А если использовать USB-хаб с дополнительным питанием, то количество дисков можно будет увеличить, например, до четырех. Такого количества обычно достаточно.
Больше - спорно, т.к. скорость ограничивается интерфейсом USB. Так среднестатистический жесткий диск (~80 MB/s) будет ограничен скоростью USB 2.0 (<60 MB/s).
Но если подключение будет через USB 3.0 (<625 MB/s) и соответствующий хаб, то на максимальной скорости работы дисков получится подключить до 8 штук. Такого количества уж точно хватит. И USB 3.0 и USB 3.1 становится не редкостью на новых мини-ПК.
Хотя тут назревает новая статья. Не все так просто, и нас еще ждет множество подводных камней на этом пути. Пока скажу только про 1Gb LAN, который есть не на всех мини-ПК. Даже с ним из вне мы не сможем получить скорости больше 125 MB/s.
Так что пока предлагаю принять мысль, что больше двух дисков подключать не целесообразно.
Сетевые диски SMB
Можно добавить в свою локальную сеть (Wi-Fi, LAN) доступ к портативному жесткому диску через SMB (Samba), или просто к любому другому, через USB-SATA адаптер
Выглядеть в системе это будет так, как будто он подключен к ПК или смартфону кабелем.
Плюс можно получить доступ с любого устройства, или даже с нескольких одновременно, в локальной сети. Прокидывать в сеть не рекомендую. У SMB не самый лучший метод шифрования, а накладные расходы протокола дадут такие задержки, что нормально пользоваться будет практически невозможно. Советую посмотреть в сторону SFTP.
Klipper
Те, кто имеют 3D-принтер, наверняка слышали про Klipper.
Klipper — это прошивка для 3D-принтера. Она позволяет перенести часть нагрузки контроллера 3D-принтера на серверную часть и, как следствие, выполнять более сложный расчёт траектории, ускорений, экструзии и прочего, для достижения более высокого качества печати.
Ну и как бонус - доступ к принтеру из браузера любого устройства; загрузка управляющего кода без необходимости извлечения флешки из принтера и множество других фишек такого симбиоза.
Немного больше про Klipper будет в следующих статьях.
Выводы
Семейство мини-ПК - это швейцарский нож в мире инженерии.
С помощью них можно решать самые разнообразные задачи. От простых, до невероятных. А возможность простого расширения за счет дополнительных плат - это то, что позволяет расширять горизонты применения мини-ПК до недостижимых воображению широт.
Главное всегда понимать, что для каждой задачи есть свои инструменты и средства. Когда-то мини-ПК может быть избыточен, а когда-то лучше взять материнскую плату типа ATX или даже старшего брата мини-ПК - ноутбук. Все зависит от поставленных задач.
—————————————————————————
Спасибо, что дочитали статью!
Подпишитесь пожалуйста на мой канал "Заметки Электроника | Alexander.Chad", этим Вы очень сильно поможете мне. Канал существует только за счет наличия и участия подписчиков.
Если Вам понравился материал - поддержите его лайком или даже донатом (ЮMoney). Есть что сказать? Оставьте комментарий! Это тоже будет помощью.
Сейчас канал нуждается в Вас как никогда прежде!