Cómo hacer una radio basada en Raspberry Pi

Cómo hacer una radio basada en Raspberry Pi

Puede que la radio suene a tecnología antigua, pero precisamente ahí reside su atractivo: es sencilla, fiable y sigue siendo muy relevante tanto para el entretenimiento como para proyectos educativos. Con una Raspberry Pi, puedes crear una radio moderna y versátil: puede ser una radio por internet, un reproductor de música local o incluso (con un módulo adicional) una radio FM. Este artículo explica cómo construir una radio con Raspberry Pi de forma práctica, desde la configuración del hardware hasta la del software.

-

1. Concepto de radio basado en Raspberry Pi

En general, existen dos enfoques principales:

1. Radio por Internet (Streaming)
La Raspberry Pi reproduce emisiones de radio de internet a través de Wi-Fi/Ethernet. Este es el método más sencillo y común, ya que no requiere ningún equipo de radiofrecuencia especial.

2. Radio FM/AM (con dispositivo opcional)
Requiere un módulo sintonizador (por ejemplo, un receptor de FM mediante I2C/SPI) o un dispositivo de radio definida por software (SDR). La configuración es más compleja y suele depender del dispositivo utilizado.

En este artículo, el enfoque principal está en la radio por Internet porque es la más fácil de usar para principiantes y la más adecuada para crear contenido en poco tiempo.

-

2. Equipo necesario

Aquí tienes una lista de componentes recomendados:

– Raspberry Pi (se recomienda Pi 3/4/Zero de 2 W)
– Tarjeta microSD de mínimo 8–16 GB
– Fuente de alimentación estable (5V, corriente según el modelo Pi)
– Conexión a Internet (Wi-Fi o cable LAN)
– Salida de audio:
– Altavoces activos a través de conector de 3.5 mm (en modelos compatibles), o
– Altavoz/amplificador USB, o
– DAC audio HAT (opcional, mejor calidad)
– Monitor y teclado (para la configuración inicial) o acceso SSH
– Carcasa/caja del proyecto (opcional, para mayor prolijidad)

Si desea una radio con controles físicos, puede agregar:
– Botón pulsador, codificador rotatorio o pantalla OLED/LCD.

-

LEER  Guía para principiantes para construir una radio AM

3. Instalación del sistema operativo Raspberry Pi

1. Descarga e instala Raspberry Pi Imager en tu PC/portátil.
2. Inserta la tarjeta microSD y, a continuación, instala Raspberry Pi OS Lite (sin escritorio) para un uso eficiente de los recursos, o la versión de escritorio si deseas una interfaz gráfica.
3. Antes de escribir la imagen, puede configurar:
– Wi-Fi (SSID y contraseña)
– Nombre de usuario y contraseña
– Activación SSH
4. Enciende la Raspberry Pi y asegúrate de que la conexión a internet funciona.

Tras iniciar sesión en el sistema, actualice los paquetes:

"Bash
sudo apt update
sudo apt upgrade -y
"`

-

4. Configuración de audio en Raspberry Pi

Compruebe los dispositivos de audio detectados:

"Bash
aplay -l
"`

Si utiliza audio a través de HDMI o un conector (según el modelo), puede seleccionar la salida predeterminada. Algunas versiones de Raspberry Pi OS configuran automáticamente los ajustes de audio, pero puede probar la salida de la siguiente manera:

"Bash
speaker-test -t wav -c 2
"`

Si utilizas una tarjeta de sonido USB o un DAC HAT, normalmente aparecerá como un nuevo dispositivo. Asegúrate de que la salida sea la correcta para poder escuchar la radio.

-

5. Instalación del reproductor de radio por Internet (MPD + MPC)

Una de las formas más estables es usar MPD (Music Player Daemon) para reproducir audio y MPC como controlador desde la terminal.

Instale el paquete:

"Bash
sudo apt install -y mpd mpc
"`

Asegúrese de que MPD esté en funcionamiento:

"Bash
sudo systemctl enable mpd
sudo systemctl start mpd
"`

Comprobar estado:

"Bash
systemctl status mpd
"`

-

6. Agregar una lista de estaciones de radio

MPD puede reproducir transmisiones URL. Puedes añadir emisoras de radio a las listas de reproducción de MPD.

Ejemplo de cómo agregar una transmisión de radio:

"Bash
mpc agregar http://streamurl-radio-anda:8000/stream
"`

Luego juega:

"Bash
Reproducción de MPC
"`

Para ver la lista:

"Bash
lista de reproducción de MPC
"`

Crea una lista de reproducción de emisoras favoritas
Puedes crear un archivo de lista de reproducción `.m3u`:

LEER  Técnicas para fabricar radios AM para experimentos científicos

1. Crea una carpeta para la lista de reproducción (si no existe):
"Bash
mkdir -p ~/playlists
"`

2. Crea un archivo:
"Bash
nano ~/playlists/radio.m3u
"`

3. Introduce algunas URL de transmisión, por ejemplo:
"`
http://example.com/stream1
http://example.com/stream2
http://example.com/stream3
"`

Añádelas a MPD cargándolas individualmente o configurando tu directorio de música/listas de reproducción de MPD. Una forma rápida: añádelas directamente desde un archivo (opcional, según tu configuración de MPD) o copia la lista de reproducción a tu carpeta de listas de reproducción de MPD (normalmente `/var/lib/mpd/playlists/`).

-

7. Configuración MPD para que sea más adecuada para la radio.

Editar la configuración de MPD:

"Bash
sudo nano /etc/mpd.conf
"`

Algunas partes importantes:

– Asegúrese de que la salida de audio sea correcta. Ejemplos comunes:
“`conf
salida_de_audio {
escribir “alsa”
nombre “Salida ALSA”
tipo_de_mezclador “software”
}
"`

– Puedes configurar el búfer para que la transmisión sea más estable (opcional, dependiendo de las condiciones de la red).

Una vez hecho esto, reinicie MPD:

"Bash
sudo systemctl restart mpd
"`

-

8. Hacer que la radio se encienda automáticamente al arrancar.

Para que la Raspberry Pi reproduzca la radio inmediatamente al encenderla:

1. Crea un script sencillo, por ejemplo:

"Bash
nano ~/start-radio.sh
"`

Contenido:

"Bash
!/bin/bash
sueño 5
mpc claro
mpc agregar http://streamurl-radio-anda:8000/stream
Volumen 70 de MPC
Reproducción de MPC
"`

Guarda y luego otorga permiso de ejecución:

"Bash
chmod +x ~/start-radio.sh
"`

2. Cree un servicio systemd:

"Bash
sudo nano /etc/systemd/system/radio.service
"`

Contenido:

“`ini
[Unidad]
Descripción=Reproducción automática de radio
Después=network-online.target mpd.service
Wants=network-online.objetivo

[Servicio]
Usuario=pi
ExecStart=/home/pi/start-radio.sh
Reiniciar = en caso de error

[Instalar]
WantedBy = multi-user.target
"`

Permitir:

"Bash
sudo systemctl daemon-reload
sudo systemctl enable radio.service
sudo systemctl start radio.service
"`

Nota: si el nombre de usuario no es `pi`, ajuste la ruta y `User=`.

-

9. Agregar controles (opcional)

Para que parezca una radio de verdad, puedes añadirle controles físicos:

– Botón Siguiente/Anterior para cambiar de emisora:
– `mpc next`
– `mpc anterior`
– Botón de reproducción/parada:
– `mpc toggle`
– `mpc stop`
– Codificador rotatorio para volumen:
– `mpc volumen +5`
– `mpc volumen -5`

LEER  Cómo fabricar una radio con capacidad de sintonización manual

Para implementar los botones, puedes usar Python (GPIO) y llamar al comando `mpc`. Esta combinación es muy popular porque es sencilla y fácil de desarrollar.

-

10. Consejos de desarrollo y solución de problemas

Algunos problemas comunes y sus soluciones:

1. Sin sonido
– Asegúrese de que la salida de audio sea correcta (dispositivo ALSA).
– Intenta cambiar el altavoz o la tarjeta de sonido USB.
– Asegúrate de que el volumen no sea 0: `mpc volume 80`

2. La transmisión es intermitente.
– Si es posible, utilice una conexión LAN.
– Añadir retardo antes de la reproducción al arrancar (`sleep 5` o `sleep 10`).
– Seleccione una transmisión con menor tasa de bits.

3. MPD no puede reproducir URL
– Intenta asegurarte de que la URL sea correcta y que se pueda abrir desde la misma red.
– Asegúrate de que los paquetes de soporte estén disponibles (normalmente son suficientes en la última versión de Raspberry Pi OS).

4. ¿Quieres una interfaz más parecida a la de una radio?
– Instale una interfaz gráfica como ncmpcpp (interfaz de terminal) o cree una interfaz web sencilla.

-

Clausura

Construir una radio basada en Raspberry Pi es un proyecto divertido y gratificante. Combinando MPD y MPC, puedes crear una radio por internet estable que se inicia automáticamente al encender el ordenador y que se puede ampliar fácilmente para incluir dispositivos con botones físicos, una pantalla pequeña e incluso una carcasa personalizada. Una vez que domines la versión básica, puedes ir un paso más allá: añadir una pantalla OLED para mostrar los nombres de las emisoras, crear un menú de presintonías o incluso añadir un módulo sintonizador para radio FM.

Si lo desea, puedo continuar con versiones más específicas: por ejemplo, una lista de emisoras de radio indonesias listas para usar (URL), un ejemplo de código Python para un interruptor GPIO o una guía para usar un DAC HAT para obtener una calidad de sonido mucho mejor.

Deja un comentario