Рукоблудства пост.
Подключение DAC ADAU1701 к Orange Pi PC и сопутствующие проблемы.
По мотивам
mySKU.me/blog/diy/72923.html
Давно купил OPI в официальном магазине
https://aliexpress.ru/item/item/32807985615.html
Брал с блоком питания.
После почти 2-х лет, блок стал свистеть. Но пока работает.
О плате
linux-sunxi.org/Xunlong_Orange_Pi_PC
Так как, купить плату от CHIPDIP не мог, купил ADAU1701 на алике.
Пришла плата с ADAU1401
Софт и инструкцию по программированию смотрите в оригинальном посте
mySKU.me/blog/diy/72923.html (спасибо Gdenich!)
Подключение:
Для сохранения прошивки надо замкнуть wp и gnd на краю платы ADAU1701 / ADAU1401 во время прошивки. См. «Write latest compilation to E2PROM» в инструкции.
Версия Volumio2 2.806 — брал здесь:
yadi.sk/d/nu0jImMZBBTFkA
Оригинальный тред:
community.volumio.org/t/volumio-2-on-orange-pi-boards/8353
Проект ADAU1701_I2S_Test.dspproj для SigmaStudio здесь:
github.com/MKSounds/ADAU1701-I2S-Audio-Driver-for-Raspberry-Pi
Подключение к OPI:
Настройки Volumio2
1. DAC
Если не так, то зайти по SSH (volumio:volumio) и убедиться, что в файле /boot/armbianEnv.txt
user_overlays=sun8i-h3-i2s0-slave
SSH включить — см. ниже.
cat /boot/armbianEnv.txt
armbianEnv.txt
verbosity=1
logo=disabled
console=both
disp_mode=1920x1080p60
overlay_prefix=sun8i-h3
overlays=i2c0 analog-codec
rootdev=/dev/mmcblk0p2
rootfstype=ext4
user_overlays=sun8i-h3-i2s0-slave
usbstoragequirks=0x2537:0x1066:u,0x2537:0x1068:u
extraargs=imgpart=/dev/mmcblk0p2 imgfile=/volumio_current.sqsh
Поменять, если нет и перезагрузить.
nano /boot/armbianEnv.txt
user_overlays=
sun8i-h3-i2s0-slave
По началу не работало с микшером, но сейчас вот так:
Это обязательно!!!
2. SSH
http_://volumio/dev/ «dev» набрать руками.
SSH->ENABLE
Ну и не забудьте отключить после модификаций, чтоб не плодить дыр в безопасности.
3. Решаем проблему AirPlay, так как shairport-sync не поддерживает 48kHz, используем передескретизацию alsa
Для этого меняем 2 файла:
volumio@volumio:~$ cat /volumio/app/plugins/music_service/airplay_emulation/shairport-sync.conf.tmpl
shairport-sync.conf.tmpl
general =
{
name = "${name}";
};
diagnostics =
{
log_verbosity = 0;
};
alsa =
{
//output_device = "${device}";
output_device = «rate_convert»
${buffer_size_line}
};
sessioncontrol =
{
allow_session_interruption = «yes»;
run_this_before_play_begins= "/usr/local/bin/volumio startairplayplayback";
run_this_after_play_ends = "/usr/local/bin/volumio stopairplayplayback";
run_this_before_entering_active_state="/usr/local/bin/volumio airplayactive";
run_this_after_exiting_active_state="/usr/local/bin/volumio airplayinactive";
};
metadata =
{
enabled = «yes»;
include_cover_art = «no»;
//pipe_name = "/tmp/shairport-sync-metadata";
//pipe_timeout = 5000;
socket_address = «127.0.0.1»;
socket_port = 5555;
};
nano /volumio/app/plugins/music_service/airplay_emulation/shairport-sync.conf.tmpl
секция alsa:
output_device = «rate_convert»
и
cat /etc/asound.conf
asound.conf
pcm.rate_convert {
type rate
slave {
pcm «hw:0,0»
rate 48000
format S24_LE
}
}
pcm.softvolume {
type plug
slave.pcm «softvol»
}
pcm.softvol {
type softvol
slave {
pcm «plughw:0,0»
}
control {
name «SoftMaster»
card 0
device 0
}
max_dB 0.0
min_dB -50.0
resolution 100
}
nano /etc/asound.conf
pcm.rate_convert {
type rate
slave {
pcm «hw:0,0»
rate 48000
format S24_LE
}
}
Внимание!!! после сохранения настроек громкости, файл /etc/asound.conf будет переписан!
Можно внести изменения в код Volumio или не менять настройки после изменений файла.
4. NSA320
Ну и настройки шары, у меня заработало только после установки vers=1.0
Ещё есть допустимое значение vers=2.0, но не в моём случае.
И хотя этот пост скорее решение тех. проблем, опишу что умеет:
Играет музыку с:
USB флешки
сетевого диска
AirPlay
upnp
есть плагины для сервисов
80s80s Radio 51 80s80s Radio Plugin for Volumio 2
LastFM Plugin to scrobble music played in Volumio 2.x to LastFM
LastFM Another plugin to scrobble music played in Volumio 2.x to LastFM
Logitech Media Server (LMS) plugin Installs the latest known working version of LMS and needed CPAN fixes.
Nanosound CD Nanosound CD playback and extraction plugin.
Pandora Plugin Plugin that connects to the Pandora service.
Personal Radio (Korean stations) This music service plugin provides Korean radio(KBS, MBC) and Linn radio.
Phish.in Plugin to play over 1,500 live Phish audience recordings from Phish.in.
Podcast Plugin Playing a podcast item and add or delete a podcast RSS feed
Radio ParadiseThe Radio Paradise plugin allows to play their streams — including the FLAC version — within volumio.
Radio Nowy Swiat Plugin to stream Radio Nowy Swiat 13
Roon Bridge Stream music from Roon to Volumio
Spotify To use Spotify directly in Volumio
Squeezelite Squeezelite client
Volspotconnect To create a Spotify connect device in Volumio based on Spotify-connect-web
volspotconnect2 To create a Spotify connect device in Volumio but based on librespot
Volusonic Plugin that allows any subsonic API (<1.13.0) capable server ( subsonic / airsonic / etc…) to be used as backend for Volumio.
Добавлю ссылку на ADAU1701/ADAU1401 в поиске:
aliexpress.ru/wholesale?catId=0&initiative_id=SB_20201203051029&SearchText=adau1401
*******************************************************************************************
Добавлю про IR:
LIRC не заработал:
с dev/lirc0 не удалось обучить.
/dev/uinput — отсутствует
но по
заветам удалось использовать
ir-keytable
apt-get install ir-keytable
sudo ir-keytable
Found /sys/class/rc/rc0/ (/dev/input/event1) with:
Driver sunxi-ir, table rc-empty
Supported protocols: NEC RC-5 RC-6 JVC SONY SANYO LIRC RC-5-SZ SHARP XMP other
Enabled protocols: NEC LIRC
Name: sunxi-ir
bus: 25, vendor/product: 0001:0001, version: 0x0100
Repeat delay = 500 ms, repeat period = 125 ms
проверить по какому протоколу работает пульт (из Supported protocols):
ir-keytable -p NEC -t
event type EV_MSC(0x04): scancode = 0x70707
если scancode выводит — значит декодирует.
далее, находим в сети или сами создаём файл в директории /etc/rc_keymaps/
/etc/rc_keymaps/samsung
# table my_samsung, type: NEC
0x70707 KEY_VOLUMEUP
0x7070b KEY_VOLUMEDOWN
имена кнопок для TRIGGERHAPPY(см.ниже)
меняем содержимое /etc/rc_maps.cfg на:
* * /etc/rc_keymaps/samsung
запускаем ir-keytable -t -w /etc/rc_keymaps/samsung
event type EV_KEY(0x01) key_down: KEY_VOLUMEUP(0x0001)
event type EV_SYN(0x00).
event type EV_MSC(0x04): scancode = 0x70707
event type EV_SYN(0x00).
event type EV_KEY(0x01) key_down: KEY_VOLUMEUP(0x0001)
event type EV_SYN(0x00).
event type EV_KEY(0x01) key_up: KEY_VOLUMEUP(0x0001)
далее, в /etc/rc.local
/usr/bin/ir-keytable -a /etc/rc_maps.cfg
остальное сделает демон
triggerhappy
он запущен с такими настройками:
cat /etc/triggerhappy/triggers.d/audio.conf
#VOLUMIO TRIGGERHAPPY CONFIGURATION FILE
#MUTE TOGGLE
KEY_MIN_INTERESTING 1 /usr/local/bin/volumio volume toggle
#VOLUME UP
KEY_VOLUMEUP 1 /usr/local/bin/volumio volume plus
#VOLUME DOWN
KEY_VOLUMEDOWN 1 /usr/local/bin/volumio volume minus
#PLAY PAUSE TOGGLE
KEY_PLAYPAUSE 1 /usr/local/bin/volumio toggle
#NEXT
KEY_NEXTSONG 1 /usr/local/bin/volumio next
#PREVIOUS
KEY_PREVIOUSSONG 1 /usr/local/bin/volumio previous
Интересуюсь этой темой, потому есть несколько вопросов:
1. К плате подключен свой дисплей? Если да, то какие разрешения поддерживаются?
2. Скриншоты в статье это то, как будет выглядеть отображение на дисплее?
3. Как выглядит собственно режим воспроизведения, поиск файлов и т.п.?
4. Как прикрутить аппаратное управление, например кнопки или энкодер?
2. Скрины с http сервера, на компе в браузере. Есть нативные приложения для телефонов (не пробовал)
3. Через броузер пока. Можно вроде кнопками с плугинами
www.dastereo.ru/t/volumio-audifilskij-pleer-ustanovka-nastrojka-i-poisk-luchshego-zvuchaniya/28599
4. community.volumio.org/t/volumio-plugins-collection/38741
GPIO Buttons Controller A easy way to use and confgure GPIO
GPIO Control GPIO output control plugin for Volumio 2.
wiki.analog.com/resources/tools-software/sigmastudio/toolbox/gpioconditioning/rotaryvolume
На HDMI выдаёт консоль с приглашением логина
воспроизведение примерно выглядит так —
дисплей 5", простейший, это только Proof of Concept, потом будет IPS.
поиск через дисплей с тачем практически не реализован (наэкранной клавиатуры нету), возможно только выбирать то что уже есть в библиотеке (либо через web)
кнопки, енкодеры, IR пульты подключаются (но удобнее например управлять опять таки через веб или мобильное приложение)
и да — лучше подключать USB DAC-и с гальванической развязкой
Так чтобы без всяких управлений со смартфона и т.п.
в последних версиях они сделали нормальное управление через тач (пролистывание через пролистывание а не протягивание скролера). если подсоединить нормальный дисплей с емкостным тачем (а не резистивным как у меня) — вполне можно управлять.
у меня просто там еще заведен TIDAL аккаунт — а вот для него нужна уже и клавиатура (хотя опять таки — если выбирать из того что прописано и в TIDAL библиотеке — то она не нужна, а добавлять новые альбомы/артистов — можно и через веб интерфейс)
(насчет вывода через I2S — насколько помню что апельсин что малина достаточно плохо работают как слейв)
у самого кубитрек валяется бесхозный, тоже думал его прикрутить, удобно что SATA есть — но с volumio на нем есть проблемки — новых билдов никто не строит, те билды что были (и что я сам пробовал собрать) — были с некоторыми проблемами — не хотели подтягивать фотки артистов, с топовыми хайрезами были проблемы и еще что-то… а потом когда завелся TIDAL и оказалось что для него есть плагины на volumio только у тех плат что они официально поддерживают — решил что и малинку можно потратить на это дело (взял даже платки для msata и 2*sata для малинки но пока не пригодились, играет музыку с NAS-а, может в финальный билд таки и пойдут)
По сути хватило бы иметь основную плату, дисплей и ПО чтобы оно как-то работало совместно, по мере необходимости мелочь можно и спаять…
SoM Freescale (NXP) i.MX6UL(L/X), TI AM335x — эти раз в 10 дороже, но уже с ОЗУ (256/512 МБ) и флэш (256/4096 МБ) + все питальники на борту, и хорошей поддержкой от производителя.
ESP32, на худой конец (PICO-D4 даже внешняя флэш не нужна и кварц встроенный)! Самый жЫрный минус (ИМХО) — отсутствие USB-host. Именно эту тему сейчас копаю, но уже поглядываю в сторону первых двух…
www.coliniuliano.ca/projects/volume/ вот такой, думаю, можно
А так, конечно, в сети больше инфы с малиной
они подойдут?
Если они уже в наличии, есть смысл найти под них хоть какой-то работающий проект, да хоть мини-НАС, настроить и забыть как дурной сон. Ну или начинать красноглазить по крупному. Я к сожалению, «уже слишком стар для всего этого дерьма».
Серьезно, если хочется удобный музцентр, то оптимально на сегодня — любая из малин, волумио с плагинами, ЦАП — по вкусу. У меня И2С на зерошке, УСБ на однешке, и одна зерошка — в поиске. Т.е там обычно подключен И2С, но периодически я пытаюсь подружить ее с любимым тут девайсом:
Кроме БТ и линейного, железка изображает из себя внешнюю УСБ-карту. И замечательно видится в волумио на зерошке. Причем сама малинка без проблем питается от этого же разъема.
Но в какой-то момент вылезло одно но — у меня такое ощущение, что девайс рэндомно уходит по своим блютузовым делам, и перестает изобразать из себя звуковушку. Малинка его при этом теряет, и просит пинка.
Так что поинтересуюсь вслух: кто-нибудь с такой фигней сталкивался, и можно ли это вылечить?
Для меня сейчас существует два разумных аудиопроекта — это волумио на малине, и бюджетный КаРадио на ЕСП32.
Зеленею от надежды, что кто-нибудь воплотит на последней спотифай-клиента. Мощности ей должно хватить.
в 21 веке когда уе Алиса, Сири и Хей, Гугл умеют ваш спотифай включать
— статья рассчитана на подготовленных читателей бла бла…
Ну и под спойлер закинуть что это и с чем едят. Иначе любители диспенсеров для ж. мыла и перьевых авторучек опять начнут посылать на хабр. От меня, конечно +
«я»DIY?«Я»DIY бывают разные! Одни самолетики на стонках делают, а другие Большо́й адро́нный колла́йдер из г-а и палок в гараже строят.:)
Тут периодически встречаются DIY-проекты по схеме «Смотрите: я скачал в thingiverse и напечатал!» или «Смотрите: как я с помощью четырёх саморезов прикрутил N к M» или даже «Смотрите: как я однажды вбил гвоздь в стену».
Поэтому упоминание о подготовленности, наверное, выглядит разумным…
DIY первого разряда
DIY второго разряда
Будем сдавать экзамены?
Каждый решает сам, плюс саморазвитие ни кто не отменял.
А без неё можно, если аналоговый выход не нужен и достаточно SPDIF?
Ссылку не даю — не помню магазин.
Скорее всего будут работать все девайсы на I2S.
Для SPDIF надо https://aliexpress.ru/item/item/32971114907.html (но не факт что заработает без настроек или вообще)
applecam.ru/converters/hdmi-dk088d.html
Конвертер сигнала HDMI в сигнал HDMI с выводом звука (SPDIF / RCA 3.5mm)
Добавил в пост
Отсюда: www.hifinews.ru/reviews/details/1191.htm
Я помню, посоле детектора спаял конструктор Юность 101
А потом к нам в провинциальный магазин попала Юность 105, то же спаял. :)
Только зачем? Если можно даже плату по своей схеме заказать с пайкой сразу.
Удобно же.
— Ну круто,
На любой TV Box за $20 можно вкорячить куеву тучу медиацентров без всяких танцев с бубном. И отправить звук по spdf или hdmi на нормальный ресивер. Вот мне, как и киричу более интересно автономное устройство со своим экраном и полнофункциональным тачем. Но нет…
У меня были оба этих конструктора, многое я бы отдал чтобы вернуться обратно.
Мой конструктор выглядел как-то так:
Сейчас всё сверху, через голову, мозгами обдумать…
Скушно…
всё.
Недавно установил на свой Orange Pi Logitech Media Server поиграться, может и эта штука пригодится?
цифро-аналоговый преобразователь (англ. digital to analog converter, сокр. DAC) — электронное устройство для преобразования цифрового сигнала в аналоговый.
для звука-пригодится
www.youtube.com/watch?v=aj9GM-qTkCE&list=PLjkwj9_uPkiW69zIlsFTN0uhExRHNKcov
Спасибо!)
PS еще онда интересная и, ИМХО, более функциональная реализация на Logitech Media Server ссылка
Using an IR Remote with Volumio
community.volumio.org/t/using-an-ir-remote-with-volumio/1779
а у OPI PC встроенный приёмник есть — остаётся настроить.
Как бы не банально звучало — решение проблем я нашёл поиском в гугле. Что мешает, если что-то не понятно, спросить не здесь, а в гугле?
Тем более активность здесь со временем сойдёт на нет, и ответа можно и не дождаться.
apt-get install ir-keytable
sudo ir-keytable -c -p NEC -t
и вот уже пульт выдаёт:
Testing events. Please, press CTRL-C to abort.
1607003574.311000: event type EV_MSC(0x04): scancode = 0x4002
1607003574.311000: event type EV_SYN(0x00).
1607003574.362377: event type EV_MSC(0x04): scancode = 0x4002
1607003574.362377: event type EV_SYN(0x00).
1607003596.105530: event type EV_MSC(0x04): scancode = 0x4002
Буду дальше смотреть как настроить
Поэтому Aqara magic cube -> Zigbee2mqtt -> Homeassistant -> LMS сервер -> сетевые плееры на А5-V11 c USB DAC
Или Squeezer
Подскажите, а что у вас с колонками, активные или пассивные? в любом случае, как питание динамиков организовано? Думаю к вашей связке можно прикрутить еще релюшку, которая будет отключать динамики, дабы они не шипели по ночам. С таймерами и будильникаим думаю проблемы нет. У меня очень прижилась RPi Zero W с PiFi DAC с дистрибутивом piCorePlayer в качестве сетевого плеера, но управление, опять же, через web.
Раньше были такие устройства, назывались музыкальные центры. Было удобно включать радио просто клацнув одну кнопку на пульте, завести будильник, проснуться под любимую радиостанцию, и быть уверенным что уснув, музыка выключиться по таймеру. Сейчас вон какой огород городить надо))
Сейчас все переделано под проводной GE готовится к установке в новом помещении.
Громкость логично 'крутится' вращением кубика по- и против часовой стрелки. Пауза — постукивание, next track — опрокидывание набок.
Акустика пока пассивная усилок внешний неуправляемый. Второй комплект собираю активный и там есть вход отключения, можно насчёт авто-стендбай подумать: lms вроде бы умеет пробрасывать сигнал управления, а на А5-V11 есть пара GPIO.
ALLO Katana + Volumio
Только сегодня пришлось реанимировать — карта памяти сдохла через полтора года
Уже опять играет.
Хочу теперь Rune Audio попробовать, новую карту заказал
У самого на малинке volumio крутиться
без 10 фоток коробок и весов
мне за половину досталась но даже за полную стоимость оно того стоило.
Я на нее перескочил с такого вроде бы солидного гроба как Pioneer N-70A-K стоимостью в две таких прозрачных хрени.
Когда я их рядом друг с другом подключил мне стало больно за бездарно прожитые годы :)
тянуть по капле...).
Ни плюса, ни минуса не будет.
===============
Лично мне этот обзор дал сигнал того, что со Gdenich
всё в порядке...-жив, курилка!
А то волноваться уже начал...-ни обзоров, ни комментариев.
;-))
У каждого своя манера изложения, иногда непростая для восприятия, но я зачастую стараюсь не обращать внимания на стиль повествования. Особенно когда тема интересная, и в материале есть полезная информация.
Я, например, в своей реализации не стал состыковывать ADAU1701 c Малиной по I2S из-за имеющихся проблем с shairport-sync (Airplay) и частотой 48kHz. Автор пошел дальше, и добил этот момент. Теперь мне тоже будет чем позаниматься ).
Хотя честно, я ушел от использования домашнего сервера с музыкой, Малина сейчас работает только как Airplay ресивер. Яндекс Музыка и Spotify сделали свое дело. Я ушел от Lossless форматов, локальных коллекций, и стал прекрасно себя чувствовать.
Никаких трат времени на скачку новой музыки, предварительного прослушивания и селекции, каталогизации, правка тегов, обложек… Нужная музыка сама к тебе лезет, всегда под рукой любимые исполнители, всегда можно переслушать что-то старое, открыть что-то новое в этом же стиле, одно удовольствие.
Для себя решил, что вся гонка за Lossless форматами, Hi-Res и прочая жуть — только если это хобби или увлечение, или при наличии свободного времени, и которое еще пока не возможно пустить на что-то другое. Потом начинаешь просто слушать музыку, в принципе для этого она и существует.
===============
Со мной всё нормально, обзоров не так много, так как подходящих работ для представления не хватает, очень много было в этом году смежных задач и проектов, в мастерской проводил мало времени.
Всё смещается на следующих год. Как подойдет время, начну с нового распиловочного стола, организации мастерской, пары устройств. Идей море, а времени сейчас на всё не хватает. Но план есть, буду выкладывать работы также здесь, и на другом ресурсе, над которым сейчас работаю.
Руки уже просятся попилить и шлифовать, хотя один из пальцев руки, после недавней встречи с новой злой циркулярной пилой, говорит, что надо первоначально проработать все моменты связанные с техникой безопасности, пересмотреть конструкцию и подход работы на распиловочном столе. Буду делать, о деталях расскажу.