Компания Popcorn Computer представила свою новую разработку — одноплатный ПК PopStick. Его формфактор похож на флешку, а сам девайс полностью открытый, включая как софт, так и «железо». Конечно, рекордов производительности он не бьет, но для определенных задач это отличный вариант. Стоимость девайса при этом — всего $29. Подробности — под катом.
Что это за устройство?
Сначала давайте посмотрим на его характеристики:
- SoC – Allwinner F1C200s ARM926EJ-S (ARMv5TE) процессор @ 533 MHz с 64 МБ ОЗУ DDR1
- Память: 128 MB SPI NAND Flash for OS, Micro SD Card Slot.
- USB: 1x USB Type-A коннектор с поддержкой режима USB Gadget. Соответственно, плата может определяться как USB Ethernet, Serial, Mass Storage, HID и т.п. 1x micro USB коннектор
- Питание: 5 В через USB Type-A порт
Что касается операционной системы, то пока что девайс не в состоянии работать с полноценным дистрибутивом. Так что у него есть лишь очень урезанная предустановленная ОС на Linux, которая позволяет пользователю выбрать, как устройство будет определяться.
Тем не менее, в ядре Linux 6.4, о котором мы писали ранее, есть упоминание этого устройства. Возможно, это означает, что в ближайшем будущем девайс сможет работать с полноценными дистрибутивами. С другой стороны, его производительность заставляет сильно в этом сомневаться.
Что касается процессора устройства, то это Allwinner F1C200s с архитектурой ARMv5TE, частота которого по умолчанию составляет 420 МГц. Правда, для одноплатника частота повышена до 533 МГц, а эксперты утверждают, что ее можно поднять и до 700 МГц.
Базовая среда окружения Linux хранится на внутренней памяти объемом всего в 128 МБ. Как и говорилось выше, вполне возможно, что в ближайшее время одноплатник сможет работать с лайт-версиями полноценных дистрибутивов Linux.
А что насчет подключения?
Питание подается сразу при подключении девайса к устройству. Мини-ОС, которая установлена в памяти, дает возможность выбрать, как PopStick станет определяться. Это может быть клавиатура, мышь, сетевая карта и т.п. Так, если планируется подключаться к системе по SSH, либо использовать ее как веб-сервер, то в настройках стоит выбрать сетевую карту.
Еще один важный момент — разработчики сделали проект полностью открытым. То есть при желании любой пользователь сможет разработать нечто похожее, а возможно, и лучше. Правда, для этого нужно быть действительно хорошим профессионалом в мире электронных устройств.
И это не все
Разработчики этого устройства ранее представили мини-ПК Pocket Popcorn Computer (Pocket P.C.). Средства на разработку Pocket P.C получены благодаря успешной кампании по сбору средств на Kickstarter. В общей сложности было собрано $83 966, хотя организаторы поставили цель $50 000.
Суммы хватило, чтобы выпустить устройство в срок. Pocket P.C. будет полезен программистам, сисадминам, специалистам по промышленному оборудованию. К слову, предварительная техническая информация, включая чертежи, эскизы, платы, уже доступна для скачивания на GitHub.
Для упрощения и удешевления разработки создатели Pocket P.C. выбрали наиболее популярные чипы и другие элементы. На сайте производителя выложена бесплатная для скачивания CAD-модель для трехмерной печати корпуса устройства.
Характеристики устройства:
- Процессор: 1.2 ГГц четырехъядерный ARM Cortex-A53.
- ОЗУ: 2GB DDR3.
- Память: 32GB eMMC.
- Дисплей: 4.95" Full HD 1920x1080px IPS.
- Картридер для microSD.
- Батарея: 3200mAh.
- Беспроводные модули: 2.4 GHz Wi-Fi / Bluetooth 4.0.
- Защита: чип Infineon OPTIGA TRUST M Secure Element.
- Клавиатура: настраиваемая с подсветкой (256 цветов).
- Разъемы: 4x USB-C, HDMI.
Особое внимание уделяется работе с данными и защите ценной информации. Для этого предусмотрен криптографический чип Infineon OPTIGA TRUST M, с отдельным хранением закрытых ключей, изолированным выполнением криптографических операций (ECC NIST P256/P384, SHA-256, RSA 1024/2048) и генерацией случайных чисел.
Кстати, несколько дней назад разработчики полностью открыли и этот проект для сообщества. Загрузить модели, софт и т.п. можно по этой ссылке. Так что теперь любой желающий с соответствующим опытом и возможностями может сделать что-то похожее.
Возможно, эти тексты тоже вас заинтересуют:
→ Подойдет ли PostgreSQL вообще всем проектам или нужны альтернативы
→ «20% оборудования не приедет в срок, а 10% — не приедет никогда». Параллельный импорт глазами провайдера инфраструктуры
→ Когда типизация делает тебе больно: как у нас появился статический анализатор
Комментарии (47)
MinimumLaw
30.06.2023 04:16+3SoC – Allwinner F1C200s ARM926EJ-S (ARMv5TE) процессор @ 533 MHz с 64 МБ ОЗУ DDR1
Хм... А мы в каком году? В 2023-ем? Этого даже для embedded уже критически мало, не говоря уже о всем остальном. Игрушка для тех, кто не потянул контроллеры?
K0styan
30.06.2023 04:16Я так понимаю, да: однозадачный девайс со средой выполнения чуть повыше, чем голое железо.
mpa4b
30.06.2023 04:16+3Фишка в том, что те 64 мегабайта в одном корпусе с самим соком.
MinimumLaw
30.06.2023 04:16+1Хорошо, и что? Какие сценарии использования этого свистка? Сценарии использования контроллера - да, можно себе представить (и то задаться вопросом - а нужно ли). А вот сценарии использования свистка? Как отладка для контроллера? А еще?
Dima_Sharihin
30.06.2023 04:16Эта штука стоит дешевле многих микроконтроллеров, при этом там многовато оперативки и аудиокодек из коробки
MinimumLaw
30.06.2023 04:16+1А вы пробовали писать код в режиме BareMetal под ARM926EJ-S? Там одни выравнивания много крови выпьют... В этом плане любой Cortex-M за счастье будет.
А как себя будет чувствовать современный Linux на 32-разрядной архитектуре с 600MHz тактов (особенно если вспомним, как именно он с тем же невыравненным доступом к данным борется)? Да и 64MiB оперативки не сказать что так уж много...
Температура эксплуатации -20С...+85С не всякой промышленной или встраиваемой железяке подойдет. Данных по потреблению в документации не указано, но есть откуда-то ощущение что для батареек тоже не айс будет (достаточно старое ядро, DDR1). По сну совсем непонятно (есть ли, насколько глубокий, кто будить может). Набор внешних интерфейсов не богатый. Особенно если учесть что что-то еще и под storage отдать надо (SPI или SDIO - если, конечно с того же SDIO грузиться умеем - что само по себе тоже вопрос).
Не, память с коркой в одном корпусе - это хорошо, но... Лет бы 6 назад... Сегодня нет особых проблем память рядом поставить. Столько, сколько надо. Как и кодек. И все остальное.
Так что даже не знаю. По мне, кроме как поиграться ему и применений нет.
K0styan
30.06.2023 04:16+1Это готовое изделие, не встраиваемая основа для чего-то более сложного. Фактически - программируемый заталкиватель в USB произвольного потока данных. Причём доступный даже не железячнику.
MinimumLaw
30.06.2023 04:16Хорошо. Так и запишем - современна реинкарнация Arduino. У меня нет к нему претензий - я просто применений ему не вижу.
Dima_Sharihin
30.06.2023 04:16+1Ну сейчас-то есть AllWinner T113-s3, в котором два Cortex A7 и 128MB рамы, всяко поприличнее. Но там корпус LQFP-128, не такой маленький жук, как F1C200s
event1
30.06.2023 04:16Этого даже для embedded уже критически мало
У меня индустриальные маршрутизаторы на аналогичной платформе сотнями в год продаются. Линукс на такой железке порядка 5k pps может машрутизировать без XDP. Если питон не ставить то хватает за глаза.
jpegqs
30.06.2023 04:16+3ARMv5TE
Где нет поддержки инструкций с плавающей точкой. Только очень медленная эмуляция библиотечными вызовами.
sepulkary
30.06.2023 04:16+17Статья на hackster.io написана 3 года назад, репозитарий на GitHub не обновлялся 2 года, компания-производитель, похоже, прекратила деятельность. Это не новость, это археологические раскопки...
remendado
30.06.2023 04:16+5Главная ценность одноплатника - коммьюнити. Если вокруг железки собирается сообщество юзеров и разрабов, железка взлетает и становится бестселлером. Вендор в этом тоже играет роль, хотя и не всегда главную. Как результат - малина (Paspberry Pi) востребована даже несмотря на конский ценник, а к примеру Asus Tinkerboard больше на любителя, я когда-то по приколу купил, но в итоге сделал из него аудиоплеер под Volumio с хорошим навесным ЦАПом, а малина стала сервером на даче, на котором держатся все сетевые сервисы и IOT .
Sollex
30.06.2023 04:16+1У меня таким же образом пашет малина, а банан (Banana Pie) и апельсин (Orange Pie) валяются потому что производитель успешно забил на старые модели.
perfect_genius
30.06.2023 04:16+1Так и не понял как определить что оно что-то делает. При вставке может и будет звук подключения устройства, а дальше что?
erley
30.06.2023 04:16На мой взгляд, оверкилл-проц с бедной периферией (как тут выше уже сказали).
Как это можно разумно использовать? Вот 3G-USB свисток хотя бы взять - у него и то обвязка получше будет.
А с тем что тут есть - так можно было бы микроконтроллер (a-la Cortex-M) взять и без всяких оболваненых линуксов ту же клавиатуру изобразить и малварь загружать, даже проще было бы.
В общем, основной вопрос - ну и зачем это нужно?K0styan
30.06.2023 04:16Возьмём задачу: нужно сымитировать клавиатуру и "набрать" на ней серию команд, с парой условных развилок в зависимости от ответа.
Специалистов, которые смогут сделать это на голом железе в разы меньше и они стоят заметно дороже, чем эникейщики, которые сдюжат даже на порезанном Линуксе в любом шелле скрипт слепить.
Эти самые 29 баксов платятся именно чтобы убрать необходимость в высококвалифицированном чуваке.
randomsimplenumber
30.06.2023 04:16+1в зависимости от ответа.
От ответа куда? Клавиатура не видит что на экране.
Rixty
30.06.2023 04:16А интересно, недавно (год назад наверное) тут была статья про wifi флешку из esp32. Может этот девайс сможет более уверенно эмулировать флешку для старых телевизоров например?
mapnik
30.06.2023 04:16Не совсем понятно, для чего эта штука предназначена.
Для линуксов есть Orange Pi Zero с полугигом оперативки, четырьмя ядрами на 1300 МГц и какой-никакой перферией — за $19!
Для «побыть клавиатурой» есть ардуины за два доллара штука или ESP8266.
aik
А для каких именно задач? "Определяться как клавиатура"?
Чем он будет полезен? Что на нём будет программист делать, ядро компилировать? А админу не помешает RJ-45 и COM-порт полноценные, без переходников. И возможность запускать софт управляющий, который может быть только под винду… Ну и т.п.
Вон, китайцы недавно 386 в таком же формфакторе выпустили — та прикольнее была.
Dima_Sharihin
Малварь закачивать в ПК, очевидно же.
Вообще F1C200s - интересный камень, но совсем для другого. На нём можно очень дешево сделать HMI-шку, потому что обвязка у проца "фиг да нифига". Linux, кстати, там грузится довольно медленно и неторопливо, лучше сразу под Bare Metal писать, благо примеры есть.
ixsi
На вскидку, заливать прошивки на оборудование, или скрипты выполнять.
Вот надо клон системы поставить, это 30-40 минут унылого кнопкокликанья. А так, флешку с системой, флешку - которая будет кнопки жмакать, запустил ,пошел по делам.
aik
А кнопки жать обязательно нужно 533 мегагерца и 64 мега памяти? Какой-нибудь микроконтроллер не справится?
iig
На микроконтроллере оно будет стоить вместо 29$ - $19. Только вместо линукса с питоном будет RTOS с С.
ixsi
и скорее всего придется писать протокол работы клавиатуры, что вроде как в PopStick работает из коробки.
переплатить 10 баксов, за корпус и предустановленную систему, норм, зато не надо 5-10 часов тестить самонаписанные протоколы.
mpa4b
Вот кстати да, примерно о том же у меня мысли и были. На 64Мб конечно скорее всего даже обычное системД не загрузится с типичным окружением в типичном дистрибе типа дебиана. Но вот само ядро и какой-нибудь OpenRC инитом -- вполне. Кучу сервисов запускать нет необходимости, ядро можно собрать мелкое в несколько мегабайт, приложуху тоже написать без жыра. И вот уже у нас искаропки есть, например, поддержка сети, поддержка USB, в т.ч. кучи девайсов на нём. Сколько времени придётся писать что-то похожее по функциональности на RTOS, я даже представить боюсь, и по скольким граблям там придётся ходить даже если брать готовые либы.
aik
Только тут пока никаких линуксов с питонами нет, как я понимаю
iig
В заголовке статьи что-то есть про linux ;) Ubuntu не обещают, но что-то же на нем будет запускаться.
aik
А в тексте написано "Линукс на этой хрени пока не запускается, но в исходниках ядра есть какие-то упоминания про неё. Зато из линукса вы можете поменять device id данной хрени."
Dima_Sharihin
Linux на F1C200s запускал лично я, и не только я. Работает оно, на 16 МБ флеши. Systemd, конечно, не влезет, но busybox/runit вполне себе. USB Gadget и файловые системы позволят из такой штуки сделать "виртуальный CD-ROM" для оживления совсем древних мамонтов (были ноутбуки, которые не умеют грузиться с флешек, да)
aik
Zalman, iodd? По мне так оно удобнее, чем пытаться что-то изобразить из подобного девайса. Тем более, что тут наверняка скорость будет невелика, а iodd'ы даже при всей старости своего железа хотя бы 250 мегов обеспечивают.
Ну или вообще просто флэшку найти, у которой deviceID можно поменять на usb odd, такие были.
Dima_Sharihin
Вы так рассуждаете, будто в подобных девайсах нет микропроцессора и операционной системы. F1C200s - это дешевый способ достижения цели, там BOM платы выйдет на 1000 рублей с разъемами.
Это USB3.0 уже должен быть, по 2.0 такие скорости принципиально недостижимы
aik
Это готовые девайсы, которые можно купить в магазине. Но лично я предпочту заплатить 50$ и иметь готовое устройство, а не платить 30$, а потом танцевать вокруг с бубном.
Работа по сборке и настройке тоже денег стоит. Или времени.
Ну я про это и говорю — что тут скорость небольшая будет.
event1
Питон на АРМе в 600 МГц при 64 МБ DDR1? Мсье знает толк в извращениях
randomsimplenumber
python живет на esp8266 между прочим.
event1
Micropython всё-таки не совсем то же самое
Volodichev
Использую для этих целей zalman zm-ve350 и clonezilla. Именно кликанье занимает минут 5, от силы.
Это скорее железка для "тестирования безопасности".
K0styan
Да для чего угодно. Вот пример из головы: админите вы сеть торговых точек, а кассовая аппаратура бестолковая и очень хреново восстанавливает коннект с сервером после потери сети. Можно форсировать это дело 2 строчками баш-скрипта, но доверять клавиатуру кассирам резонно не хочется.
Раздаёте на каждую точку эти девайсы, запрограммированные тупо выдавать эти 2 строчки, и инструкцию - в случае ошибки NN вставить, подождать 60 секунд, вынуть. Всё, вопрос закрыт.
aik
Во времена давние у меня был ПДУ для компьютера, приёмник которого втыкался в разрыв между клавиатурой и компьютером. Он умел записывать достаточно длинные макросы и вешать их на кнопку пульта. И по нажатию кнопки потом последовательность нажатий воспроизводилась.
Я сильно сомневаюсь, что тогда внутри той коробочки было 500 мегагерц и 64 мегабайта памяти — потому что у меня компьютер таких параметров был.