Pi MusicBox v0.7.0RC6 con Mopidy 1.1.2
Make your Raspberry Pi stream!
Welcome to the Swiss Army Knife of streaming music using the Raspberry Pi. With Pi MusicBox, you can create a cheap (Sonos-like) standalone streaming music player for Spotify, Google Music, SoundCloud, Webradio, Podcasts and other music from the cloud. Or from your own collection from a device in your network. It won’t drain the battery of your phone when playing. The music won’t stop if you play a game on your phone.
Pi MusicBox
instalación de Pi MusicBox
si no se quiere recurrir a PINN para la instalación de Pi MusicBox, hay que descargar el archivo musicbox_v0.7.0RC7.zip de 293 MB de github.com/pimusicbox, extraer la imagen musicbox_v0.7.0RC7.img de su interior y grabarla en una tarjeta SD mediante etcher.
hecho esto, ya es posible introducir la tarjeta SD en la raspberry pi y arrancar el sistema operativo.
configuración de Pi MusicBox
en tanto que headless audio player o sistema operativo sin interfaz gráfica, Pi MusicBox sólo ofrece la señal de un terminal si tiene salida a pantalla: el usuario de acceso es «root» y la contraseña, «musicbox».
dispone, sin embargo, de una vía natural de manejo, a través de un navegador web:
o la dirección IP correspondiente:
ambas direcciones HTTP pertenecen a una misma red interna y sólo están al alcance de otros dispositivos conectados a esa misma red (es decir, a un mismo router).
nombre del dispositivo
el dispositivo en que se ha instalado Pi MusicBox se llama por defecto «musicbox». este nombre se puede modificar desde la interfaz web de MusicBox:
Settings > Music Box > Device name > RB2
Device name
Set the name of the MusicBox. In this way you can create different devices on the same network (in different rooms). The webinterface is accessible via the name you use here, e.g. http://kitchen.local/, and multiple devices will show up in AirTunes. You can only use normal caracters and numbers in the name (no spaces, dots, etc). You can even have different devices with different Spotify accounts when needed.
«Settings > MusicBox» en MusicBox.
la dirección HTTP de acceso a Pi MusicBox se compone del nombre del dispositivo, musicbox, más local, así que, una vez realizado el cambio a RB2, la nueva dirección de acceso será:
también se puede cambiar el nombre del dispositivo modificando la siguiente línea del archivo settings.ini desde la terminal del sistema:
nano /cf/settings.ini
# Set the name of the MusicBox.
name = RB2
servicio ssh
el servicio SSH se activa fácilmente desde la interfaz web:
Settings > Network > Enable SSH > On > Save
también se puede activar el servicio SSH añadiendo la siguiente línea al archivo settings.ini desde la terminal del sistema:
nano /cf/settings.ini
# Enable this to allow remote login via SSH on MusicBox
enable_ssh = true
una vez activado el servicio, basta con reiniciar el sistema operativo:
System > Reboot
acceso vía ssh
ssh root@musicbox.local
root@musicbox.local’s password:
la contraseña es «musicbox».
en lugar de musicbox.local
(o rb2.local
, si se realizó el cambio de nombre del dispositivo), también puede remitirse a la dirección IP correspondiente:
ssh root@192.168.1.7
root@192.168.1.7’s password:
cambio de la contraseña
Enable SSH
«Settings > Network» en MusicBox.
For security reasons, ensure you have changed the root password if you enable this.
como se recomienda en la propia web de MusicBox, es aconsejable modificar la contraseña de acceso si se ha habilitado el servicio de SSH:
passwd
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
comprobar la versión de Pi MusicBox vía consola
cat /etc/issue
Musicbox v0.7.0RC6 built on Tue 20 Mar 00:10:58 GMT 2018
hifiberry dac+
Pi MusicBox detecta automáticamente este tipo de tarjetas de sonido. si se dispone de una hifiberry dac+, es posible seleccionarla como la salida de audio por defecto desde la interfaz web de MusicBox:
Settings > Audio > Audio output > HifiBerry DAC+/PRO/AMP2
también se puede establecer la salida de audio modificando la siguiente línea del archivo settings.ini desde la terminal del sistema:
nano /cf/settings.ini
# Set default system audio output.
output = hifiberry_dacplus
luego, es necesario reiniciar el sistema:
System > Reboot
una vez reiniciado el sistema, desde consola, puede comprobarse si la tarjeta de sonido hifiberry dac+ está activa:
aplay -l
card 1: sndrpihifiberry [snd_rpi_hifiberry_dacplus], device 0: HiFiBerry DAC+ HiFi pcm512x-hifi-0 []
mpd
la extensión de MPD para Mopidy está lista y escuchando en el puerto 6600:
netstat -tlpn
tcp6 0 0 0.0.0.0:6600 :::* LISTEN 2463/python
luego, en el cliente de MPD de turno, basta con introducir la dirección IP correspondiente acompañada del puerto 6600:
192.168.1.2:6600
en lugar de la IP, también sirve la dirección HTTP de la interfaz web de MusicBox:
last.fm
se activa y configura fácilmente desde la interfaz web de MusicBox:
Settings > Services > Last.FM > On
Username
Password
Mopidy
Pi MusicBox está basado en Mopidy y Mopidy es el servidor de Pi MusicBox encargado de servir música a sus distintos clientes:
Mopidy is an extensible music server written in Python.
Mopidy plays music from local disk, Spotify, SoundCloud, TuneIn, and more. You can edit the playlist from any phone, tablet, or computer using a variety of MPD and web clients.
Mopidy is just a server
Out of the box, Mopidy is an HTTP server. If you install the Mopidy-MPD extension, it becomes an MPD server too. Many additional frontends for controlling Mopidy are available as extensions.
Mopidy
extensiones de Mopidy
a continuación, se ofrece una lista de las extensiones de Mopidy instaladas en Pi MusicBox:
mopidy deps | grep Mopidy-
Mopidy-MusicBox-Webclient: 2.4.0 from /usr/local/lib/python2.7/dist-packages
Mopidy-Dirble: 1.3.0 from /usr/local/lib/python2.7/dist-packages
Mopidy-GMusic: 2.0.0 from /usr/local/lib/python2.7/dist-packages
Mopidy-WebSettings: 0.2.3 from /usr/local/lib/python2.7/dist-packages
Mopidy-Spotify-Tunigo: 1.0.0 from /usr/local/lib/python2.7/dist-packages
Mopidy-Spotify>=1.2.0: 1.4.0 from /usr/local/lib/python2.7/dist-packages
Mopidy-ALSAMixer: 1.0.3 from /usr/local/lib/python2.7/dist-packages
Mopidy-Mobile: 1.8.0 from /usr/local/lib/python2.7/dist-packages
Mopidy-HTTP-Kuechenradio: 0.4.2 from /usr/local/lib/python2.7/dist-packages
Mopidy-InternetArchive: 2.0.3 from /usr/local/lib/python2.7/dist-packages
Mopidy-Local-SQLite: 1.0.0 from /usr/local/lib/python2.7/dist-packages
Mopidy-Spotify-Web: 0.3.0 from /usr/local/lib/python2.7/dist-packages
Mopidy-Spotify>=1.2.0: 1.4.0 from /usr/local/lib/python2.7/dist-packages
Mopidy-SomaFM: 0.7.1 from /usr/local/lib/python2.7/dist-packages
Mopidy-Moped: 0.4.4 from /usr/local/lib/python2.7/dist-packages
Mopidy-Simple-Webclient: 0.1 from /usr/local/lib/python2.7/dist-packages
Mopidy-Spotify: 1.4.0 from /usr/local/lib/python2.7/dist-packages
Mopidy-Mopify: 1.6.0 from /usr/local/lib/python2.7/dist-packages
Mopidy-Scrobbler: 1.1.1 from /usr/local/lib/python2.7/dist-packages
Mopidy-Youtube: 2.0.2 from /usr/local/lib/python2.7/dist-packages
Mopidy-TuneIn: 0.4.1 from /usr/local/lib/python2.7/dist-packages
Mopidy-Podcast-iTunes: 2.0.0 from /usr/local/lib/python2.7/dist-packages
Mopidy-Podcast>=2.0: 2.0.1 from /usr/local/lib/python2.7/dist-packages
Mopidy-AudioAddict: 0.2.7 from /usr/local/lib/python2.7/dist-packages
Mopidy-SoundCloud: 2.0.2 from /usr/local/lib/python2.7/dist-packages
Mopidy-Podcast: 2.0.1 from /usr/local/lib/python2.7/dist-packages
música local
en la medida en que el servidor Mopidy puede reproducir archivos de música en un directorio local, si se dispone de un disco duro externo, cabe averiguar si Pi MusicBox lo ha detectado y en qué punto lo ha montado.
disco duro externo
blkid
/dev/sda1: LABEL="archivo" UUID="92054482-bb7b-4b9d-8c90-07900cb6c8f1" TYPE="ext4"
df -h
/dev/sda1 458G 214G 222G 50% /music/USB
en este caso, el disco duro /dev/sda1/, con la etiqueta archivo, está montado en /music/USB.
enlace o acceso directo a los archivos del disco duro externo
ln -s /music/USB/audio ~/audio
ls ~/ -l
lrwxrwxrwx 1 root root 16 Mar 17 21:25 audio -> /music/USB/audio
problema: mopidy no detecta ningún archivo local
Mopidy en Pi MusicBox se ejecuta como un servicio:
service mopidy status
[ ok ] mopidy is running.
y, como se advierte en la documentación de Mopidy, el usuario del servicio, mopidy
, necesita permiso de lectura para acceder a los archivos de música o, de lo contrario, no podrá verlos:
The Mopidy system service runs as the mopidy user […] The mopidy user will need read access to any local music you want Mopidy to play.
«Running as a service» en Mopidy’s Documentation.
se puede otorgar el permiso de lectura a todos los archivos y directorios de /music/USB/ con la siguiente instrucción:
chmod o+r /music/USB/* -R
donde, del o+r
, la o
vale por otros (que no usuario, ni grupo) y el +r
, por la concesión del permiso de lectura.
hay otra vía, si se prefiere, que consiste en crear un usuario/grupo ernesto
, que tiene permiso de lectura sobre los archivos de música, al que se añade posteriormente el usuario mopidy
:
useradd ernesto
id ernesto
uid=1000(ernesto) gid=1000(ernesto) groups=1000(ernesto)
chown ernesto:ernesto /music/USB/* -R
chmod 770 * -R
ls -l
drwxrwx— 6 ernesto ernesto 4096 Dec 30 16:58 audio
drwxrwx— 5 ernesto ernesto 4096 Dec 28 12:09 tmp
adduser mopidy ernesto
Adding user ‘mopidy’ to group ‘ernesto’ …
Adding user mopidy to group ernesto
Done.
id mopidy
uid=109(mopidy) gid=29(audio) groups=29(audio),1000(ernesto)
después de realizar estos cambios y de reiniciar el sistema operativo, los archivos de música deberían estar disponibles a través de la interfaz web de MusicBox:
Browse > Files > USB
local scan
otra manera de comprobar que el usuario mopidy
tiene permiso de lectura sobre los archivos locales de música consiste, precisamente, en realizar un escáner o examen de los archivos locales:
service mopidy run local scan
INFO Starting Mopidy 1.1.2
INFO Loading config from builtin defaults
INFO Loading config from /etc/mopidy/mopidy.conf
INFO Loading config from command line options
INFO Enabled extensions: mopify, mpd, http, moped, stream, spotify_tunigo, mobile, m3u, youtube, scrobbler, simple-webclient, podcast-itunes, softwaremixer, http-kuechenradio, file, musicbox_webclient, websettings, podcast, local, local-sqlite
INFO Disabled extensions: spotify, alsamixer, gmusic, somafm, internetarchive, audioaddict, spotify_web, dirble, tunein, soundcloud
INFO Found 16667 files in media_dir.
WARNING Encountered 2 errors while scanning media_dir.
INFO Checking 0 tracks from library.
INFO Removing 0 missing tracks.
INFO Found 15376 tracks which need to be updated.
INFO Scanning…
INFO Scanned 100 of 15376 files in 6s, ~936s left.
INFO Scanned 200 of 15376 files in 12s, ~985s left.
INFO Scanned 300 of 15376 files in 19s, ~991s left.
Etcétera.
instalación de rsync
apt-get install rsync
Reading package lists… Done
Building dependency tree
Reading state information… Done
Package rsync is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another sourceE: Package ‘rsync’ has no installation candidate
nano /etc/apt/sources.list
# deb http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi
# deb-src http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi
deb http://mirrordirector.raspbian.org/raspbian/ stretch main contrib non-free rpi
deb-src http://mirrordirector.raspbian.org/raspbian/ stretch main contrib non-free rpi
en /etc/apt/sources.list, se cambia la distribución wheezy por stretch.
apt-get update
apt-get install rsync
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following NEW packages will be installed:
rsync
Pi MusicBox no se puede actualizar
a uno de enero de 2021, Pi MusicBox es un sistema operativo que no está pensado (ni preparado) para ser actualizado: tal cual viene, tal se queda.
instalación de extensiones vía apt-get
Pi MusicBox está basado en raspbian (que está basado en debian (que está basado en linux)) y, por lo tanto, para la instalación de nuevas extensiones de Mopidy, lo más sencillo sería recurrir a apt-get
:
If you run a Debian based Linux distribution, like Ubuntu or Raspbian, the easiest way to install Mopidy is from the Mopidy APT archive. When installing from the APT archive, you will automatically get updates to Mopidy in the same way as you get updates to the rest of your system.
If you want to use any Mopidy extensions, like Spotify support or Last.fm scrobbling, you need to install additional packages.
«Debian/Ubuntu» en Mopidy’s Documentation.
sin embargo, el método apt-get
de Pi MusicBox acusa la falta de dependencias de un modo fatal (no en vano es un sistema operativo aligerado) y no instala ninguna extensión como cabría esperar:
Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming.
repositorio de apt.mopidy.com
aunque finalmente el método apt-get
de Pi MusicBox no instala ninguna extensión como debería, estas son las instrucciones para añadir el repositorio de apt.mopidy.com a la lista de repositorios de Pi MusicBox:
wget -q -O - https://apt.mopidy.com/mopidy.gpg | sudo apt-key add -
OK
wget -q -O /etc/apt/sources.list.d/mopidy.list https://apt.mopidy.com/buster.list
cat /etc/apt/sources.list.d/mopidy.list
# Mopidy APT archive
# Built on Debian 10 (buster), compatible with Ubuntu 19.10 and newer
deb https://apt.mopidy.com/ buster main contrib non-free
deb-src https://apt.mopidy.com/ buster main contrib non-free
apt-get update
E: The method driver /usr/lib/apt/methods/https could not be found.
nano /etc/apt/sources.list.d/mopidy.list
deb http://apt.mopidy.com/ buster main contrib non-free
# deb https://apt.mopidy.com/ buster main contrib non-free
# deb-src https://apt.mopidy.com/ buster main contrib non-free
apt-get update
Get:4 http://apt.mopidy.com buster/contrib armhf Packages [1697 B]
Get:5 http://apt.mopidy.com buster/non-free armhf Packages [719 B]
apt-get install mopidy-mpd
Reading package lists… Done
Building dependency tree… Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:The following packages have unmet dependencies:
«Install from apt.mopidy.com» en Mopidy’s Documentation.
mopidy-mpd : Depends: mopidy (>= 3.0.0) but it is not going to be installed
Depends: python3-pkg-resources but it is not installable
Depends: python3-pykka (>= 2.0.1) but it is not going to be installed
Depends: python3:any but it is not installable
E: Unable to correct problems, you have held broken packages.
instalación de extensiones vía pip
Pi MusicBox también dispone de pip
para la instalación de paquetes:
pip -V
pip 9.0.1 from /usr/local/lib/python2.7/dist-packages/pip (python 2.7)
pip install --upgrade pip
Installing collected packages: pip
Found existing installation: pip 9.0.1
Uninstalling pip-9.0.1:
Successfully uninstalled pip-9.0.1
Successfully installed pip-20.3.3
pip -V
pip 20.3.3 from /usr/local/lib/python2.7/dist-packages/pip (python 2.7)
pip install Mopidy-MPD
DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. pip 21.0 will drop support for Python 2.7 in January 2021. More details about Python 2 support in pip can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support pip 21.0 will remove support for this functionality.
ERROR: Could not find a version that satisfies the requirement Mopidy-MPD (from versions: none)
ERROR: No matching distribution found for Mopidy-MPD
pero, aun después de instalar la última versión de python
, el error persiste porque Pi MusicBox no se puede actualizar.
python3 -m pip install Mopidy-MPD
Collecting Mopidy-MPD
Cache entry deserialization failed, entry ignored
Could not find a version that satisfies the requirement Mopidy-MPD (from versions: )
No matching distribution found for Mopidy-MPD
fuentes
- «Pi MusicBox v0.7 manual» en Pi MusicBox.
- «Documentation» en Mopidy.