- Цена: $25.72
Для тех, кто не в курсе: Raspberry Pi — линейка дешевых одноплатных компьютеров родом из Англии, изначально предназначенных для использования в образовательных целях (обучение детей азам программирования), но впоследствии ставших популярными у более широкой аудитории из-за низкой цены и широких возможностей использования в разных самоделках.
Характеристики
Как можно увидеть из сравнительной таблицы, Zero W является урезанной модификацией Raspberry Pi 3.
Модель получила уменьшенный вдвое объем оперативной памяти и существенно более слабый процессор. Также под нож пошли 4 USB-порта, полноразмерный HDMI и Ethernet-адаптер. Все это позволило создать практически не греющийся (об этом мы еще поговорим в дальнейшем) микрокомпьютер с габаритами чуть больше одноразовой зажигалки.
Внешний вид и комплект поставки
Оставим за кадром процесс распаковки посылки и перейдем сразу к внешнему виду. В отличие от Raspberry Pi 3 обозреваемая Zero W не имеет картонной упаковки и поставляется в антистатическом пакете.
В другом пакете лежит корпус, шлейф-переходник с полноразмерного CSI на мини-CSI и две гребенки с контактами («папа» — «мама») для подпаивания к GPIO.
Микрокомпьютер имеет габариты 65x30мм, а толщина его составляет всего 5мм. Подобной минитатюризации удалось достигнуть за счет замены всех крупных разъемов на компактные аналоги. В частности, вместо обычного HDMI тут разместился mini-HDMI, а вместо 4 USB-портов остался всего один microUSB OTG (второй microUSB используется для подачи питания).
По состоянию из коробки не распаяны контакты GPIO, опять же в целях уменьшения толщины устройства. Если GPIO-интерфейс планируется использовать, то припаять гребенку контактов нужно самостоятельно.
Необычное решение — «бутерброд» из процессора и модуля памяти, размещенных друг на друге. Это заметно если взглянуть на микрокомпьютер сбоку, а вот на фото нормально запечатлеть мне так и не удалось. К слову, в качестве процессора тут используется одноядерный BCM2835 от Broadcom, а модуль оперативной памяти имеет маркировку Elpida B4432BBPA-10-F.
Обратная сторона платы пуста. На ней не размещено ни одного объемного электронного компонента, что позволяет прикрутить Raspberry Pi Zero W винтами к какой-либо плоской поверхности без риска повредить микрокомпьютер.
Теперь осмотрим корпус. Он имеет три сменных крышки — сплошную, с отверстием для доступа к GPIO и с отверстием под оригинальный модуль камеры. Крепление безвинтовое, на защелках. Качество изготовления корпуса мне понравилось: ничего не дребезжит и не трепыхается, а защелки достаточно прочные и в то же время легко открываются при приложении усилия.
Фотография для сравнения габаритов разных микрокомпьютеров. Слева направо: Raspberry Pi 3, Raspberry Pi Zero W, Banana Pi Zero, Orange Pi Zero.
Установка ОС и получение SSH-доступа без монитора и клавиатуры
Zero W работает под Raspbian — специальной сборкой Debian, адаптированной под микрокомпьютеры Raspberry Pi. Можно использовать и другие дистрибутивы для ARM-платформы, но именно Raspbian является наиболее оптимизированной осью под железо «малинок».
Для установки нужно скачать образ с официального сайта и записать его на microSD-карточку при помощи любой из предназначенных для этого программ (под Windows это Rufus, Win32DiskImager, Etcher и т.п., а в Linux образ можно записать командой dd if=/путь_к_файлу_образа of=/путь_к_карточке_памяти прямо из консоли).
Но у Zero W нет Ethernet-адаптера, а для подключения к Wi-Fi сети нужно указать SSID и пароль. А для этого нужно подключить монитор и клавиатуру, но делать это неудобно, поскольку требуется иметь HDMI-miniHDMI кабель и OTG-переходник.
Выход есть — после записи образа кидаем на карту памяти два файла — ssh и wpa_supplicant.conf.
Файл ssh оставляем пустым. Само по себе его наличие на карточке памяти служит для Raspbian командой на включение SSH-доступа (который по умолчанию отключен). А в wpa_supplicant.conf записываем конфиг своей беспроводной сети:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=RU
network={
ssid="ТУТ ВПИСАТЬ SSID"
psk="ТУТ ВПИСАТЬ ПАРОЛЬ"
key_mgmt=WPA-PSK
}
В результате этих манипуляций после загрузки Raspbian наша «малинка» автоматически подсоединится к беспроводной сети и будет доступна для подключения по SSH.
Находим присвоенный ей IP-адрес в списке активных клиентов на роутере.
И подключаемся при помощи PuTTY или любого другого SSH-терминала со стандартным логином и паролем pi:raspberry.
Превращаем Raspberry Pi Zero W в IP-камеру
Для реализации этого проекта помимо микрокомпьютера понадобится, собственно, камера.Оригинальная Raspberry Pi Camera Board продается на алиэкспрессе, там же можно приобрести NoIR-версию с вырезанным ИК-фильтром. Стоят они одинаково, в районе 20 долларов.
Все, что понадобится для сборки: Raspberry Pi Zero W, Raspberry Pi Camera Board, корпус с отверстием для крепления камеры, microSD под систему и шлейф CSI-miniCSI (сама камера комплектуется шлейфом CSI-CSI, который несовместим с разъемами на Zero и Zero W).
Первым делом подключаем камеру к микрокомпьютеру.
Затем устанавливаем Zero W в корпус.
Закрепляем модуль камеры на отведенные под это защелки на крышке.
Совмещаем крышку с основанием корпуса. Все готово!
Теперь осталось разобраться с программной частью. За счет чего наша «малинка» превратится в IP-камеру?
Есть несколько вариантов:
- У нас уже есть видеорегистратор (сервер видеонаблюдения). Тогда транслируем видеопоток с камеры по RTSP-протоколу
- У нас нет видеорегистратора. Тогда ставим на «малину» MotionEye и получаем IP-камеру с веб-интерфейсом
RTSP-поток
1. Устанавливаем VLC Player
sudo apt-get install vlc
2. Запускаем трансляцию
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 ограничивается максимальная частота кадров.
3. Считываем RTSP-поток (rtsp://ip-адрес-rpi-zero-w:8554/) при помощи любого программного комплекса, который позволяет это делать, будь то сервер видеонаблюдения или обычный видеоплеер (тот же VLC на любом другом устройстве).
Недостаток способа: видеопоток транслируется по беспроводной сети не в реальном времени, а с задержкой в 3-5 секунд.
MotionEye
MotionEye можно установить в любую Linux-систему как обычный пакет следуя этим инструкциям, а на Zero W (и другие одноплатные компьютеры) можно поставить готовую сборку MotionEyeOS — готовый дистрибутив Linux, в котором оставлены лишь MotionEye и минимально необходимый для его работы набор пакетов.Установка MotionEyeOS представляется мне наиболее удобным вариантом. Вы же не будете использовать IP-камеру еще и как сетевой плеер или файловое хранилище? Тогда зачем вам полноценный Raspbian на ее борту?
Поэтому скачиваем дистрибутив с этой страницы и записываем его на microSD-карту.
Потом записываем на карточку файл wpa_supplicant.conf с содержимым, указанным выше в тексте данного обзора.
Включаем нашу «малинку» и находим ее на роутере.
Заходим на нее по IP-адресу в браузере и попадаем в веб-интерфейс MotionEye. Логинимся под пользователем admin с пустым паролем и получаем доступ как к видеопотоку с камеры, так и к многочисленным настройкам.
В настройках можно выбирать разрешение видеопотока, ограничивать максимальную частоту кадров, включать и выключать запись видео, включать и выключать режим обнаружения движения, выбирать место для хранения записей с камеры (записи могут храниться в локальной памяти устройства, на сетевой шаре, на FTP-сервере, а также в Dropbox или Google Drive) и многое другое.
Теперь посмотрим на примеры записей с нашей камеры:
После просмотра станет понятен основной недостаток подобного способа: низкий fps при съемке в разрешениях выше 800x600 пикселей. А все потому, что приложение Motion (которое лежит в основе MotionEye) не умеет использовать аппаратное ускорение на Raspberry Pi, и вся нагрузка от обработки видеопотока ложится на слабенький одноядерный процессор нашего микрокомпьютера.
Про нагрев
Рабочая температура процессора Raspberry Pi Zero W в простое — 41.2°C.Во время пятнадцатиминутного стресс-тестирования (консольная утилита stress) температура поднялась до 55.1°C и больше не росла.
После нескольких дней использования микрокомпьютера в качестве IP-камеры в закрытом и плохо вентилируемом корпусе, да еще с размещенной сверху платой камеры температура застабилизировалась на 60.1°C.
Таким образом можно сказать, что Zero W — достаточно холодный компьютер и не нуждается в использовании дополнительного охлаждения. Критичной температурой для «малинок» является 100°C, а троттлинг начинается после 80°C — и понятно, что до такой температуры процессор не нагреется ни при каких вариантах эксплуатации.
Заключение
Я планировал использовать Raspberry Pi Zero W именно для видеонаблюдения и, честно признать, ожидал большего от качества съемки.
В то же время свою стоимость подобный девайс оправдывает: сама камера стоит 20 долларов, еще 25 долларов стоит комплект из Zero W с корпусом — итого себестоимость устройства в сборе составляет 45 долларов. И за эти деньги оно вполне сносно пишет видео в низких разрешениях, а в силу компактных габаритов его легко спрятать. Готовые промышленно выпускаемые IP-камеры пишут видео в более высоком качестве (если не 1080p, то как минимум 720p), но при этом они и стоят в 2-3 раза дороже (сужу по ценам в «Ситилинке»).
Ну и не стоит забывать, что описанный в обзоре пример — не единственный вариант использования Raspberry Pi Zero W. Ей можно найти и другие применения в домашней автоматизации. Или сделать на ее основе ретро-консоль. Или еще что-нибудь.
Товар предоставлен для написания обзора магазином.