Fase 6: Creando un pequeño Transmisor FM

De Wiki AOC | Luis M. Garcia
Saltar a: navegación, buscar

Para la realización de esta fase del transmisor FM vamos a necesitar muy poco material adicional, una antena. La antena la podemos realizar de forma muy rudimentaria con un simple cable. En nuestro proyecto ha sido realizada mediante empalme de 2 cables.

Antenara.jpg
  • La antena la vamos a conectar en el GPIO 4 de la Raspberry Pi (de las dos filas, el 4º pin de la fila de abajo).
Epi5no.png
  • Para compilar, el comando correcto es:
g++ -std=c++0x pifm.c -o pifm

Instalación

Para la realización de esta fase dependemos del software PiFM, pero nosotros hemos encontrado un software que es una mejora del mismo llamado PifmPlay. Todo este software desarrollado se realizó pensando en las versiones antiguas de la Raspberry Pi, por lo que no funciona en un principio para nuestro modelo de la placa.

Viendo el código fuente original vimos que se hacía referencia a la dirección de memoria 0x20000000, pero hemos tenido que modificarla por la dirección 0x3F000000 para que funcione correctamente por el GPIO que está establecido, ya que es la dirección que le corresponde con el nuevo procesador ARM7.

Creditos

NOTA: Pifm no era capaz de reproducir ficheros mp3.

Primeros pasos: dando permisos

Para que pueda funcionar el software tendremos que darle permisos chmod 777 a los ficheros pifm y a pifmplay si no disponen de permisos de ejecución.

Instalando sox y ffmpeg

sudo apt-get install ffmpeg sox libsox-fmt-all

Conversión de formatos

Como ya mencionamos anteriormente el soporte a mp3 no es completo, pero podemos convertir los ficheros de la siguiente forma:

ffmpeg -i archivoentrada.formatoarchivo -ar 22050 -ac 1 -acodec pcm_s16le archivosalida.wav

Despues de unos instantes nos creara el archivo .wav listo para ser utilizado.

En funcionamiento

Testeo

sudo sh pifmplay . 91.3

Reproducir un fichero

sudo sh pifmplay "/path/to/file.mp3"
sudo sh pifmplay "/path/to/file.m4a"
sudo sh pifmplay "/path/to/file.wav"

Reproducir un directorio

sudo sh pifmplay "/path/to/folder" 101.5

Controles de la tansmisión

Una vez se está reproduciendo habrá que abrir una nueva terminal y ejecutar los siguientes comandos dependiendo de lo que queramos realizar.

sudo sh pifmplay pause
sudo sh pifmplay resume
sudo sh pifmplay stop
sudo sh pifmplay next
  • Para controlarlo desde el mismo terminal habrá que ejecutarlo en segundo plano:
sudo sh pifmplay "/path/to/folder" &

Muestra de su funcionamiento

El programa es inestable para nuestra versión de la Raspberry y a veces no reproduce sonido alguno, aunque si emite por la banda y hace interferencia. Tambien puede ocurrir que se apague la Raspi y tengamos que desconectar y volver a conectar el cable de la corriente.

El comando de ejecucion para que funcionase en este momento ha sido sudo sh pifmplay . 99.3

ComandoEjemplo.jpg

La reproducción ha sido en la banda de Kiss FM en Murcia (99.3) y la interfiere por completo.