Radio por internet con Raspberry pi


Desde Adafruit nos enseñan como construir  un  controlador de pantalla táctil para nuestra  Raspberry pi   con la idea de usar  esta  con la pantalla táctil , como  un Radio Reproductor por internet  gracias al  número creciente de emisoras de radio de internet disponibles. Obviamente  esta idea de instalar una pantalla táctil  a nuestra raspberry pi es ideal no solo para usar nuestra Pi como a radio por internet sino también para muchísimas  mas funciones como  reproductor mp3,cámara Ip, como tableta, para modding  y una infinidad de ideas      

Concretamente este interesante proyecto combina la versatilidad de la Raspberry Pi y el económico  PiTFT 2,8″ con pantalla táctil TFTdisplay. Una interfaz de visualización personalizada le permite controlar el volumen, la estación y ver lo que se está reproduciendo siendo ideal para personas que tienen una Raspberry Pi  y no le encuentran  otra  utilidad o simplemente para probar la funcionalidad del interfaz táctil

Como vamos a ver  hay bastantes pasos, pero el resultado merece la pena .

Resumidamente estos son los pasos a seguir:

  1. Montar  la PiTFT 320 x 240 2,8″ con pantalla táctil (esto puede no ser necesario si su PiTFT esta ya  premontado)
  2. Calibrar la pantalla táctil
  3. Instalar Music Player Daemon (MPD) y el cliente de reproductor de música (MPC) en laPi
  4. Encontrar y añadir emisoras de radio internet a mpc
  5. Descargar el código de radioplayer 
  6. Disfrutar de streaming de radio por internet en su escritorio Deben completarse todos los pasos de configuración y calibración para la pantalla de PiTFT.

Como adelanto en el siguiente vídeo podemos ver el proyecto en funcionamiento

 

 

Sin duda  es una idea muy interesante , veamos los pasos más en detalle.

 

1-Preparación y calibrado del sensor tactil 

Si su PiTFT de Adafruit pantalla táctil de 2,8″ vino como un kit ( por ejemplo el de Adafruit) necesitara completar las instrucciones para montar la pantalla,  aunque resumidamente hay que descargar y grabar la imagen PiTFT o bien utilizar una instalación existente de Raspbian e instalar el script de configuración sencilla. 

Si usa una  imagen para  instalar o utiliza el script instalador,entonces  todos los  pasos que vamos a ver  no son necesarios pues  ya están hechos  de modo que lo que vamos  a ver  es sólo para usuarios avanzados que tengan curiosidad sobre cómo configurar y personalizar la pantalla táctil siendo el procedimiento  idéntico para el 2.4″, 2.8″, 3.2″y 3.5″ PiTFTs resistivas.
Lo realmente interesante de este procedimiento es que ademas puede ser útil para otras pantallas diferentes a la de Adafruit en Amazon , pues  existen opciones razonables  por 25€ ( pantallas , soporte  y dializador incluidos )   que tendremos que configurar .
Como vamos a  ver el procedimiento es superable  aunque es cierto  que tengamos que pasar por un proceso de  calibración , pero no es difícil en absoluto.
Pantalla táctil de 3,5 pulgadas TFT LCD pantalla con protector caja de acrílico para Raspberry Pi 3 B+ [3 x disipador de calor de aluminio, CD con sistema instalado, lápiz capacitivo]
En este el caso  de comprar un kit , el montaje  físico es bastante sencillo  pues se reduce a  montar sobre la respberry pi sobre el  conector  de la GPIO  ,colocar el puente de hdmi  (segun el  modelo  especialmente en las pantallas mas grandes )   y montar finalmente los acrílicos
Este vídeo  nos puede servir para hacernos idea  de modo que nos  puede ayudar https://www.youtube.com/watch?v=gVK9MpPzK44,
No obstante  aun siendo sencillos  loa pasos , según el modelo puede haber variaciones  asi que lo recomendables es consultar las instrucciones que del fabricante del kit 
 
Veamos los  pasos a seguir una vez hayamos ,montado  la pantalla sobre la Raspberry Pi
 
  • Antes de empezar, vamos a hacer una regla udev para la pantalla táctil. Eso es porque el nombre eventX del dispositivo va a cambiar mucho y su molesto para averiguar lo que su llamada dependiendo de si tiene un teclado o el otro ratón instalado.   Ejecutar   sudo nano /etc/udev/rules.d/95-stmpe.rules   para crear un nuevo archivo de udev y copia y pega la siguiente línea: SUBSYSTEM==”input”, ATTRS{name}==”stmpe-ts”, ENV{DEVNAME}==”*event*”, SYMLINK+=”input/touchscreen” 
  •  Quite y vuelva a instalar la pantalla táctil con  sudo rmmod stmpe_ts; sudo modprobe stmpe_ts  
  • A continuación  realize un listado del directorio  escribiendo ls -l /dev/input/touchscreen  debe apuntar a eventX donde X es algún número, que número será diferente en diferentes configuraciones ya que otros teclados/ratones y dispositivos USB se llevará una ranura de evento
  • Hay algunas herramientas que podemos utilizar para calibrar y depurar la pantalla táctil. Instalar el “evento de prueba” y “biblioteca de pantalla táctil” paquetes con sudo apt-get install evtest tslib libts-bin
  • Evtest corriente :Ahora usted puede utilizar algunas herramientas como  sudo evtest /dev/input/touchscreen  ,  que le permitirá ver eventos de la pantalla táctil en tiempo real, pulsar en la pantalla táctil para ver los informes.
  • Script de calibración AutoMagic :Si se gira la pantalla necesita volver a calibrar la pantalla táctil para trabajar con la nueva orientación de la pantalla. Puede ejecutar manualmente los procesos de calibración en la sección siguiente, o puede volver a ejecutar el script instalador y seleccionar una nueva rotación.Intente utilizar este script de calibración por defecto para calibrar fácilmente su pantalla táctil. Tenga en cuenta que los valores de calibración pueden no ser adecuados para la pantalla, pero deben ser lo suficientemente cercanas para la mayoría de las necesidades. Si usted necesita la calibración de pantalla táctil más precisa, siga los pasos en la siguiente sección manualmente calibrar la pantalla táctil.
  • Calibración manual :Si la técnica de calibración “automagic” no funciona para usted o si tiene alguna otra instalación donde tiene que calibrar cuidadosamente te puede hacer ‘manualmente’se quiere calibrar la pantalla una vez pero no tiene que hacer más que eso. Empezaremos por la calibración en la línea de comandos ejecutando sudo TSLIB_FBDEVICE=/dev/fb1 TSLIB_TSDEVICE=/dev/input/touchscreen ts_calibrate .Siga las instrucciones en la pantalla, tocando cada punto. Utilizando un lápiz es sugerido para obtener un toque preciso. No uso algo de metal, plástico.Veremos cinco objetivos de punto de mira. Si ve menos que esos, la pantalla táctil probablemente genera señales múltiples de un solo toque, y usted debe tratar de calibrar otra vez.A continuación se puede ejecutar sudo TSLIB_FBDEVICE=/dev/fb1 TSLIB_TSDEVICE=/dev/input/touchscreen ts_test que le permitirá dibujar-prueba de la pantalla táctil. Volver atrás y volver a calibrar si sientes que la pantalla no es suficientemente precisa.
  • X calibración :También puede calibrar el sistema de entrada de X pero tienes que usar un programa diferente llamado xtcal (xinput_calibrator ya no funciona).Puede hacer esto si la calibración de la pantalla no es de tu agrado o cualquier momento cambiar la rotación = XX ajustes del módulo de la pantalla. Puesto que el controlador de pantalla y touch son completamente separados, la pantalla táctil no rotara automáticamente
sudo apt-get install libxaw7-dev libxxf86vm-dev libxaw7-dev libxft-dev
git clone https://github.com/KurtJacobson/xtcal
cd xtcal
make
  • Debe estar ejecutando PIXEL (GUI) mientras se calibra.Antes de empezar el calibrador tendrá que ‘reiniciar’ el viejo calibración datos entonces ejecutar DISPLAY=:0.0 xinput set-prop "stmpe-ts" 'Coordinate Transformation Matrix' 1 0 0 0 1 0 0 0 1 Ahora tendrá que ejecutar el calibrador mientras se ejecuta también X. Puede hacerlo abriendo el programa terminal y ejecuta el comando xtcal (que es difícil hacerlo en una pequeña pantalla) o se puede hacer lo que hacemos que es crear un shell SSH/Terminal y ejecutar el calibrador de la misma cáscara , que requiere el siguiente comando:DISPLAY=:0.0 xtcal/xtcal -geometry 640x480
  • Tenga en cuenta que el puede variar!geometry .Si está utilizando un 2.4″/2.8″/3.2 “pantalla de 320 x 240 con orientación horizontal, utilizar 640 x 480. Si es retrato, utilizar 640 x 480.Si está utilizando una pantalla de 3.5” con paisaje, utilizar 720 x 480, retrato es 480 x 720   Siga las instrucciones en pantalla
 
  • Ejecute sudo nano /usr/share/X11/xorg.conf.d/20-calibration.conf y copiar la linea número 9 en la opción de TransformationMatrix por lo que parece:
  1. Section “InputClass”
  2. Identifier “STMPE Touchscreen Calibration”
  3. MatchProduct “stmpe”
  4. MatchDevicePath “/dev/input/event*”
  5. Driver “libinput”
  6. Option “TransformationMatrix” “-0.000087 1.094214 -0.028826 -1.091711 -0.004364 1.057821 0 0 1”
  7. EndSection
  • Por ultimo hay que  reiniciar tu Pi para comprobar que está hecho Si esa asi ¡Su pantalla táctil esta ahora super calibrado, Lai lá!
¡No se debe usar con el PiTFT capacitiv pues no funcionara! Encontrara que para el uso más efectivo de la pantalla táctil es necesario llevar a cabo la calibración manual de la pantalla táctil.
Ahora que la pantalla está funcionando muy bien, nos encargamos de la pantalla táctil.

2-Instalar el Daemon

Ya tenemos  una raspberry Pi  con una pantalla táctil  de modo qeu podemos continuar .
En esta etapa es digno  la comprobación que la Raspberry Pi está actualizada antes de continuar, por lo que debe ejecutar el siguiente comando. 

sudo aptget update

Ahora ya podemos instalar el mpc y mpd  y añadir algunas emisoras de radio a tu lista de reproducción.

Las estaciones de ejemplo se enumeran a continuación son canales de la BBC del Reino Unido, pero  existen muchos mas disponibles en otros paises  

  • sudo aptget install mpd mpc
  • mpc add http://bbcmedia.ic.llnwd.net/stream/bbcmedia_intl_lc_radio1_p?s=1365376033&e=1365390433&h=a0fef58c2149248d6bff1f7b7b438931
  • mpc add http://bbcmedia.ic.llnwd.net/stream/bbcmedia_intl_lc_radio2_p?s=1365376067&e=1365390467&h=d43dc8ae0f888809462a6cb7c389b46b
  • mpc add http://bbcmedia.ic.llnwd.net/stream/bbcmedia_intl_lc_radio3_p?s=1365376123&e=1365390523&h=d53cf2a92272f3289b314a2251d23bc8
  • mpc add http://bbcmedia.ic.llnwd.net/stream/bbcmedia_intl_lc_radio4_p?s=1365376126&e=1365390526&h=ed9a0642b30c422b07fbcd8683c52335
  • mpc add http://bbcmedia.ic.llnwd.net/stream/bbcmedia_intl_lc_5live_p?s=1365376271&e=1365390671&h=e0d82133f35ae74d41d5eab6b9c150a6

Usted puede ahora comprobar con el comando mpc funciona a partir de una emisora sin olvidar conectar sus auriculares en el jack de 3 1/2 de  la salida de audio de la raspberry 

mpc play

Una copia de la lista de reproducción se puede guardar con el comando   mpc save my_playlist

La lista de reproducción se guarda en /var/lib/mpd/listas/  y  a lista de reproducción puede ser editada a mano con

sudo nano /var/lib/mpd/playlists/my_playlist

Una vez editada la lista de reproducción se puede cargar en mpc con

mpc load /var/lib/mpd/playlists/my_playlist

De esta forma podemos tener  un número de listas de reproducción guardadas en /var/lib/mpd/playlists con diversos géneros dependiendo del  estado de ánimo

 

3-Instalar Radio Player

El software de front-end Radioplayer se ha escrito en Python con Pygame y es específico para la pantalla TFT de 320 x 240 2,8″. Sin embargo, es relativamente sencillo adaptar el código para trabajar en una ventana de  mayor tamaño

Debe descargar el código de Python y los iconos desde el enlace Descargar el código de Python y los iconos. Extraiga los archivos en un memory stick y copielos  en una carpeta en la Raspberry Pi. (O puede colocarlo en el directorio de tarjeta SD en el ordenador de casa, los archivos en boot al arranca la tarjeta SD en la Pi)

Guardar en una carpeta llamada pi-radio 

Asegúrese de que todos los iconos y python código se guarda en la carpeta /home/pi/pi-radio

¡En esta etapa todo debería estar listo para funciona asi que solo tiene que ejecutar los siguientes comandos

cd /home/pi/piradio

sudo python radioplayer.py

 

 

Uso de Radioplayer

La interfaz ha sido funestamente mantenida simple para que puede accionarse con los dedos en lugar de un lápiz.
projects_Raspberry_Pi_Radio.jpg
  • Play – mpc inicia en la lista de reproducción
  • Pausa – mpc se detiene en la lista de reproducción
  • Bajar volumen – reduce el volumen
  • Subir volumen – aumenta el volumen de
  • Mute – volumen cero
  • Refrescar – para la reproduccion, vuelve a reproducir  y actualiza la pantalla.
  • Exit – cierra radioplayer interfaz pero mantiene mpc ejecutandose

 

Se extrae la información de la estación de la salida  con el comando  mpc status

Muchas estaciones de usan un formato común de  Nombre de emisora: nombre/información del circuito, es decir 

  • Nombre de la estación se muestra en la primera línea de la pantalla.
  • El nombre de la pista se muestra en la segunda línea de la pantalla.
  • Si no hay ningún nombre de la pista se muestra un mensaje de “ninguna información adicional“.

 

 

 

 

 

Mas   información en  https://learn.adafruit.com/raspberry-pi-radio-player-with-touchscreen/

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.