Персональный "last.fm" на основе Rapsberry Pi
Неоднократно писал о недавно приобретенном микрокомпьютере: рассказывал о железе, установленной на него операционной системе, внешнем виде. Но ведь вещь покупалась для полезного использования, а не только для экспериментов. Вот об этом пойдет речь.
В применении RPi я не оригинален: брал его для организации мультимедийного центра, точнее говоря для проигрывания музыки. Фильмы смотрю редко (жаль времени), а музыку можно слушать между делом. Чем не устраивали стандартные компьютерные решения? Шумят и греются. Даже устройство на Intel Atom раскаляется как утюг. Я, видите ли, большой эстет: не могу одновременно наслаждаться музыкой и наносить вред и так уже безнадежно испорченному климату. А RPi потребляет всего пару ватт, не греется, не шумит, т.е. его можно держать постоянно включенным. Это значит, что не нужно загрузок-перезагрузок. Снял с паузы — и музыка полилась с того места, на котором была остановлена.
В качестве проигрывателя был выбран mpd. Адекватнейшая вещь, скажу я вам. Паразитирует на ffmpeg (посему поддерживает все вообразимые форматы), но дело свое (проигрывание музыки) делает очень профессионально. Тут тебе и плейлисты, и поиск по тэгам, и метки. Всё, что положено иметь современному проигрывателю. Поскольку использую я Slackware, пришлось mpd собирать из исходников, благо никаких препятствий для этого нет. Привожу также свой бесхитростный конфиг mpd:
Для управления сим демоном нужен какой-нибудь клиент. В моем случае это Mpdroid, установленный на смартфон. В его лице сбылась вековая обломовская мечта: лежать на диване и переключать музыку, регулировать громкость, читать информацию о текущих композициях, так сказать, легкими движениями пальцев.
Клиентов, впрочем, много на любой вкус. Давайте лучше остановимся на паре особенностей конфигурации сервера. Во-первых, музыку можно «гнать» одновременно на несколько выходных устройств. В моем случае это ALSA, т.е., в конечном итоге, стандартный 3,5 мм аудиовыход. А вот на сокет, позволяющий слушать музыку удаленно через браузер, вывести не получилось: RPi не успевает ее перекодировать, хотя более мощный компьютер легко с этим справляется. Так что что бы не говорили о фантастических возможностях Rapsberry, а чудес не бывает: мощность его весьма ограничена. Поэтому часть конфига про сокет закомментирована.
Самые внимательные заметили, наверно, в конфиге слово yadisk. Да, музыку тяну внаглую, прямо из Интернета, со своего Яндекс-диска. Он у меня 20 Гб, так что репрезентативную выборку из своей 320 Гб музыкальной коллекции вполне вмещает. Почему не задействовал портативный жесткий диск? А я и задействовал поначалу, но он, гад такой, постоянно вращается и разогревается до температуры 40 градусов. Даже когда музыка молчит. Никакими hdtools'ами остановить его не получается. Видимо, mpd держит открытыми какие-то файлы. А ведь одним из начальных условий было свести потребление энергии к минимуму. Вот и решил воспользоваться «облачным» хранилищем, если Яндекс-диск можно так назвать.
Для монтирования Яндекс-диска используется davfs2. Никаких сложностей с ее монтированием не обнаружилось, кроме, разве что, той, что при обесточивании RPi сбрасывает время и после загрузки там всегда 1970-01-01. Сертификат защищенного соединения в связи с этим признается недостоверным и автомонтирования не происходит. Поэтому перед монтированием следует синхронизировать время по сети с каким-нибудь ntp-сервером.
Вот, вроде, и всё. Думаю, изложенных здесь и в предыдущих материалах сведений должно хватить для того, чтобы любой желающий линуксоид собрал что-то подобное.
В применении RPi я не оригинален: брал его для организации мультимедийного центра, точнее говоря для проигрывания музыки. Фильмы смотрю редко (жаль времени), а музыку можно слушать между делом. Чем не устраивали стандартные компьютерные решения? Шумят и греются. Даже устройство на Intel Atom раскаляется как утюг. Я, видите ли, большой эстет: не могу одновременно наслаждаться музыкой и наносить вред и так уже безнадежно испорченному климату. А RPi потребляет всего пару ватт, не греется, не шумит, т.е. его можно держать постоянно включенным. Это значит, что не нужно загрузок-перезагрузок. Снял с паузы — и музыка полилась с того места, на котором была остановлена.
В качестве проигрывателя был выбран mpd. Адекватнейшая вещь, скажу я вам. Паразитирует на ffmpeg (посему поддерживает все вообразимые форматы), но дело свое (проигрывание музыки) делает очень профессионально. Тут тебе и плейлисты, и поиск по тэгам, и метки. Всё, что положено иметь современному проигрывателю. Поскольку использую я Slackware, пришлось mpd собирать из исходников, благо никаких препятствий для этого нет. Привожу также свой бесхитростный конфиг mpd:
#port "6600"
music_directory "~/yadisk/Музыка"
playlist_directory "~/.mpd/playlists"
db_file "~/.mpd/mpd.db"
log_file "~/.mpd/mpd.log"
bind_to_address "any"
follow_outside_symlinks "yes"
follow_inside_symlinks "yes"
sticker_file "~/.mpd/sticker.db"
password "[email protected],add,control,admin"
audio_output {
type "alsa"
name "MPD ALSA"
device "hw:0,0"
format "44100:16:1"
mixer_type "software"
mixer_device "default"
mixer_control "PCM"
}
#audio_output {
# type "httpd"
# name "MPD HTTPD"
# encoder "vorbis"
# port "8067"
# bitrate "128"
# format "44100:16:1"
# bind_to_address "10.10.33.77"
#}
Для управления сим демоном нужен какой-нибудь клиент. В моем случае это Mpdroid, установленный на смартфон. В его лице сбылась вековая обломовская мечта: лежать на диване и переключать музыку, регулировать громкость, читать информацию о текущих композициях, так сказать, легкими движениями пальцев.
Клиентов, впрочем, много на любой вкус. Давайте лучше остановимся на паре особенностей конфигурации сервера. Во-первых, музыку можно «гнать» одновременно на несколько выходных устройств. В моем случае это ALSA, т.е., в конечном итоге, стандартный 3,5 мм аудиовыход. А вот на сокет, позволяющий слушать музыку удаленно через браузер, вывести не получилось: RPi не успевает ее перекодировать, хотя более мощный компьютер легко с этим справляется. Так что что бы не говорили о фантастических возможностях Rapsberry, а чудес не бывает: мощность его весьма ограничена. Поэтому часть конфига про сокет закомментирована.
Самые внимательные заметили, наверно, в конфиге слово yadisk. Да, музыку тяну внаглую, прямо из Интернета, со своего Яндекс-диска. Он у меня 20 Гб, так что репрезентативную выборку из своей 320 Гб музыкальной коллекции вполне вмещает. Почему не задействовал портативный жесткий диск? А я и задействовал поначалу, но он, гад такой, постоянно вращается и разогревается до температуры 40 градусов. Даже когда музыка молчит. Никакими hdtools'ами остановить его не получается. Видимо, mpd держит открытыми какие-то файлы. А ведь одним из начальных условий было свести потребление энергии к минимуму. Вот и решил воспользоваться «облачным» хранилищем, если Яндекс-диск можно так назвать.
Для монтирования Яндекс-диска используется davfs2. Никаких сложностей с ее монтированием не обнаружилось, кроме, разве что, той, что при обесточивании RPi сбрасывает время и после загрузки там всегда 1970-01-01. Сертификат защищенного соединения в связи с этим признается недостоверным и автомонтирования не происходит. Поэтому перед монтированием следует синхронизировать время по сети с каким-нибудь ntp-сервером.
Вот, вроде, и всё. Думаю, изложенных здесь и в предыдущих материалах сведений должно хватить для того, чтобы любой желающий линуксоид собрал что-то подобное.
- —
- 15 апреля 2013, 12:43
Комментарии (2)
RSS свернуть / развернутьSergei_T
yababay
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.