Pcm5102 подключение к raspberry

Pcm5102 подключение к raspberry

To build your DIY internet radio, you connect Raspberry Pi to some DAC (digital — analog converter) and add any audio speakers with amplifier. To play music use any ‘headless’ music player you like (volumio, rune audio, max2play etc). You control this players from your phone, so no need in any knobs on the intenet radio box, you can hide it somewhere.

You need DAC because Raspberry Pi has very poor sound quality from integrated 3.5mm headphones jack.

Alternative if you do not want to mess with I2S DAC

You can use any HDMI-Video/audio adapter (search on aliexpress for «hdmi rca». This is a small box with HDMI input and RCA output (yellow for video, red and white for audio). With HDMI cable this is the same money as I2S DAC.

In this case you connect Raspberry Pi HDMI to this adapter and select in your music player to output sound to HDMI.

I2S DAC PCM5102 on aliexpress

Search on aliexpress for «Raspberry Pi PCM5102».

Of cause you can buy HiFiBerry for $35. But aliexpress models four(!) times cheaper.

PCM5102 vs PCM5122

Chinese boards are based on the same IC (PCM5102) as early HiFiBerry ( DAC ). New HiFiBerry ( DAC+ ) is based on PCM5122 the main difference in witch is hardware volume control. If you control volume from your amplifier (the best for sound quality) you do not need the option. If you want to control volume from your volumio or other music player you can switch on software volume control . In theory this is bad for sound quality but in practice I do not think you will see the difference.

| RCA | 3.5mm headphones jack | | | |

Sellers claim that this is Raspberry Pi HAT extensions, but that is not true. You connect them to HAT socket on Raspberry Pi, but you need some wiring, you cannot just insert them as HiFiBerry.

Raspberry Pi A/B

On the very early Raspberry Pi version the pins that you need to connect I2S DAC were somethere on the board, but not in any socket. I do not think that you have such an old board so below I describe more modern ones.

Raspbery Pi before «+» version has the pins on 8-pins P5 socket, which is below main HAT 26-pins socket P1 .

In many cases you have to solder P5 for yourself: video from HiFiBerry.

Take into account that it is supposed to be soldered on back side of the board (in the video above they solder it on opposite front side). Because of that odd/even pins in P5 is opposite as in P1 . You can check youself — on P5-1 pin should be 5v, on P5-2 3.3v, and last pins of P5 , P5-7 & P5-8 are ground.

Raspberry Pi A+/B+, Raspberry Pi 2, Raspberry Pi 3, Raspberry Pi Zero

All pins you need for I2S DAC are in main 40-pins HAT socket. It’s name now J8 and it consists of all 26 pins from old P1 , and additional pins.

How to connect I2S DAC to Raspberry Pi

Источник

andGINEER

Andrey Sorokin, engineer

Интернет-приемник: Подключение аудио ЦАП к Raspberry Pi

Если вы хотите сделать интернет-приемник, то самый простой вариант — взять Raspberry Pi, подключить к ней ЦАП (цифро-аналоговый преобразователь, на английском DAC) и нравящуюся вам акустику с усилителем. Ну и поставить то приложение, которое вам нравится (volumio, rune audio, max2play etc). Управлять им вы будете со своего телефона, т.е. на самом интернет-приемнике у вас не будет никаких элементов управления и его можно, например, спрятать за фальш-потолок.

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

Альтернативы I2S DAC

Вместо I2S DAC можно использовать любой HDMI-Video/audio преобразователь (ищется на aliexpress по строке “hdmi rca”. Это коробочка, куда втыкается на вход HDMI и на выходе разъемы RCA “тюльпаны” — желтый видео и белый/красный аудио). Вместе с нужным для него HDMI кабелем будет стоить примерно как и описываемые ниже I2S DAC, так что тут скорее дело вкуса, что использовать.

Конечно, с точки зрения программы это совершенно иной способ вывода звука (не управление ЦАП по I2S интерфейсу, а вывод звука на HDMI), но для вас это просто переключатель в веб-интерфейсе volumio.

Варианты I2S DAC PCM5102 на aliexpress

Искать эти платы на aliexpress проще по строке “Raspberry Pi PCM5102”.

Это отличная альтернатива HiFiBerry, стоящей $35. Модели на aliexpress более чем в четыре раза дешевле.

Сраненение PCM5102 или PCM5122 — что лучше

HiFiBerry ранних моделей ( DAC ) построены ровно на той же микросхеме, что и платы с aliexpress (PCM5102). Новые HiFiBerry ( DAC+ ) — на PCM5122 которая в основном отличается наличием аппаратной регулировки громкости. Если вы регулируете громкость на усилители (и это самый правильный вариант с точки зрения качества звука), то вам эта возможность просто не нужна. При желании регулировать через интерфейс, например, volumio, вы можете включить software volume control — теоретически это снижает качество, но на практике вряд ли вы это заметите.

Вывод на RCA разъемы Вывод на разъем для наушников

Китайцы на них пишут, что это Raspberry Pi HAT-платы, но это не совсем правда. Они подключаются к HAT разъему raspberry pi, но их нельзя просто вставить в него, как HiFiBerry.

В принципе, для подключения паяльник не обязателен, если речь о первом варианте платы и новых raspberry pi (не zero, на которой разъем расширения не распаян) — тогда можно соединить штырьки разъемов с помощью контактных проводов. Найти такие провода можно на aliexpress по строке “wires female to female dupont” — как правило, они цветные, на концах разъемчики (вам нужен вариант female — female).

Raspberry Pi A/B

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

Если у вас чуть более свежие Raspbery Pi первой модели, но до “+” варианта, то нужные для ЦАП контакты находятся на 8-контактном разъеме P5 , размещенном пониже основного 26-контактного разъема расширения P1 .

Обычно P5 не распаян. Можете посмотреть видео, как его распаивать на сайте HiFiBerry.

Подробнее о P5 можно прочитать Raspberry Pi P5 Header.

Обратите внимание, что разъем подразумевается к установке с обратной стороны платы (хотя в видео про HiFiBerry его паяют с той же стороны, что и основной разъем расширения). Поэтому четные-нечетные контакты в P5 с противоположной стороны от того, как в основном разъеме P1 . Проверить себя, можно померив напряжение — на контакте P5-1 должно быть 5В, на контакте P5-2 3.3В, оба последних контакта P5 , P5-7 и P5-8 — земля.

Raspberry Pi A+/B+, Raspberry Pi 2, Raspberry Pi 3, Raspberry Pi Zero

Все нужные контакты находятся на основном 40-контактном разъеме расширения. Он теперь называется J8 и состоит из 26 контактов старого разъема P1 , и новых контактов.

Строго говоря, тех контактов, что были выведены на P5 , в J8 нет. Но программно обеспечивается совместимость, поэтому можно подключать ЦАП на старых моделях к P1 и P5 , а на новых к J8 .

Как подключить I2S DAC к Raspberry Pi

Первый вариант ЦАП:

DAC Pi A/B Pi A+/B+, Pi2, Pi3, PiZ PCM5102
Vcc (+5v) P5-1 J8-2
+3.3v (not used, just to check youself) P5-2 J8-1
BCK P5-3 J8-12 Audio data bit clock input
LRCK(LCK) P5-4 J8-35 Audio data word clock input
DATA(DIN) P5-6 J8-40 Audio data input
Gnd P5-7 J8-39

В описании ЦАП китаец пишет, что неверно обозначены BCK и DATA, но, наверно, это относится к ранним модификациям платы — на моей крайний разъем обозначен BCK, и так его и надо подключать.

Второй вариант ЦАП:

К первому варианту добавляются контакты:

DAC Pi A/B Pi A+/B+, Pi2, Pi3, PiZ PCM5102
GND P1-6 J8-6
FLT (gnd) P1-14 J8-14 Filter select : Normal latency (Low) / Low latency (High)
DMP (gnd) P5-8 J8-20 ?De-emphasis control for 44.1kHz sampling rate(1): Off (Low) / On (High)
SCL P1-5 J8-5 ?System clock input
FMT (gnd) P1-18 J8-18 Audio format selection : I2S (Low) / Left justified (High)
XMT (3.3v) P1-1 J8-1

Подробно разъемы для интересующихся расписаны на вики: RPi Low-level peripherals.

Источник

Делаем из старого усилителя многофункциональный медиа сервер с помощью Raspberry pi

У кого из нас нет добротной техники из прошлого, которая работает так, как и не снилось множеству ширпотребных вещей из настоящего. Старые усилители, проигрыватели пластинок и радиолы. Да, было время, когда не умели делать хрупко и недолговечно в погоне за дешевизной. Эти вещи еще проработают долго. И звучание какого-нибудь старого усилителя будет радовать и нас и наших детей.

Правда, в них отсутствует много всяких цифровых штучек. Разные flac и тому подобные форматы. Управление проигрыванием, музыкой и фильмами через телефон или компьютер. Возможность запустить музыку с Youtube, Last.fm или выбрать интернет радио. Удаленное проигрывание медиа через DLNA. Или просто возможность подключить ваш компьютер через Bluetooth и выводить весь звук через большие колонки. Или что там еще напридумывают нам в будущем для облегчения нашей аудиофильской жизни.

Но что нам мешает использовать все эти технологии в старой технике? Да и почему обязательно в старой… У вас есть RCA, miniJack 3.5 или S/PDIF разъем на вашей магнитоле? Тогда мы идем к вам и … И делаем из старого усилителя многофункциональный медиа сервер с помощью Raspberry Pi. Подключаем нашу Raspberry Pi через RCA и обновляем нашу технику до «острия технологической атаки». Не обязательно использовать RCA. Найдите аналоговый или цифровой вход на своей технике и выберите нужную комплектацию вашей Raspberry Pi. Я буду рассматривать вопрос сугубо с практической точки зрения. Как настроить все быстро на Raspberry Pi? Ведь статей профессионалов об особенностях работы той или иной технологии достаточно, чтобы не останавливаться на этом. Я возьму в качестве примера Raspberry Pi и плату для цифровой обработки звука на основе чипа PCM 5102 A.

Существует множество различных вариантов музыкальных DAC систем на любой вкус и цвет. Выбор — только за вами. Вот некоторые из них для Raspberry Pi. DAC — на русском ЦАП — цифро-аналоговый преобразователь. Я возьму один из самых недорогих аналогов данного устройства. Судя по различным отзывам на веб просторах, очень даже неплохо себя зарекомендовавшую PCM 5102 A . На ней 6 контактов, и мы с легкостью подключим ее к нашей Raspberry Pi через GPIO разъем. Причем, подойдет любая серия нашей Малинки. Ведь для проигрывания музыки производственных мощностей хватит и самой младшей из них — Raspberry Pi Zero. Хотя, без точных входных данных для любой поставленной задачи перед нашей Raspberry Pi, все относительно. И подобное утверждение является оценочным мнением автора. Далее для подключения к GPIO нашей платы используем следующую схему:

И нам потребуется подключить драйвер устройства в config.txt :

sudo nano /boot/config.txt

Перезагрузимся у убедимся, что в журналах ядра все ок:

dmesg |grep hifi

И посмотрим нашу карточку через листинг доступных устройств alsa:

**** List of PLAYBACK Hardware Devices **** card 0: sndrpihifiberry [sndrpihifiberry_dac], device 0: HifiBerry DAC HiFi pcm5102a-hifi-0 [HifiBerry DAC HiFi pcm5102a-hifi-0] Subdevices: 1/1 Subdevice #0: subdevice #0

Если что-то пошло не так, включаем режим отладки:

sudo nano /boot/config.txt dtdebug=1

И смотрим, что происходит:

sudo dmesg sudo vcdbg log msg

И, по идее, запустив плеер, допустим, mplayer с каким-нибудь mp3, можно услышать музыку через канал на вашей аппаратуре, к которой вы подключились.

Подключаем Bluetooth

Технология Bluetooth не устаревает и активно развивается. Bluetooth передатчики постоянно обновляют версию. Слушать музыку через нее в HiEnd качестве можно. Она рождена для использования радио канала с большой загруженностью радио эфира. Это немаловажно при использовании ее в городе для передачи медиа контента. Правда, при использовании встроенного передатчика… на Малинке не все гладко. И помехи при прослушивании музыки через нее могут быть слышны. Как вариант — использовать внешнюю USB Bluetooth антенну. Она позволит избежать потерь, что, в общем-то, — отдельная тема, требующая изучения. И тем не менее, достаточно просто и быстро через Bluetooth пробрасывать звук. Скажем, с компьютера на Raspberry Pi и далее — через усилитель на колонки. Или с телефона подключаться в Raspberry и слушать музыку. Поэтому, запускаем Bluetooth на Малине. Для запуска нам понадобятся три компонента…

Это не обязательный набор, но, как показала практика, все три компонента позволяют быстро и прозрачно запускать Bluetooth на Raspberry Pi. В результате, мы должны получить три работающие службы:

Первая используется как серверная часть, Bt-agent как блютуз клиент для обработки входящих запросов по авторизации. Это удобно для автоматизации процессов подключения без заморочек ручного подключения к нашему каналу. И pulse аудио как сервер, обрабатывающий звук, и как прозрачная прослойка для автоматического перенаправления его между устройствами. Установим необходимые пакеты: sudo apt-get install pulseaudio pulseaudio-module-bluetooth bluez-tools

Bключим в группы pulse-access bluetooth пользователя pi:

sudo usermod -a -G bluetooth pi

sudo usermod -a -G pulse-access pi

sudo adduser pi pulse-access

Запускаем при старте аудио сервер pulseaudio:

systemctl —user enable pulseaudio

Для работы нашей Малины в режиме блютуз с постоянным обнаружением и с профилем A2DP приемника поправим конфигурацию:

sudo nano /etc/bluetooth/main.conf

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

И в соответствии с этим ресурсом соответствует параметрам:

Major Device Class -> Audio/Video

Minor device class -> Portable Audio

Это те параметры, которые будут видны сканирующему Bluetooth устройству, чтобы разобраться, какие сервисы доступны через это устройство. В общем, можно не заморачиваться этими параметрами и выставить, например, Что просто будет соответствовать большему количеству сервисов. Если вас вдруг не устраивает звук, тогда переходим к настройкам звука pulseaudio:

sudo nano /etc/pulse/daemon.conf

и смотрим «основные» настройки типа:

В качестве мануала по pulseaudio есть неплохой ресурс.

Кто-то рекомендует resample-metod=ffmpeg или resample-metod=speex-float-9, решать вам, если услышите разницу. Выставляем нужные параметры и убираем «;» чтобы раскомментировать строчку.

После изменений перезапускаем pulseaudio:

pulseaudio -k && pulseaudio —start

И не забываем посмотреть, сколько процессорного времени отъест pulseaudio при ваших Hi-Fi настройках:

По загрузке процессора 3-ей Raspberry Pi с использованием ЦАП (DAC) аудио платы на основе микросхемы PCM5102 файл flac 24bit читается с загрузкой около :

10-15% для resample-metod=speex-float-1

30% для resample-metod=ffmpeg

60% для resample-metod=speex-float-9

Ну и напоследок, посмотрим теперь в сторону передачи звука через WiFi с помощью технологии DLNA.

MiniDLNA сервер

Если на вашей Raspberry Pi находится медиа сервер, то для того чтобы ваша коллекция музыки была видна на других устройствах, поддерживающих DLNA, вам необходимо установить DLNA server. Здесь все просто: sudo apt-get install minidlna. Рекомендую ознакомиться с возможностями Minidlna здесь.

В файле конфигурации правим папку с нашей медиатекой:

sudo nano /etc/minidlna.conf

И там указываем правильно папку:

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

sudo chmod -R 755 папка

sudo -u minidlna ls -l папка

sudo sevice minidlna start

И теперь в нашем Проводнике в закладке Сеть должно быть что-то вроде:

И, кликая на эту ссылку, открываем в браузере статус нашего сервиса:

А проиграть файлы можно скажем через «проигрыватель Windows Media»:

Или запустить их на андроид с помощью «Hi-Fi Cast» приложения:

Если задача обратная и мы хотим воспроизводить музыку и фильмы, просматривать фото, которые находятся где-то удаленно на сервере через нашу Raspberry Pi, то нам потребуется установить на нее dlna render. С устройства из приложения, позволяющего находить наш raspberry media render, мы будем перенаправлять медиа контент на Raspberry Pi.

Я нашел два рендера прекрасно работающих на Raspberry Pi. У каждого из них есть свои плюсы.

DLNA Render Gmediarenderer

Проект развивается и полон последователей. Из основных возможностей стоит отметить, что этот рендер переключает устройства вывода, настраивает громкость и имеет уникальный идентификатор. Это позволит настроить в сети несколько подобных устройств. Есть более подробная статья про использование всех возможностей DLNA/UPnP как распределенной структуры устройств, взаимодействующих по этим протоколам и конкретно этого рендера.

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

Возьмем копию проекта и соберем его:

Найти и управлять нашим сетевым проигрывателем через Android устройство удаленно позволит программа типа DLNA Controller. Воспользуйтесь одной из подобных программ для этого: HiFi Cast, Airpincast, Bubbleupnpcast

Rygel DLNA Рендер

Проект представляет из себя не только dlna рендер. Это полноценный медиа сервер UpnPMedia Server, который позволит и расшаривать и перенаправлять музыку, видео и фото на любое UPnP/DLNA поддерживающее устройство. Из заявленных возможностей есть конвертация на лету записи в тот формат, который будет поддерживаться устройством воспроизведения. Взаимодействие со сторонними media плеерами, такими как Totem, Rhythmbox, VLC. Удаленные запросы UPnP конвертируются в MPRIS запросы и позволяют взаимодействовать с этими media проигрывателями. Пример такого взаимодействия Rygel и VLC рассказан на странице David Wiencer.

Суть в том, что мы запускаем VLC плеер. Устанавливаем в конфигурационном файле mpris поддержку. И при работающем Rygel приложении vlc воспроизводит медиа контент, который мы посылаем ему через DLNA Rygel.

Проинсталлируем Rygel и VLC:

sudo apt-get install rygel vlc rygel-playbin

Если у вас еще не стоят gstreamer библиотеки:

Убедимся, что в конфигурации включена поддержка MPRIS:

И далее, создаем скрипт David Wiesner, который запускает сначала VLC, затем Rygel:

sudo nano rygel-vlc.sh

Запустим его в фоновом режиме:

И проверим наш DLNA render также через Android с помощью: HiFi Cast, Airpincast, Bubbleupnpcast.

И если вы не готовы экспериментировать с Linux , то в качестве собранных, готовых к работе «из коробки» Raspberry Pi с вышеописанным функционалом мы можем вам предложить наборы ViaMyBox «Музыка флер»!

Дистрибутив и код вы можете найти здесь.

Надеюсь со временем, мы увидим и рассмотрим новые интересные проекты для Raspberry Pi на эту тему!

Источник

Adblock
detector