Quizás muchos han escuchado o leído sobre la posibilidad de hacer que la Raspberry Pi transmita en FM por Software con el único requisito de tener un pequeño cable conectado al GPIO 4. Sin embargo, los métodos actuales consisten en lanzar un archivo WAV pregrabado, haciendo muy difícil la transmisión de contenido en vivo (por ejemplo, un stream o a través de una entrada de línea).
Los chicos de la Academia de Radiodifusión del Instituto Nacional lograron confeccionar un pequeño script que hace uso de Mplayer para descargar un stream en la memoria RAM de nuestro dispositivo, y luego transmitirlo por FM. También usa screen para mantener la transmisión en background. Los resultados: Grandiosos; la pequeña Raspberry Pi es capaz de transmitir con una pequeña antena en todo un sector del rígido establecimiento.
Por esto mismo, les dejamos un breve tutorial para usar el pequeño script que nos ponen a disposición para convertir cualquier stream en vivo de una radio a FM con la Raspberry Pi 🙂
No está de sobra recordar las implicancias legales de transmitir de forma ilegal, sin filtro pasabanda, a largo alcance e interfiriendo a otros servicios. Además, no nos hacemos responsables de algún daño a su querida Raspberry Pi. ¡Advertidos están!
Primero debemos descargar las dependencias, mplayer y screen. En Raspbian lo hacemos así:
apt-get install mplayer screen
Luego descargamos el script desde http://www.internetdelascosas.cl/wp-content/uploads/2013/08/streamfm.zip y lo descomprimimos.
wget http://www.internetdelascosas.cl/wp-content/uploads/2013/08/streamfm.zip && unzip streamfm.zip
Finalmente, si tenemos instalado ARM-hf en nuestro dispositivo, basta con ir a la carpeta streamfm y hacerlo correr:
cd streamfm
./run.sh (URL del STREAM) (Frecuencia)
Ejemplo (Radio Cooperativa):
./run.sh http://209.88.205.240:80 90.8
Para detener todo, simplemente cerramos los procesos de screen:
killall screen
Ahí debería estar sonando, a no ser que el formato sea incompatible, o el stream no exista. (En ese caso sonará silencio).
¿Las frecuencias que se pueden utilizar? Desde los 1 Mhz a 250 Mhz, esperamos que no violen alguna ley 😉
Si la Raspberry Pi no está corriendo un Sistema armhf (por ejemplo, armel) hay que recompilar los scripts. Para esto debemos tener instalado GCC.
apt-get install gcc
Luego, compilamos los ejecutables que están en la carpeta src (estando en la carpeta pifm)
gcc -lm -std=c99 -g -xc src/pifm.c -o bin/pifm
gcc src/streamtofifo -o bin/streamtofifo
Finalmente ejecutamos el stream como lo señalamos anteriormente.
* PD: Recordar ponerle un cable o una antena al Pin 4, sino el alcance es ínfimo
One thought