Raspberry Pi — это универсальный компьютер, который можно использовать как угодно. Есть тысячи вариантов, где его применить. Поэтому не совсем понятно: что считать стандартным, а что — нестандартным вариантом использования? Например, управление станками или умный дом — вполне логичное применение «малинки», тем более что Home Assistant отлично работает на RPi OS. Блокировка рекламы/соцсетей из домашней сети на общем файрволе Pi-Hole или простейший piVPN — тоже очевидная и общепринятая практика.
Но есть гораздо более странные примеры.
▍ Второй разъём HDMI для ноутбука
На некоторых недорогих моделях ноутбуков бывает только один разъём HDMI, а DisplayPort отсутствует, не говоря уже о втором HDMI или хотя бы VGA. В общем, к такому ноутбуку никак не подключить два внешних монитора в привычной рабочей конфигурации, а только один.
Французский разработчик Пьер Куи (Pierre Couy) не хотел мириться с таким неудобством и придумал интересный хак: второй виртуальный HDMI через Raspberry Pi.
Если подключить второй монитор по HDMI к «малинке», то есть несколько вариантов, как передать картинку на ноутбук. Сначала автор выбрал самый логичный способ по Ethernet с использованием медиаплееров типа VNC, Steam Remote Play и всяких VNC-оболочек, разработанных для этой цели. Но его не удовлетворяло общее качество видео: фреймрейт, скорость сети, нагрузка на CPU, обязательный запуск десктопной сессии на стареньком RPi 3.
Поэтому он решил оптимизировать установку — и вместо готового видеоплеера использовать для трансляции видео по сети утилиту командной строки ffmpeg, о богатых возможностях которой уже рассказывали на Хабре.
Этот универсальный инструмент берёт на себя захват видео, транскодирование, инкапсуляцию в сетевой трафик, передачу по сети, обеспечивая тонкий контроль над каждым шагом. На стороне приёма можно выбрать любой из ffmpeg-совместимых плееров c поддержкой Direct Rendering Manager, включая mpv
, vlc
и ffplay
.
В общем виде передача потока выглядит примерно так.
На стороне отправителя (ноутбук):
$ ffmpeg -video_size 1920x1080 -framerate 5 -f x11grab -i :0.0+0x0 -f mpegts tcp://10.0.0.1:1234
На стороне получателя (RPi + второй монитор):
$ mpv -vo=gpu --gpu-context=drm --input-cursor=no --input-vo-keyboard=no --input-default-bindings=no --hwdec=drm --untimed --no-cache --profile=low-latency --opengl-glfinish=yes --opengl-swapinterval=0 --gpu-hwdec-interop=drmprime-drm --drm-draw-plane=overlay --drm-drmprime-video-plane=primary --framedrop=no --speed=1.01 --video-latency-hacks=yes --opengl-glfinish=yes --opengl-swapinterval=0 tcp://10.0.0.1:1234\?listen
Или родной для ffmpeg
плеер ffplay:
$ ffplay -autoexit -flags low_delay -framedrop -strict experimental -vf setpts=0 -tcp_nodelay 1 "tcp://10.0.0.1:1234\?listen"
Для оптимизации кодировщика и объяснения команд см. отчёт с описанием всех подводных камней.
В итоге получается «виртуальный HDMI» для подключения второго монитора, если вы хотите избежать установки проприетарных драйверов и адаптера DisplayLink, а интерфейс USB-С на ноутбуке не поддерживает работу в режиме «HDMI over USB-C».
Вообще, по такому алгоритму с помощью ffmpeg
и RPi можно подключить практически любое видеоустройство по сети. Столько интересных знаний получено благодаря тому, что не хватило денег на нормальный ноутбук!
▍ Дешёвый NAS
Недорогой файл-сервер на SSD — практически стандартное применение RPi. Блогер Джефф Гирлинг собирает такие пачками в разных конфигурациях, а по производительности они не уступают специализированным NAS нижнего ценового сегмента (на ARM-процессорах).
Правда, его последняя поделка базируется на более мощном одноплатнике Rock 5 с 8-ядерным процессором Rockchip RK3588 SoC (четыре A76, четыре A55, по системе big.LITTLE), но принцип тот же. Внешний разъём PCIe Gen 3 x4 M.2 используется для подключения шести SSD-накопителей в компактной конфигурации.
Главное — не забыть о вентиляторе.
Примерно такую же конструкцию можно соорудить на базе RPi+SSD. Если подключать HDD, получится дешевле, но компактность потеряется, вот примеры:
Хотя цена такого элегантного решения может оказаться дороже самого дешёвого NAS, собранного из бэушных старых деталей.
▍ Карманный компьютер
На одноплатнике можно собрать оригинальный карманный компьютер.
Комплект для сборки включает Raspbery Pi CM4, плату расширения BTT Pad 5, дисплей 800×480, сменный аккумулятор (ячейки US18650VTC6), порт зарядки USB-C на 10 Вт и Bluetooth-клавиатура (полный список компонентов). Всё это размещается в специальном корпусе, напечатанном на 3D-принтере (чертёж корпуса):
Карманный компьютер Decktility на основе RPi сделан по образцу Yarh.io Micro 2, uConsole и других любительских ретро-КПК на базе RPi.
Ещё фото
Пошаговую инструкцию по сборке см. здесь.
▍ Высококачественная кинокамера
Довольно экзотическая штука — видеокамера CinePI с прицелом на профессиональную киносъёмку.
Её уникальная функция: съёмка видео в несжатом формате 2K RAW Cinema DNG с частотой кадров до 50 fps и 12-битным цветом. Хоть это не 4K, а всего 1080p, но профессиональные видеокамеры такого класса стоят многие тысячи долларов.
Четырёхдюймовый дисплей высокого разрешения HyperPixel 4.0 Square, плата управления питанием и все остальные компоненты видеокамеры подключены к Raspberry Pi по единой шине.
Видеозапись без сжатия в 12-битном цвете обеспечивает высочайшую цветопередачу, особенно в сравнении с дефолтным кодеком H.264, который Raspberry Pi поддерживает на аппаратном уровне.
Некоторые кадры подводной видеосъёмки для оценки цветопередачи:
Ещё фото
▍ Сервер на плате mini ITX
Интересный вариант моддинга — установка Compute Module 4 на плате формата Mini-ITX, которая подходит для настольных компьютеров, а особенно — серверов. Она моментально превращает CM4 в полноценный сервер.
В 2021 году проект по созданию такой платы Over:Board не собрал достаточного финансирования на платформе краудфандинга Indiegogo. Хотя выглядел красиво:
Больше прототипов
Аналогичную плату Seaberry Mini ITX тоже сняли с производства. Опять же, идея материнской платы для Raspberry Pi CM4 с 11 разъёмами mini PCIe, M.2 и проч. была великолепной. Только представьте, сколько SSD-накопителей можно подключить к одному модулю:
Seaberry Mini ITX
Но идею подхватили — и платы Mini ITX всё-таки появились, пусть и в другом виде. Например, модель Turing Pi 2. Это мини-кластер с четырьмя разъёмами для установки вычислительных модулей Raspberry Pi CM4, Turing RK1 или Nvidia Jetson в любой комбинации.
Фото
▍ Лучшие аксессуары для Raspberry Pi
Для самого популярного в мире одноплатника выпускаются сотни аксессуаров: периферия, платы расширения, самые разнообразные гаджеты.
Ещё фото
Там можно найти очень экзотические штуки, которые расширяют функциональность «малинки» и позволяют использовать её очень нестандартным способом. Тут большой выбор плат расширения для вывода контактной панели (HATs), моторов, сенсоров и проч.
▍ Планы на будущее
По мнению экспертов, у Raspberry Pi отличные перспективы в промышленных компьютерах. Особенно большие планы связываются с линейкой CM4.
Если продажи будут расти такими темпами и компании удастся масштабировать производство, то не исключён вариант выхода на IPO. В таком случае это будет первая в мире корпорация, у которой основная сфера деятельности — производство дешёвых одноплатных компьютеров и развитие экосистемы вокруг них.
▍ Когда исчезнет дефицит?
Люди заказывают дешёвые компьютеры оптом, россыпью и про запас, так что с 2021 года на рынке наблюдался постоянный дефицит «малинок».
По словам исполнительного директора Raspberry Pi Ltd. Эбена Аптона, по итогам июля 2023 года подрядчики должны выйти на объём производства 1 миллион плат в месяц. Это почти вчетверо больше, чем в начале года, когда за весь квартал произвели всего 800 000 плат, т. е. по 267 000 в месяц. Это был худший квартал с 2015 года из-за дефицита компонентов (в первую очередь, речь о SoC Broadcom BCM2835).
В 2022−2023 гг. практически полностью остановилось производство RPi Zero, Zero 2 W, 3 и 3B+, официальные реселлеры постоянно обозначали статус «Out of stock». В продажу пускали только модели 3А+ и 4. Что касается CM4, он только периодически появляется в продаже.
Но сейчас ситуация с запасами стала полегче, а Sony как контрактный производитель начал помогать с запасами других компонентов (конденсаторы и проч.), так что в июле 2023 года объём производства увеличился в несколько раз.
Все Raspberry Pi традиционно выпускаются Британским технологическим центром Sony в Пенкоеде (Южный Уэльс), см. экскурсию по заводу. Интересно, что некоторые машины на заводе по производству Raspberry Pi сами работает под управлением Raspberry Pi (например, камера охлаждения после пайки и 64 автоматических тестировочных стенда).
Кадры с экскурсии
Катушки с компонентами Raspberry Pi на конвейере
Катушка с кристаллами Broadcom — главный дефицит на производстве
Конвейер по упаковке RPi 3
В день экскурсии с конвейера сходила такая коробка на 150 плат примерно каждые пять минут. Это соответствует максимальной пропускной способности конвейера 43 200 плат в сутки, т. е. 1,3 млн в месяц
К сожалению, из-за увеличения стоимости компонентов пришлось увеличить розничную цену ряда продуктов, включая Raspberry Pi 4 (2GB), Compute Module 4 и Raspberry Pi Zero.
Raspberry Pi — это уже не только игрушка для энтузиастов, а коммерческий продукт, который используется и в промышленном секторе, и в бизнесе. Поэтому и вырос спрос. Очевидно, что компания Raspberry Pi Ltd. в первую очередь обслуживает оптовых клиентов, перед которыми у неё контрактные обязательства. Так что на розничный рынок попадают только остатки продукции (или ничего).
Возможно, запас компонентов поможет роботам ABB на конвейере Sony увеличить производство и наконец-то устранить глобальный дефицит Raspberry Pi.
Telegram-канал с розыгрышами призов, новостями IT и постами о ретроиграх 🕹️