[Перевод] Обзор ретро-футуристичного КПК DevTerm с Linux
Команда ClockworkPI выпустила интересный карманный девайс с ОС Linux, который легко собирается без паяльника, имеет экран с разрешением 1280×480, предлагает богатые возможности для кастомизации и даже оснащён неожиданным диковинным модулем — термальным принтером.
Не каждый день анонсируют выход портативного опенсорсного компьютера с Linux, поэтому я не устоял перед заказом DevTerm от ClockworkPi, ещё когда впервые узнал об этом миниатюрном стильном терминале, включающем экран 1280×480 (сдвоенный VGA) и маленький термальный принтер.
Конечно же, глобальный дефицит полупроводников вкупе с промедлениями доставок ведёт к задержкам, но всё же заветный комплект оказался-таки на месте. Мне всегда нравились малогабаритные машины, особенно поставляемые в виде грамотно спроектированного комплекта, так что я смогу в деталях поведать вам о сборке и запуске такого девайса.
▍ Продуманный дизайн
Сборка DevTerm может стать отличным проектом выходного дня или свободного вечера. Продуманный дизайн взаимосвязанных деталей и разъёмов позволяет обойтись полностью без пайки. При этом процесс сборки в основном состоит из защёлкивания аппаратных модулей и пластиковых деталей согласно инструкции. Любой, кто имеет опыт в сборке пластиковых модельных комплектов, сможет вкусить приятное чувство ностальгии от вырезания деталей и их скрепления.
Руководство сопровождено хорошими иллюстрациями, а крайне грамотный механический дизайн существенно упрощает процесс сборки. Использование самоцентрирующихся деталей и фиксаторов, которые сами выступают в качестве центрирующих бобышек, является довольно изящным решением. Не нужно никаких инструментов, и, за исключением двух мелких винтов для крепления процессорного модуля — аппаратный крепёж вообще отсутствует.
Естественно, некоторые детали довольно деликатны и не имеют полноценной защиты от дурака, но всё же у любого, кто знаком со сборкой электроники, проблем тут возникнуть не должно.
Большая часть компонентов — это пластиковые детали в каркасе
Ностальгия для тех, кому доводилось собирать пластиковые комплекты
Инструкция по сборке написана понятно и подробно
В конструкции практически отсутствует аппаратный крепёж, а детали сами вписываются на свои места
Единственное, что в набор не входит, это две батареи 18650 и рулон термальной бумаги 58 мм для принтера. А для двух упомянутых винтов крепления процессорного модуля потребуется миниатюрная крестовая отвёртка.
▍ Модульные компоненты
Помимо экрана и принтера, внутри DevTerm есть четыре основных узла, каждый из которых соединяется с другими без пайки. Клавиатура с мини-трекболом полностью автономна и подключается через пружинные контакты. На основной плате расположен ЦПУ. Плата EXT оборудована вентилятором и портами ввода-вывода: USB, USB-C, Micro-HDMI и аудио. Оставшаяся часть платы занимается питанием и вмещает два аккумулятора 18650. USB-порт, кстати, используется исключительно для зарядки. При этом внутри даже остаётся свободное место для внесения доработок или установки дополнительных компонентов.
Все модули представляют полностью автономные компоненты
Подключаются модули через разъёмы, не требуя пайки
Все порты ввода-вывода расположены сбоку. Питание подаётся спереди
Такая модульная схема оказывается очень кстати. К примеру, она позволяет использовать в DevTerm различные процессоры и модули памяти, включая основанные на Raspberry Pi CM3+ Lite, который является начинкой Raspberry Pi 3 Model B+ и выполнен в формфакторе, подразумевающем интеграцию в другое оборудование.
В репозитории DevTerm есть схемы, код и справочная информация, например, эскизы платы. Там нет проектных файлов в формате CAD, но они могут появиться в будущем. На странице продукта сказано, что CAD-файлы для кастомизации или 3D-печати собственных деталей доступны в репозитории GitHub, но на момент написания статьи я их там не обнаружил.
▍ Использование DevTerm
Образ ОС, записанный на карту памяти, вполне работоспособен и позволяет выполнить загрузку, но я настоятельно рекомендую обновиться до последней версии ОС, прежде чем приступать к отладке
После включения DevTerm загружается сразу на рабочий стол, и одним из первых дел я решил настроить соединение по WiFi и включить SSH-сервер. На экране приветствия подробно пояснялось, как это сделать –, но старая версия ОС, с которой пришёл мой DevTerm, содержала небольшую опечатку, в связи с чем следование инструкциям приводило к ошибке. Были и ещё кое-какие недочёты, но обновление ПО многое исправило.
Особенно напрягало предустановленное поведение трекбола, так как каждый свайп пальцем приводил лишь к незначительному смещению указателя. Кроме того, трекбол плохо реагирует на диагональные движения. К счастью, один пользователь [guu] переписал прошивку для клавиатуры, и я настоятельно рекомендую использовать именно эту обновлённую версию, которая существенно исправляет проблемы с трекболом. Модуль клавиатуры можно перепрограммировать новой прошивкой из оболочки на самом DevTerm, но будет гораздо удобнее сделать это из сеанса ssh, так как физическая клавиатура может на время этого процесса перестать отвечать.
Обновление ОС моего DevTerm A04 до последней версии исправило большинство бросившихся изначально в глаза проблем — к примеру, отсутствие звука в динамиках, из-за чего я даже усомнился в их правильном подключении — так что рекомендую начать с обновления ОС, и уже потом отлаживать оставшиеся проблемы.
▍ Клавиатура и трекбол
Модуль клавиатуры включает в себя миниатюрный трекбол и три отдельных клавиши мыши. При этом клик трекболом по умолчанию приравнивается к клику левой клавишей. Раскладка выглядит симпатично: трекбол расположился посерёдке в верхней части клавиатуры, а три клавиши мыши заняли центральное место под пробелом.
Разработанная Clockwork «клавиатура в формате 65%» имеет классическую раскладку, и я решил, что проще всего печатать на DevTerm будет, взяв его в обе руки и набирая текст большими пальцами, как если бы это был гипертрофированный Blackberry. В качестве альтернативы можно положить устройство на стол. Так клавиатура окажется под наклоном, который подразумевает уже традиционный тип ввода, но лично для меня при таком способе набора клавиши оказались маловаты.
Сенсорного экрана нет, значит, навигация по GUI опирается на использование трекбола либо горячих клавиш. Управлять трекболом, расположенным в верхней центральной части устройства, при клавишах мыши, расположенных внизу, мне показалось весьма неудобным. Чисто функционально комбинация клавиатуры и трекбола в DevTerm обеспечивает все необходимые инструменты в компактной и сбалансированной раскладке. Единственная проблема здесь с эргономичностью.
▍ Удобство удалённого доступа
DevTerm не всегда используется в качестве исключительно портативной машины. В случае настройки конфигурации и других аналогичных действий, подключение через ssh
— оказывается более удачным способом, чем работа со встроенной клавиатурой.
Ещё одна альтернатива — это настройка доступа к удалённому рабочему столу, чтобы DevTerm можно было использовать во всей его красе сдвоенного VGA с разрешением 1280×480 прямо с удобного настольного ПК.
Для максимально быстрой реализации этой затеи я установил на девайс пакет vino
и с помощью TightVNC запустил удалённый сеанс со своего рабочего компьютера.
Vino — это VNC-сервер для среды рабочего стола GNOME, а TightVNC доступен для очень многих систем. VNC-сервер устанавливается командой sudo apt install vino
(по умолчанию прослушивается порт 5900), и хотя я не рекомендую делать так всем, но последующее выполнение gsettings set org.gnome.Vino require-encryption false
приведёт к отключению аутентификации и любой защиты соединения, предоставив доступ к рабочему столу DevTerm через один только IP адрес устройства.
Не лучшее решение с позиции безопасности, но оно позволило мне довольно быстро обойти проблемы с трекболом и клавиатурой, что в сложной ситуации может оказаться по-своему ценно.
▍ Термо-печать
Термальный принтер оказался неожиданной плюшкой. Рулон бумаги в нём устанавливается в отдельный съёмный блок. Вообще, функциональность принтера полностью модульная. Печатное оборудование внутри DevTerm расположено сразу за портом расширения, в который устанавливается отсек для бумажной ленты. Этот узел можно полностью удалить и переоборудовать освободившееся место под свои нужды.
С точки зрения функциональности этот мини-принтер работает отлично, и я даже немного попечатал — насколько хватило заряда батарей. Печать при низком заряде ведёт к потускнению картинки, так что лучше этого избегать. Думаю, что это также нужно учитывать, планируя вносить какие-либо модификации.
Тестовый принт во всей своей миниатюрной красе
Съёмный отсек для бумаги (с защитной крышкой)
Порт расширения для бумагодержателя (DevTerm на 3D-печатной подставке)
Качество печати и разрешение во многом аналогичны любому чековому принтеру, так что не стоит ожидать многого. Является ли этот принтер просто маркетинговой фишкой? Возможно, но он определённо является стильной опцией, которую можно использовать как эталон, если вдруг захочется установить на его место иное оборудование.
▍ Кастомизируемый КПК с Linux
Очевидно, что инженеры ClockworkPi вложили немало усилий в то, чтобы их детище можно было кастомизировать на свой лад. Разъёмы между модулями имеют удобный доступ, при этом есть свободное место на платах, а также немного места внутри корпуса — в частности, за модулем принтера.
Если вдруг захочется поработать с паяльником, то сюда определённо можно втиснуть кастомное оборудование с проводами. Модульная структура основной сборки также способствует простоте модификации, что делает устройство привлекательной основой для сборки кибердеки.
Несмотря на то что 3D-модели физических деталей пока ещё в репозитории проекта недоступны, один предприимчивый деятель уже слепил 3D-макет подставки, которая удерживает устройство под удобным для работы углом. Когда 3D-модели деталей всё же доберутся до репозитория, это всё сильно упростит.
А что вы думаете о таком дизайне карманного устройства? Есть ли у вас свои идеи по встраиванию в него неаппаратных модов? Как уже говорилось, модуль печати (и связанный с ним слот расширения) можно легко переделать. Лично я неравнодушен к идее Тома Нарди о создании USB-устройств в формате картриджа. Будет здорово, если и вы поделитесь своими мыслями в комментариях.