Аудиоплеер для мультирума

MSapogov
professional
Beiträge: 126
Registriert: 13.08.2015, 07:23

Аудиоплеер для мультирума

Beitrag von MSapogov » 27.01.2017, 06:11

Появилась идея создать универсальный HiFi плеер на дешевой элементной базе.
В итоге были отобраны следующие кандидаты OrangePi One и DAC Sabre ES9023.
Понимаю, что в сети очень много проектов плееров на одноплатниках, таких как piCorePlayer,
Volumio и скажу Вам весьма неплохих, но не под наше железо.
Итак продолжим... В качестве ОС была выбрана Armbian (server) Debian jessie.
Скачиваем образ ОС с оф сайта Armbian - https://www.armbian.com/orange-pi-one/ и звписываете его на карту.
Я использовал карту Sandisk Ultra 16Gb UHS-I, каких то проблем со скоростью работы замечено не было.

Подключаем Ethernet к апельсинке, устанавливаем карту с записаным образом и включаем питание. Ждем 1-2 минуты.
Выясняем какой IP адрес получила наша апельсинка и подсоединяемся к ней через SSH (root:1234)
После первого включения нас попросят задать новый пароль, потом создать нового пользователя и.т.д...
В конце концов нам необходимо будет обновить пакеты
apt-get upgrade
после этого смело можно установить mc (мне с ним намного удобнее)
atp-get install mc
Затем перезагружаемся reboot.

1. Настройка WiFi https://forum.armbian.com/index.php/top ... s-success/
Смотрим что за WiFi адаптер у нас lsusb
1.1. Если Ваш адаптер определяется как

Code: Alles auswählen

Bus 002 Device 003: ID 0bda:8179 Realtek Semiconductor Corp.
В этом случае Вам сильно повезло, т.к. в ядре все для него уже есть. Но он и по цене дороже (примерно 240 руб)
1.2. Если Вам не повезло, как и мне, и вывод lsusb показал

Code: Alles auswählen

Bus 002 Device 003: ID 0bda:8176 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter
Не расстраиваемся (ведь этот модуль самый дешевый 140 руб) и читаем https://github.com/pvaret/rtl8192cu-fixes
вкратце необходимо выполнить

Code: Alles auswählen

cd /usr/src
apt-get install git build-essential dkms
git clone https://github.com/pvaret/rtl8192cu-fixes.git
dkms add ./rtl8192cu-fixes
dkms install 8192cu/1.10
depmod -a
cp ./rtl8192cu-fixes/blacklist-native-rtl8192.conf /etc/modprobe.d/
cp ./rtl8192cu-fixes/8192cu-disable-power-management.conf /etc/modprobe.d/
Все перезагружаемся.
1.3 Остается только поправить файлы конфигурации:
/etc/network/interfaces

Code: Alles auswählen

allow-hotplug wlan0
   iface wlan0 inet dhcp
         wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
/etc/wpa_supplicant/wpa_supplicant.conf

Code: Alles auswählen

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
        ssid="<your_ssid>"
        psk="<your_password>"
        key_mgmt=WPA-PSK
        priority=99
}
после перезапуска сети /etc/init.d/networking restart или ifdown wlan0 && ifup wlan0
на крайний случай можно и reboot.

2 Настройка источников вывода звука
2.1 Подключение DAC Sabre ES9023 https://forum.armbian.com/index.php/top ... nge-pi-h3/
Подготавливаем ядро для работы по I2S.

Code: Alles auswählen

cd /boot
bin2fex script.bin script.fex
редактируем script.fex

Code: Alles auswählen

[twi1]
twi_used = 1
меняем на

Code: Alles auswählen

[twi1]
twi_used = 0
и

Code: Alles auswählen

[pcm0]
daudio_used = 0
меняем на

Code: Alles auswählen

[pcm0]
daudio_used = 1
запакуем ядро обратно
fex2bin script.fex script.bin
перезагружаемся.

проверяем доступные аудиоадаптеры aplay -l

Code: Alles auswählen

**** List of PLAYBACK Hardware Devices ****
card 0: audiocodec [audiocodec], device 0: SUNXI-CODEC sndcodec-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: snddaudio [snddaudio], device 0: SUNXI-TDM0 snddaudio-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: sndhdmi [sndhdmi], device 0: SUNXI-HDMIAUDIO sndhdmi-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
нас интересует

Code: Alles auswählen

card 1: snddaudio [snddaudio], device 0: SUNXI-TDM0 snddaudio-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
это и есть наш DAC подключенный по I2S (заметим, что dac даже не подключен физически)
Настало время подключить физически наш DAC проводками к OrangePi One

Code: Alles auswählen

5V > Pin 2
Gnd > Pin6
BCK > Pin 27
LRCK > Pin 28
Data > Pin37
Gnd > Pin39
Во многих программах воспроизведения достаточно было в качестве устройство вывода звука указать - "hw:1,0" и все,
но это не наш случай, мы же хотим иногда одновременно из разных программ воспроизводить звук.

2.2 - разделение внутреннего аналогового стерео выхода на два независимых источника моно вывода звука.
Варианты применения:
Сделать озвучку Ванная (моно) + Уборная (моно) без DACа. Это будут отдельные устройства для LMS
Ванная например левай канал, Уборная Правый, запущено будет 2 копии squeezelite, каждая на своем канале.
Привожу конфиги для alsa и запуск двух squeezelite как сервисов.
Получилось создать 2 независимых плеера с mono сигналом на OrangePi one без DAC.
Если Вам этого не нужно, то пропускаем этот раздел.
/etc/asound.conf - /etc/asound.conf - (если конфига нет, то создаем его)

Code: Alles auswählen

pcm.mix_left {
type plug
slave.pcm {
type dshare
ipc_key 123456
slave.pcm "hw:0"
slave.channels 2
bindings.0 1
}
}

pcm.mix_right {
type plug
slave.pcm {
type dshare
ipc_key 123456
slave.pcm "hw:0"
slave.channels 2
bindings.0 0
}
}
Создаем service-файл squeezelite_left.service в директории /lib/systemd/system/ (МАС адрес "-m" и название "-n" задаем "по вкусу")

Code: Alles auswählen

[Unit]
Description=Squeezelite_left (squeezebox emulator for linux)
After=multi-user.target

[Service]
Type=simple
ExecStart= /usr/bin/squeezelite -D -v -o mix_left -n Orange_left -m 00:00:00:00:00:05


[Install]
WantedBy=multi-user.target
Создаем service-файл squeezelite_right.service по аналогии

Code: Alles auswählen

[Unit]
Description=Squeezelite_right (squeezebox emulator for linux)
After=multi-user.target

[Service]
Type=simple
ExecStart= /usr/bin/squeezelite -D -v -o mix_right -n Orange_right -m 00:00:00:00:00:06


[Install]
WantedBy=multi-user.target
Включить только что созданный файл сервиса в автозагрузку (это создаст symlink-и в папке \etc\systemd\system\multi-user.target.wants )

Code: Alles auswählen

systemctl enable squeezelite_left.service
systemctl enable squeezelite_right.service
Если не хотите перезагружаться, то запустить сервисы

Code: Alles auswählen

systemctl start squeezelite_left.service
systemctl start squeezelite_right.service
3. Микширование сигнала от разных программ https://www.opennet.ru/base/X/dmix_setup.txt.html
Я мало в этом разобрался, но но этот конфиг работает (может и что-то сделано и коряво)
/etc/asound.conf - (если конфига нет, то создаем его)

Code: Alles auswählen

pcm.!default {
  type hw
  card audiocodec
             }

ctl.!default {
  type hw
  card audiocodec
             }

pcm.es9023-dac {
    type dmix
       ipc_key 1024 # must be unique!
       ipc_key_add_uid false # let multiple users share
       ipc_perm 0666 # IPC permissions for multi-user sharing (octal, default  0600)

    slave {
       pcm "hw:1,0" # you cannot use a "plug" device here, darn.
       period_time 0
       period_size 2048 # must be power of 2
       buffer_size 32768 # dito. It
       rate 192000
       format "S32_LE"
       #periods 128 # dito.
       #rate 8000 # with rate 8000 you *will* hear,
       # if ossmix is used :)
    }

    # bindings are cool. This says, that only the first
    # two channels are to be used by dmix, which is
    # enough for (most) oss apps and also lets
    # multichannel chios work much faster:
    bindings {
       0 0 # from 0 => to 0
       1 1 # from 1 => to 1
    }
    }
pcm.es9023-mix {
   type plug
   slave.pcm "es9023-dac" # use our new PCM here
}

# mixer0 like above
ctl.mixer0 {
   type hw
   card 0
}
После этого если сделать aplay -L
то вверху мы увидим новые звуковые интерфейсы

Code: Alles auswählen

es9023-dac
es9023-mix
Теперь если нам необходимо из разных программ одновременно воспроизводить музыку, то вывода звука выбираем es9023-mix.
Если микширование использовать нет необходимости, то можно для вывода звука выбирать es9023-dac.

4. Установка ПО плееров.
4.1 - squeezelite (одиночное или синхронное воспроизведение музыки)
Скачиваем отсюда последнюю версию https://sourceforge.net/projects/lmscli ... ueezelite/

Code: Alles auswählen

cd /usr/src
wget https://sourceforge.net/projects/lmsclients/files/squeezelite/linux/squeezelite-1.8.6-957-armv6hf.tar.gz/download -O squeezelite-1.8.6-957-armv6hf.tar.gz 
распаковываем архив и помещаем squeezelite и squeezelite-ffmpeg в папку usr/bin/
Добавляем авто-запуск squeezelite как сервис
/lib/systemd/system/squeezelite.service

Code: Alles auswählen

[Unit]
Description=Squeezelite (squeezebox emulator for linux)
After=multi-user.target

[Service]
Type=simple
ExecStart= /usr/bin/squeezelite-ffmpeg -D -v -o es9023-mix -n Orange-Test -m 00:00:00:00:00:1f

[Install]
WantedBy=multi-user.target
Включить только что созданный файл сервиса в автозагрузку (это создаст symlink-и в папке \etc\systemd\system\multi-user.target.wants )

Code: Alles auswählen

systemctl enable squeezelite.service
Если не хотите перезагружаться, то запустить сервисы

Code: Alles auswählen

systemctl start squeezelite.service
можно установить и из репозитория apt-get install squeezelite
тогда автозапуск плеера добавится сам, нужно будет только в файле указать имя плеера и устройство вывода звука.
/etc/default/squeezelite

Code: Alles auswählen

SL_SOUNDCARD="es9023-mix"
После перезапуска сервиса или перезагрузки, наш Logitech Media Server c радостью найдет новый плеер.

4.2 - shairport-sync (для Apple устройств)
Устанавливаем из репозитория apt-get install shairport-sync
правим в /etc/shairport-sync

Code: Alles auswählen

name = "Orange-Test";
alsa =
{
output_device = "es9023-mix";
mixer_device = "dmix";
};
После перезагрузки нашего плеера на яблофонах (подключенных в эту-же сеть) в качестве вывода звука, можно будет наблюдать устройство Orange-Test.

5. Хардварное управление плеерами.

(частично реализовано здесь - http://forum.iobroker.net/viewtopic.php?f=33&t=5119)

Было много вопросов на тему: "А поддерживают ли данные плееры SayIt?" - отвечу что нет. Да несилен я в языках программирования, только железо и только конфиги...
Вот уже и вывод звука для MPD появился...

Возникает еще вопрос, почему именно I2S-DAC, а не встроенная звуковая карта. Я вообще не меломан, но оказалось все очень просто у es9023 на 16 ноге присутствует выход ZD
который я применяю для управления питания усилителя. Когда ничего не играет, то и усилитель выключен. С обычным аналоговым выходом который можно подпаять по инструкции
https://forum.armbian.com/index.php/top ... -receiver/ , выход управления питанием не получить.

Усилители использую TDA7492, PAM8610 и PAM8403 - дешево и сердито.

Анонс следующих выпусков:
4.3 - Установка MPD.
Zuletzt geändert von MSapogov am 12.05.2017, 14:38, insgesamt 10-mal geändert.

VictorS
starter
Beiträge: 80
Registriert: 31.10.2016, 19:38
Wohnort: Беларусь

Re: Аудиоплеер для мультирума

Beitrag von VictorS » 27.01.2017, 07:02

Отличная статья, спасибо!

Лично я жду п.5 . Может его в топ переместить? :)

VictorS
starter
Beiträge: 80
Registriert: 31.10.2016, 19:38
Wohnort: Беларусь

Re: Аудиоплеер для мультирума

Beitrag von VictorS » 01.02.2017, 12:42

Выбираю сейчас апельсинку для заказа. Orange PI One не очень нравится что нет Wi-Fi и проц H2
Есть у них Orange PI Lite, в Wi-Fi only на борту , проц. H3

Проблем с подключением к I2S не будет в нем?

MSapogov
professional
Beiträge: 126
Registriert: 13.08.2015, 07:23

Re: Аудиоплеер для мультирума

Beitrag von MSapogov » 01.02.2017, 13:01

Orange PI One - Проц H3 памяти 512.
Отсутствие WiFi легко решается через USB.

Если на Orange PI Lite - выведены все 40 GPIO, то проблем не должно быть. По мне лучше Ethernet, чем WiFi.

PS: хотел сделать кнопки для управления к GPIO, но что-то sunxi (H3) никак не могу правильно прерывания обрабатывать. На малинке все в пол пинка делалось... -:(

SolarW
starter
Beiträge: 25
Registriert: 31.10.2016, 17:49

Re: Аудиоплеер для мультирума

Beitrag von SolarW » 01.02.2017, 15:06

Огромное спасибо за разжеванную инструкцию :-)

Попробовал запустить вот такой наборчик
https://ru.aliexpress.com/item/New-Oran ... 29852.html
За пару часов вдумчивой адаптации типа как взлетело - LMS установленный на ноуте увидел клиента и чудно играет на нем музыку.
Основная заминка была в том, что пробовал сначала на наушниках (гарнитуре) взлететь но с ними нифига не получалось - шипение, свист и т.д.
Пришлось мотнуться в ближайший лабаз и нахватить самые простые активные колонки SVEN SPS-607.
Сижу, слушаю музыку :-)

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

Ну и стопочка из Orange Pi One, DAC Sabre и усилка ждет своей участи :-)
В связи с этим вопрос - можно чуть поподробней осветить вопросы связанные с отключением питания усилка когда DAC ничего не играет?
Если можно то со схемкой/номиналами деталей :-)

SolarW
starter
Beiträge: 25
Registriert: 31.10.2016, 17:49

Re: Аудиоплеер для мультирума

Beitrag von SolarW » 01.02.2017, 15:31

MSapogov hat geschrieben:PS: хотел сделать кнопки для управления к GPIO, но что-то sunxi (H3) никак не могу правильно прерывания обрабатывать. На малинке все в пол пинка делалось... -:(
https://ru.aliexpress.com/item/PCM2704- ... 05823.html - USB-DAC с кнопками громкости и mute.
https://www.youtube.com/watch?v=9PcWuyjEuW0 - типа обзор.

https://sites.google.com/site/picorepla ... f-USB-DACs - нашел в этом списке.

SolarW
starter
Beiträge: 25
Registriert: 31.10.2016, 17:49

Re: Аудиоплеер для мультирума

Beitrag von SolarW » 01.02.2017, 15:40

Кстати греется апельсинка...
С наклеенным радиатором и в закрытом корпусе получается 51-54 градуса (по диагностике внутри системы).
Это нормально? Или предпринимать дополнительные шаги по охлаждению?

Benutzeravatar
instalator
guru
Beiträge: 1258
Registriert: 09.11.2014, 16:50
Wohnort: Барнаул
Kontaktdaten:

Re: Аудиоплеер для мультирума

Beitrag von instalator » 01.02.2017, 17:16

SolarW hat geschrieben:Кстати греется апельсинка...
С наклеенным радиатором и в закрытом корпусе получается 51-54 градуса (по диагностике внутри системы).
Это нормально? Или предпринимать дополнительные шаги по охлаждению?
да нормальная температура, на проц посмотри по даташиту рабочую температуру.
Высокий уровень Децибел вреден для здоровья!
Мой блог

MSapogov
professional
Beiträge: 126
Registriert: 13.08.2015, 07:23

Re: Аудиоплеер для мультирума

Beitrag von MSapogov » 01.02.2017, 17:42

SolarW hat geschrieben:
MSapogov hat geschrieben:PS: хотел сделать кнопки для управления к GPIO, но что-то sunxi (H3) никак не могу правильно прерывания обрабатывать. На малинке все в пол пинка делалось... -:(
https://ru.aliexpress.com/item/PCM2704- ... 05823.html - USB-DAC с кнопками громкости и mute.
https://www.youtube.com/watch?v=9PcWuyjEuW0 - типа обзор.

https://sites.google.com/site/picorepla ... f-USB-DACs - нашел в этом списке.
поддержка Вашей USB в picoreplayer для нашей опельсинки ничего не значит :-(
SSPND сигнал с Вашей PCM2704 кажется тоже можно задействовать для вавода усилка из спячки (стр 26, 28 даташита).

Если DAC Sabre , то все зависит чем у Вас управляется питание усилка, есть усилки которые управляются 0, я есть те которым нужна 1, чтобы включится.
ES9023 - на 16 ноге выдает "1" когда звука нет.
Вариантов несколько:
1. у меня используется обычный инвертор на биполярном транзисторе, под рукой был bc817 в корпусе sot23 и 2 резистора на 6,8к. В моем случае когда на 16 ноге "0", то на выходе транзистора будет "1" - это +5В, их я и подаю на усилок для пробуждения.
2. можно поставить оптрон вот так (нога 16 , резистор, светодиод оптрона, +3.3В). Тогда гогда на выходе будет "0", то оптрон будет открыт. Выход оптрона включать в соответствии с требованием усилка.

SolarW
starter
Beiträge: 25
Registriert: 31.10.2016, 17:49

Re: Аудиоплеер для мультирума

Beitrag von SolarW » 01.02.2017, 17:59

instalator hat geschrieben:да нормальная температура, на проц посмотри по даташиту рабочую температуру.
Поверил на на слово :-)

SolarW
starter
Beiträge: 25
Registriert: 31.10.2016, 17:49

Re: Аудиоплеер для мультирума

Beitrag von SolarW » 01.02.2017, 18:14

MSapogov hat geschrieben:нужна 1, чтобы включится.
ES9023 - на 16 ноге выдает "1" когда звука нет.
Вариантов несколько:
1. у меня используется обычный инвертор на биполярном транзисторе, под рукой был bc817 в корпусе sot23 и 2 резистора на 6,8к. В моем случае когда на 16 ноге "0", то на выходе транзистора будет "1" - это +5В, их я и подаю на усилок для пробуждения.
2. можно поставить оптрон вот так (нога 16 , резистор, светодиод оптрона, +3.3В). Тогда гогда на выходе будет "0", то оптрон будет открыт. Выход оптрона включать в соответствии с требованием усилка.
Вот тут то как раз и вопрос.
https://ru.aliexpress.com/item/2016-Hot ... 337774.htm - усилок взял такой.
И похоже ошибся в выборе - не вижу на нем никаких пинов для "пробуждения"
- вход аудио (3 пина)
- выход правого канала (2 пина)
- выход левого канала (2 пина)
- вход питания (2 пина)
Больше ничего нет...

SolarW
starter
Beiträge: 25
Registriert: 31.10.2016, 17:49

Re: Аудиоплеер для мультирума

Beitrag von SolarW » 01.02.2017, 18:43

SolarW hat geschrieben: https://ru.aliexpress.com/item/2016-Hot ... 337774.htm - усилок взял такой.
И похоже ошибся в выборе - не вижу на нем никаких пинов для "пробуждения"
- вход аудио (3 пина)
- выход правого канала (2 пина)
- выход левого канала (2 пина)
- вход питания (2 пина)
Больше ничего нет...
Хотя стоп
http://www.ab-log.ru/forum/viewtopic.ph ... =20#p24603 - вроде бы усилитель взял по ссылке рекомендованной "лучшими собаководами" :-)
Михаил, признавайтесь как вы его "будите" :-)

https://ru.aliexpress.com/item/ES9023-I ... 45889.html - саблю кстати тоже :-)
https://myl8test.files.wordpress.com/20 ... asheet.pdf - судя по даташиту шишнадцатая нога находится напротив первой.
Правильно понимаю что первая нога помечена "ямкой" на чипе (в даташите однозначного ответа не увидел)?

MSapogov
professional
Beiträge: 126
Registriert: 13.08.2015, 07:23

Re: Аудиоплеер для мультирума

Beitrag von MSapogov » 02.02.2017, 03:11

SolarW hat geschrieben: Михаил, признавайтесь как вы его "будите" :-)
"Элементарно Ватсон!"
Внимательно изучаем даташит на TDA7492, смотрим на плату и находим куда идет 20 нога (это и есть стендбай)... А на плате она идет через резистор 3К к 3.3В.
Делаем небольшую модернизацию... передвинув резистор в свободную сторону к 3.3В и на освободившуюся площадку подпаиваем проводок для управления питанием.
На ES9023 перерезаем MCLK (он все равно не используется) и вместо него делаем сигнал пробуждения для усилка.
Dateianhänge
IMG_20170126_193929.jpg
IMG_20170202_090028.jpg

VictorS
starter
Beiträge: 80
Registriert: 31.10.2016, 19:38
Wohnort: Беларусь

Re: Аудиоплеер для мультирума

Beitrag von VictorS » 02.02.2017, 06:07

А в какой корпус можно засунуть апельсину и DAC? В оригинальный полупрозрачный войдет?
Хотелось бы иметь приличный вид у такой сборки.
Усилок не нужен, так как буду подключать в av ресиверу.

Или если задача подавления шума усилителя в паузе не стоит, то не стоит заморачиватся с отдельным DAC?

MSapogov
professional
Beiträge: 126
Registriert: 13.08.2015, 07:23

Re: Аудиоплеер для мультирума

Beitrag von MSapogov » 02.02.2017, 07:56

VictorS hat geschrieben: Или если задача подавления шума усилителя в паузе не стоит, то не стоит заморачиватся с отдельным DAC?
Совершенно верно.
Если Вы только не хотите получить 24бит 192кГц звук.
Корпус любой, можно и стандартный.
Если к усилку можно подключить через HDMI, то и DAC никакой не нужен, для 24бит 192кГц звука.

SolarW
starter
Beiträge: 25
Registriert: 31.10.2016, 17:49

Re: RE: Re: Аудиоплеер для мультирума

Beitrag von SolarW » 02.02.2017, 10:32

VictorS hat geschrieben:А в какой корпус можно засунуть апельсину и DAC? В оригинальный полупрозрачный войдет?
Хотелось бы иметь приличный вид у такой сборки.
Испытываю некоторые сомнения что поместится...
Spoiler: Show hidden text
Bild
Zuletzt geändert von SolarW am 02.02.2017, 11:07, insgesamt 1-mal geändert.

SolarW
starter
Beiträge: 25
Registriert: 31.10.2016, 17:49

Re: Аудиоплеер для мультирума

Beitrag von SolarW » 02.02.2017, 11:05

MSapogov hat geschrieben: "Элементарно Ватсон!"
Ух ты! В картинках - это как раз для нас, чайников :-)
MSapogov hat geschrieben:Внимательно изучаем даташит на TDA7492,
Вот тут собственно и началась проблема - в виду слабой теоретической подготовки понимание даташитов не является моей сильной стороной... сходу понимаю в них только габаритные размеры да температурный режим :-)
MSapogov hat geschrieben:смотрим на плату и находим куда идет 20 нога (это и есть стендбай)... А на плате она идет через резистор 3К к 3.3В.
Делаем небольшую модернизацию... передвинув резистор в свободную сторону к 3.3В и на освободившуюся площадку подпаиваем проводок для управления питанием.
Ага, значит сняв радиатор это все проделывать надо.
"Сдвинув в сторону" - это типа остался на одной ноге висеть чтобы не потерялся на случай если назад запаивать?
MSapogov hat geschrieben:На ES9023 перерезаем MCLK (он все равно не используется) и вместо него делаем сигнал пробуждения для усилка.
Уууу... монтаж SMD... Чувствую что к комплекту мелких жал для паяльника придется еще и увеличительное стекло докупить...
Дорожка дремелем перебита?
MSapogov hat geschrieben:1. у меня используется обычный инвертор на биполярном транзисторе, под рукой был bc817 в корпусе sot23 и 2 резистора на 6,8к. В моем случае когда на 16 ноге "0", то на выходе транзистора будет "1" - это +5В, их я и подаю на усилок для пробуждения.
http://www.smd-component.ru/webcatalog/ ... code=08131 - правильно понимаю что два добавленных элемента с маркировкой 6801 это такие резисторы как по ссылке описаны?
http://www.s-manuals.com/ru/smd/6b - а вот тут собственно искомые транзисторы
К ножке MCLK разъема получается коллектор транзистора припаян и туда же через резистор приходит напруга?

MSapogov
professional
Beiträge: 126
Registriert: 13.08.2015, 07:23

Re: Аудиоплеер для мультирума

Beitrag von MSapogov » 02.02.2017, 11:43

SolarW
Резисторы на 6.8к и транзисторы просто осталось много от одного проекта, вот их и поставил.
Дорожка перерезана скальпелем.
По остальным вопросам - да.

SolarW
starter
Beiträge: 25
Registriert: 31.10.2016, 17:49

Re: Аудиоплеер для мультирума

Beitrag von SolarW » 02.02.2017, 15:12

Адаптированная инструкция автора темы под Orange Pi Zero с использованием штатного аудио-выхода.

https://www.armbian.com/orange-pi-zero/ - качаем Armbian (Debian Jessie)
Разворачиваем образ на SD карту (под Win использую SDFormatter и Win32DiskImager)
Вставляем карточку в апельсинку.
Подключаем локальную сеть, питание.
После старта смотрим на маршрутизаторе какой адрес она получила (по умолчанию используется имя хоста orangepizero)
Второй вариант это вооружиться USB-UART с уровнем 3.3в и подключиться к UART'у на апельсинке - 3 пина рядом с сетевой картой, по умолчанию туда привязана консоль и можно через терминальную программу наблюдать процесс загрузки/произвести начальную настройку.
С помощью вашего любимого SSH-клиента (puTTY?) подключаемся к апельсинке, входим по умолчанию с root / 1234
Сразу после входа требуют сменить пароль - меняем.
Поскольку медиаплеер это не сервер Пентагона дополнительного пользователя для работы не завожу, нажимаю Ctrl-C.
Учитывая что при входе настойчиво попросили перезагрузиться чтобы закончить процедуру растягивания корневого раздела на весь доступный объем SD-карты - перезагружаемся (reboot)
После перезагрузки и повторного входа обновляем систему:

Code: Alles auswählen

apt-get update
apt-get upgrade
Ставим дополнительных программ для комфортной работы

Code: Alles auswählen

apt-get install mc htop
С помощью программы nmtui (Network Manager Text User Interface) настраиваем параметры подключения к сети (Wired и/или Wi-Fi)
Смотрим что у нас с аудио устройствами

Code: Alles auswählen

root@orangepizero01:~# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: audiocodec [audiocodec], device 0: SUNXI-CODEC sndcodec-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: sndhdmi [sndhdmi], device 0: SUNXI-HDMIAUDIO sndhdmi-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: audiocodec [audiocodec], device 0: SUNXI-CODEC sndcodec-0 [] - это интересующий нас аудиовыход
Ставим squeezelite (тянет за собой пачку зависимых пакетов, поэтому вручную последнюю версию не стал)

Code: Alles auswählen

apt-get install squeezelite
Добавляем его в автозагрузку

Code: Alles auswählen

systemctl enable squeezelite.service
Смотрим доступные для squeezelite устройства вывода звука

Code: Alles auswählen

root@orangepizero01:~# squeezelite -l
Output devices:
  null                           - Discard all samples (playback) or generate zero samples (capture)
  default:CARD=audiocodec        - audiocodec,  - Default Audio Device
  sysdefault:CARD=audiocodec     - audiocodec,  - Default Audio Device
  dmix:CARD=audiocodec,DEV=0     - audiocodec,  - Direct sample mixing device
  dsnoop:CARD=audiocodec,DEV=0   - audiocodec,  - Direct sample snooping device
  hw:CARD=audiocodec,DEV=0       - audiocodec,  - Direct hardware device without any conversions
  plughw:CARD=audiocodec,DEV=0   - audiocodec,  - Hardware device with all software conversions
  default:CARD=sndhdmi           - sndhdmi,  - Default Audio Device
  sysdefault:CARD=sndhdmi        - sndhdmi,  - Default Audio Device
  dmix:CARD=sndhdmi,DEV=0        - sndhdmi,  - Direct sample mixing device
  dsnoop:CARD=sndhdmi,DEV=0      - sndhdmi,  - Direct sample snooping device
  hw:CARD=sndhdmi,DEV=0          - sndhdmi,  - Direct hardware device without any conversions
  plughw:CARD=sndhdmi,DEV=0      - sndhdmi,  - Hardware device with all software conversions
Правим настройки squeezelite (кому в каком редакторе привычней, кто-то может через WinSCP захочет редактировать)

Code: Alles auswählen

nano /etc/default/squeezelite
или

Code: Alles auswählen

mcedit /etc/default/squeezelite
или

Code: Alles auswählen

vi /etc/default/squeezelite
Можно прописать свое имя плееру (по умолчанию используется системное hostname которое настраивается через nmtui)

Code: Alles auswählen

SL_NAME="$(hostname -s)"
Указать звуковую карту для вывода звука

Code: Alles auswählen

SL_SOUNDCARD="default:CARD=audiocodec"
По желанию указать IP-адрес LMS (если не указывать будет искать автоматом в локальной сети)

Code: Alles auswählen

SB_SERVER_IP="192.168.x.y"
Запускаем squeezelite

Code: Alles auswählen

systemctl start squeezelite.service
Открываем управление LMS, видим появившийся плеер, запускаем воспроизведение - из колонок играет музыка.

К варианту с микшированием (чтобы одновременно могли играть звук более одной программы) попробую вернутся чуть позже - не до конца правильно пока понимаю что надо прописывать в asound.conf

VictorS
starter
Beiträge: 80
Registriert: 31.10.2016, 19:38
Wohnort: Беларусь

Re: Аудиоплеер для мультирума

Beitrag von VictorS » 03.02.2017, 06:55

SolarW hat geschrieben:Адаптированная инструкция автора темы под Orange Pi Zero с использованием штатного аудио-выхода.
....
а как по памяти - 512 хватает ?

Antworten