Tabla de contenido:

Tablón de anuncios de Raspberry Pi: 11 pasos (con imágenes)
Tablón de anuncios de Raspberry Pi: 11 pasos (con imágenes)

Video: Tablón de anuncios de Raspberry Pi: 11 pasos (con imágenes)

Video: Tablón de anuncios de Raspberry Pi: 11 pasos (con imágenes)
Video: TODO ESTO PUEDES HACER CON UNA RASPBERRY PI 😈💻 2024, Mes de julio
Anonim
Tablón de anuncios de Raspberry Pi
Tablón de anuncios de Raspberry Pi
Tablón de anuncios de Raspberry Pi
Tablón de anuncios de Raspberry Pi
Tablón de anuncios de Raspberry Pi
Tablón de anuncios de Raspberry Pi

Este es un proyecto en el que trabajé para mi iglesia. Queríamos un tablero de anuncios electrónico que se montara en el área del vestíbulo / nártex y pasara por diapositivas estáticas cada pocos segundos.

Estos fueron nuestros objetivos de diseño:

  • Diapositivas estáticas, sin video ni audio
  • El administrador genera diapositivas en Powerpoint (herramienta familiar, sin software nuevo para aprender)
  • El administrador puede arrastrar y soltar una nueva presentación para reemplazar la anterior
  • Ninguna solución basada en la nube, ya que el tablero de anuncios estaría en nuestra red inalámbrica privada
  • Sin tarifas de licencia mensuales o software propietario, aparte del que ya teníamos (Windows, Office, Powerpoint)
  • Pantalla de 49 ", en modo retrato / vertical (aunque el modo paisaje / horizontal también es posible y se describe a continuación)
  • Costo deseado: <$ 1000

Logramos hacer esto y estuvimos por debajo del presupuesto. Recientemente ayudé a otra iglesia cercana a hacer el mismo proyecto, y el costo total (sin incluir el costo de un electricista para llevar la energía al lugar correcto en la pared y la mano de obra involucrada en el montaje) fue de menos de $ 500.

Debido al bajo costo y los costos continuos esencialmente nulos (solo electricidad), esto también encajaría bien con escuelas, bibliotecas, museos, organizaciones sin fines de lucro u otras organizaciones con presupuesto limitado.

Los comentarios son bienvenidos.

Paso 1: Lista de equipos

Lista de equipo
Lista de equipo
Lista de equipo
Lista de equipo
Lista de equipo
Lista de equipo

Aquí hay una lista de los equipos que usamos. Se agregan comentarios. Intento vincularme al sitio del fabricante siempre que sea posible, en lugar de un minorista.

  • TV / monitor. La mayoría de los televisores o monitores modernos sirven, siempre que tengan CEC (consulte este artículo en Wikipedia para obtener más información sobre CEC: https://en.wikipedia.org/wiki/Consumer_Electronics_Control). La mayoría de los monitores están hechos para montarse en modo vertical / retrato o en modo horizontal / apaisado. Los televisores están diseñados para ser horizontales, por lo que montarlos verticalmente es un poco más complicado. Además, muchos televisores son asimétricos de arriba a abajo (es decir, el borde inferior suele ser más grande que el superior), por lo que montarlo verticalmente puede parecer un poco extraño. Aún así, los televisores son más baratos en general, así que optamos por un televisor. Por supuesto, si su orientación preferida es horizontal, no importa. Nos decantamos por este: LG 49 "LED TV.
  • Soporte de TV: esto fue complicado, porque compramos un televisor y queríamos montarlo verticalmente. Las cosas a considerar son el estilo de montaje y si será visible, especialmente si el televisor está montado verticalmente. El soporte se coloca en la pared con la misma orientación que si estuviera montando el televisor horizontalmente. Si opta por montar el televisor verticalmente, debe considerar si los orificios de montaje de los tornillos en el soporte del televisor pueden adaptarse a los orificios de montaje girados en el televisor. Algunos televisores colocan los tornillos de montaje en un patrón cuadrado, mientras que otros tienen un patrón rectangular. Piense en esto y asegúrese de que el montaje funcionará en la ubicación deseada antes de comprar.
  • Raspberry Pi, carcasa, cables, disipador de calor, ventilador, etc.: te recomiendo que obtengas la última y mejor versión. En el momento en que construimos el proyecto, era la Raspberry Pi 3 B +, pero ahora la Raspberry Pi 4 B está fuera. En cuanto a la carcasa, cable de alimentación, disipadores de calor, ventilador, decidimos que, dado que la Raspberry Pi funcionará 24 horas al día, 7 días a la semana, queríamos una carcasa con ventilador, aunque silencioso. Y tener un cable de alimentación con un interruptor de alimentación en línea facilita el restablecimiento del sistema sin tener que desconectar el enchufe. La otra diferencia principal entre Raspberry Pi 3 B + y Raspberry Pi 4B es que el 4 B tiene un conector micro-HDMI, lo que significa que necesita un adaptador (se incluye en el kit a continuación).

    • Si va con Raspberry Pi 3 B +: Kit de estuche Raspberry Pi 3 B + (no incluye Raspberry Pi)
    • Si va con Raspberry Pi 4 B: Kit de estuche Raspberry Pi 4 B (no incluye Raspberry Pi)
  • Cable HDMI: Cualquiera está bien, siempre que sea compatible con CEC. Tenga en cuenta que, por lo general, la Raspberry Pi se montará en la pared detrás del televisor / monitor o posiblemente se conectará al televisor / monitor, por lo que un cable corto de 3 'probablemente sea suficiente. Demasiado largo de un cable y se verá. También considere dónde están los puertos HDMI en el televisor / monitor y si podría considerar un extremo de cable de 90 grados (por ejemplo, si los puertos HDMI están en un lado).
  • Tarjeta micro SD. Esto tampoco importa mucho. Elegimos 32 GB en lugar de los 16 GB estándar, solo para tener espacio adicional para software adicional, si quisiéramos, y para tener un lugar para almacenar múltiples presentaciones. Elegimos este: SanDisk Ultra PLUS 32GB MicroSD Card. Tenga en cuenta que es más fácil si compra una tarjeta MicroSD con NOOBS ya instalado, como esta: Tarjeta SD con NOOBS. Yo no hice eso, pero puede guardar un paso si lo hace. Consulte aquí para obtener más información: NOOBS

Una nota sobre CEC: CEC (Consumer Electronics Control) permite que algunos componentes se controlen entre sí a través del cable HDMI. Por ejemplo, un reproductor de DVD podría encender / apagar el televisor conectado a través del cable HDMI si ambos son compatibles con CEC. Esto es útil en nuestro caso, ya que la Raspberry Pi puede encender / apagar el televisor / monitor como desee. Por ejemplo, en un entorno de iglesia, nos gustaría tener el monitor encendido solo durante las horas en que la iglesia está abierta, y eso varía según el día de la semana. CEC permite que el Pi encienda y apague el televisor en un horario arbitrariamente complejo.

Paso 2: ensamble la carcasa Pi

Ensamblar la caja Pi
Ensamblar la caja Pi
Ensamblar el estuche Pi
Ensamblar el estuche Pi
Ensamblar la caja Pi
Ensamblar la caja Pi

El montaje es bastante sencillo. Pegue los disipadores de calor en los chips del tamaño correspondiente en la Raspberry Pi, monte la carcasa capa por capa. No olvide quitar las láminas protectoras de plástico delgadas de cada capa.

Paso 3: instala Raspbian

Instalar Raspbian
Instalar Raspbian

Hay una excelente guía en el sitio de Raspberry Pi. Siga esas instrucciones para configurarlo.

Configuración de su Raspberry Pi

Usé Raspbian Lite, ya que no tiene aplicaciones adicionales que no necesitará para este proyecto.

Paso 4: agregue software estándar y personalizado

Una vez que NOOBS instale Raspbian, la primera vez que inicie sesión, se le solicitarán cosas como el idioma, la zona horaria, etc. También solicitará información sobre la red WiFi y la contraseña, a menos que esté en una conexión por cable. Finalmente, descargará e instalará cualquier actualización de Raspbian. Ayuda si tiene la misma conexión a Internet que en la configuración final, pero no tiene por qué ser así. Es decir, puede realizar este paso en casa antes de instalarse en la ubicación final. Solo recuerde configurar la nueva conexión a Internet antes del reinicio final en el último paso.

Abra una ventana de terminal (haga clic en el icono rectangular negro cerca de la esquina superior izquierda de la pantalla).

Primero, verificamos dos veces para ver si hay más actualizaciones de Raspbian. Escriba las siguientes líneas, una a la vez

actualización de sudo apt

actualización de sudo apt

(diga "S" si le pregunta si desea instalar actualizaciones).

A continuación, instalamos Samba, que permite compartir carpetas con la (s) máquina (s) Windows en la red.

sudo apt install samba samba-common-bin smbclient cifs-utils

A continuación, instalamos fbi. fbi es la utilidad de Unix que muestra gráficos en una pantalla que no ejecuta un administrador de ventanas.

sudo apt instalar fbi

A continuación, instalamos inotify-tools. inotify-tools permite que la presentación de diapositivas observe la carpeta compartida en busca de cambios.

sudo apt instalar inotify-tools

A continuación, instalamos cec-utils. cec-utils permite que Raspberry Pi encienda y apague el televisor a través del cable HDMI.

sudo apt install cec-utils

A continuación, deberá descargar las pequeñas utilidades que escribí para reproducir la presentación de diapositivas.

clon de git

Esto buscará el código y lo colocará en un directorio llamado raspi_slideshow.

Ahora todo el software está disponible en Raspberry Pi. Los siguientes pasos pasan por la configuración.

Paso 5: configurar la carpeta compartida

De forma predeterminada, el código de presentación de diapositivas busca un directorio (carpeta) / compartido / Presentación.

Necesitamos crear ese directorio. Dado que está en el nivel raíz, necesitamos permisos de root, por lo que un sudo está en orden. Es posible que deba escribir la contraseña (la predeterminada es frambuesa) cuando haga este comando:

sudo mkdir -p / shared / Presentación

A continuación, tenemos que hacer esto legible y escribible para cualquier persona en esta Pi. Escriba el siguiente comando:

sudo chmod a + rwx / shared / Presentation

Esto lo hace visible solo en este Pi. A continuación, necesitamos compartir esta carpeta con el mundo (en realidad, solo otras máquinas en la misma red). Es por eso que recomendamos que sea en una red Wi-Fi privada (protegida con contraseña) o en una red local cableada.

Cuando instalamos samba en el paso anterior, creó un archivo predeterminado /etc/samba/smb.conf

Necesitamos agregar un montón de líneas al final de ese archivo. Las líneas están en el archivo raspi_slideshow / add_to_smb.conf

La forma más sencilla de hacerlo es la siguiente:

sudo bash

cat raspi_slideshow / add_to_smb.conf >> /etc/samba/smb.conf salir

Esto básicamente concatena el archivo add_to_smb.conf al final de /etc/samba/smb.conf

Puede optar por hacerlo a través de un editor como nano si lo prefiere, pero es una buena cantidad de escritura.

Básicamente, comparte el directorio / shared como un directorio que cualquiera en la red local puede leer y escribir. No explicaré cómo protegerlo aquí, pero si desea que esté protegido (para requerir una contraseña para editar), puede leer sobre Samba y cambiar la configuración en consecuencia.

Paso 6: Configure los ajustes de encendido / apagado del monitor

Usamos cron para encender y apagar el televisor / monitor en horarios programados. Cron es una utilidad de Linux que ejecuta tareas en horarios programados. Si desea que su televisor / monitor funcione las 24 horas del día, los 7 días de la semana o si desea encenderlo y apagarlo manualmente, puede omitir este paso.

Copie el archivo crontab de ejemplo del directorio raspi_slideshow al directorio de inicio.

cp raspi_slideshow / crontab_example.pi crontab.pi

El archivo crontab_example.pi es un ejemplo que muestra cómo funciona este tipo de archivo. Hay mucha documentación en Wikipedia y en otros lugares:

Ahora lo editamos. Es útil tener su horario ya calculado. El horario de ejemplo es

  • Domingo: encendido a las 7 a.m., apagado a las 9 p.m.
  • Miércoles: encendido a las 8 a. M., Apagado a las 9 p. M.
  • Sábado: encendido a las 7 a.m., apagado a las 9 p.m.
  • Otros días: encendido a las 8 a. M., Apagado a las 5 p. M.

Me gusta nano ya que está instalado con Raspbian y es fácil de usar. Puede utilizar vi o cualquier otro editor.

nano crontab.pi

Edite el archivo para especificar las horas de encendido / apagado de cada día. Usa las flechas para moverte alrededor. Retroceso para eliminar, escriba para insertar. Cuando hayas terminado, presiona Control-O para guardar (tendrás que presionar "enter" para confirmar el nombre del archivo) y Control-X para salir de nano.

Una vez que tenga su archivo cron de la manera que lo desea, dígale a Raspbian que desea ejecutarlo:

crontab crontab.pi

Si alguna vez desea cambiar su horario, puede editar $ HOME / crontab.pi y volver a ejecutar el comando crontab inmediatamente arriba. Eso reemplazará su horario anterior con el nuevo.

Paso 7: configurar los ajustes de pantalla

Configurar los ajustes de pantalla
Configurar los ajustes de pantalla

¡Casi terminamos! Necesitamos configurar los ajustes de pantalla. fbi es la utilidad que usamos para mostrar las diapositivas. Lee su configuración del archivo.fbirc en el directorio de inicio.

Primero, asegúrese de que estamos en el directorio de inicio.

cd $ INICIO

A continuación, copie el archivo del directorio raspi_slideshow a la página de inicio

cp raspi_slideshow /.fbirc.

No debería necesitar editar el archivo. Sin embargo, si lo desea, las tres configuraciones que le interesan son:

aleatorio = falso

blend-msecs = 500

tiempo de espera = 8

La línea aleatoria determina si el FBI aleatoriza el orden de las diapositivas. verdadero significa que aleatoriza las diapositivas, falso significa que no. Como queríamos tener cierto control sobre el orden en que se encuentran las diapositivas, lo configuramos como falso.

La línea blend-msecs dice cuántos milisegundos (1000 = 1 segundo) dura cada transición. Un valor de 0 significa que las diapositivas cambian instantáneamente de una a la siguiente. Nuestra configuración de 500 significa que las diapositivas se desvanecen entre sí durante un período de 0,5 segundos.

El tiempo de espera es el tiempo (en segundos) que se muestra cada diapositiva antes de pasar a la siguiente. Puede ajustar esto si desea que las diapositivas sean más largas o más cortas. Solo recuerde que esto se aplica a todas las diapositivas por igual. No hay forma de que algunas diapositivas parezcan más largas y otras más cortas.

Girar pantalla

Si tiene su televisor / monitor montado verticalmente, como lo hacemos nosotros, deberá girar la pantalla 90 grados o 270 grados. Si tiene su televisor / monitor montado horizontalmente, puede omitir el resto de este paso.

Use nano de nuevo. Esta vez debe ejecutar como root, por lo que deberá sudo, lo que puede requerir que vuelva a ingresar su contraseña (la predeterminada es frambuesa)

sudo nano /boot/config.txt

Utilice la flecha hacia abajo para ir hasta el final de este archivo. Agregue la siguiente línea al final del archivo:

display_rotate = 1

Esto rotará la pantalla 90 grados. Si después del montaje, su pantalla está al revés, cambie el 1 por un 3.

Básicamente display_rotate = 0 (sin rotación), 1 (90 grados), 2 (180 grados), 3 (270 grados)

En la imagen de arriba, habíamos configurado display_rotate = 1 y tuvimos que regresar y cambiarlo a display_rotate = 3. ¡Mucho más fácil que volver a montar el televisor!

Paso 8: cambie la contraseña y configure la ejecución automática

Cambiar contraseña y configurar ejecución automática
Cambiar contraseña y configurar ejecución automática
Cambiar contraseña y configurar ejecución automática
Cambiar contraseña y configurar ejecución automática

En este punto, ¡casi hemos terminado!

Haga clic en el menú de frambuesa en la parte superior izquierda, seleccione Preferencias-> Configuración de Raspberry Pi

Eso abre un cuadro de diálogo. Haga clic en "Cambiar contraseña …" y cámbiela por algo que recuerde.

Puede optar por cambiar el nombre del sistema (campo Nombre de host).

Asegúrese de hacer clic en Arrancar "A CLI"

Establecer inicio de sesión automático ("Iniciar sesión como usuario 'pi'")

Ahora debe configurar la presentación de diapositivas para que se ejecute cuando arranque. La forma más sencilla es agregar una línea a su archivo.bashrc. Activando nuestro editor nano:

nano.bashrc

Flecha hacia abajo hasta el final del archivo y agregue la siguiente línea:

python3 raspi_slideshow / play_slideshow.py

Estos ajustes significan que:

  • Siempre que se reinicie, Raspberry Pi iniciará sesión automáticamente como usuario pi
  • No iniciará un administrador de ventanas, solo se ejecutará en la pantalla ("Arrancar a CLI")
  • Se iniciará el shell bash, que lee el archivo.bashrc, y la última línea de ese archivo dice que se ejecute la presentación de diapositivas.

Después de esto, los reinicios NO iniciarán el administrador de ventanas y ejecutarán automáticamente la presentación de diapositivas. Puede detener la presentación de diapositivas presionando Control-C durante la presentación de diapositivas. Esto lo devolverá al indicador de bash ($).

Si desea iniciar el administrador de ventanas desde este punto (para depurar o manipular más fácilmente la configuración), puede hacerlo escribiendo "startx" en la línea de comando.

Paso 9: Utilice (Configuración de la máquina con Windows)

En uso real, nuestra Raspberry Pi se conecta a nuestra red inalámbrica privada al inicio. Comparte su directorio / shared (y todo lo que hay debajo) con la red. Para ver esta carpeta desde una máquina con Windows, asegúrese de estar en la misma red.

Supongo que se conectará a esto desde una computadora con Windows en una oficina. Para Windows 7 o Windows 10, abra un Explorador de archivos para ver los archivos / carpetas en su computadora. Haz clic derecho a la izquierda donde dice "Equipo" o "Mi PC", luego selecciona "Asignar unidad de red …"

Aparecerá un cuadro de diálogo. Elija qué letra, p. Ej. "Z:" a la que desea mapear su unidad. Luego, en el campo Carpeta, escriba:

{nombre-de-tu-computadora-Pi} shared

donde {nombre-de-su-computadora-Pi} es el nombre que le dio a su Raspberry pi en el paso anterior (vea la imagen anterior con el cuadro de diálogo).

Asegúrese de hacer clic en "Volver a conectarse al iniciar sesión". Es posible que si la Raspberry Pi se apaga cuando se inicia la computadora con Windows, este paso deba repetirse (o reiniciar la computadora con Windows) para poder ver la carpeta compartida.

Si elige proteger su carpeta con contraseña, puede agregar credenciales seleccionando "Conectar usando diferentes credenciales" e ingresando el nombre de usuario / contraseña para la Raspberry Pi.

Ahora, cuando desee que las diapositivas entren en su presentación de diapositivas, copie imágenes de diapositivas individuales (*) en la carpeta Presentación.

La secuencia de comandos supervisará y mostrará SOLO el contenido de la carpeta de presentación, y nada en el nivel superior (shared). Por lo tanto, a veces usamos el truco de colocar diapositivas de uso común en el nivel superior y luego arrastrarlas según sea necesario dentro o fuera de la carpeta Presentación.

Recuerde, cuando algo en la carpeta Presentación cambia (se agregan, eliminan o modifican archivos), el script de presentación de diapositivas espera 2 minutos (120 segundos, configurable en play_slideshow.py, busque wait_time) antes de restablecer y mostrar las nuevas diapositivas. Esto le da tiempo a la persona para hacer todos los cambios necesarios sin reiniciar después de agregar cada archivo nuevo.

Las imágenes de diapositivas individuales son archivos jpeg, gif o png que representan una sola diapositiva. La forma más sencilla de generarlos es utilizando Microsoft PowerPoint o un programa similar. Puede generar tantas diapositivas como desee en Microsoft PowerPoint y guardarlas como una presentación de PowerPoint. Luego haga clic en Archivo-> Exportar-> Cambiar tipo de archivo y guárdelo como PNG o JPEG. Esto generará las diapositivas como archivos individuales, p. Ej. slide1.png, slide2.png, etc. Luego, puede arrastrar y soltar archivos individuales en Z: / Presentation (o cualquier letra de unidad que haya utilizado). Tenga en cuenta que la presentación está organizada en orden alfabético (no numérico), por lo que slide11.png viene después de slide1.png y antes de slide2.png. Por supuesto, puede cambiar el nombre de las diapositivas antes de copiarlas en la carpeta de red. Solo asegúrese de que conserven su extensión (por ejemplo,.png). Actualmente, el script de presentación de diapositivas solo busca archivos con las siguientes extensiones:.png,.png,.gif,.gif,.jpg,-j.webp

Paso 10: solución de problemas

La mayoría de los problemas pueden resolverse con la antigua solución "intente apagarlo y encenderlo de nuevo".

Si su Raspberry Pi no se conecta, no se actualiza o parece estar bloqueada en general, intente apagar y encender.

Si su máquina con Windows pierde la unidad de red asignada, intente apagar y encender o agregar manualmente la unidad nuevamente.

Si tiene otras preguntas / problemas, publique en los comentarios y actualizaré este paso con problemas comunes y sus soluciones.

Paso 11: Conclusión y trabajo futuro

¡HECHO

En este punto, puede reiniciar su Raspberry Pi, ya sea a través de los menús o con el botón de encendido en el cable de alimentación. Lo bueno de esta configuración es que cada vez que se inicia el Pi (falla de energía, falla, lo que sea), se inicia en modo de presentación de diapositivas, por lo que puede apagar y encender a voluntad y debería recuperarse bien. Una vez que esto esté instalado y funcionando, puede prácticamente "configurarlo y olvidarlo", además de las actualizaciones de las diapositivas. En nuestro caso, el administrador de nuestra iglesia actualiza las diapositivas semanalmente, y este sistema ha estado funcionando sin problemas durante aproximadamente un año.

¡Envíe sus comentarios! Soy receptivo a corregir errores o imprecisiones. Entiendo que hay muchas formas diferentes de hacer las cosas, por lo que no me entusiasma responder preguntas como "¿por qué usó Python en lugar de {lenguaje de programación X}?" O sugerencias que son funcionalmente iguales (como "sudo apt" todos los paquetes a la vez en lugar de uno a la vez). Sin embargo, ¡las mejoras funcionales siempre son bienvenidas! Intento que esto sea lo más funcional y útil posible al mismo tiempo que sea fácil de instalar y fácil de mantener. Disfruto particularmente de los comentarios de aquellos que se han beneficiado de este Instructable. Estoy feliz de ayudar si puedo.

Trabajo futuro

Estoy empezando a trabajar en una versión que permitirá que los archivos de vídeo (con sonido) se mezclen con las diapositivas estáticas. Creo que puedo usar vlc para eso desde la línea de comando. Actualizaré esto si puedo hacerlo funcionar. ¡Siéntete libre de hacer sugerencias!

Recomendado: