Как сделать медиаплеер на основе Raspberry Pi 3. Собираем устройство и устанавливаем ПО

Пост опубликован в блогах iXBT.com, его автор не имеет отношения к редакции iXBT.com

Что?: Raspberry Pi 3 — новое поколение попурярного микрокомпьютера
Где?: На Gearbest — около $38 на распродаже
Дополнительно
: Платы расширения, аксессуары и датчики для этой платформы — на Gearbest


Семейство недорогих компактных одноплатных компьютеров Raspberry Pi появилось на рынке в несколько лет назад и с тех пор завоевало признание энтузиастов DIY по всему миру. В начале этого года было объявлено, что суммарные продажи превысили восемь миллионов устройств, а число публикаций о них в сети Интернет не поддается подсчету. Так что данная статья в определенном смысле представляет собой еще одну «каплю в море».

Тем не менее, рассказать о собственном опыте работы с новой версией микроПК все-таки хочется. Надеемся, что этот материал будет полезен тем читателям, которые пока незнакомы с этой платформой. Дополнительную информацию можно найти на официальном сайте, различных ресурсах для разработчиков и сайтах, посвященных проектам DIY (например, этом).

Версия Raspberry Pi 3, последняя из «полноразмерных», была анонсирована в начале этого года. Она сохранила основные черты своей предшественницы, включая размеры платы, интерфейсы, число и расположение портов ввода-вывода. Так что с ней будут совместимы разработанные ранее для Raspberry Pi 2 корпуса, дисплеи, камеры, платы расширения и другие компоненты.

Комплект поставки традиционно минимальный – в картонной коробке идет только плата в антистатическом пакете и пара бумажек. Так что для запуска устройства вам потребуются некоторые дополнительные элементы, в частности блок питания с выходом microUSB и параметрами 5 В 2 А, карта памяти формата microSD, монитор и клавиатура.

Внешний вид платы не изменился. Без внимательного рассмотрения отличить ее от предшественницы непросто, если не знать, в какой угол смотреть. Размеры платы составляют 5,6x8,5 см (формат «кретитка»), а максимальная высота определяется двойными портами USB (немногим менее 2 см). На лицевой стороне мы видим главный процессор, чип контроллера Ethernet и USB-хаба, основные слоты и порты. С обратной стороны платы находится чип оперативной памяти и слот для карт памяти.
Ключевым отличием от предшественника является использованная SoC – теперь это 64-х битный четырехядерный чип BCM2837, ядра которого имеют архитектуру ARM Cortex-A53 и работают на штатной частоте 1,2 ГГц (в стандартном дистрибутиве ОС частота снижается до 600 МГц при отсутствии нагрузки). В случае работы с высокой нагрузкой, рекомендуется установить на него радиатор, который часто продается в комплекте с корпусом и блоком питания. В процессоре находится и графический контроллер, который поддерживает API OpenGL ES 2.0 и может декодировать популярные форматы видео (в частности H.264, но не H.265). Второе, тоже достаточно актуальное на наш взгляд, обновление – интеграция на плату контроллеров Wi-Fi (одна антенна, 2,4 ГГц, 802.11b/g/n, до 150 Мбит/с) и Bluetooth 4.1. Наличие встроенного контроллера беспроводной сети позволяет более удобно реализовать сценарии с сетевым подключением, например минисервера автоматизации. С другой стороны, использование компактной антенны (без возможности штатно установить другую, внешнюю) явно не способствует высокой скорости и дальности работы.
Объем оперативной памяти не изменился и все также составляет 1 ГБ. Программное обеспечение нужно записывать на карту памяти, собственного флэша здесь нет. Компьютер имеет выход HDMI (поддерживает разрешения до FullHD и даже немного выше), композитный видеовыход и стереоаудиовыход (аудиовхода нет, для его реализации потребуется дополнительное оборудование), четыре порта USB 2.0, 10/100 Мбит/с проводной сетевой контроллер, порт GPIO на 40 контактов (если будете что-то подключать к нему, обратите внимание, что используются уровни 3,3 В), фирменные разъемы для камеры и дисплея и порт microUSB для подачи питания. Выключателя питания в системе нет, как и встроенных часов с собственной резервной батареей.
О сравнительной производительности третьей и второй версий компьютера в Интернете представлено очень много информации и, учитывая описанные выше отличия в SoC, вполне ожидаемо, что новое поколение быстрее в связанных с вычислениями на процессоре задачах. С другой стороны, оно более горячее и потребляет больше электроэнергии под нагрузкой, а кардинально нового уровня производительности не обеспечивает. Можно говорить о том, что оба устройства способны решать одни и те же задачи.

Основной ОС для этой платформы является дистрибутив Raspbian, основанный на Debian. Установить его можно с использованием специальной программы NOOBS или просто записав образ операционной системы на карту памяти.


Но конечно продукт совместим с большим числом операционных систем, включая различные варианты Linux (в том числе Gentoo и Ubuntu) и Windows 10 IoT Core. Для решения определенных задач в сети можно найти готовые специализированные проекты дистрибутивов, но никто не мешает вам использовать устройство просто как универсальный многофункциональный компьютер с Linux. Так что найти подходящий для вашего уровня подготовки вариант, скорее всего, не составит труда.

В целом, подобные решения, рассчитаны в основном на сегмент DIY и применение в различных проектах «самоделкиных». Описывать все тысячи, если не сотни тысяч вариантов, нет никакого смысла. Надо отметить, что диапазон здесь очень широкий. Одним пользователям будет комфортно в командной строке Linux, других будет пугать процесс записи готового образа на карту памяти. Поэтому как конкретно будет использоваться микрокомпьютер, будет зависеть в основном от вашего личного опыта, желания «глубоко копать» и, конечно, фантазии.

Начать можно с достаточно простых сценариев, не требующих глубокого знания программирования и большого опыта работы с паяльником. Пожалуй, наиболее популярный вариант использования миникомпьютера, на который стоит обратить внимание, – реализация медиаплеера. Прежде всего, отметим, что такое решение вполне конкурирует с готовыми продуктами по стоимости, удобству и возможностям. Однако есть несколько особенностей, которые стоит учитывать в данном случае. Во-первых, речь идет только о видео с разрешением до FullHD включительно, а кодеки могут быть представлены наиболее распространенным сегодня H.264 (AVC), а также MPEG2 и VC1.

Отметим, что последние два варианта в базовой поставке декодируются только программным образом, а для включения аппаратного декодирования потребуется приобрести специальную лицензию. При этом для MPEG2 мощности процессора вполне достаточно, а вот VC1 в FullHD уже не посмотреть без аппаратного декодера. Ну а с музыкой и фотографиями с точки зрения производительности конечно проблем нет.

Для хранения медиабиблиотеки можно подключить к компьютеру USB-накопители, но сценарий работы с сетевым накопителем представляется более интересным. Скорости (проводной) сети будет достаточно в том числе и на BD-ремуксы.

Из готовых комплектов для медиацентра наиболее известны четыре: OpenELEC, OSMC, Xbian  и Rasplex. Первые три ориентированы на работу с популярной HTPC-оболочкой Kodi и в целом с пользовательской точки зрения выглядят одинаково, а третий является расширенной клиентом для сервера Plex версией OpenELEC. Если тема для вас новая – можно познакомиться с возможностями Kodi, установив его как приложение на ваш настольный компьютер или ноутбук.


В отдельную группу можно выделить проекты, ориентированные на качественное воспроизведение музыки решения. С программной точки зрения, они обычно состоят из серверной части на микрокомпьютере и клиенте для управления им на мобильном устройстве или в браузере. При этом непосредственно для вывода звука применяются специализированные карты расширения или DAC, обеспечивающие требуемый уровень качества.

Процесс запуска решений для медиацентров максимально упрощен – для OpenELEC и OSMC вы скачиваете готовый образ ОС с сайта и записываете его специальной утилитой на карту памяти (большой объем здесь не нужен, я бы рекомендовал 2 или 4 ГБ Class10), Xbian и Rasplex в дополнение к этому, предлагает и собственную программу для инициализации карты памяти и записи на нее образа ОС.

После этого, вы устанавливаете карту в Raspberry Pi, подключаете HDMI, сеть, клавиатуру и мышку (могут потребоваться на начальном этапе конфигурации) и включаете питание. Далее в зависимости от дистрибутива вам может быть предложен мастер для установки некоторых основных параметров (например, имени компьютера, сетевого подключения и т.п.).

Немаловажным вопросом является способ управления плеером. Здесь есть несколько вариантов, если не считать клавиатуры+мышки, что не очень удобно в данном случае. Во-первых, специальные приложения для смартфонов и планшетов. Во-вторых, для некоторых моделей телевизоров можно попробовать HDMI CEC – управление со штатного пульта ТВ по HDMI. В-третьих, можно собраться с духом и добавить к Raspberry Pi одну деталь – приемник ИК-сигналов на трех проводках – и взять любой стандартный пульт ДУ от бытовой техники. Лично для меня последний способ наиболее удобен.

Даже если вы не дружите с паяльником, ничего сложного в нем нет. Нужно купить специальный чип-приемник (до 100 руб в дорогом магазине в Москве в наличии), три провода и подключить все согласно схеме к микрокомпьютеру. Вот ссылки на несколько материалов по теме: первая, вторая, третья.
С точки аппаратной точки зрения тонкостей здесь две. Первая – выбор модели приемника, а точнее его частоты. Большинство пультов работают с 38 кГц, но встречаются модели на 36 кГц. Учитывая невысокую стоимость чипа, можно начать с первого или купить сразу оба. Что касается конкретных артикулов, то подходят, например, модели TSOP31238 (38 кГц) и TSOP31236 (36 кГц). Еще один вариант – попробовать вытащить чип из какого-нибудь старого оборудования, от которого остался и пульт, но здесь нужно быть уверенным в схеме его подключения и напряжении питания. Как раз второй вопрос – правильное подключение ножек к микрокомпьютеру. На нем самом все достаточно просто – земля, питание 3,3 В и линия данных (большинство проектов работают с GPIO18, особого смысла менять ножку нет). А вот микросхемы приемников могут иметь разное расположение ножек, так что обязательно найдите документацию именно на вашу модель и проверьте. Например, для упомянутых TSOP312xx если смотреть со стороны линзы, то слева направо идут земля, питание, данные.
Следующий этап – программная настройка. Наиболее проста она будет в случае применения популярных моделей пультов, например Microsoft MCE или Xbox/Xbox 360 (последний, кстати, работает на 36 кГц). Для них часто есть готовые конфигурационные файлы. Но при желании вы можете настроить и любой другой пульт, хотя с этим придется повозиться. Сначала надо составить соответствие кодов названиям команд и потом отредактировать конфигурацию медиацентра для сопоставления названий команд действиям в программе. Хороший материал по данному вопросу нашелся по этой ссылке http://www.msldigital.com/pages/support-for-remote. Кроме того, для OSMC настройки ИК-пульта есть прямо в меню основного интерфейса.

При необходимости, вы можете настроить и другие параметры медиацентра, например, способ вывода звуковых дорожек, а также реализовать множество дополнительных сценариев благодаря поддержке плагинов.

 

Что касается выбора из указанных выше вариантов дистрибутивов, то наиболее удобным показался проект OSMC. В нем «из коробки» есть русский язык, можно изменить дизайн интерфейса, предусмотрена опция включения доступа по ssh, а также удалось легко запустить ИК-пульт от Xbox 360, просто выбрав его профиль в меню.

OpenELEC интересен тем, что работа Kodi в нем реализована поверх специализированной ОС, а не полноценной Linux, что потенциально должно хорошо сказаться на стабильности и скорости.

В базовом образе Xbian не нашлось русского языка, система не смогла автоматически установить разрешение экрана, обнаружить работающие инструкции по настройке пульта дистанционного управления за разумное время не удалось.

 
 

Rasplex интересен именно в связке с сервером Plex. Это позволяет повысить удобство работы с медиабиблиотекой большого объема благодаря индексации и поддержке метаинформации, загружаемой из сети Интернет.

Безусловно, большинство описанных проблем решаемо, но в случае близких итоговых результатов обычно нет смысла тратить на них время и проще сразу взять устраивающую рабочую версию.

Так что в целом, если вам хочется что-то сделать своими руками и/или не устраивают по гибкости или стоимости готовые решения медиаплееров, Raspberry Pi 3 вполне может удовлетворить желание узнать что-то новое, а также выступить в роли практичного и недорогого решения для этого сценария.

Стоит отметить, что часть упомянутых выше проектов работоспособны не только на Raspberry Pi, но и множестве других аналогичных миникомпьютеров.