Tabla de contenido:

Ledboard Pi: 5 pasos (con imágenes)
Ledboard Pi: 5 pasos (con imágenes)

Video: Ledboard Pi: 5 pasos (con imágenes)

Video: Ledboard Pi: 5 pasos (con imágenes)
Video: ENCENDER LED CON RASPBERRY PI 2024, Mes de julio
Anonim
Ledboard Pi
Ledboard Pi
Ledboard Pi
Ledboard Pi
Ledboard Pi
Ledboard Pi

La pantalla Ledboard Pi es el resultado de años de experiencia, aprendizaje y desarrollo; pero también, el resultado de tener las herramientas adecuadas (hardware, software, firmware) en este momento adecuado: Raspberry Pi 4 (con Raspberry Pi 3 también funciona) con su velocidad, memoria y capacidad inalámbrica, el maravilloso proyecto Raspberry Pi LED Matrix Display basado en las bibliotecas rpi-rgb-led-matrix y rpi-fb-matrix (para manejar muchos paneles LED RGB comerciales a través de GPIO) para mostrar la salida de video de Raspberry Pi en una gran pantalla de matriz LED RGB (para este instructable, la resolución es 96x64 usando 6 paneles Sparkfun 32x32). Todo esto se controla con una aplicación GUI programada usando lazarus ide en un escritorio openbox muy liviano instalado sobre una imagen de Raspbian Buster Lite y, finalmente, muestra lo que sea que tu imaginación pueda programar: un marcador multideportivo, una señalización digital o un reproductor de video.; No hay límites. Este proyecto, controlado por cualquier computadora, es capaz de ejecutar VNC Viewer, porque el servidor VNC también está instalado en Rasbian Buster Lite de Raspberry Pi 4.

A partir de mañana, intentaré explicar en detalle cada paso para que este proyecto funcione.

Suministros

Necesitamos para este proyecto:

Hardware

  1. Una Raspberry Pi 3 o mejor, Raspberry Pi 4 con su fuente de alimentación de 5 V y 2,5 A
  2. Una placa de unidad de panel de matriz LED RGB Electrodragon para Raspberry Pi
  3. Seis paneles LED 32x32 RGB de Sparkfun
  4. Una fuente de alimentación de 40 A y 5 V
  5. Un marco rectangular de aluminio de 3 metros de 82,5 mm x 38 mm
  6. Un corte de acrílico tamaño 576 mm x 384 mm A
  7. Un corte de película polarizada

Software

  1. biblioteca hezeller rpi-rgb-led-matrix
  2. Biblioteca Adafruit rpi-fb-matrix
  3. Imágenes de raspbian buster lite o realtimepi-buster-lite
  4. Abrir caja
  5. Para control de pc / laptop / Raspberry Pi 3 o 4, Real VNC Viewer para Windows o Linux o Raspbian
  6. Lazarus IDE para raspbian buster lite
  7. Aplicación Leboard Pi

continuará…

Paso 1: Configuración del sistema operativo Raspberry Pi 3/4

Configuración de Raspberry Pi 3/4 OS Stuff
Configuración de Raspberry Pi 3/4 OS Stuff
Configuración de Raspberry Pi 3/4 OS Stuff
Configuración de Raspberry Pi 3/4 OS Stuff
Configuración de Raspberry Pi 3/4 OS Stuff
Configuración de Raspberry Pi 3/4 OS Stuff

Una vez que tenemos las partes de hardware, necesitamos obtener las cosas del sistema operativo:

Primero, debemos obtener el sistema operativo para Raspbian 3/4. en mi caso, decido usar buster lite en tiempo real; pero también puede utilizar la versión Raspbian Buster Lite. Luego, debe transferir esta imagen a una tarjeta micro SD usando balenaEtcher.

Luego, necesitamos conectar una pantalla HDMI y un teclado USB y un cable de red cat5 conectado a

Raspberry Pi 3/4 RJ45; Entonces, podemos buscar la IP de Raspberry Pi 3/4 para realizar la configuración inicial: IP de red, cableada e inalámbrica. Usé el escáner de ip avanzado. Ahora, a través de raspi-config, active el servidor SSH para conectarse de forma remota usando Putty para completar el resto de la configuración de Ledboard Pi.

Ahora, sobre la versión lite, vamos a instalar un entorno de escritorio ligero con openbox.

sudo apt-get install --no-install-recomienda xserver-xorg x11-xserver-utils xinit openbox

Luego, instale lightdm (administrador de inicio de sesión)

sudo apt-get install lightdm

Activar realvncserver desde raspi-config

sudo raspi-config> Opciones de interfaz> vncserver> activar vncserver

Aquí, una vez activado el vnceserver, usaremos VNC Viewer. En este, el escritorio a configurar en la conexión es 0, ej. Si la IP es 192.168.100.61, la conexión es "192.168.100.61:0"

Necesitamos un enlace entre la computadora / computadora portátil de control y el Ledboard Pi, por lo que es necesario instalar samba para transferir el código fuente, archivos, imágenes, videos, etc

sudo apt-get install samba samba-common-bin -y

Asegúrese de que su usuario sea el propietario de la ruta que está intentando compartir a través de Samba

sudo chown -R pi: pi / home / pi / share

Tome una copia del archivo compartido original de samba

sudo cp /etc/samba/smb.conf /etc/samba/smb.bak

Edite el archivo de configuración de samba

sudo nano /etc/samba/smb.conf

Deje el grupo de trabajo como WORKGROUP (o asígnele el nombre que desee)

#wins support = no

para ganar apoyo = sí

Luego ….

# Este es el nombre de la carpeta compartida con la que se mostrará cuando navegue

[ledboardpi] comentario = ledboardPi ruta de carpeta compartida = / home / pi / Compartir crear máscara = 0775 máscara de directorio = 0775 solo lectura = no navegable = sí público = sí forzar usuario = pi solo invitado = no

Ahora, podemos acceder a la carpeta "home / pi / share" en la ruta / home / pi desde otra computadora.

Para administrar el sistema de archivos usando una aplicación de interfaz gráfica de usuario, vamos a instalar pcmanfm

sudo apt-get install pcmanfm

Paso 2: Descarga, configuración y ejecución de las bibliotecas necesarias del panel LED RGB

Image
Image
Descarga, configuración y ejecución de las bibliotecas necesarias del panel LED RGB
Descarga, configuración y ejecución de las bibliotecas necesarias del panel LED RGB
Descarga, configuración y ejecución de las bibliotecas necesarias del panel LED RGB
Descarga, configuración y ejecución de las bibliotecas necesarias del panel LED RGB

Primero, instale los requisitos previos

sudo apt-get update

sudo apt-get install -y build-essential git libconfig ++ - dev sudo apt-get install libgraphicsmagick ++ - dev libwebp-dev -y sudo apt-get install python2.7-dev python-pillow -y

Luego, descargue y compile hzeller rpi-rgb-led-matrix

wget

descomprimir master.zip cd rpi-rgb-led-matrix-master / && make

Además, descargue e instale rpi-fb-matrix

Debe clonar este repositorio con la opción recursiva para que también se clonen los submódulos necesarios. Ejecute este comando:

clon de git --recursivo

hacer

Nota: reemplace la biblioteca rpi-rgb-led-matrix descargada anteriormente en la carpeta rpi-fb-matrix

Ahora, vamos a probar esas bibliotecas, recuerde, rpi-fb-matrix depende de rpi-rgb-led-matrix

cd rpi-fb-matriz

cd rpi-rgb-led-matrix sudo./demo --led-chain = 3 --led-paralelo = 2 --led-slowdown-gpio = 4 --led-gpio-mapping = "regular" --led- no-hardware-pulse --led-pwm-lsb-nanoseconds = 180 --led-show-refresh --led-shine = 80 -D 0 sudo./demo --led-chain = 3 --led-parallel = 2 --led-slowdown-gpio = 4 --led-gpio-mapping = "regular" --led-sin-hardware-pulse --led-pwm-lsb-nanoseconds = 180 --led-show-refresh - led-brillo = 80 -D 1 runtext.ppm sudo./demo --led-chain = 3 --led-paralelo = 2 --led-slowdown-gpio = 4 --led-gpio-mapping = "regular" - -led-no-hardware-pulse --led-pwm-lsb-nanoseconds = 180 --led-show-refresh --led-shine = 80 -D 2 runtext.ppm sudo./demo --led-chain = 3 --led-paralelo = 2 --led-slowdown-gpio = 4 --led-gpio-mapping = "regular" --led-sin-hardware-pulse --led-pwm-lsb-nanoseconds = 180 --led -show-refresh --led-shine = 80 -D 3 sudo./demo --led-chain = 3 --led-parallel = 2 --led-slowdown-gpio = 4 --led-gpio-mapping = " regular "--led-no-hardware-pulse --led-pwm-lsb-nanoseconds = 180 --led-show-refresh --led-shine = 80 -D 4 sudo./demo --led-chain = 3 --led-paralelo = 2 --led-slowdown-gpio = 4 --led-gpio-mapping = "regular" --led-sin-hardware-pulse --led-pwm-lsb-nanoseconds = 180 --led-show-refresh --led-shine = 80 -D 5 sudo./demo --led-chain = 3 --led-paralelo = 2 --led- slowdown-gpio = 4 --led-gpio-mapping = "regular" --led-sin-hardware-pulse --led-pwm-lsb-nanoseconds = 180 --led-show-refresh --led-shine = 80 -D 6 sudo./demo --led-chain = 3 --led-paralelo = 2 --led-slowdown-gpio = 4 --led-gpio-mapping = "regular" --led-no-hardware-pulse --led-pwm-lsb-nanoseconds = 180 --led-show-refresh --led-shine = 80 -D 7 sudo./demo --led-chain = 3 --led-parallel = 2 --led- slowdown-gpio = 4 --led-gpio-mapping = "regular" --led-sin-hardware-pulse --led-pwm-lsb-nanoseconds = 180 --led-show-refresh --led-shine = 80 -D 8 sudo./demo --led-chain = 3 --led-paralelo = 2 --led-slowdown-gpio = 4 --led-gpio-mapping = "regular" --led-no-hardware-pulse --led-pwm-lsb-nanoseconds = 180 --led-show-refresh --led-shine = 80 -D 9 sudo./demo --led-chain = 3 --led-pa rallel = 2 --led-slowdown-gpio = 4 --led-gpio-mapping = "regular" --led-sin-hardware-pulse --led-pwm-lsb-nanoseconds = 180 --led-show-refresh --led-shine = 80 -D 10 sudo./demo --led-chain = 3 --led-parallel = 2 --led-slowdown-gpio = 4 --led-gpio-mapping = "regular" - led-no-hardware-pulse --led-pwm-lsb-nanoseconds = 180 --led-show-refresh --led-shine = 80 -D 11

Todo funciona bien.

Ahora, la biblioteca rpi-fb-matrix. Esto mostrará una parte (96x64) de la pantalla en los paneles LED RGB basados en Ledboard Pi

cd / home / pi / rpi-fb-matrix

RECUERDE, copie la última versión de la biblioteca rpi-rgb-led-matrix en la carpeta rpi-fb-matrix. MUY IMPORTANTE

hacer limpia

Haz todo

Esos últimos comandos, para las bibliotecas rpi-fb-matrix y rpi-rgb-led-matrix…..

Para el rpi-fb-matrix es necesaria una configuración correcta de matrix.cfg (renombré davenew.cfg para este instructable), lea, analice para proyectos personalizados con diferente número de paneles LED RGB …

Configuración de pantalla de matriz de LED // Defina todo el ancho y alto de la pantalla en píxeles. // Este es el _total_ ancho y alto del rectángulo definido por todos los // paneles encadenados. El ancho debe ser un múltiplo del ancho de píxeles del panel (32), // y la altura debe ser un múltiplo de la altura de píxeles del panel (8, 16 o 32). display_width = 96; display_height = 64; // Defina el ancho de cada panel en píxeles. Siempre debería ser 32 (pero // en teoría se puede cambiar). ancho_panel = 32; // Define la altura de cada panel en píxeles. Suele ser 8, 16 o 32. // NOTA: ¡Cada panel de la pantalla _debe_ tener la misma altura! No puede mezclar // paneles de 16 y 32 píxeles de alto, por ejemplo. altura_panel = 32; // Defina el número total de paneles en cada cadena. Cuente todos los // paneles que estén conectados y ponga ese valor aquí. Si está utilizando // múltiples cadenas paralelas, cuente cada una por separado y elija el valor // más grande para esta configuración. longitud_cadena = 3; // Defina el número total de cadenas paralelas. Si usa Adafruit HAT, // solo puede tener una cadena, así que quédese con el valor 1. El Pi 2 puede admitir hasta // hasta 3 cadenas paralelas, consulte la biblioteca rpi-rgb-led-matrix para obtener más información: // https://github.com/hzeller/rpi-rgb-led-matrix#chaining-parallel-chains-and-coordinate-system paralelo_count = 2; // Configure cada panel de matriz de LED. // Esta es una matriz bidimensional con una entrada para cada panel. La matriz // define la cuadrícula que subdividirá la pantalla, por lo que, por ejemplo, una pantalla de tamaño 64x64 // con paneles de 32x32 píxeles sería una matriz de configuraciones de panel de 2x2. // // Para cada panel debe establecer el orden en el que está dentro de su cadena, es decir, el // primer panel de una cadena es order = 0, el siguiente es order = 1, etc. También puede // establecer un rotación para cada panel para tener en cuenta los cambios en la orientación del panel // (como cuando 'serpentea' una serie de paneles de un extremo a otro para tramos de cable más cortos). // // Por ejemplo, la siguiente configuración define esta pantalla de cuadrícula de paneles y // su cableado (comenzando desde el panel superior derecho y serpenteando hacia la izquierda, hacia abajo y // hacia la derecha hasta el panel inferior derecho): // _ _ _ / / | Panel | | Panel | | Panel | // | orden = 2 | <= | orden = 1 | <= | order = 0 | <= Cadena 1 (de Pi) // | rotar = 0 | | rotar = 0 | | rotar = 0 | // | _ | | _ | | _ | // _ _ _ // | Panel | | Panel | | Panel | // | orden = 2 | <= | orden = 1 | <= | order = 0 | <= Cadena 2 (de Pi) // | rotar = 0 | | rotar = 0 | | rotar = 0 | // | _ | | _ | | _ | // // Observe que la cadena comienza en la parte superior derecha y serpentea hacia la parte inferior // derecha. El orden de cada panel se establece como su posición a lo largo de la cadena, // y la rotación se aplica a los paneles inferiores que están volteados con respecto // a los paneles encima de ellos. // // No se muestra, pero si usa cadenas paralelas, puede especificar para cada entrada // en la lista de paneles un 'paralelo = x;' opción donde x es el ID de una // cadena paralela (0, 1 o 2). paneles = (({orden = 2; rotar = 0; paralelo = 0;}, {orden = 1; rotar = 0; paralelo = 0;}, {orden = 0; rotar = 0; paralelo = 0;}, { orden = 2; rotar = 0; paralelo = 1;}, {orden = 1; rotar = 0; paralelo = 1;}, {orden = 0; rotar = 0; paralelo = 1;})) // Por defecto el La herramienta rpi-fb-matrix cambiará el tamaño y reducirá la pantalla // para adaptarse a la resolución de los paneles de visualización. Sin embargo, puede tomar // una copia específica de píxeles perfectos de una región de la pantalla configurando las coordenadas x, y // de píxeles de la pantalla a continuación. Se copiará un rectángulo del tamaño exacto de la pantalla // (es decir, display_width x display_height píxeles) de la pantalla // comenzando en las coordenadas x, y proporcionadas. Comente esto para deshabilitar // este comportamiento de recorte y, en su lugar, cambie el tamaño de la pantalla hasta la visualización de la matriz. crop_origin = (0, 0)

Paso 3: compilar, configurar y probar la aplicación GUI de Ledboard Pi

Image
Image
Compilación, configuración y prueba de la aplicación GUI Ledboard Pi
Compilación, configuración y prueba de la aplicación GUI Ledboard Pi
Compilación, configuración y prueba de la aplicación GUI Ledboard Pi
Compilación, configuración y prueba de la aplicación GUI Ledboard Pi

Necesitamos un IDE de programación para crear una aplicación GUI (Ledboard Pi). Luego, elijo "Lazarus IDE" muy similar a Delphi / C ++ Builder que usé en el sistema operativo Windows

sudo apt-get install lazarus-ide

Una vez instalado, simplemente ejecute:

lazarus-ide

Abriendo el proyecto Ledboard Pi, luego compílelo para obtener la aplicación Ledboard Pi. Antes de abrir esta aplicación, cree un directorio llamado LEDBOARD_APP en la ruta / home / pi, luego copie la aplicación Ledboard Pi en este

Ahora, vamos a agregar un enlace en el menú contextual del cuadro abierto. Cómo, necesitamos el obmenu, también xterm usando el enlace Putty, entonces:

sudo apt-get install obmenu xterm

Ahora, podemos usar la terminal y el obmenu dentro de la ventana de vncviewer:

  1. Llamar a xterm desde el menú contextual
  2. Abrir obmenu desde xterm

Agregar nuevo artículo: Ledboard Pi

  1. Elija Nuevo artículo
  2. nombrarlo Ledboard Pi
  3. ejecutar sudo nice -n -15 / home / pi / LEDBOARD_APP / LEDBOARD
  • Descargue el "horn. WAV", luego, usando la ubicación de samba vinculada a la red "\ ledboardpi / ledboardpi \" cópielo y cámbiele el nombre al entorno realtimePi como "horn.wav". Este archivo, una vez renombrado, debe copiarse en la carpeta / home / pi.
  • Hecho, debe poder ejecutar Ledboard Pi tan bien como ve en videos e imágenes.

Paso 4: instalación y configuración del punto de acceso WiFi

Instalación y configuración del punto de acceso WiFi
Instalación y configuración del punto de acceso WiFi
Instalación y configuración del punto de acceso WiFi
Instalación y configuración del punto de acceso WiFi
Instalación y configuración del punto de acceso WiFi
Instalación y configuración del punto de acceso WiFi
Instalación y configuración del punto de acceso WiFi
Instalación y configuración del punto de acceso WiFi

Este proyecto fue diseñado para ejecutarse usando el visor realvnc desde una computadora portátil conectada de forma inalámbrica a la Raspberry Pi 3/4. Entonces, este es el paso final para que funcione y diga "hasta la vista baby" a la pesadilla cableada.

Configuración del software

sudo apt-get update

sudo apt-get install hostapd isc-dhcp-server

servidor DHCP

Sea prudente y siempre haga una copia de seguridad de la configuración predeterminada

sudo cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.default

Edite el archivo de configuración predeterminado

sudo nano /etc/dhcp/dhcpd.conf

Comenta las siguientes líneas …

opción nombre-dominio "ejemplo.org";

opción servidores de nombres de dominio ns1.example.org, ns2.example.org;

leer:

#option nombre-dominio "ejemplo.org";

#option domain-name-servers ns1.example.org, ns2.example.org;

… y descomentar esta línea

#autoritario;

… leer:

autoritario;

… desplácese hacia abajo en la parte inferior del archivo y escriba las siguientes líneas:

subred 192.168.42.0 máscara de red 255.255.255.0 {

rango 192.168.42.10 192.168.42.50; opción dirección de transmisión 192.168.42.255; enrutadores opcionales 192.168.42.1; tiempo de arrendamiento predeterminado 600; tiempo máximo de arrendamiento 7200; opción nombre de dominio "local"; opción servidores de nombres de dominio 8.8.8.8, 8.8.4.4; }

Configuremos wlan0 para IP estática

Primero, apáguelo …

sudo ifdown wlan0

… manténgalo seguro y cree un archivo de respaldo:

sudo cp / etc / network / interfaces /etc/network/interfaces.backup

… Edite el archivo de interfaces de red:

sudo nano / etc / network / interfaces

… Edite en consecuencia para leer:

directorio-fuente /etc/network/interfaces.d

auto lo iface lo inet loopback iface eth0 inet dhcp allow-hotplug wlan0 iface wlan0 inet dirección estática 192.168.42.1 netmask 255.255.255.0 post-up iw dev $ IFACE set power_save off

… cierra el archivo y asigna una IP estática ahora

sudo ifconfig wlan0 192.168.42.1

Hecho…

Hostapd

Crea un archivo y edítalo:

sudo nano /etc/hostapd/hostapd.conf

Modifique ssid con un nombre de su elección y wpa_passphrase a una autenticación WiFi

interfaz = wlan0

ssid = LedboardPi hw_mode = g canal = 6 macaddr_acl = 0 auth_algs = 1 ignore_broadcast_ssid = 0 wpa = 2 wpa_passphrase = davewarePi wpa_key_mgmt = WPA-PSK wpa_pairwise = TKIP rsn_pairwise = CCMP

Configuremos la traducción de la dirección de red

Crea un archivo de respaldo

sudo cp /etc/sysctl.conf /etc/sysctl.conf.backup

editar el archivo de configuración

sudo nano /etc/sysctl.conf

… Descomentar o agregar al final:

net.ipv4.ip_forward = 1

# … y actívelo inmediatamente:

sudo sh -c "echo 1> / proc / sys / net / ipv4 / ip_forward"

… modificar las iptables para crear una traducción de red entre eth0 y el puerto wifi wlan0

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELACIONADO, ESTABLECIDO -j ACEPTAR sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT

… haz que esto suceda al reiniciar ejecutando

sudo sh -c "iptables-save> /etc/iptables.ipv4.nat"

… y editando de nuevo

sudo nano / etc / network / interfaces

… agregando al final:

hasta iptables-restore </etc/iptables.ipv4.nat

Nuestro archivo / etc / network / interfaces ahora se verá así:

directorio-fuente /etc/network/interfaces.d

auto lo

iface lo inet loopback allow-hotplug eth0 iface eth0 inet dirección estática 192.168.100.61 máscara de red 255.255.255.0 puerta de enlace 192.168.100.1 allow-hotplug wlan0 iface wlan0 inet dirección estática 192.168.42.1 máscara de red 255.255.255.0 red 192.168.42.0 difusión 192.168.42.255 fuente- directorio /etc/network/interfaces.d

Probemos nuestro punto de acceso ejecutando:

sudo / usr / sbin / hostapd /etc/hostapd/hostapd.conf

Su hotspot está en funcionamiento: intente conectarse a él desde una computadora o un teléfono inteligente. Cuando lo haga, también debería ver alguna actividad de registro en su terminal. Si está satisfecho, deténgalo con CTRL + C

Limpiemos todo: sudo service hostapd start sudo service isc-dhcp-server start

… y asegúrese de que estemos en funcionamiento:

sudo service hostapd status

sudo service isc-dhcp-server status

… configuremos nuestros demonios para que se inicien en el momento del arranque:

sudo update-rc.d hostapd habilitar

sudo update-rc.d isc-dhcp-server enable sudo systemctl unmask hostapd sudo systemctl unmask isc-dhcp-server

… Reinicia el pi

sudo reiniciar

Ahora debería poder ver su pi WiFi, conectarse y acceder a Internet. Como comparación rápida, la transmisión de videos 4k consumirá aproximadamente el 10% de la CPU pi, así que … utilícelo en consecuencia.

Como beneficio adicional, si desea verificar lo que está sucediendo en su punto de acceso WiFi, consulte el archivo de registro:

tail -f / var / log / syslog

Paso 5:

Imagen
Imagen
Imagen
Imagen
Imagen
Imagen

El caso.

Diseño

Para esta parte, utilicé el programa de diseño SketchUp 3D. Diseño 3D de la caja de aluminio de Ledboard Pi

Para ello, utilicé perfiles de aluminio rectangulares comunes de 82,5 mm x 38 mm, algunos ángulos y algunos tornillos. El apoyo fue fundado por mi Madre en la calle, en vano. Tiene ruedas como se muestra en las imágenes.

Recomendado: