Меню Рубрики

Установка airplay на raspberry

Raspberry Pi 3. Установка и настройка AirPlay-приемника

В прошлом году я обозревал сетевую колонку Xiaomi Mi Smart Network Speaker, умеющую проигрывать музыку как по кабелю и Bluetooth, так и по DLNA и AirPlay протоколам, будучи подключенной к Wi-Fi сети. А в этой статье хочу рассказать как при помощи одноплатного компьютера можно сделать любую колонку или акустическую систему сетевой, добавив в нее поддержку протокола AirPlay.

Данный протокол используется в устройствах компании Apple и позволяет буквально парой прикосновений к экрану смартфона или планшета переключать воспроизведение со встроенного динамика на внешнюю акустику. При этом саму акустическую систему не нужно как-то настраивать – достаточно, чтобы она была подключена к той же локальной сети, а дальше iPhone сделает все сам.

Что нам понадобится

Для осуществления описываемых в этой статье действий понадобится:

  • Raspberry Pi 3 Model B
  • Локальная сеть
  • iPhone, iPad или iTunes на компьютере
  • Наушники или колонки, подключаемые к 3.5мм аудиоразъему
  • Звуковая карта для Raspberry Pi (опционально)
  • Дисплей для Raspberry Pi (опционально)

Удаленно управлять “малиной” удобнее всего по SSH или через Webmin.

Установка и настройка Shairport Sync

Для поднятия на Linux-системах AirPlay-приемника используется приложение Shairport Sync, в свою очередь являющееся форком уже заброшенного и не обновляющегося Shairport.

Перед началом установки традиционно обновим уже установленные в системе пакеты:

Теперь установим все необходимое для работы Shairport Sync:

Скопируем с гитхаба репозиторий с исходным кодом:

Перейдем в папку с исходниками, сконфигурируем и соберем приложение:

Создадим отдельную группу и отдельного пользователя специально для Shairport:

Установим приложение и запустим в качестве системного сервиса:

Теперь осталось только перезагрузить Raspberry Pi и все готово:

Если установка пакета прошла успешна, то после перезагрузки в списке доступных AirPlay-устройств на iPhone/iPad или в iTunes появится новая колонка с именем Raspberrypi.

И если подключить к “малине” акустику, то можно воспроизводить через нее музыку с любых девайсов от Apple.

Но для более комфортного пользования нужно произвести некоторые настройки.

Отключение энергосбережения Wi-Fi

Если Raspberry Pi 3 подключена к локальной сети по Wi-Fi (к слову, при возможности лучше подключать кабелем по Ethernet – стабильнее будет работать), то нужно отключить энергосбережение Wi-Fi адаптера. Иначе при отсутствии сетевой активности адаптер будет пытаться уйти в режим сна и в это время “малинка” будет пропадать из списка AirPlay-устройств.

Поэтому отредактируем файл конфигурации:

Найдем в нем строку “iface wlan0 inet manual” и добавим сразу же после нее следующую строку:

На этом данная часть настройки завершена.

Улучшение качества звука

Встроенная звуковая карта в Raspberry Pi 3 оставляет желать лучшего, а установленный по умолчанию драйвер и вовсе ужасен. Если планируется использовать “малину” в качестве AirPlay-ресивера для действительно хорошей акустики, то есть смысл докупить к ней хорошую звуковую карту (такие производит, например, Suptronics).

Во всех остальных случаях нужно хотя бы сменить стандартный драйвер на более свежий, который уже входит в дистрибутив Raspbian, но выключен по умолчанию.

Для этого открываем файл config.txt:

И дописываем в конец следующую строку:

Затем нужно будет перезагрузиться. После перезагрузки “малина” заработает уже с другим драйвером и звук на 3.5мм аудиовыходе станет более-менее приличным.

Для еще одного улучшения качества звука нужно исправить файл конфигурации самого Shairport Sync:

В котором нужно найти строку:

Обратите внимание, что нужно не только поменять значение с 60 на 30, но и удалить два слеша в самом начале строки, т.е. раскомментировать этот параметр.

Изменение названия AirPlay-ресивера

Изначально наша AirPlay-колонка будет носить сетевое имя устройства, на котором развернут Shairport (в случае с “малиной” это имя по умолчанию Raspberrypi).

Если хочется дать ей более звучное название, то нужно отредактировать файл конфигурации:

Раскомментировать эту строку и ввести вместо %H свое название:

Установка графического интерфейса для Shairport Sync

Если к “малине” подключен мини-дисплей, то можно приспособить его для вывода метаданных о транслируемых треках.

Для этого нужно загрузить еще один репозиторий:

И скомпилировать его из исходников:

А затем добавить в автозагрузку, отредактировав файл конфигурации:

И внеся в него следующую строку перед строкой @screensaver:

А затем отредактировать конфигурацию shairport:

Вот так выглядит графический интерфейс. Если запустить воспроизведение, то в нем должны появиться названия композиции и альбома, имя исполнителя и обложка. Но у меня что-то пошло не так, и при старте воспроизведения интерфейс вылетает (на само воспроизведение это не влияет).

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

Читайте также:  Установки на природном газе для машин

Заключение

Использование Shairport Sync позволяет превратить любую колонку в сетевую, поддерживающую протокол AirPlay. Особенно полезным это окажется если в наличии имеется качественная, но старая акустика без смарт-функций, которую хочется подружить с современной техникой.

В статье приведен пример установки Shairport Sync на Raspberry Pi 3, но аналогичным способом программу можно установить и на любой другой одноплатный компьютер, например, на более дешевый и компактный Orange Pi Zero.

источник

Заметки радиолюбителя

Сетевой аудиоплеер на основе Raspberry Pi

Запись опубликована aitras · 28 августа 2017

Ноутбук — мой самый основной инструмент дома. А так как этот тип компьютера подразумевает мобильность, то каждый подключенный к нему провод, убивает напрочь эту мобильность. Поэтому со временем я обзавелся беспроводной мышью, потом купил Raspberry Pi, сделал на его основе принт-сервер, и вот из всех проводов остались только кабель питания и аудио-кабель, идущий к усилителю. Если питание ноутбука на сегодняшний день беспроводным никак не сделать, то вот воспроизведение аудио возможно сделать дистанционным. В данной заметке я расскажу, каким образом я это организовал.

Прошу заметить, что описанный вариант не единственно верный. Я всего лишь хочу рассказать как именно сделал я.

Поиск решения

Как я уже говорил, у меня есть одноплатный компьютер Raspberry Pi 2B. Покупал я его, чтобы поиграться и понять, что это вообще такое. Первым делом сделал из него принт-сервер, благо инструкций в интернете достаточно. А так как принтер и усилитель у меня стоят рядом, то было бы логично использовать Raspberry для воспроизведения звука. Поначалу я искал способ заставить его обнаруживаться моим ноутбуком как внешняя сетевая аудиокарта, чтобы можно было бы все звуки воспроизводить через нее. Но такого я не нашел, зато нашел такую вещь как MPD (music player daemon). Это музыкальный проигрыватель, имеющий клиент-серверную архитектуру. На стороне Raspberry устанавливается сервер, а на стороне ноутбука клиент — проигрыватель, который звук отправляет на сервер. Вариант рабочий, но ни один плеер мне не нравился.

Смартфон, которым я пользуюсь — iPhone (а также у брата, который тоже пользуется моей стерео-системой). А у Apple есть готовая технология AirPlay, обеспечивающая беспроводную потоковую передача медиаданных, будь то аудио, видео или изображения. Почему бы не попробовать задействовать ее? Для этого нужно решить две проблемы — во-первых, заставить Raspberry работать как AirPlay приемник, во-вторых, найти на Windows плеер, поддерживающий AirPlay. Apple устройства поддерживают эту технологию «из коробки».

Решением первой проблемы является установка приложения Shairport AirPlay. Ниже я привел инструкцию по его установке и по настройке Raspberry Pi в качестве AirPlay приемника.

Вторая проблема решилась очень просто — я нашел и купил для своего плеера foobar2000 плагин Remote Speakers Output (не реклама). Он платный, но стоит не очень дорого. Теперь можно выбрать в качестве приемника (который я назвал Amplifier) наш Raspberry, и на него будет транслироваться копия аудиосигнала. Но основное устройство вывода звука можно совсем отключить, если вы планируете использовать только получившийся сетевой плеер.

Но нужно отметить, что у AirPlay есть ограничение — поддерживается только CD-качество 44,1 кГц 16 бит, поэтому приходиться с этим мириться. С другой стороны, почти все мои аудиозаписи имеют именно такой формат.

Настройка Raspberry Pi как AirPlay-приемника

Монитора и клавиатуры для Raspberry у меня нет, поэтому все действия выполняются через консоль на удаленном ПК. ОС — Raspbian.

1. Откроем аудио микшер, чтобы убедиться, что звук не приглушен и его уровень составляет 0 дБ. Для этого вводится команда:

2. Далее проверим звук, запустив синус для воспроизведения:

3. Откроем файл конфигурации ALSA командой

Сохраняем изменения (Ctrl+O) и выходим из редактора (Ctrl+X).

4. Далее установим приложение Shairport AirPlay, которое будет эмулировать конечное устройство AirPlay. Но перед этим необходимо установить несколько дополнительных модулей командами:

5. После этого создадим каталоги, куда будем устанавливать Shairport AirPlay.

6. При необходимости установим модули для поддержки устройств на iOS6 командами:

7. Скопируем Shairport AirPlay из репозитория и запустим следующими командами:

8. Теперь можно проверить работу приложения. Для этого введите:

Если все сделано верно, то на устройстве Apple появится приемник AirPlay с именем RaspberryPi.

9. Теперь установим Shairport AirPlay командой:

Следующие три команды дают возможность делать это автоматически при запуске Raspberry:

10. Теперь сделаем кое-какие настройки. Для этого откроем файл настроек Shairport:

Для автостарта приложения нужно строчку

Читайте также:  Установка каретки на велосипед стелс

Для смены имени устройства (например на Amplifier) замените строку

11. Для завершения настройки перезагрузите устройство командой

Для вывода звука с Raspberry Pi я использую не ее встроенную звуковую карту, а внешний ЦАП на основе PCM2707. А встроенный аналоговый звук я совсем отключил.

1. Откройте в редакторе файл /boot/config.txt

и закомментируйте (символом #) строку dtparam=audio=on, отключив тем самым аналоговый аудиовыход.

2. Далее установите USB звуковую карту устройством воспроизведения по умолчанию. Для этого откройте в редакторе файл /lib/modprobe.d/aliases.conf

и закомментируйте строку options snd-usb-audio index=-2

3. Перезагрузите Raspberry Pi.

Может быть для кого-то мое решение окажется полезным. При возникновении вопросов пишите, постараюсь помочь.

источник

Превращаем обычную колонку в колонку с AirPlay

Не было бы здорово, если бы вы могли транслировать музыку прямо с вашего iPhone на динамики или систему аудиоприемников даже не подключаясь к bluetooth? Фактически это возможно с помощью AirPlay, используя Raspberry Pi, подключенный через аудиокабель к вашему ресиверу или колонке. Все это звучит довольно сложно, но на самом деле для этого необходимо 15 минут свободного времени, Raspberry Pi и кабель AUX.

Кроме того, что вы можете «оживить» свой ресивер или колонку без наличия в ней bluetooth с помощью вашей малинки давайте посмотрим еще на один факт. Ниже представлены две одинаковые версии известного продукта. Слева — без поддержки AirPlay, справа — с поддержкой. Опять экономия…

Для того, чтобы подключить к колонке AirPlay нам всего лишь понадобится Rasbperry Pi (желательно 3 версии и выше) и AUX-кабель.

Подготовка

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

Включите колонку/ресивер и выберите правильный вход — потому что первое что мы хотим сделать — это проверить, что ваша колонка сможет передавать звук с Raspberry Pi.

Из командной строки Raspberry Pi мы можем получить доступ к аудиомикшеру, выполнив команду:

Здесь убедитесь, что ваш сигнал не замьючен (нажмите «m», чтобы его выключить если это так) — вы также можете использовать стрелку вверх и стрелку вниз, чтобы увеличить громкость вверх и вниз. Нажмите «ESC» для выхода из микшера.

Далее давайте проверим, соответственно, сам звук из колонки

Если вы слышите однородный звук в своем динамике, то значит мы на верном пути. Если вы не слышите звук, но уверены, что используете правильный вход на вашем ресивере, то попробуйте увеличить громкость в alsamixer.

Прежде чем продолжить, нам нужно немного изменить конфигурацию «alsa» — откройте файл конфигурации с помощью следующей команды:

И спуститесь по тексту до строчки, в которой будет написано

После этого замените эту строчку на следующее содержание

Сохраните файл с помощью ctrl+x, на вопрос о сохранении нажмите Y

Установка Shairport AirPlay

Программное обеспечение Shairport AirPlay — это программное обеспечение, которое необходимо нам, чтобы превратить нашу Raspberry Pi в приемник AirPlay. Он будет эмулировать конечную точку AirPlay, так что вы можете выбрать ее как выход из iTunes, iPad или iPhone.

Для завершения этого шага вам понадобится от 5 до 30 минут (в зависимости от текущей конфигурации вашей малинки)

Перед установкой программного обеспечения shairport airplay нам необходимо установить модули, необходимые для его компиляции. Для установки модулей выполните следующие команды:

После этого создадим папку Projects, в которую и будем ставить наше ПО.

После выполнения команд выше установим модуль, который может заставить Shairport работать с устройствами iOS 6 и выше.

Установка дополнительного модуля может быть выполнена с помощью следующих команд:

После этого установим сам Shairport

Теперь мы можем протестировать наш Shairport, запустив его следующей командой

Теперь берем в руки наше устройство Apple, заходим в список доступных устройств для трансляции музыки и выбираем в нем нашу Raspberry Pi.

После того, что мы убедились, что всё отлично работает, необходимо остановить работу службы (CTRL+C) и закончить установку.

Добавление в автозапуск

Закончим нашу процедуру добавлением данной службы в автозапуск следующими командами

Также необходимо изменить группу и пользователя исходя из ваших настроек. По-умолчанию, на Raspberry используется пользователь и группа «pi».

Для этого используем команду:

Теперь Shaiport будет стартовать при запуске Raspberry Pi . В списке устройств на iPhone он будет отображаться как ShairPort. При необходимости этот параметр возможно изменить в настройках (параметр «name»)

Одно предупреждение — не используйте пробелы в своем имени — это может вызвать проблемы при запуске программного обеспечения Shairport.

Читайте также:  Установка кондиционера киа сид

Перезагрузите Raspberry Pi и всё — теперь вы являетесь колонкой с поддержкой AirPlay.

Вы можете обнаружить, что звуковая карта Raspberry Pi не самая лучшая. Если вам понадобится более интересное звучание, то вы можете купить внешнюю звуковую карту на основе USB.

Подписывайтесь на канал inHomeKit в Telegram и Яндекс.Дзен, чтобы у вас всегда было что почитать: новости мира умного дома, обзоры новых устройств, инструкции по подключению.

Так же у нас отличные паблики VK, Facebook, Instagram и Twitter.

источник

XBMC и AirPlay работают на Raspberry Pi

Xakep #251. Укрепляем VeraCrypt

Одноплатный мини-компьютер Raspberry Pi продолжает победное шествие по планете. На этот раз удалось «подружить» его с медиацентром XBMC и протоколом AirPlay, предназначенным для беспроводной потоковой передачи медиаданных c iTunes.


Экземпляр первой серийной партии компьютеров Raspberry Pi

Сообщение о портировании XBMC на Raspberry Pi появилось 21 января, по ссылке на сайте фонда Raspberry Pi можно увидеть видео, демонстрирующее работу этого приложения на одноплатном компьютере.

XBMC (ранее Xbox Media Center) — свободный кросс-платформенный медиа-хаб и приложение для домашнего кинотеатра, изначально разработанное для запуска на первом поколении Microsoft’овских консолей Xbox. На Raspberry Pi, как и на других платформах, XBMC прекрасно работает с пультами дистанционного управления, подключаемыми через USB-ресиверы.

За несколько дней до этого, 17 января на Raspberry Pi смогли запустить видео, транслируемое по беспроводному протоколу AirPlay (RAOP), разработанному компанией Apple и относящемуся к числу проприетарных.

Теперь владельцы iOS-девайсов (которых, конечно же, среди гиков немало) смогут использовать Raspberry Pi, чтобы проигрывать видео со своих «яблочных» гаджетов или напрямую из каталога iTunes. Для этого достаточно при проигрывании видео на устройстве просмотра выбрать Airplay-меню, а затем в списке устройств выбрать Apple TV2 (именно так «объявляет» себя Raspberry Pi через Bonjour). Дальше AirPlay-сервер сам «договорится» обо всём с воспроизводящим видео устройством, и получит URL, ведущий на само устройство или в интернет.

В обсуждении новости на сайте Raspberry Pi уже посчитали, что благодаря этому вместо одного Apple TV американский покупатель сможет купить три, а европейский — целых четыре Raspberry Pi, который получается в три-четыре раза дешевле эппловской станции AirPort.

Запуск AirPlay на Raspberry Pi стал возможен благодаря тому, что в апреле 2011 года американский разработчик Джеймс Лейрд (James Laird) после проведения реверсного инжиниринга прошивки AirPort Express, опубликовал закрытый ключ, используемый для декодирования пакетов, передаваемых по протоколу AirPlay.

источник

Как установить на Raspberry Pi AirPlay

Часто бывает, что у нас есть аудиосистема на другом конце квартиры или в автомобиле, и невозможно подключиться кабелем к Mac или Airport Express . В лучшем случае это будет, неприглядно выглядящий кабель проходящий через центр нашей кухни и гостиной. В этом случае мы можем использовать нашу Малинку в качестве музыкального приемника, соединенного с AirPlay, и обеспечивающий беспроводную связь с аудиосистемой. В случае такого решения возникает одна дилемма — качество звука. Raspberry Pi не оснащен высококачественным звуковым процессором. В случае, если звук передается через HDMI, все в порядке, но проблема возникает при использовании аналогового разъема. Будет лучше, когда вы проверите, ощутима ли для вас разница. Я не аудиофил, и для меня достаточно качества. Однако, как я уже писал, лучше попробовать сравнить и убедиться самостоятельно.

  • sudo apt-get install git libao-dev libssl-dev libcrypt-openssl-rsa-perl libio-socket-inet6-perl libwww-perl avahi-utils libmodule-build-perl — мы начинаем, как обычно, с установки всех необходимых пакетов и библиотек.
  • sudo git clone https://github.com/njh/perl-net-sdp.git perl-net-sdp — не все доступны в стандартных хранилищах и должны быть загружены и установлены вручную.
  • cd perl-net-sdp
  • sudo perl Build.PL
  • sudo ./Build
  • sudo ./Build test
  • sudo ./Build install
  • cd ..
  • sudo git clone https://github.com/albertz/shairport.git
  • cd shairport
  • make
  • ./shairport.pl -a AirPi- запустите AirPlay и дайте своей RPi имя AirPi (конечно, вы можете ввести что душе угодно).

На данный момент все должно работать, но давайте добавим AirPlay к программам, имеющимся в автозагрузке «Малины».

  • sudo make install
  • sudo cp shairport.init.sample /etc/init.d/shairport
  • cd /etc/init.d
  • sudo chmod a+x shairport
  • sudo update-rc.d shairport defaults
  • sudo nano shairport — изменение раздела NAME=ShairPort для NAME=AirPi сохраните и закройте файл. Если RPi должна появиться под другим именем в будущем, чем AirPi, убедитесь, что вы изменили эту запись.
  • sudo ./shairport start
  • sudo reboot — перезапуск устройства

Теперь, во время запуска Raspberry Pi, AirPlay будет запускаться каждый раз.

источник

Добавить комментарий