Convierte una Raspberry Pi en un transmisor de FM.

Hace rato venimos pensando en hacer un mini transmisor FM a partir del modelo de Tetsuo Kogawa que recoge el fanzine «Broadcast your podcast» y que se ha usado como guía en los talleres de los encuentros de la Red de Radios Comunitarias y Software Libre. Pero como no teníamos los componentes a mano, comenzamos con este proyecto: un transmisor FM a partir de una Raspberry Pi.

Para ello necesitaremos:

  • Raspberry Pi (cualquiera), con Raspbian (o distribución GNU/Linux de preferencia) y SSH activado (no se asusten, aprenderemos a habilitarlo).
  • Conector USB para la energía eléctrica (y energía eléctrica) o un power bank.
  • Cable Ethernet o tarjeta WiFi externa.
  • Conexión a Internet.
  • Cable de cobre (el largo dependerá de la frecuencia en la que transmitas).
  • Conector de pin hembra (nosotras nos encontramos uno tirado en la calle y sirvió).
  • Una radio para probar y escuchar, puede ser la del celular (para que funcione tiene que tener auriculares).
  • Tutorial que seguimos, porque nadie nace sabiendo.
  • Repositorio e instrucciones del software para transmitir.

1. Instalar Raspbian en la Raspberry (sin teclado ni monitor)

Si no tienes ningún sistema operativo instalado en tu Raspberry Pi descarga la imagen del Raspbian Lite. Descomprímela. Inserta la tarjeta SD de la Raspberry Pi en tu computadora. Haz  doble clic en la imagen. Se abrirá un asistente. Selecciona la unidad donde quieres instalar la imagen. ¡Cuidado! Asegúrate de que sea en la SD. Acepta.

Como en Raspbian el SSH (Secure Shell, el servicio a través del cual nos conectaremos remotamente a la Raspberry Pi) no está habilitado por defecto, tenemos que activarlo de manera manual. Para ello debemos montar la SD a la que le acabamos de poner la imagen. Lo más sencillo es sacarla y volverla a poner. Se montarán dos particiones. Entramos en boot y allí mismo creamos un archivo (sin extensión) llamado ssh. Si te quedan dudas sobre este paso hay instrucciones más detalladas aquí.

Desmontamos. Sacamos la SD. La ponemos en la Raspberry Pi que deberá estar enchufada y conectada al mismo router que nuestra computadora. Tenemos que fijarnos qué dirección IP le asignó el router a nuestra Raspberry:

  • Opción A: entramos al router y nos fijamos. Es la opción más sencilla. En un navegador conectado a la red local http://192.168.1.1 y entrar con la usuaria y contraseña que nos haya dado el proveedor o, si hemos hecho las cosas bien, la contraseña que le pusimos.
  • Opción B: escanear la red con nmap .

Una vez que sepamos la IP de la Raspberry, en la terminal de nuestra computadora conectada a la misma red local escribimos:

ssh pi@[la IP de la Raspberry sin corchetes]

Nos pedirá la usuaria y contraseña por defecto de la Raspberry que, por defecto es:

  • Usuaria: pi
  • Contraseña: raspberry

¡Listo! Ya podemos entrar para cambiar la usuaria por defecto y hacer más cosas.

2. Construir la antena

Esto dependerá del modelo, nosotras teníamos la Raspberry B. En un lado de la placa veremos un cienpies con muchos pines. Tenemos que conectar la antena (que no es más que un cable de cobre) en el cuarto pin interior (GPIO4), pin número 7.


Si tenemos un conector reciclado, tenemos que soldar (o empalmar en el peor de los casos) el cable de cobre al cable del conector, como hicimos nosotras:

Para hacer una transmisión más eficiente el largo de la antena debería ir asociado a la frecuencia en la que transmitiremos. En este caso, vamos a usar una antena vertical. Para calcular el largo de este tipo de antenas usando una frecuencia de transmisión de 107.9 Mhz tendremos que hacer el siguiente cálculo:

(72 / 107,9)

Donde:

  • 72 es la cuarta parte de la velocidad de la luz (300 mil kilómetros segundo) aplicando un pequeño factor de ajuste y quitando los miles para que corresponda a los megahercios de la frecuencia.
  • 107,9 – es la frecuencia a la que queremos transmitir, en Mhz. Cambiar si vas a usar otra.

El resultado será nuestra longitud de radiante: 0.66 metros. Por lo que nuestra antena debería ser de 66 cm. Si no tienen esa cantidad de cable no importa, funcionará igual, aunque no de manera óptima y tendrá menor potencia de irradiación.

3. Instalar el software

Lo más fácil es instalar GIT en la Raspberry para clonar el repositorio. Para ello tenemos que entrar a la Raspberry desde nuestra computadora. Desde en nuestra computadora repetimos el paso 0.8. Cuando ya estamos adentro, instalamos GIT:

sudo apt-get install git

Ahora clonamos el repositorio de fm_transmitter

git clone https://github.com/markondej/fm_transmitter.git

Se nos decargará. Entramos a la carpeta fm_transmitter

cd fm_transmitter

Una vez allí tenemos que compilar el software

make

¡Listo!

4. Poner en funcionamiento nuestra radio

Antes que nada debemos elegir una frecuencia que se encuentre libre. Cuánto más arriba del dial mejor. Por ejemplo, 107.9. Una vez que la tengamos elegida corremos el siguiente comando en la terminal de la Raspberry PI (via SSH)

sudo ./fm_transmitter -f 107.9 -b 200 -r acoustic_guitar_duet.wav

Donde

  • -f 107.9 es la frecuencia
  • -b 200 es el ancho de banda de la emisión (puede no ponerse, poner 100, 200, 300, etc.)
  • -r es para que reproduzca en loop
  • acoustic_guitar_duet.wav es el nombre del tema que se va a reproducir y que viene por defecto.

Cuando le damos Enter al comando anterior comenzará a transmitir. Prendé la radio en el dial que pusieron y escucharán la canción. La transmisión se detendrá cuando termine la canción. Si pusieron ‘-r’ y quieren cortar el encadenado infinito pueden escribir ‘Ctrl+X’.

IMPORTANTE: Como nos apunta Ulises, de Ciudad de México, la Raspberry 4 genera interferencia en las frecuencias más altas. Si tenés este modelo de Raspberry, lo recomendable es elegir una frecuenta por debajo de los 93 Mhz. y seguir las indicaciones el el Github de fm_transmitter.

5. Cambiar la canción a reproducir y reproducir una playlist

Este programa sólo transmite en wav. Para transmitir formatos comprimidos seguir estas instrucciones.

mkdir musiquita

Luego tenemos que copiarlo con el comando ‘scp’ que es una mezcla de cp (copiar) y ssh. Entonces en la terminal de nuestra computadora ponemos:

scp /home/user/Escritorio/canciones/* pi@192.168.1.XXX:/home/pi/fm_transmitter/musiquita/

Nos pedirá la contraseña de pi y comenzarán a pasarse los archivos. Así, la próxima vez que queramos que reproduzca todos los audios de la carpeta musiquita ponemos:

sudo ./fm_transmitter -f 107.9 -b 200 -r musiquita/*

Si es demasiado complicado usar scp pueden apagar la raspi, meter la tarjeta SD en su computadora, buscar la carpeta /home/pi/fm_transmitter/musiquita y copiar todo lo que deseen ahí.

6. Transmitir desde un micrófono u otra computadora

La buena noticia es que también podemos enviar señal en vivo, ya sea a través de un micrófono o de una línea de entrada. Claro, tiene que entrar a través de un puerto USB. Así que necesitaríamos un micrófono USB o utilizar alguna placa de sonido por USB como estas:

Una vez que tengamos el micrófono o la placa conectadas, debemos ejecutar el siguiente comando en la terminal:

arecord -D hw:1,0 -c1 -d 0 -r 22050 -f S16_LE | sudo ./fm_transmitter -f 100.6

¿Funciona? ¿Lo probaron?  ¡A transmitir Radio Cuarentena a toda la vecindad! <3

Una radio para tu vecindario

También te puede interesar

8 comentarios sobre «Una radio para tu vecindario»

  1. Hola
    Me gustó mucho su tutorial, gracias por la idea.
    Les cuento cómo me fue con la emisora de radio:
    Seguí las instrucciones que dan pero en el radio FM de mi teléfono no lograba sintonizar la emisión de la señal a 107.9 Mhz. Una posible razón es que en México tenemos una muy buena estación (Horizonte FM) que emite justo en ese rango. cambié entonces la señal a otra frecuencia en la que no hubiera una estación de radio, probé con 107.7, 102.1 o 103.1 pero tampoco funcionó. Entonces revisé las indicaciones que dan en el repositorio https://github.com/markondej/fm_transmitter, ahí recomiendan que posiblemente el funcionamiento de la Rapsberry Pi 4 genera interferencia en la señal de radio (de hecho, sí la genera en la recepción de TV abierta). Recomiendan varias cosas para solucionar el problema, entre ellas transmitir a frecuencias menores a 93 Mhz. Eso fue lo que hice, busqué un canal menor a esa señal que no estuviera ocupado en la CDMX y encontré que a 92.3 Mhz la transmisión trabaja bien, con algo de ruido pero puedo captarla en todas partes de mi departamento.
    Les doy las gracias, ha sido muy emocionante conseguir una transmisión de FM. Espero poder conseguir transmitir desde un micrófono USB. Me está gustando está transmisora para la escuela en donde doy clases.
    Saludos desde México.
    Ulises
    Pd. Yo tengo una Rapsberry Pi 4 que conseguí por Amazon en 1800 pesos a principios de este 2020. Es una poderosa computadora que cabe en la palma de una mano y que además te permite la conexión de un montón de sensores y actuadores que la hacen funcionar como un microcontrolador como el Arduino. Es muy fácil instalarle el sistema operativo Rasbian que viene con software completísimo para iniciarse en la programación. Si pueden hacerse de una, sólo les faltaría un monitor viejo de TV, un teclado y un mouse para poder usarla como computadora de escritorio.

    1. ¡Hola Ulises! Qué buena noticia. La verdad que sí, es tan emocionante ver cómo se transforma la Raspberry en un transmisor de radio. Ojalá puedas replicar el proyecto con tus alumnos. Si lo haces, cuéntanos la experiencia y la publicamos aquí en Radios Libres. Gracias por los apuntes sobre la Raspberry 4. Nosotros lo hicimos con una modelo 3, por eso no tuvimos el problema que señalas. Pero lo agregaremos al tutorial en caso de que alguien más tenga el mismo problema. Es verdad, las Raspberry son muy potentes. ¿Conoces el fanzine de la_bekka? Enseña paso a paso a montar una servidora web usando una Raspberry https://labekka.red. ¡Saludos!

  2. Una consulta. Yo tengo una Raspberry Pi que utilizo como biblioteca digital. ¿Creen que le puedo instalar el software SSH en el disco duro que trae y empezar a hacer la transmisión de radio?

    1. ¡Hola Roberto! Claro que se puede. El SSH te permite conectarte de manera remota y segura a tu computadora. Así que te sirve también para gestionar tu biblioteca desde tu computadora sin tener que enchufarle un teclado o monitor a tu RaspberryPi. El programita que permite convertir nuestra Raspberry en un transmisor (fm_transmitter) no interfiere con la biblioteca. Así que podés perfectamente hacer las dos cosas a la vez. ¡Saludos!

    1. Hola Carlos, pues como estamos encerradas aún no hemos podido probar fuera, pero no mucha. Nos imaginamos que unos pocos metros a la redonda. Cuando podamos salir y comprar una antena del tamaño propio y medir, anotaremos este dato. Saludos.

  3. Muchas gracias por la sugerencia, pero donde nos conseguimos esa placa?. Y menos cuando tenemos aislamiento.

    Asi que por ahora no puedo hacer.

    No tenemos ni el dinero y si lo tuviera, donde la compro?

    Saludos y buena propuesta

    1. ¡Hola Anatol! Claro, en esta circunstancia no hay nada por hacer. Nosotras lo hicimos porque ya teníamos todos los materiales necesarios disponibles. Cuando esto termine hay varios lugares para comprar la Raspberry Pi en México. El proveedor internacional oficial es https://thepihut.com/ Pero seguro lo consigues en tiendas medianas de electrónica o tiendas minoristas online. Es verdad que, aunque son muy baratas, no son gratis ni accesibles para todo el mundo. En ese caso, lo que pueden hacer es en la radio o centro del barrio hacer una vaquita, organizar un evento o una rifa para poder juntar los fondos para comprarla. Una vez que la tengan pueden hacer muchos proyectos: una servidora web (labekka.red), una biblioteca (librevirus.org) o este transmisor de FM. ¡Saludos!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *