Как сделать медиаплеер на основе Raspberry Pi 3. Собираем устройство и устанавливаем ПО
Что?: Raspberry Pi 3 — новое поколение попурярного микрокомпьютера
Где?: На Gearbest — около $38 на распродаже
Дополнительно: Платы расширения, аксессуары и датчики для этой платформы — на Gearbest
Семейство недорогих компактных одноплатных компьютеров Raspberry Pi появилось на рынке в несколько лет назад и с тех пор завоевало признание энтузиастов DIY по всему миру. В начале этого года было объявлено, что суммарные продажи превысили восемь миллионов устройств, а число публикаций о них в сети Интернет не поддается подсчету. Так что данная статья в определенном смысле представляет собой еще одну «каплю в море».
Тем не менее, рассказать о собственном опыте работы с новой версией микроПК все-таки хочется. Надеемся, что этот материал будет полезен тем читателям, которые пока незнакомы с этой платформой. Дополнительную информацию можно найти на официальном сайте, различных ресурсах для разработчиков и сайтах, посвященных проектам DIY (например, этом).
Версия Raspberry Pi 3, последняя из «полноразмерных», была анонсирована в начале этого года. Она сохранила основные черты своей предшественницы, включая размеры платы, интерфейсы, число и расположение портов ввода-вывода. Так что с ней будут совместимы разработанные ранее для Raspberry Pi 2 корпуса, дисплеи, камеры, платы расширения и другие компоненты.
Комплект поставки традиционно минимальный – в картонной коробке идет только плата в антистатическом пакете и пара бумажек. Так что для запуска устройства вам потребуются некоторые дополнительные элементы, в частности блок питания с выходом microUSB и параметрами 5 В 2 А, карта памяти формата microSD, монитор и клавиатура.
Внешний вид платы не изменился. Без внимательного рассмотрения отличить ее от предшественницы непросто, если не знать, в какой угол смотреть. Размеры платы составляют 5,6×8,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, но и множестве других аналогичных миникомпьютеров.
Источник
Видеоплеер из подручных материалов
Эта статья расскажет, как сделать видеоплеер из предметов, которые можно найти в кладовке любого айтишника. Ардуино, журнал Vogue, и дисплей от Нокиа 3310 можно оставить в покое — они нам не понадобятся. Наличие паяльника приветствуется, но можно обойтись и без него.
Судя по скорости развития технологий, лет через десять появится поколение, никогда не видевшее электронно-лучевых трубок. А между тем, история видео дисплеев начиналась с совершенно других устройств…
История
В 1884 году, за несколько лет до изобретения радио, немецкий студент Пауль Нипков (Paul Nipkow) запатентовал первую в мире систему телевидения. С электроникой в то время было неважно, поэтому для построения изображения применялся электромеханический подход: яркость пикселя задавалась электрической лампой, а его положение — механически, с помощью вращающегося диска. В диске делались отверстия, расположенные по спирали; таким образом, при вращении диска пролетающие по одному отверстия «сканировали» фиксированное поле зрения. И хотя сам изобретатель так никогда и не создал такую систему, вплоть до 1930-х годов диск Нипкова был популярен у других разработчиков телевидения.
На передающей стороне, за диском располагался фотоэлемент, оценивающий яркость каждой точки изображения. Сегнетовые фотодетекторы того времени имели низкую чувствительность, поэтому студию приходилось заливать ярким светом, а лица дикторов гримировать фиолетовой краской — лишь бы улучшить качество изображения. В другом варианте, источники и детекторы света менялись местами: за диском ставилась яркая дуговая лампа, и светящаяся точка затемнённую студию; отражённый свет улавливался набором фотоэлементов.
Телезрители, в свою очередь, смотрели сквозь диск Нипкова на неоновую лампу, яркость которой определялась переданными из студии показаниями фотоэлементов. Картинка получалась размером с почтовую марку, поэтому перед диском ставилась увеличивающая линза. Занятно, что данные изображения вмещались в звуковой спектр, и принимались самым обычным радиоприёмником. По сути, телевизор был простой приставкой, которую мог собрать деревенский радиолюбитель. Основной проблемой было раздобыть неонку — всё остальное, от разметки диска до намотки электродвигателя, делалось своими руками. (В особо запущенных случаях вместо электродвигателя ставилась рукоятка, которую телезритель должен был вращать со скоростью строго 50 об/мин.)
Разумеется, за прошедшие восемдесят лет технологии шагнули далеко вперёд, и никого не удивляют устройства вроде «3D HD дисплей с активной матрицей на органических светодиодах» (в 1930-х, между прочим, обычный человек понял бы только слово «органический»). С другой стороны, это означает, что современный инженер в куче старого хлама может найти хоть яркую «неонку» (светодиод), хоть прецизионный шаговый двигатель (в старом CD-ROM’е), — не говоря уже о лёгких и отлично сбалансированных компакт-дисках…
Сборка механического телевизора
Хотя наше устройство будет работать на записанных сигналах, и его уместнее называть видеоплеером, — тем не менее, его вполне можно использовать и для показа NBTV телепередач, вещаемых некоторыми радиолюбителями.
Нам понадобится четыре компонента:
- Диск Нипкова
- Двигатель для вращения диска
- Регулируемый источник света
- Источник видеосигнала
Диск Нипкова
В тридцатых годах диски делали из картона, тонкого алюминия, или вообще из бумажного кольца на проволочной рамке. Мы же воспользуемся прелестями прогресса и возьмём ненужный компакт-диск, благо их навалом. Если есть выбор, лучше взять диск с тёмной поверхностью — это улучшит контрастность изображения.
В прошлом веке разметка отверстий требовала большой аккуратности, умения управляться с транспортиром, и специального циркуля для вычерчивания спирали. Мы же разметим диск виртуально в графическом редакторе (например, Inkscape) и распечатаем готовый чертёж на принтере. Затем загибаем бумагу вдоль краёв напечатанной окружности (см. фото), и заворачиваем диск в получившийся бумажный конверт. Распечатанное изображение должно остаться снаружи, оно будет служить ориентиром для сверления. Счастливые обладатели приводов с поддержкой технологий LightScribe/LabelFlash могут распечатать маску с отверстиями прямо на поверхности диска.
Наконец, берём микродрель со сверлом 0.6–0.8 мм и сверлим диск согласно разметке. Нет микродрели? Не беда! Дело в том, что у CD-дисков (но не DVD!) алюминиевый слой с данными защищён только тонким слоем лака, так что их можно аккуратно процарапать острым металлическим предметом, например отвёрткой. Насквозь цапарать не нужно, подложка диска прозрачна.
Двигатель
Честно говоря, изначально эта статья задумывалась как способ хоть как-то использовать валяющийся без дела старый DVD-ROM: там и двигатель, и держатель диска удобный. Однако копание темы показало, что двигатель привода далеко не так прост, как хотелось бы: он и многофазный, и использует датчики Холла для обратной связи, и управляется специальной микросхемой. Поэтому эксперименты с приводом было решено оставить на будущее, а использовать что-то более простое и понятное: компьютерный вентилятор, он же кулер.
В роли кулера подвернулся USB-вентилятор знаменитой фирмы NoName. Приятным моментом стал куполовидный колпачок с лопастями: диаметр его основания был 22 мм, тогда как диаметр центрального отверстия компакт-диска — 15 мм. Если направить вентилятор вертикально вверх, то сверху, почти как на патефон, можно положить диск, и главное — он не срывается. Чтобы улучшить сцепление, во внутреннее отверстие диска была наклеена пара полосок двухстороннего скотча (см. фото). К сожалению, хлипкий моторчик явно не рассчитан на 15-граммовую нагрузку, поэтому за пару минут работы довольно сильно нагревается. С более крупным кулером такой проблемы быть не должно.
Внимание: несмотря на гладкую форму и небольшой вес, сорвавшийся диск может доставить некоторые неприятности. А если переборщить с мощностью двигателя — диск может лопнуть, и осколки придётся не только собирать по комнате, но, возможно, и выковыривать из тела. Так что консультируйтесь со здравым смыслом, — автор за возможные увечья ответственности не несёт.
Источник света
Как ни странно, в 2011 году неоновую лампу достать ничуть не легче, чем в 1930: их уже практически не используют. К счастью, нам вполне подойдёт один из светодиодов, которые можно найти в любом старом периферийном устройстве, от мышки до принтера.
К сожалению, напрямую в аудиовыход светодиод включить не получится: даже на максимальной громкости свечения, скорее всего, не будет. Поэтому придётся соорудить простейший усилитель на одном транзисторе (см. схему). Источником питания может быть либо пара обычных батареек (тогда резистор можно убрать), либо USB (красный провод — плюс, чёрный — минус; резистор от 500 Ом и меньше, подбирается по яркости). Транзистор — любой n-p-n типа.
Если транзистор выковырян из какого-то устройства, определить его тип и расположение выводов можно с помощью мультиметра: пробуйте разные комбинации выводов, пока прибор не покажет число в диапазоне 30–1000. Когда это произойдёт — по буквам рядом с выводами определите расположение ног транзистора.
Если длина выводов позволяет, схему можно выполнить на скрутках, хотя, конечно, для надёжности и эстетичности соединения лучше пропаять. В любом случае, оголённые выводы сто́ит стянуть термоусадкой или обернуть синей изолентой™ для придания долговечности.
В использовании светодиода вместо газовой лампы есть один негативный момент: свечение полупроводника «точечное», а нам нужно подсвечивать (по возможности равномерно) квадратик 15×15 мм. Проблема легко решается размещением над светодиодом полупрозрачной бумажки, на которую будет проецироваться пятно света.
В сборе оптическая часть выглядит так:
Инструмент «третья рука» очень удобен для фиксации всех компонентов в нужных положениях. Линза необязательна, она просто шла в комплекте. Вместо «третьей руки» можно воспользоваться окружающими предметами, клеем, или помощью коллег.
Источник видеосигнала
Самый доступный для айтишника генератор сигналов — звуковая карта компьютера. Ею мы и воспользуемся. Разумеется, никто не мешает затем записать сгенерированный файл на MP3-плеер и поспорить с друзьями, что ваш однокнопочный айпод может воспроизводить видео.
Для отладки системы я написал простенькую Java-программу, которая выводит на звуковую карту изображение 22 на 32 пикселя. Исходник можно взять на pastebin, а готовый аудиофайл — здесь.
Кроме того, существуют программы, позволяющие конвертировать видеофайлы в аудиосигналы, и наоборот, воспроизводить видео на основе аудиофайлов. Причём, благодаря стерео формату в одном аудиофайле можно записывать и изображение, и звуковую дорожку. Например, вот этот mp3-файл превращается в отрывок фильма «Девчата»:
Результат
Основная сложность при просмотре — синхронизация скорости вращения диска с поступающим видеосигналом. В тридцатых годах для этого использовались синхроимпульсы и специальные схемы. Любителям, впрочем, предлагался гораздо более простой и доступный способ: притормаживать диск рукой. Понятно, что получение устойчивого изображения таким способом требует определённого навыка…
Ну вот, теперь вы с полным правом можете сказать, что собрали телевизор на коленке.
Источник