Además de Linux y la informática, hay otra cosa que me gusta mucho, la música y por lo general es lo que me ayuda a ser más productivo y relajarme. Uniendo las cosas que me gustan terminé haciendo esta pequeña "travesura".
Durante algunos años tuve un computador que como decimos en Ecuador calificaba como "carne de perro", es decir, aguantó de todo, golpes, maltrato, paso de los años y sin embargo seguía funcionando. Era una laptop IBM Thinkpad 570 (del año 96), esta laptop tenía grandiosos 128Mb de memoria y al final la había mejorado para que tenga un disco duro de 30Gb, al final de su vida útil tuvo problemas con el bus de datos VGA o como le dicen vulgarmente "el flex" haciendo que ya no se pueda usar la pantalla, y así fue a parar a una caja encima del guardarropa de mi habitación.
|
Así lució alguna vez la IBM Thinkpad 570 |
Mientras buscaba algo totalmente diferente, terminé encontrándome con la laptop y después de al menos 5 años de no usarla (sí, vivió hasta el último), decidí conectarla y ver si aún arrancaba, para mi sorpresa conectándole un monitor externo no sólo arrancó, sino que llegó hasta la interfaz gráfica y recordé que esa máquina tenía Ubuntu 8.04 con LXDE, obviamente esto ponía a la pobre laptop al límite, pero se me ocurrió que quizá podría ser divertido darle un uso a la laptop.
Le desconecté totalmente la pantalla pues ya no tenía uso dejarla puesta si no funcionaba y era peso muerto y de inmediato comencé a buscar opciones para usarla. Lo primero que hice fue quitarle todo el peso extra (entorno de escritorio, software de oficina, etc...), de manera que se quedó con un Ubuntu sólo de consola. Luego con mucha paciencia actualicé a Ubuntu 10.04 y finalmente al 12.04.
Con la actualización ya tenía un pequeño servidor (o al menos era la intención), el primer intento fue instalando el servidor web lighttpd, mysql 5 y la aplicación
Ampache, con esa combinación logré tener una "rockola electrónica", la interfaz es simpática y soporta streamming local (reproducción en el dispositivo desde el que te conectes) o "localplay" que encola las canciones para que las reproduzca el servidor (en este caso la pequeña laptop), si bien funcionó sin problemas, la interfaz no es precisamente la más atractiva, además que crear los playlists en el servidor, teniendo ya algunos en mi laptop no se sentía cómodo.
Finalmente escuché respecto al proyecto "
shairport" que permite emular el protocolo utilizado por Apple para utilizar como "emisor" cualquier aparato que esté conectado a la red Wifi, ya sea el iTunes, un ipod o iPhone o inclusive con software adicional un teléfono android también puede transmitir a un receptor de Airtunes.
|
Receptor Airport express de Apple |
En un ambiente ideal lo que esto permite es hacer streamming a los receptores y que el sonido salga a través de los parlantes conectados a ese receptor, con lo que se puede tener varios puntos de salida de un único emisor, la idea sonó interesante, así que me puse a trabajar. Los pasos en Ubuntu 12.04 son los siguientes.
Primero hay que instalar el software que sirve para compilar código fuente con el siguiente comando:
sudo apt-get install build-essential libssl-dev libcrypt-openssl-rsa-perl libao-dev libio-socket-inet6-perl libwww-perl avahi-utils pkg-config git libmodule-build-perl
Antes de poder compilar el software es necesario agregar soporte para iOS6, por lo cual hay que compilar la librería SDP de perl:
git clone https://github.com/njh/perl-net-sdp.git perl-net-sdp
cd perl-net-sdp
perl Build.PL
./Build
./Build test
sudo ./Build install
Otra opción es utilizar CPAN (cpan Net::SDP)
Luego, en la carpeta donde quieras descargar el software ejecutar este comando:
git clone https://github.com/abrasive/shairport
cd shairport
make
Para probarlo lo puedes hacer con el siguiente comando:
./shairport.pl -a AirCasero
El nombre "AirCasero" es el que utilizará para aparecer en el listado de receptores Airplay, realmente puedes especificar cualquier nombre.
Si funciona sin problemas el siguiente paso será convertirlo en un servicio para que arranque automáticamente cada vez que se inicia la máquina:
make install
cp shairport.init.sample /etc/init.d/shairport
chmod a+x /etc/init.d/shairport
update-rc.d shairport defaults
Con eso será suficiente para que cada vez que arranques la máquina automáticamente se levante el servicio y tengas disponible tus "parlantes" Wifi.
El servicio por defecto tiene el nombre de ShairPort al aparecer en el listado de dispositivos de red, si quieres que aparezca con otro nombre, como es el caso del ejemplo que pusimos de "AirCasero", se puede editar el archivo de arranque:
nano -w /etc/init.d/shairport
Buscamos la línea :
NAME=ShairPort
Y cambiamos el nombre por lo que nos resulte más apropiado, y voilá, en mi caso dejé la vieja laptop en la oficina y ahora cualquiera de los que estamos en la oficina podemos transmitir música a los parlantes centrales. :)