Contenido

  • Introducción
  • Hardware requerido
  • Software requerido
  • Configuración de la Raspberry Pi
  • Montaje de la pantalla y la carcasa
  • Código de implementación
  • Mostrar su propio contenido
  • Darle una oportunidad
  • Sobre el proyecto
  • ¿Que sigue?

Introducción

¡balenaDash es un marco web / foto digital alimentado por Raspberry Pi con una diferencia! Puede mostrar una página web o aplicación totalmente acelerada por GPU de su elección y le permite actualizar ese contenido desde cualquier lugar.

Aquí hay algunas ideas para comenzar:

balenaDash es un proyecto que puedes construir muy rápido, y si eres un hacker / creador como nosotros, con suerte con el hardware que ya tienes. Si no es así, sigue leyendo, ya que hay un buen trato en un paquete de hardware de un proveedor amigable para que también lo revises.

Puede configurar una Raspberry Pi, conectarla a un tablero que le permita administrarla de forma remota y luego instalar y crear aplicaciones para ejecutarla.


Hardware requerido

Este proyecto ha sido diseñado para que no necesite ningún hardware inusual y, con suerte, ya tenga todo lo que necesita para comenzar.

Vas a necesitar:

  • Raspberry Pi 3B / 3B + ( Nota: este proyecto no funcionará con los dispositivos Pi Zero o anteriores con <1 GB de RAM; desafortunadamente, eso significa que el nuevo 3A + tampoco funcionará)
  • Tarjeta Micro-SD de 16GB (recomendamos las tarjetas SD Sandisk Extreme Pro)
  • Pantalla (cualquier pantalla Raspberry Pi funcionará para este proyecto, y también puede usar monitores HDMI)
  • Cable micro-USB
  • Fuente de alimentación
  • Estuche (opcional)
  • Posibilidad de flashear su tarjeta SD (¡pruebe balenaEtcher !)

Este proyecto es un gran regalo una vez que lo haya construido, por lo que si no tiene el hardware o simplemente necesita más, nuestros amigos de PiSupply han creado un par de paquetes que contienen todo lo que necesita. Puede obtener el kit completo que incluye todo lo que necesita o un kit básico sin la pantalla .


Software requerido

Todo el código que necesita para este proyecto está en GitHub , pero necesitará algunas herramientas básicas para cargar el proyecto en su Raspberry Pi.

Puede usar balenaCloud para enviar el código del proyecto a la Raspberry Pi y luego para las actualizaciones posteriores y la administración remota de su dispositivo balenaDash.


Configuración de la Raspberry Pi

Este proyecto ha sido creado para ser muy simple y ponerlo en funcionamiento rápidamente. Forma una base para que progreses en el desarrollo de tus propios proyectos.

A continuación, encontrará una guía paso a paso, pero si lo prefiere, aquí también hay un screencast.

Paso 1: regístrese para obtener una cuenta gratuita de balenaCloud

Lo primero que debe hacer es registrarse para obtener una cuenta gratuita . Si ya tiene una cuenta de GitHub o Google, puede usarla para iniciar sesión y omitir el proceso de registro.

Regístrate gratis aquí

Paso 2 – Crea una aplicación

Esto lo llevará al panel de su aplicación recién creada, donde puede pasar al siguiente paso y agregar su dispositivo.

Paso 3: agrega un dispositivo y descarga el sistema operativo

Una vez que se ha creado su aplicación, puede configurar y agregar un dispositivo dentro de esa aplicación haciendo clic en el botón verde ‘agregar dispositivo’. Cuando agrega un dispositivo, especifica su tipo de dispositivo, que en este caso es un Raspberry Pi 3, y si se está conectando a una red inalámbrica, también puede configurar su SSID de WiFI y la frase de contraseña aquí.

Este proceso crea una imagen personalizada configurada para su aplicación y tipo de dispositivo, e incluye su configuración de red si la especificó.

Nota: Cuando empiece, una imagen de desarrollo será más útil, ya que permite una serie de funciones de prueba y solución de problemas. Puede encontrar más detalles sobre las diferencias entre las imágenes de desarrollo y producción aquí .

Paso 4: flashee su tarjeta SD y arranque el dispositivo

Una vez que se ha descargado la imagen del sistema operativo, es hora de actualizar su tarjeta SD. Puedes usar balenaEtcher para esto.

Una vez que el proceso de flasheo se haya completado, inserte su tarjeta SD en la Raspberry Pi y conecte la fuente de alimentación.

Cuando el dispositivo se inicia por primera vez, se conecta al tablero, después de lo cual podrá verlo en la lista como en línea y pasar al siguiente paso.

Solución de problemas: el nuevo dispositivo debería tardar solo unos minutos en aparecer en su panel de control. Si su dispositivo aún no aparece en el panel de control después de unos minutos, algo salió mal. Hay una extensa guía de solución de problemas en la documentación, con mucha información sobre por qué esto podría ser, pero si aún no puede conectar su dispositivo, visite los foros donde podremos ayudarlo.


Montaje de la pantalla y la carcasa

Una vez que haya arrancado su Raspberry Pi y aparezca en el panel de control de balenaCloud, es hora de armarlo en el estuche con la pantalla. Es difícil acceder a la tarjeta SD una vez que está ensamblada en el estuche, por lo que es bueno asegurarse de que esté en funcionamiento y no necesite volver a desmontarla antes de armar todo.

Puede encontrar una guía que le muestra cómo ensamblar, conectar y orientar la pantalla y la carcasa aquí también.

Si está viendo la salida en su pantalla como se indica arriba, esto significa que todo está funcionando y listo para funcionar.


Código de implementación

Ahora que su Raspberry Pi se ha aprovisionado, se ha iniciado y conectado a balenaCloud, está listo para enviar el código de la aplicación y hacer que las cosas funcionen; hacemos esto usando las herramientas de CLI de balena.

Instalar las herramientas de CLI de balena en su computadora

Las herramientas CLI de balena se instalan en su computadora / computadora portátil y le permiten comunicarse y enviar código a balenaCloud, que luego se envía a su Raspberry Pi. Nota: no necesita usar el terminal dentro del tablero de balenaCloud para nada en este tutorial.

Las herramientas de CLI de balena son compatibles con Windows, macOS y Linux, los enlaces de descarga y las instrucciones de instalación se pueden encontrar aquí .

Si está en Windows, hemos creado este video de YouTube para mostrarle cómo comenzar a usar las herramientas de la CLI.

Si ya tiene (o puede configurar) npm en su máquina, esta es probablemente la forma más fácil de poner en funcionamiento las herramientas de la CLI rápidamente. La documentación para las herramientas CLI es el mejor lugar para comenzar, y cubre la instalación y configuración tanto del paquete npm como de los binarios independientes.

Cuando tenga la CLI instalada y funcionando, el primer paso es iniciar sesión en balenaCloud emitiendo el balena logincomando desde el terminal o el símbolo del sistema en su computadora:

Una vez que haya llegado a este punto, y tenga una CLI en funcionamiento que haya iniciado sesión en su cuenta, estará listo para comenzar a enviar código a su Raspberry Pi.

Descargando el proyecto balenaDash de Github

El siguiente paso es descargar el código para este proyecto desde GitHub a su estación de trabajo. Vaya a: https://github.com/balena-io-projects/balena-dash y descargue el proyecto como se muestra en la imagen a continuación:

El botón azul en la foto descargará un archivo .zip del proyecto, pero si ya está familiarizado con Git, puede usarlo git clonede la manera normal.

Nota importante para los usuarios de Windows: si está utilizando Windows, el uso de git clonebalena pushpuede causar problemas debido a los cambios de final de línea; Recomendamos usar una combinación de la descarga zip del proyecto y, balena pushsi lo desea git clone, también use el método de implementación git en git push lugar de balena push.

Configuración

El proyecto WPE aprovecha la aceleración de la GPU de hardware en la Raspberry Pi y, por lo tanto, para que se ejecute balenaDash, deberá asignar un poco más de memoria a la GPU que la predeterminada. Como ahora tiene el dispositivo en funcionamiento en balenaCloud, existe la ventaja de poder establecer valores de configuración de forma remota, pero es igualmente posible especificarlos /boot/config.txteditando el archivo en la tarjeta SD directamente.

Tenemos una guía para establecer variables de configuración en balenaCloud en caso de que no pueda encontrarla en el menú.

Nota: RESIN_HOST_CONFIG_gpu_mem es una de las opciones predeterminadas dentro de balenaCloud, por lo que puede cambiar el valor existente en lugar de agregar una nueva variable de configuración.

Nombre Valor
RESIN_HOST_CONFIG_gpu_mem 396

Empujando el código del proyecto a su Raspberry Pi

Como tiene la configuración de CLI y el último código descargado, ahora puede ejecutar un solo comando para enviar ese código a balenaCloud, que a su vez construye el proyecto y maneja el proceso de configuración y ejecución en su dispositivo.

Desde el directorio del proyecto, que es la carpeta balena-dashbalena-dash-master, ejecute balena push <appName>, donde appName es el nombre de la aplicación que configuró al principio de la guía. Por ejemplo: balena push balenaDash.

Si todo funcionó bien, verás el unicornio:

Regrese al panel de control y podrá ver el estado de su dispositivo. Debería descargar la aplicación que se acaba de crear:

Cuando presiona el código por primera vez, la descarga puede demorar unos minutos (dependiendo de la velocidad de su conexión a Internet), pero después de eso solo se descargan los cambios en el contenedor, por lo que las cosas suceden mucho más rápido.

¡Felicidades! En este punto, su pantalla está lista para usar; de manera predeterminada, mostrará YouTube TV. Para cambiar esto a la salida deseada, sigue leyendo …


Mostrar su propio contenido

En este momento, la pantalla es un lienzo en blanco listo para mostrar su contenido.

Puede elegir cualquier URL que se muestre en la pantalla. La forma más fácil de cambiar la URL es agregando una variable en las variables del dispositivo dentro de balenaCloud.

Haga clic en «Agregar variable» y configure el NAMEas WPE_URLVALUEel URL que desea que muestre balenaDash.


Darle una oportunidad

Para darle algunas ideas, aquí hay algunos ejemplos de cosas para las que puede usar su pantalla balenaDash. Además de la gran lista al comienzo de este artículo, intente lo siguiente …

Un bucle de YouTube

Además de usar YouTube como en el ejemplo inicial, puede configurar fácilmente un video para que se abra automáticamente en pantalla completa y se ejecute en repetición.

Para hacer esto, puede usar el servicio provisto por yout-ube.com . Esto es tan simple como encontrar el video que le gustaría reproducir y agregar un -personaje después tde la URL. Por ejemplo…

Siendo fanáticos de Rick Astley, nos gustaría repetir el video con la URL https://www.youtube.com/watch?v=dQw4w9WgXcQ, por lo que agregamos https://www.yout-ube.com/watch?v=dQw4w9WgXcQal WPE_URLparámetro.

Para cambiar a un video diferente, modifique la ID del video en la URL. Algunos buenos para ayudarle a empezar: njJJSmWdIgAOZBWfyYtYQYQH2-TGUlwu4.

Configurar un tablero de instrumentos

Eche un vistazo a nuestra guía sobre cómo configurar una aplicación de tablero para usar con balenaDash.

Configurar una presentación de diapositivas de Google Photos

Intente crear una presentación de diapositivas con Presentaciones de Google para usar con su pantalla.

Controlar el contenido con la interfaz de usuario web y sus propias aplicaciones con la API HTTP

balenaDash tiene una interfaz de usuario web que se ejecuta en el puerto 8080 que le permite cambiar el contenido con un navegador web. Esto está cubierto en detalle aquí .

Configure la luz de fondo de la pantalla para encender y apagar con un temporizador

Una característica de balenaDash es la capacidad de encender y apagar la luz de fondo de la Raspberry Pi de acuerdo con un cronograma .

Usando un mouse

Si desea conectar un mouse para usar con balenaDash, agregue la siguiente variable de entorno a la aplicación o dispositivo: WPE_BCMRPI_CURSORcon un valor de 1.


Sobre el proyecto

El proyecto balenaDash utiliza el proyecto WebKit WPE , que es un puerto del motor del navegador web WebKit diseñado para dispositivos informáticos integrados y de bajo consumo de energía. Este proyecto aprovecha la aceleración de GPU de hardware disponible en la Raspberry Pi y, por lo tanto, nos permite mostrar una amplia variedad de aplicaciones web con animación de pantalla completa y video de movimiento completo sin problemas.

El uso de este software significa que puede mostrar proyectos basados ​​en la web sin el requisito de instalar una GUI completa y un navegador de escritorio típico, con los beneficios de un rendimiento mejorado, requisitos de recursos reducidos y facilidad de automatización.

Como la configuración y construcción de WebKit WPE puede ser bastante complicada y tener muchos pasos, nos hemos ocupado de eso configurando todo para usted dentro de un contenedor Docker; Se puede considerar un contenedor como un entorno aislado dentro del sistema operativo que se ejecuta en Raspberry Pi, que se puede configurar previamente para instalar varios paquetes de software, datos, códigos y archivos de configuración.

Si desea obtener más información, puede encontrar una introducción a los contenedores aquí .


¿Que sigue?

En este punto, está configurado con su nueva y brillante pantalla balenaDash y es muy probable que desborde de ideas para qué usarlo.

Has configurado tu Raspberry Pi usando balenaCloud, lo que hace que agregar una segunda pantalla sea trivial. ¡Actualice otra tarjeta SD con la misma imagen y su segundo dispositivo aparecerá en la misma aplicación y se aprovisionará automáticamente con el mismo software sin ningún trabajo de configuración adicional!

Puede agregar 9 dispositivos Raspberry Pi más a su cuenta de forma gratuita y administrarlos de manera centralizada desde un tablero.

Este manual ha sido traducido de la página: https://www.balena.io/blog/make-a-web-frame-with-raspberry-pi-in-30-minutes/