Avanzamos en el desarrollo del punto de información para el barrio

Hace unos meses, sobre mediados de mayo de este año, en la comisión de cultura del barrio se les ocurrió la idea de montar puntos de información. Puntos de información que mostrarán las actividades del barrio. Y como las fiestas eran en junio que mejor opción para probarlas. Podéis ver el post sobre este tema aquí.

Desde que montamos este primer prototipo y lo pusimos a funcionar en un comercio han pasado algunas cosas. La primera es que los comercios cercanos a esta primera pantalla se han interesado por el sistema y les ha gustado la idea. La segunda es que en la comisión de cultura de hace unas semanas también gusto el resultado. Con lo que se ha reactivado y hemos vuelto a avanzar en su desarrollo.

Como sabes, mirando el primer post, este sistema funciona con una raspberry pi “tuneada” para evitar los problemas generados de usar una pantalla con conexión vga. Ese junto con el tema del salvapantallas fueron los dos primeros escollos a salvar.

Ahora nos encontramos con otro, la actualización del contenido. El prototipo se montó partiendo de una premisa “no hay conexión a Internet” y como lo preparamos todo en el local de la asociación no pensamos en el momento de actualizar. Pero ese momento ha llegado. Con lo que debemos superar este nuevo problema.

La solución más simple que se nos ha ocurrido, recuerda no tenemos acceso a Internet, ha sido configurar en la raspi (/etc/network/interfaces, si no recuerdas como hacerlo mira aquí) una red Wi-Fi que no existe. Por otro lado, en nuestro móvil configuramos el tethering, o la opción de compartir nuestra conexión móvil a través de Wi-Fi, con los datos de esa red inexistente. Al activar esta red Wi-Fi en el móvil la pantalla se conecta a nuestro teléfono como si fuera el router de casa.

Primer escollo superado, ya podemos conectarnos a la pantalla. Pero este es solo la ½ del problema, aún queda poder actualizar la pantalla, es decir, pasarle los archivos nuevos y reiniciar la presentación. Esto lo hemos resuelto con 2 aplicaciones.

La primera es un cliente de FTP que permita el protocolo SFTP, en concreto hemos usado AndFTP (para android). Con esta app podemos conectarnos a la pantalla, y manejar los archivos, renombrarlos, cambiar su carpeta, etc. pero sobre todo podemos enviarle los nuevos archivos. La segunda app es JuiceSSH, un cliente SSH para smartphones. Con esta aplicación podemos conectarnos a la pantalla y administrar el 100% del sistema, actualizarlo, acciones administrativas y por supuesto reiniciar la presentación. Ambas aplicaciones  se configuran con los mismos datos de conexión, tanto el host o dirección ip, como usuario y contraseña.

Pues con esta solución hemos resuelto nuestro problema, actualizar la pantalla sin tocarla, simplemente acercándonos allá donde esté, cambiar los archivos, reiniciar y listo. Pero este sistema, que es válido (y el único) para pantallas en modo standalone, no es práctico. Seguimos teniendo que desplazarnos hasta el comercio en cuestión, aunque el procedimiento es bastante simple se requiere de una cierta destreza con la terminal y confiar que ningún parámetro de la configuración falla.

Buscamos el mínimo de intervención por parte del usuario, para que cualquier persona sea capaz de usarla. Con lo que estamos trabajando en dos variantes, la primera, para las pantallas como el prototipo, que trabajan aisladas. Le hemos instalado un servidor apache con php y poder desplegar una interfaz web que permita subir el nuevo archivo y reiniciar la presentación sin necesidad de usar otras aplicaciones. Esta parte aún está en desarrollo, y se orienta más como un plan B.

captura script
Script

El plan A, y la segunda variante en la que estamos trabajando, que además está muy avanzada, es para pantallas que tengan conexión a Internet. Se trata de un script que se ejecuta, en nuestro caso, cada 15 minutos con un cron (pero que tú puedes ponerle el plazo que quieras). Este script compara el hash sha256 del archivo local con el del archivo remoto en un servidor. Si son distintos descarga la nueva presentación y la reinicia. Con lo que todo se realiza de forma automática y sin intervención de usuario, más que para poner la nueva presentación en el servidor. Puedes descargarte el scrip desde nuestro repositorio de gitlab aquí.

De esta segunda opción la parte del cliente (la pantalla) ya está desarrollada, solo falta testearla en producción. Nos queda desarrollar la parte del servidor, para hacer una interfaz más simple que permita a cualquier usuario poner la presentación nueva. Ahora mismo se tiene que hacer mediante conexiones de tipo ssh, ftp, etc.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies