Puede usar Raspberry Pi para una variedad de proyectos geek. Pero recientemente descubrí que también puedes usar el pequeño dispositivo como un transmisor de FM. Y eso se hace sin muchos retoques.
Un grupo de personas en Code Club pihack escribieron un programa para usar hardware en Raspberry Pi que está destinado a generar señales de reloj de espectro ensanchado para emitir señales de radio FM.
Fondo
Aquí hay un poco de historia. Además de los puertos familiares de audio, Ethernet, HDMI y USB en Raspberry Pi, el dispositivo también tiene interfaces que están diseñadas para conectarse más directamente con otros chips y módulos.
Estos «puertos» de entrada/salida de propósito general (GPIO) son los 26 pines (dispuestos en una tira de 2 × 13) que ve en la placa. Estas interfaces no son plug-and-play pero pueden controlarse mediante software.
Para transmitir una señal FM sorprendentemente fuerte, todo lo que necesita es conectar un cable al pin GPIO 4. Incluso sin el cable, la señal de FM transmitida por Raspberry Pi será captada por los receptores de FM cercanos.
Una palabra de precaución: Las leyes para la transmisión de señales de FM varían de un país a otro. Consulte las normas locales antes de intentar este proyecto.
Obtener, establecer, ir
Encienda el Pi y diríjase a la línea de comandos a través de SSH o iniciando sesión directamente en el dispositivo.
Ahora tomaremos el código escrito en el hackfest Code Club y lo extraeremos:
mkdir ~/pifm cd pifm wget https://omattos.com/pifm.tar.gz tar zxvf pifm.tar.gz
El directorio ahora contiene seis archivos. Sorprendentemente, eso es todo lo que hay que hacer. Ahora puede transmitir el archivo «sound.wav» incluido:
sudo ./pifm sound.wav 102.3
Ahora tome un receptor de FM y configúrelo en FM 102.3 y debería escuchar el tema musical de Star Wars. De hecho, puede cambiar la frecuencia de transmisión desde cualquier lugar entre 88 MHz y 108 MHz simplemente agregando la frecuencia del canal al final del comando.
Pistas de difusión
También puede reproducir otros archivos de audio, pero deben ser mono de 16 bits a 22050 Hz y solo en formato WAV. Eso puede parecer una limitación real, pero en realidad no lo es. Todo lo que necesita es el editor de audio de intercambio de sonido SoX que procesará su archivo MP3 y lo convertirá en un archivo WAV sobre la marcha.
Instale el editor de audio y sus dependencias con:
sudo apt-get install sox libsox-fmt-all
Cuando haya terminado, escriba el siguiente comando, sustituyendo «AlgunaCanción.mp3» con el nombre del archivo MP3 que desea reproducir:
sox -t mp3 SomeSong.mp3 -t wav -r 22050 -c 1 - | sudo ./pifm - 102.3
La primera parte del comando traduce el archivo MP3 a un archivo WAV, cambia su frecuencia de muestreo de audio a 22050 y mezcla la pista a mono. La pista convertida luego se envía a la salida estándar, indicada por el signo de guión (-) y luego se canaliza (|) a la entrada estándar del comando pifm.
La única diferencia en el pifm
El comando en el ejemplo anterior es que, en lugar de especificar el nombre del archivo para transmitir, le estamos pidiendo a la secuencia de comandos que transmita la entrada estándar.
Si todavía tienes tu receptor de FM sintonizado en la frecuencia 102.3, ¡ahora deberías escuchar tu MP3! Nuevamente, al igual que en el ejemplo original, siéntase libre de reemplazar la frecuencia a cualquier lugar entre 88 MHz y 108 MHz.
Transmitir podcasts
Puedes hacer algunas cosas maravillosas con SoX. Puede, por ejemplo, usarlo para transmitir sus transmisiones favoritas en vivo desde Internet.
Para transmitir el podcast de Linux Voice:
sox -t mp3 https://www.linuxvoice.com/episodes/lv_s02e01.mp3 -t wav -r 22050 -c 1 - | sudo ./pifm - 102.3
La única diferencia entre este comando y el ejemplo anterior es que en lugar de apuntar a un MP3 local, ahora está apuntando a uno que reside en línea.
De manera similar, puede transmitir una estación de radio en línea. Muchas estaciones publican un archivo M3U y puedes señalarlo:
sox -t mp3 https://www.ndr.de/resources/metadaten/audio/m3u/ndrloop5.m3u -t wav -r 22050 -c 1 - | sudo ./pifm - 102.3
No todas las estaciones transmiten flujos de MP3. Algunos usan otros formatos como OGG. Todo lo que necesita para cambiar el tipo de archivo de entrada que está convirtiendo con sox. Como:
sox -t ogg https://network.absoluteradio.co.uk/core/audio/ogg/live.pls?service=a6bb -t wav -r 22050 -c 1 - | sudo ./pifm - 102.3
Si buscas radios online, aquí tienes una enorme lista de estaciones de radio europeas esa transmisión en línea.
Credito de imagen: Roberto Ashworth