Tabla de contenido:

Un servidor de señal digital en una Raspberry Pi: 8 pasos
Un servidor de señal digital en una Raspberry Pi: 8 pasos

Video: Un servidor de señal digital en una Raspberry Pi: 8 pasos

Video: Un servidor de señal digital en una Raspberry Pi: 8 pasos
Video: TODO ESTO PUEDES HACER CON UNA RASPBERRY PI 😈💻 2024, Mes de julio
Anonim
Un servidor de señal digital en una Raspberry Pi
Un servidor de señal digital en una Raspberry Pi

Una guía absoluta para principiantes de Córcega en un Raspberry PI

Los letreros digitales están en todas partes. Los ves en aeropuertos, centros comerciales, grandes almacenes e incluso en las esquinas. No necesita mucho hardware personalizado caro para construir su propio sistema de señalización digital. Este Instructable muestra cómo construir un servidor de señalización digital que puede manejar docenas de pantallas. Cada pantalla puede ser tan simple como un monitor y un Raspberry PI.

Gracias a Node Ninjas en Mozilla, incluso puede ejecutar el servidor en una Raspberry Pi usando Corsica.

Corsica es una solución de señalización digital extensible que se puede implementar en la mayoría de los sistemas POSIX. Consiste en un servidor y clientes de pantalla. Las máquinas cliente no requieren software especial y simplemente ejecutan cualquier navegador web moderno, aunque todos en el equipo de Córcega recomiendan ampliamente Firefox. El servidor consume muy pocos recursos y se ejecutará felizmente en una Raspberry Pi u otra máquina muy pequeña. Un servidor de Córcega que se ejecuta en una Raspberry Pi 3+ puede admitir fácilmente más de 100 pantallas de cliente. Estas instrucciones están escritas específicamente para una Raspberry Pi que ejecuta el sistema operativo Raspian (un derivado de Debian). Estas instrucciones también asumen que está utilizando el navegador Firefox. La mayoría de los demás navegadores modernos también deberían funcionar.

Paso 1: la línea de comandos de Raspian

Estas instrucciones le mostrarán cómo configurar Corsica a través de la línea de comandos. Si está utilizando Raspian con la interfaz gráfica de usuario (GUI), accede a la línea de comandos a través de la aplicación de terminal. Si está ejecutando Raspian-lite, puede conectar un teclado y un monitor y usar la línea de comando directamente, o puede conectarse a través de la red usando SSH. Para obtener más información sobre cómo habilitar y usar SSH, consulte la documentación de Raspian SSH. Necesitará saber el nombre DNS o la dirección IP de su Raspberry Pi. El nombre predeterminado en la mayoría de las LAN será raspberrypi.local. Si eso no funciona, hay instrucciones en la documentación de Raspian que lo ayudarán a descubrir el nombre y la dirección IP correctos.

Paso 2: instalación del software

Córcega usa node y npm. Node le permite ejecutar Javascript del lado del servidor, y npm es el administrador de paquetes de nodos.

Para instalarlos en una Raspberry Pi, primero verifique la versión del procesador en su sistema:

uname -m

Si el resultado comienza con armv6, consulte esta publicación de blog. Para sistemas Raspberry Pi 3 y otros con procesadores armv7 y posteriores:

curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -

sudo apt instalar nodejs

Si no está familiarizado con Node, puede obtener más información en nodesource.com.

A continuación, instale las herramientas de la línea de comandos de Córcega:

sudo npm install -g corsica-cli

Para ver los comandos disponibles, escriba

Córcega --ayuda

Al momento de escribir estas líneas, los comandos disponibles son:

setup - para configurar un servidor de Córcega iniciar [opciones] - para iniciar el servidor de Córcega reiniciar [opciones] - para reiniciar un servidor de Córcega en ejecución detener - para detener un servidor de Córcega en ejecución serveradd-plugin [nombre] - para instalar un pluginremove- plugin [nombre]: para eliminar un pluginlist-plugins instalado: para enumerar los complementos instaladosupdate: para actualizar tanto Córcega como sus complementos

Ahora puede utilizar las herramientas para configurar el software de Córcega:

configuración de Córcega

La configuración de Córcega le preguntará dónde desea instalar Córcega y le mostrará la ubicación predeterminada:

Dónde instalar Córcega: (/ home / pi / corsica-server)

Simplemente puede presionar retorno.

Verá algunos mensajes de advertencia de npm. Es seguro ignorarlos.

Cuando la configuración diga "¡Listo!", Habrá instalado Corsica.

Puede iniciar Córcega en su sesión de terminal con:

inicio de Córcega

Y deténgalo con control-C.

Pero si lo inicia de esa manera, solo se ejecutará mientras se ejecute su sesión de terminal. Cuando cierre su terminal, la sesión de Córcega se detendrá.

Si inicia Corsica en segundo plano, se ejecutará incluso después de que desconecte su sesión de terminal. Puedes hacer eso con

Córcega inicio - antecedentes

Para detener la ejecución de una instancia de Córcega en segundo plano, escriba:

parada de Córcega

Paso 3: configuración

Su configuración probablemente necesitará alguna personalización. Hay dos tipos de personalización en Córcega: configuración y ajustes. La configuración es principalmente estática y la utiliza el núcleo. La configuración es dinámica y la utilizan principalmente complementos. Más sobre la configuración más adelante.

La configuración proviene del entorno y es para cosas muy estáticas, como el puerto para escuchar o los complementos para cargar. Hay cuatro fuentes para la configuración:

1. lib / config.json: aquí es donde se almacenan los valores predeterminados y es un buen lugar para ver algo de lo que se puede configurar. No debería cambiar los valores aquí.

2. config.js: las configuraciones que se encuentran en este archivo se cargan como si fueran del entorno. La sintaxis es una configuración por línea, p. Ej. `PUERTO = 8080`. Si los valores aquí son JSON válidos, se analizarán como tales. La configuración aquí anulará los valores predeterminados en `lib / config.json`. El archivo config.js especifica inicialmente el número de puerto en el que escucha Corsica y los complementos utilizados por el sistema.

3..env: si el archivo oculto llamado.env está en el directorio de Córcega, su configuración se carga como si fuera del entorno. La sintaxis es la misma que en config.js. Este archivo no existe en la configuración predeterminada.

4. Variables de entorno: puede poner información de configuración en las variables de entorno del sistema si lo prefiere. Si no está familiarizado con las variables de entorno, es seguro ignorar esta opción.

Paso 4: Conexión de pantallas de visualización

Una vez que inicie Corsica, ejecutará un servidor web en el puerto 8080 de su máquina, a menos que haya cambiado el número de puerto en el archivo.env. Necesitará saber el nombre de host o la dirección IP de su Pi. El nombre predeterminado para una nueva instalación de Raspberry Pi es raspberrypi. Si no lo ha cambiado, puede abrir un navegador en su máquina cliente de pantalla y buscar:

raspberrypi.local: 8080

Debería ver el logotipo de Córcega amarillo y negro. Aparecerá una burbuja con el nombre de Córcega de su cliente. Puede (y debe) cambiar el nombre de su cliente a algo que indique la ubicación de esta pantalla de visualización en particular. La forma más fácil de hacer esto es usar corsica-repl de Potch. (Potch es un desarrollador principal de Corsica, y se comprometió a poner réplica en el núcleo de Corsica pronto).

Abra una pestaña del navegador y busque:

potch.github.io/corsica-repl?server=https://raspberrypi.local:8080/

(Eso supone que raspberrypi.local es el nombre de su servidor Corsica).

Usaremos "TestClient" como el nombre de la pantalla del cliente para el resto de este tutorial. Vaya al menú desplegable en la esquina inferior derecha de la pantalla y busque el nombre del cliente que apareció. Luego, en la línea de comando en la parte inferior izquierda de la pantalla, escriba:

tipo de administrador = renombrar nombre = TestClient

Deje abierta la pestaña corsica-repl y cambie a la pestaña del navegador que muestra el logotipo de Corsica y actualice la página. Verá el nuevo nombre en la burbuja emergente. Si desaparece demasiado rápido, coloque el mouse en la esquina inferior derecha y aparecerá el botón "Pantalla completa" con el nuevo nombre a la izquierda.

Paso 5: agregar contenido

Agregar contenido
Agregar contenido

Después de mostrar el logotipo de Córcega, el cliente mostrará algunos animales de dibujos animados sobre un fondo azul.

La etiqueta predeterminada en el archivo state.json contiene una lista de direcciones de páginas web. Puede presentar cualquier página web de esta manera, aunque el diseño de algunas páginas las hace menos adecuadas para su uso con Córcega.

Un cliente de Corsica muestra el contenido de una o más etiquetas a las que se suscribe. Los nuevos clientes ya vienen suscritos a una etiqueta llamada "predeterminada".

Los animales de dibujos animados son lindos, pero agreguemos contenido útil a la rotación de pantalla en nuestro cliente de prueba.

Regrese a la pestaña corsica-repl y en la línea de comando en la parte inferior izquierda escriba:

tipo de administrador = etiqueta de suscripción = clima

Vuelva a la pestaña del cliente de visualización y actualice la página.

Se agregará un pronóstico del tiempo para San José, California, a la lista de URL mostradas.

Nuestro archivo state.json de muestra contiene tres etiquetas denominadas "predeterminado", "clima" e "imágenes". La etiqueta "imágenes" contiene enlaces a más archivos de gráficos de animales de dibujos animados (.png). Agreguemos esos volviendo a la pestaña corsica-repl y escribiendo:

tipo de administrador = etiqueta de suscripción = imágenes

De nuevo, vuelva a la pestaña del cliente de visualización y actualice la página. Verá algunos animales nuevos agregados a la rotación. Pero observe que los nuevos animales aparecen en el borde izquierdo de la página con un fondo blanco. Esto se debe a que los dibujos animados con fondo azul se enumeran en state.json como URL que apuntan a una página web adecuada escrita en html. Los nuevos dibujos animados con fondos blancos se enumeran en state.json como URL que solo apuntan a los archivos gráficos-p.webp

Podemos mejorar la forma en que Córcega muestra esos gráficos, pero para ello tendremos que "extender" la propia Córcega.

Paso 6: Ampliación de Córcega

Ampliación de Córcega
Ampliación de Córcega

Más de una docena de complementos de npm Corsica están disponibles en el sitio web de npm. Siga ese enlace e ingrese "corsica" en el cuadro de búsqueda en la parte superior de la página para ver una lista de ellos. Usaremos uno de esos complementos npm para permitirle mostrar nuestros nuevos animales. También es útil para mostrar cualquier imagen que encuentre en la web, sin mostrar gráficos que distraigan la atención alrededor de la imagen.

Vaya a la línea de comando de Corsica, detenga Corsica e instale el complemento corsica-image:

corsica add-plugin corsica-image

Luego reinicia Córcega:

inicio de Córcega

Abra la pestaña del cliente de visualización de Córcega en su navegador y actualice la página. Debería ver los nuevos animales mostrados centrados en la pantalla con un fondo azul oscuro.

Paso 7: personalización del contenido

Echemos un vistazo a la diferencia entre lo que hacen las URL en la etiqueta predeterminada y las de la etiqueta de imágenes. Eche un vistazo a state.json yendo a la línea de comando de Corsica y escribiendo:

cat ~ / corsica-server / state.json

En la sección "predeterminada" de ese archivo, encontrará una línea que se parece a:

"https://ramilewski.github.io/corsica-support/show.html?image=kitty.png", Esta URL es un enlace a una página web con una caricatura de un gatito. Esa página web muestra una imagen, pero también proporciona un fondo que es un degradado que comienza en la parte superior de la página como un color azul y se desvanece a blanco en la parte inferior de la página. Ese fondo es creado por el CSS y HTML de la página web. No es parte del gráfico en sí.

Las secciones de "imágenes" de la página tienen una línea que se parece a:

"https://ramilewski.github.io/corsica-support/bunny.png bg = # 2244BB", Esta es una URL que especifica un enlace a la imagen-p.webp

"# 2244BB" es una notación hexadecimal para un color azul oscuro. Para obtener una herramienta que le ayude a especificar cualquier color en notación hexadecimal, consulte el Selector de color de MDN.

Al mostrar esta línea, Corsica ha utilizado el complemento corsica-image para renderizar la pantalla. Esto significa que si encuentra una imagen que desea mostrar en las pantallas de su cliente de Corsica, puede crear una línea en state.json que mostrará solo esa imagen, pero no cualquier otro contenido que distraiga de la página circundante. Para encontrar la URL de una imagen en Firefox, haga clic con el botón derecho en la imagen y seleccione "Copiar ubicación de imagen" en el menú contextual que aparece.

La sección "clima" de state.json solo tiene una URL. Esto obtiene un pronóstico del tiempo de https://forecast.io. Pero a menos que viva en San José, ese pronóstico no es muy útil. Para obtener un pronóstico de su ubicación, debe saber su latitud y longitud en grados decimales. Si no lo hace, existe una herramienta basada en la web que le permitirá encontrarla.

En este momento, la URL en la línea en state.json que especifica el pronóstico del tiempo se ve así:

"https://forecast.io/embed/#lat=37.3352&lon=-121.8871&name=San%20Jose%20CA&color=#4466bb zoom = 300"

Para obtener el pronóstico de su ubicación, cambie las entradas de latitud y longitud en esa línea y cambie el nombre a su ubicación. Use% 20 en lugar de espacios en el nombre del lugar. El parámetro de color especifica el color de las barras entre las temperaturas altas y bajas. El parámetro de zoom se utiliza para ajustar el tamaño del pronóstico para que quepa en la pantalla.

Cuando cree su propio archivo state.json, recuerde que si tiene una etiqueta "predeterminada", cualquier contenido especificado en esa etiqueta aparecerá en cualquier navegador que se conecte al servidor sin más configuración.

Tiempo de visualización

En la parte superior de state.json hay algunas configuraciones que controlan cuánto tiempo se muestra cada imagen en la pantalla.

"settings:: timer": {

"resetTime": 30000, "jitter": 5000, Todos los tiempos se miden en milisegundos (milésimas de segundo). ResetTime es el tiempo máximo que cada imagen está en la pantalla antes de que se muestre la siguiente pantalla. La fluctuación se multiplica por un número aleatorio entre -1 y 1 y el resultado se agrega a resetTime. Esto proporciona cierta variedad en los tiempos de visualización. Puede establecer el jitter en 0 si lo desea. La configuración mostrada hará que cada página se muestre entre 25 y 35 segundos.

También puede establecer diferentes horas para cada cliente de visualización:

"settings:: timer": {

"resetTime": 30000, "jitter": 5000, "resetOnConnect": true, "pantallas": {"TestClient": {"resetTime": 10000, "jitter": 1000}}}, Aquí hemos establecido el tiempo de visualización de nuestro TestClient entre 9 y 11 segundos.

Paso 8: Conclusión

Hemos mostrado cómo instalar y configurar un servidor de Córcega en una Raspberry Pi. Con lo que ha aprendido aquí, puede construir un sistema de señalización digital versátil y de muy bajo costo. Puede utilizar Raspberry Pis no solo como servidor en su sistema, sino también para controlar las pantallas de los clientes.

Hay muchos más complementos en el sitio web de npm que puede usar para agregar otras capacidades a su instalación de Córcega, incluida la visualización:

  • Imágenes de Flickr
  • Tweets
  • Conversaciones en un canal de IRC
  • Archivos de video
  • Videos de Youtube
  • Diapositivas en presentaciones de Google
  • Dibujos animados XKCD
  • Contenido de una fuente RSS

Créditos

Córcega es la creación de Ninjas de nodo de cinturón negro de tercer grado de Mozilla liderados por potch, lonnen y mythmon.

Estas instrucciones para Córcega en Raspberry Pis fueron improvisadas por Richard.

Por lo general, puede encontrar a todos merodeando por el canal #corsica en irc.mozilla.org.

Recomendado: