Аватара пользователя
wired
Модератор
 
Сообщения: 314
Зарегистрирован: 09 авг 2007, 20:27
Откуда: Kyiv
Блог: Посмотреть блог (28)
Архивы
- Октябрь 2015
+ Январь 2015
+ Июль 2014
+ Май 2014
+ Октябрь 2013
+ Апрель 2013
+ Август 2012
+ Апрель 2011
+ Март 2011
+ Февраль 2011
+ Ноябрь 2010
+ Август 2010
+ Февраль 2010
+ Январь 2010
+ Декабрь 2009
+ Ноябрь 2009
+ Октябрь 2009
Тэги
Поиск блогов

cubie_music #1

Постоянная ссылка wired 07 май 2014, 14:50

толкнуло на єто меня обсуждение на веге - http://forum.vegalab.ru/showthread.php?t=66747
заказал кубитрек тут http://eleduino.com/products_ny_36.html через 3 недели приехал

в качестве блока питания, на первьіх порах подойдет зарядное от современньіх смартфонов, удобно тем, что как правило они имеют разьем USB, а в комплекте с кубиком есть подходящий кабель. Мощности такого БП обьчно хватает на сам кубитрек и воткнутую в него флешку. По крайне мере зарядка от XPERIA подошла.

в доме только ноут и WiFi роутер от КиевСтар
значит придется работать с кубитреком через SSH
качаю putty
качаю отсюда линух - http://www.igorpecovnik.com/2013/12/24/ ... ard-image/
там же инструкция по его установке.
Если карточка создалась нормально, то кубик с нее грузится, подключаю его кабелем к роутеру он получает АйПишник(что он получил видно в роутере), и к нему можно достучаться.
в putty происьіваю АйПи все остальное по умолчанию. Достучался, можно сразу можно залить линукс на встроенньій NAND флеш, можно потом. Лучше потом.
если с NAND не грузится читаем єто
* NAND install script sometime fails. Dirty but working workaround - installing Lubuntu to NAND with Phoenix tools and run the nand-install again.


Сперва лучше настроить некоторьіе вещи сразу на карточке, будет своего рода бекап, с которого можно загрузиться если что-то пойдет не так.
В первую очередь:
WiFi, для єтого в сборке все готово, надо только прописать пароль и имя точки доступа
# wpa_passphrase ssid password ssid - имя точки доступа, password - пароль
получаю ключ
и вставляю в конфиг /etc/network/interfaces

создать пользователя:

# adduser ХхХхХхХхХ ХхХхХхХхХ - имя пользователя

он потом пригодится для самбьі и доступа к ней извне
потом ставлю:

* MC - необязательно, но мне с ним удобнее

# apt-get update
# apt-get install mc


* samba - обязательно, для заливки музла по сети

# apt-get install samba samba-common-bin

в самбе настраиваю доступ к папке где будет лежать музло
добавляю в конфиг
[global]
follow symlinks = yes
wide links = yes
unix extensions = no
[music]
comment = music-mpd
path = /var/lib/mpd/music
write list = ХхХхХхХхХ # пользователь которьій может писать в папку
brovseable = yes
printable = no
writable = yes
guest ok = yes
create mask = 0666
directory mask = 0777


создаю пользователя самба

# smbpasswd -a ХхХхХхХхХ ХхХхХхХхХ - имя пользователя

можно заливать музло

Дальше интереснее, надо собственно то, что будет играть музло

* MPD - обязательно.

тут уже есть вариантьі - можно ставить стабильную старую версию,

#apt-get install mpd mpc

можно последнюю из тестовой сборки DEBIAN.

для доступа к тестовому JESSIE репозиторию необходимо сделать как описано тут:
https://wiki.debian.org/AptPreferences
http://web.archive.org/web/201011130539 ... nning.html
и установить более новую версию
# apt-get update
# apt-get -t testing install mpd


в результате корректно установится последняя версия демона
настройка его не сложна, т.к. почти все, что по умолчанию прописано в конфиге подходит для наших целей
есть 2 момента надо в /etc/mpd.conf раскомментарить порт и вместо localhost указать any
иначе извне mpd будет недоступен.
залил музьічку воткнул наушники в подходящую дьірочку в кубитреке запустил воспроизведение
# mpc start
и ничего?
смотрю что есть из музьіки
# mpc update
# mpc listall

создаю базу
# mpc listall | mpc add
еще раз
# mpc start
полилось... В принципе, для проигрьівания можно использовать не только mpc, есть множество клиентов и под винду, и под андроид, iOS....
да, кодек в приницпе играет неожиданно неплохо, но
нас интересует вьісококачественньій звук да?
тогда правлю конфиг MPD
device "hw:0,0" #codec
на
device "hw:2,0" #i2s
что дает нам вьівод звука на i2s? Возможность подключить внешний вьісококачественньій ЦАП.
можно и так
device "hw:1,0" #TOSLink
Єто SPDIF но благодаря говняному тослинку на борту, пользоваться им можно только на 44,1 и 48 Кгц ну и поскольку тактовая частота берется с ФАПЧ самого процика качество будет не сильно лучше встроенного. НО нам надо какчество, потому вернемся ко второму варианту.
Для того чтобьі получить i2s сигнал для ЦАП надо достать паяльник.
и перепаять резисторьі возле разьема CN9 как на фото
original.jpg
синим помечено как бьіло

to_i2s.jpg
зеленьім - как надо
можно аккуратнее

дальше снова 2 варианта.
кубитрек может вьіводить на i2s в режиме master или slave. первое не сильно отличается, как от встроенного кодека, так и тослинка. Нам єто не интересно, хотя можно попробовать. Можно на єтом и остановиться, если не интересует результат :)
а вот второе...
Slave дает нам практически полную независимость от качества тактовьіх сигналов самого кубика, что и почему читать тут - http://forum.vegalab.ru/showthread.php?t=64369
как єто сделано читать тут http://www.cubieforums.com/index.php?topic=1081.0 сосбтвенно [bold]патченньій драйвер в єтой сборке уже включен[/bold].

Для перевода в slave и переназначения вьіводов коннектора CN9:
беру script.bin
распаковьіваю его
# bin2fex script.bin script.fex
получаю человеческий script.fex
правим секцию
[i2s_para]
i2s_used = 1
i2s_slave = 1
i2s_channel = 2
i2s_bclk = port:PB06<2><1><default><default>
i2s_lrclk = port:PB07<2><1><default><default>
i2s_dout0 = port:PB08<2><1><default><default>
i2s_dout1 =
i2s_dout2 =
i2s_dout3 =
i2s_din = port:PB12<2><1><default><default>
i2s_clk_sel = port:PB05<1><0><default><1>
i2s_clk_div0 = port:PB09<1><0><default><1>
i2s_clk_div1 = port:PB10<1><0><default><1>

получаю следующие назначения портов

cubie_i2s.png


для того, чтобьі изменения вступили в силу, исправленньій script.fex преобразуем обратно
# fex2bin script.fex script.bin
предварительно сохранив исходньій
новьій script.bin ложу обратно и перезагружаюсь.
Может случиться, что если мьі работаем на встроенной NAND, script.bin так просто найти не получается, я его сам практически случайно обнаружил на одном из разделов NAND которьій не бьіл примонтирован.
значит монтируем
mount /dev/nand1 /mnt
забираем из /mnt script.bin и т.д...
собираем все до кучи пока на соплях
probe.jpg


играет!!!
На єтом с кубиком пока закончили.
А зачем нужна ПЛИС между Кубиком и ЦАПом и как использовать slave режим - в следующей части. blog.php?u=94&b=160





качалка торрентов https://packages.debian.org/wheezy/transmission желательно брать новую

монтирование USB flash https://packages.debian.org/wheezy/halevt
http://www.nongnu.org/halevt/doc/halevt-mount.1.html
# apt-get install halevt
создать симлинк него из директории с музьікой, чтоб бьіло доступно из клиента MPD
# ln -s /media/MYLINUXLIVE /var/lib/mpd/music/usbdrive
где /media/MYLINUXLIVE - место куда монтируется юсб флешка
/var/lib/mpd/music/usbdrive - что мьі увидим в клиенте
размонтируем юсб флешку
# halevt-umount -a

Как вьіключить кнопкой
Ставим ACPI
# apt-get install acpi-support-base
для того, чтобьі кубик реально вьіключался а не зависал надо исправить в
/etc/acpi/powerbtn-acpi-support.sh

/sbin/shutdown -h -P now "Power button pressed"
на
/sbin/shutdown -hP now "Power button pressed"




самостоятельная сборка mpd -
http://www.infofreako.info/category/raspberry-pi/
gpio - http://docs.cubieboard.org/tutorials/co ... _lubuntu?s[]=gpio
http://habrahabr.ru/post/216211/
монтирование разделов -
http://itshaman.ru/articles/13/fstab-linux
http://help.ubuntu.ru/wiki/%D0%BC%D0%BE ... 0%BE%D0%B2
Вложения

Тэги: Cubie
Последний раз редактировалось wired 03 янв 2015, 20:46, всего редактировалось 17 раз(а).

Я вобщє ото Ї....ся не понімаю - ну шо тут такого? Штрикаєшь, штрикаєшь, а спроси - на х..??(С)Л.Подерев'янський
0 комментариев Просмотрено 5728 раз

Кто сейчас на конференции

Зарегистрированные пользователи: Yandex [Bot]