Revista 100% Verde

Radio por internet con Raspberry pi

Por Soloelectronicos @soloelectronico

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.

Radio por internet  con Raspberry pi

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

Radio por internet  con Raspberry pi

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.
Radio por internet  con Raspberry pi
    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
Radio por internet  con Raspberry pi
    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.

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 apt - get install mpd mpc

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

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 / pi - radio sudo python radioplayer . py

La interfaz ha sido funestamente mantenida simple para que puede accionarse con los dedos en lugar de un lápiz.

Radio por internet  con Raspberry pi
  • 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/

Esta entrada fue publicada en audio y video, Raspberry y etiquetada como instalar pantalla tactil en raspberry, pantalla tactl raspberry pi, radio ip raspberry pi, reproductor con 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.
Radio por internet  con Raspberry pi
    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
Radio por internet  con Raspberry pi
    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.


Volver a la Portada de Logo Paperblog