Raspberry Pi Zero — представитель одноплатных компьютеров из семейства Raspberry PI от компании Raspberry Foundation. Миниатюрные размеры устройств серии, дешевизна и достаточно серьезные возможности обеспечили их популярность и широту применения в различных технических проектах. Ниже представлен обзор моделей мини-ПК, их характеристик и возможностей.
Это первый мини-компьютер данной серии, появившийся в 2015 году. От других «малинок» его отличают размеры: инженеры компании сумели без потери производительности поместить весь функционал на плату размерами 65×30×5 мм.
Основные характеристики Raspberry Zero:
Поддержки сети изначально нет, но для покупки доступны разнообразные аксессуары, расширяющие функционал системы с помощью плат расширения и переходников. Некоторое время предлагался даже комплект Pi Zero и набора аксессуаров за 59 USD.
Стоимость одноплатника на старте продаж составляла всего 5 USD. Интересно, что покупатели журнала MagPI могли бесплатно получить Zero вместе с выпуском от декабря 2015 года. Из-за малой цены компьютер на письме иногда называют «Raspberry Pi 0», интерпретируя «зеро» как «нулевую цену».
Системой обычно управляет ОС Raspbian, специально созданная под возможности «малинки». Ее можно загрузить с сайта разработчика; сам процесс установки будет рассмотрен чуть ниже. Допустимо также использовать другие ОС на основе ядра Linux, и систему Android.
Несмотря на компактность и невысокую стоимость первой версии, мини-компьютер имел и объективные недостатки. Среди таковых пользователи отмечали слабую аппаратную начинку и отсутствие встроенного сетевого интерфейса; Raspberry Pi Zero ethernet порта не имеет, отсутствует и Wi-Fi. Но модули беспроводной и проводной связи требовались многим, а в погоне за миниатюризацией и удешевлением инженеры этими и другими интегрированными функциями пожертвовали. В результате, чтобы подключить сеть, клавиатуру, мышь и прочую периферию, плату приходилось «обвешивать» разнообразными переходниками, что сводило на нет все ее преимущества.
Но разработчик прислушивался к мнениям сообщества, и в феврале 2017 вышла новая модель с индексом W. Характеристики Raspberry Pi Zero W не отличаются от предшественника, но плата дополнительно получила модуль Wi-Fi (802.11 b/g/n) и поддержку связи Bluetooth 4.1. Стоимость модели увеличилась примерно до 10 USD, но данные изменения сделали пользование «одноплатником» гораздо удобнее.
За работу беспроводных интерфейсов Raspberry Zero W отвечает микросхема Cypress CYW43438.
Для подключения основной массы ведомых устройств служит разъем Raspberry Pi GPIO. В Zero W (как и в предыдущей модели) он не распаян; присутствует лишь контактная площадка, «гребенку» к которой нужно присоединить паяльником. Неограниченно поддерживаются любые платы расширения от «старших» версий.
Как видно, среди контактов есть пины для подачи 5-вольтового питания. То есть «зеро» можно запитать не только через USB, но и через GPIO с помощью соответствующего источника энергии.
Zero W поставляется покупателю в антистатическом пакете. В зависимости от продавца отдельным пакетом могут прикладываться аксессуары — две «гребенки» с разъемами Male и Female, переходник для камеры и корпус. В данном варианте в поставку входит пластиковый кейс со сменными крышками (под порты ввода-вывода, гребенку и камеру).
Обратная сторона платы гладкая и не содержит функциональных элементов. На нее нанесены лишь копирайты: в частности, надпись свидетельствует, что для беспроводной антенны использована лицензированная технология компании Proant.
Эта модель практически ничем не отличается от W, кроме уже с завода напаянных пинов GPIO. Разработчик пополнил ею линейку одноплатников в 2018 г.
Внешний вид:
Стоимость такой подготовленной «малинки» составляет около 15 долларов.
Даже самое продвинутое аппаратное обеспечение должно чем-то управляться. Рассмотрим процесс установки операционной системы на примере Pi Zero W и Raspbian.
Поставить систему и подключить компьютер к сети здесь можно без монитора и клавиатуры, в так называемом Headless режиме. Для начала необходимо скачать образ ОС Raspbian с сайта разработчика.
После скачивания его нужно будет записать на карту SD с помощью любой удобной утилиты (Win35DiskImager, Rufus и прочих). Когда запись образа завершится, на карте появится структура файловой системы:
Установка ОС завершена. Далее необходимо:
Для первого достаточно создать в корне карты памяти файл ssh без расширения с пустым содержимым. Это скажет запущенной ОС, что вход по данному протоколу включен. Чтобы позволить компьютеру присоединиться к сети, необходимо также в корневой папке создать файл wpa-supplicant.conf. И заполнить его содержимым по следующему образцу:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=RU
network={
ssid="НАЗВАНИЕ ТОЧКИ ДОСТУПА WIFI"
psk="ПАРОЛЬ ОТ WIFI"
key_mgmt=WPA-PSK
}
Как понятно из примера, в секции network в качестве SSID указывается имя вашей беспроводной сети, а PSK — пароль от нее. Строка KEY_MGMT указывает на тип используемого шифрования, его можно уточнить в настройках роутера/точки доступа. Если устройство конфигурируется в России, country (значение страны) нужно выставить в RU.
Важно: имя сети и пароль к ней регистрозависимы.
В итоге файловая система должна принять похожий вид:
На этом подготовительный этап завершен. Можно вставлять карточку в мини-компьютер и начинать процесс загрузки. Если все введено и выставлено верно, то «Распберри» подключится к сети и получит IP адрес. Последний узнается в настройках роутера/точки доступа через список подключенных устройств.
Зная IP, пользователь может подключиться к ПК с помощью любого привычного SSH клиента. Стандартные логин и пароль для доступа pi:raspberry.
После успешного входа можно приступать к конфигурированию системы; чтобы упростить управление, многие пользователи ставят оболочку администрирования Webmin.
На фотографиях видно, что у чипов не предусмотрено даже пассивного охлаждения в виде радиаторов. В связи с чем может возникнуть вопрос — не перегревается ли устройство в ходе работы?
Для оценки нагрева и проведения нагрузочного тестирования служит утилита stress. Устанавливаем и запускаем 15-минутный прогон.
Загрузка и синтаксис команды:
sudo apt-get install stress
while true; do vcgencmd measure_clock arm; vcgencmd measure_temp; sleep 10; done& stress -c 4 -t 900
В среднем температура процессора при такой нагрузке поднимается примерно до 55.1 градуса и стабилизируется на этом уровне. После прекращения теста она начинает постепенно снижаться. В режиме простоя рабочая температура держится в пределах 41.2–42 градуса.
Это доказывает, что дополнительное охлаждение микрокомпьютеру не нужно. Но некоторые энтузиасты все равно дополнительно страхуются, наклеивая небольшие медные или алюминиевые радиаторы и несколько улучшая теплоотвод. Обзор внешнего вида платы с радиатором SoC:
Критическая температура процессора — 100 градусов, а в троттлинг он начинает уходить при 80.
Итак, Raspberry выпустила компактный одноплатный ПК, но как его применить? Разумеется, мощности аппаратной части не хватит для современных ПК-игр или майнинга криптовалют. Но компьютер для этого и не готовился, его сфера применения — различные контроллеры и устройства автоматизации, системы «умный дом» и бытовая техника, где необходима компактность, низкое энергопотребление и достаточная вычислительная мощь. Реализуемые на Raspberry Pi Zero W проекты весьма разнообразны: рассмотрим несколько примеров в рамках этого обзора.
Весьма популярны сетевые камеры на базе «зеро». Тем более что для камер на плате существует специальный разъем. Рассмотрим подробнее пример такого проекта.
Для реализации понадобятся:
Примерный вид комплекта:
Подключенная шлейфом камера:
Готовая конструкция помещается в корпус:
После чего крышка защелкивается, и камера готова к использованию. Остается настроить только программную часть. RTSP-видеопоток считывается любым подходящим клиентом, например, проигрывателем VLC: для этого следует сперва установить проигрыватель через apt-get:
sudo apt-get install vlс
После чего запустить трансляцию. Синтаксис команды:
raspivid -o - -t 0 -n -w 640 -h 480 -fps 30 | cvlc -vvv stream:///dev/stdin --sout '#rtp{sdp=rtsp://:8554/}' :demux=h264
Где -w и -h — ключи, указывающие разрешение видео, fps — ограничение частоты кадров в секунду. Если все установлено и запущено успешно, поток RTSP станет доступен для считывания любым подходящим клиентом по адресу:
rtsp://адрес_микрокомпьютера:8554/
Но у данного способа есть недостаток — небольшая задержка видео, порядка 2–3 секунд.
Второй способ — через установку MotionEye. Этот пакет доступен для любой Linux-системы, а под «малинку» существует специальная сборка MotionEyeOS, которая ставится вместо штатного Raspbian. Дистрибутив скачивается со страницы https://github.com/ccrisan/motioneyeos/releases, там же находится и подробный обзор возможностей и способа инсталляции. Процесс установки аналогичен описанному выше, включая создание файла wpa-supplicant.conf. После установки по IP-адресу контроллера станет доступен интерфейс MotionEyeOS, откуда производятся все прочие настройки.
По умолчанию логин на веб-интерфейс admin, пароль — пустой.
У этого способа тоже есть определенный недостаток в виде низкого FPS, поскольку аппаратное ускорение ядром программы Motion в данной аппаратной конфигурации не используется. Но для простых бытовых целей его вполне хватает.
Энтузиаст и видеоблогер под ником N.O.D.E. создал на базе микро-ПК ультрапортативный ноутбук. Так это выглядит:
Для реализации замысла изобретателю понадобились:
В результате получился полноценный карманный ПК, пригодный для выполнения повседневных задач, просмотра фильмов (в том числе и с выводом на внешний экран через MiniHDMI), запуска нетребовательных к ресурсам игр и так далее.
Весьма широкое применение продукты серии Zero нашли в воплощении проектов «умного дома». Благодаря возможности подключения периферии через GPIO и Linux в качестве ОС одноплатник позволяет превратить себя в хаб для всей домашней техники. Рассмотрим пример такого решения на базе эмулирующего API HomeKit программного обеспечения HomeBridge и Raspberry Pi Zero W.
Для этого потребуется настроенный ПК с ОС Raspbian. Дополнительно необходимо установить пакет NodeJS:
curl -o node-v9.9.0-linux-armv6l.tar.gz https://nodejs.org/dist/v9.9.0/node-v9.9.0-linux-armv6l.tar.gz
tar -xzf node-v9.9.0-linux-armv6l.tar.gz
sudo cp -r node-v9.9.0-linux-armv6l/* /usr/local/
Не забывайте нажимать Enter после каждой команды!
Далее устанавливается пакет Avahi и сам HomeBridge.
sudo apt-get install libavahi-compat-libdnssd-dev
sudo npm install -g --unsafe-perm homebridge
И плагин для контроля через веб-интерфейс.
sudo npm install -g --unsafe-perm homebridge-config-ui-x
На последнем этапе ядро «умного дома» добавляется в автозагрузку:
sudo npm install -g pm2
pm2 startup
sudo env PATH=$PATH:/usr/local/bin /usr/local/lib/node_modules
/pm2/bin/pm2 startup systemd -u pi --hp /home/pi
pm2 start homebridge
pm2 save
После чего ПК следует перезагрузить. После рестарта запустится сервис HomeBridge, который будет доступен по адресу компьютера на порту 8080.
Можно пойти более быстрым способом, доступным благодаря усилиям энтузиастов с GitHub. Достаточно ввести последовательность команд:
sudo apt install git
git clone https://github.com/fantomnotabene/homebridge_setup_script
cd homebridge_setup_script
bash install.sh
И через 6–7 минут установка завершится.
Скриншот страницы разработчика на GitHub:
Похожим образом устанавливаются и прочие решения «умного дома». А при достаточных знаниях и навыках программирования можно создать собственную реализацию подобного ПО под «расберри».
Выше описывался пример создания ноутбука. «Малинку» можно превратить и в игровую консоль: этому способствуют компактность, умеренное энергопотребление, низкий нагрев и наличие 40-пинового GPIO. Пример таких решений:
Создают на основе микро-ПК и различных роботов — от простых управляемых «машинок» до сложных многофункциональных устройств.
Небольшие компьютеры подобного типа обладают большим обучающим потенциалом. Дети на специализированных курсах с удовольствием учатся основам программирования и разработки ПО, изучают робототехнику, сопутствующие дисциплины наподобие 3D-моделирования, и так далее. Сегодня реализуются подобные курсы и кружки как для детей, так и для старшего поколения.
Компьютер можно превратить в компактную и тихую мультимедиа-систему. Медиацентр на Raspberry Pi Zero W способен работать в качестве IPTV-приставки, проигрывать музыку и видео. Такие проекты пользователи успешно осуществляют на основе свободных решений для Home Theater, например, ПО Kodi.
Обзор позволяет заключить, что, несмотря на скромные размеры и не самые выдающиеся технические характеристики, компьютеры серии Pi Zero успешно находят себе применение в разных задачах — от обучения до систем «умного дома» и многих видов контроллеров управления. Этому способствуют низкая цена, разнообразие программного обеспечения, простая и доступная документация, обилие аксессуаров и низкий «порог входа» даже для начинающего интересоваться возможностями одноплатников пользователя. Вероятно, линейку ожидает дальнейшее развитие и появление еще более интересных в плане возможностей устройств.
Важно учитывать, что платы серии подходят для решения не самых ресурсоемких задач, организовать на их базе мощный вычислительный кластер не получится. Но и создаются они не для этих целей.
Удобнее всего использовать Raspberry Pi Zero W из-за наличия беспроводного интерфейса. А для тех, кто не хочет терять время на работу паяльником, подойдет вариант WH с распаянной колодкой GPIO.