Когда-то же она должна была у меня появиться, эта малышка-игрушка Raspberry Pi. Поскольку все у кого она есть считают нужным непременно сделать ее фото в своем блоге (от этого Rpi не становится какой-то особенной и отличной от других), не буду отступать от традиций и тоже выкладываю фото.
Итак, что мы имеем? Флешка на 8 Gb внутри адаптера, торчит справа на фото, вставленный в один из двух USB разъемов Wi-Fi донгл слева, и камера которая коннектится к разъему на плате.
Камеру я долго не мог запустить; последняя печальная версия которая у меня появилась это то что я убил ее статикой. Оказывается я просто подсоединил ее не к тому разъему на плате: два разъема совершенно одинаковы.
Плата имеет аудиоинтерфейс, что может быть интересно в будущем, и возможность подключения клавиатуры/мышки/монитора, что неинтересно, потому что с такими вещами мне комфортнее работать через удаленную строку. Да, и конечно же Ethernet интерфейс.
Источник питания на 1А, о чем честные юзеры в сети предупреждают что может не хватить если подключен USB донгл и камера. Я пока с этим не столкнулся.
Приобрел также корпус для платы и отдельно для камеры. После этого сразу же понял, что мне на самом деле нужен корпус в который можно установить камеру и плату одновременно, и будет совсем замечательно если он будет длиннее чтобы не задевать торчащие разъемы и флешку. А выступают они очень хорошо, как видно на фото где Rpi в сборе.
На борту – ARM процессор плюс собственно изюминка: специальный графический сопроцессор GPU, который очень быстро работает в некоторых из кодеков. Доступиться к GPU можно через родные утилиты Rpi, такие как raspistill и raspivid, или через интерфейс драйверов OpenMax. Утилиты имеют исходники, так что можно написать что-нибудь свое. Есть родной плеер omxplayer, который также использует GPU.
Сразу скажу, что надо сразу отказаться от мысли использовать ARM под медиаприложения стандартным способом через ffmpeg и тому подобное. Загрузка процессора под 100% гарантирована. А раз стандартные способы не проходят, то надо быть готовым к урокам танцев с бубном.
Интересная тенденция получилась с процессорами ARM архитектуры, а точнее OMAP, которые кроме ARM содержат еще DSP ядро. Изначально предполагалось что DSP возьмет на себя основную нагрузку по компонентам, которые требуют высокой производительности и реалтайма. Поначалу так оно и было, и до сих пор у Texas Instruments есть соответствующие библиотеки для DSP.
Но пару лет назад на одной из конференций Texas’а я ощутил другой тренд – использование сопроцессоров для ARM ядра, особенно для обработки видеоданных. Предполагаю, что это связано с бурным развитием рынка IP камер и как следствие – необходимость автоматического распознавания различных ситуаций (драка, ограбление) без участия оператора. Видимо, DSP отойдет в область специализированных приложений, в частности обработки радиолокационных данных, где требуется скоростная свертка и доплеровская фильтрация.
Теперь плавно переходим к тому, что можно сделать с Rpi. На флешку сразу поставил дистрибутив Raspbian, который мне привычнее, потому что моя десктопная система – Ubuntu. После загрузки Rpi смотрим IP адрес платы в DHCP списке Wi-Fi, чтобы доступиться по ssh. Можно и не смотреть адрес и использовать в адресной строке hostname:
1 |
$ ssh pi@cam |
Маршрутизатор DLink умеет работать с именами хостов, поэтому здесь cam – имя платы Rpi, bingo – мой ноут, pi – имя пользователя на cam. Все, теперь мы внутри. Нас интересует все, что связано с удаленным медиа-доступом к Rpi. Ждут ответа следующие вопросы:
- отправка видео с камеры Rpi (клиент) на удаленных хост (сервер);
- доступ с удаленного хоста (клиент) к видеокамере на Rpi (сервер).
Продолжение в следующем номере:
Leave a Reply