Pantallas informativas

Pantallas informativas con Raspberry Pi Zero W: Presentación del proyecto

En este proyecto se pretende tener en funcionamiento varias pantallas informativas que vayan reproduciendo una serie de vídeos en bucle, que estarán contenidos en una carpeta local de la Raspberry y cuyo contenido se actualizará de forma automática, evitando la reproducción en streaming y el consumo innecesario de ancho de banda.

Esquema de funcionamiento

 

Materiales

-Una Raspberry Pi Zero W por cada pantalla que queramos montar, con su alimentador, tarjeta de memoria, cable hdmi y adaptador.

Los alimentadores estoy probando con unos de 2.5A y sin problemas. Las tarjetas son una micro SD de 16 Gb Kingston, clase 10, que están tiradas de precio y sobra capacidad y también funcionan correctamente. El adaptador para HDMI es el que viene con el kit (es mucho más fácil encontrar una Pi Zero en kit que los componentes sueltos, así que…) y en cuanto al cable HDMI aquí sí que hay que tener precaución: cortito y bueno (digan lo que digan). Con un cable de 1,5 m. la Pi Zero funciona perfectamente, a la vista está la imagen de cabecera, pero con uno de una longitud mayor (unos 6 metros) no era capaz de mostrar nada en pantalla. También se puede subir la señal del HDMI en la Raspberry, pero es más fácil colocar la Pi Zero cerca de la pantalla y nos dejamos de líos y de forzar la máquina. Y que sea bueno, porque deberemos echar mano seguramente de códigos CEC (consumer electronics control) para controlar el encendido y apagado de la pantalla.

Raspberry Pi Zero W. Se puede apreciar su tamaño en comparación con una llave. Sorprendente lo que este cacharrete puede hacer con su minúsculo tamaño y reducido precio

-Una Raspberry Pi 3B o similar para configurar todo, o bien un HAT USB para poder conectarle a la Zero un teclado y un ratón. En el desarrollo hemos usado una 3B y luego le hemos pasado la tarjeta a la Zero y ha funcionado sin problemas.

Raspberry Pi 3 B usada para preparar la tarjeta. Esta es una auténtica superviviente de mil pruebas y experimentos.

Otra opción es usar una Pi Zero WH y un HAT USB, o bien armarnos de paciencia y soldar el peine de los GPIO en la Zero, esto nos permitirá conectar un teclado y ratón a la Pi Zero y configurarla.

Esto nos permitiría prescindir de la Pi 3B, aunque sinceramente, por el precio que tiene es preferible tener una Pi 3B aparte para ir haciendo pruebas y probar configuraciones, pero por poderse, se puede.

-Un ordenador que hará las veces de “servidor” y en el que se configurará una carpeta donde subamos los archivos que queramos que sean reproducidos por las pantallas. En el desarrollo hemos usado un viejo ordenador con piezas de derribo al que hemos instalado un Ubuntu, pero también podría ser perfectamente posible hacerlo con la Raspberry Pi 3B con la que preparamos las tarjetas, haciendo este sistema verdaderamente económico.

Funcionamiento

El problema que se ha planteado es que deseamos poner varias pantallas informativas, que en nuestro caso están bastante alejadas unas de otras y algunas colocadas a una cierta altura, así que o bien nos damos la calcetinada y trepamos hasta la pantalla para cambiar el pincho usb cada vez que queramos actualizar el contenido, o montamos un sistema como el que nos ocupa.

Cada pantalla tendrá una Raspberry conectada, hemos elegido la Zero W ya que es la más barata, sirve perfectamente y la conexión la vamos a hacer por WiFi, en caso de querer conectar por red cableada tendríamos que usar una Pi 3B o poner un adaptador de red a la Pi Zero, bien por Hat o bien por micro USB, pero volvemos a lo de antes, por la diferencia de importe y por la fiabilidad, mi consejo es la Pi 3B.

Cada cierto tiempo (en nuestro caso hemos elegido media hora) las Raspberry se conectarán con el ordenador que hace de “nuestro servidor” y cotejarán el contenido de la “carpeta_servidor” con la “carpeta_raspberry”, si hay algún archivo nuevo en la carpeta_servidor se lo descargarán, y viceversa, si hay algún archivo en la carpeta_raspberry que ya no está en la carpeta_servidor, lo borrarán. Con esto nos evitamos tráfico de red innecesario que consumiríamos si hiciéramos lo mismo pero reproduciendo en streaming.

Por nuestra parte lo único que tenemos que hacer es mantener actualizada la “carpeta_servidor” con los archivos que queramos sean reproducidos. Cuando queramos que un nuevo archivo sea reproducido por las pantallas, lo subimos a esa carpeta y las Raspberry ya se conectarán y actualizarán cuando toque.

Como las Pi Zero van a conectarse mediante DHCP, cada 15 minutos comprobarán si ha cambiado la IP y de ser así nos mandarán un correo electrónico, así, si necesitamos enviar una información urgente podríamos hacerlo subiéndola directamente a las Raspberry, o llevar a cabo actualizaciones tanto nuestras como de sistema. También nos enviarán correos cuando actualicen las carpetas, o si hay problemas para conectar al servidor, etc.

El encendido y apagado de las pantallas también está programado y lo puede hacer en función de la época del año si hay distintos horarios (horario de invierno, de verano, sábados…). Además, el sistema contará con alguna otra funcionalidad adicional que se comentará más adelante.

Pero también puede ser mucho más simple: Si imaginamos un pequeño comercio que quiera tener una pantalla en el escaparate mostrando información, podemos fácilmente modificar el sistema que vamos a describir aquí y con una Rpi 3 conectada al switch de la red local, actualizar la carpeta mediante Winscp o similar.

En siguientes entradas se podrá seguir por partes el proceso para el desarrollo de este sistema de forma ordenada, paso a paso. Al final haremos unos ajustes  en los scripts para poder clonar la micro SD e instalar el sistema para otros usuarios de una forma relativamente fácil, con instrucciones para ello e instrucciones de uso.

      1. Instalación del SO y conexión SSH
      2. Sincronización de carpetas
      3. Reproducción de archivos
      4. Automatización de todo el proceso
      5. Informes de estado y actualizaciones por email
      6. Distintos horarios de funcionamiento según la fecha
      7. Programado de encendido y actualizaciones con crontab
      8. Gestión de ficheros fácil para el usuario
      9. Resumen, ajustes para añadir pantallas, cómo adaptar para otros usuarios y ficheros para descargar

 

Deja un comentario

No está permitida la inserción de ningún dato de carácter personal (mail, tef...). Cualquier comentario que los contenga será editado o eliminado.

Por favor, si dejas un comentario pon cualquier nombre para poderme dirigir a ti pero que no te identifique

19 − catorce =

El comentario es totalmente privado. No se almacena la IP