Taula de continguts:

Ledboard Pi: 5 passos (amb imatges)
Ledboard Pi: 5 passos (amb imatges)

Vídeo: Ledboard Pi: 5 passos (amb imatges)

Vídeo: Ledboard Pi: 5 passos (amb imatges)
Vídeo: ЦЫПЛЕНОК ТАПАКА. Простой рецепт для начинающих!!! 2024, Juliol
Anonim
Ledboard Pi
Ledboard Pi
Ledboard Pi
Ledboard Pi
Ledboard Pi
Ledboard Pi

La pantalla Ledboard Pi és el resultat d’anys d’experiències, aprenentatge i desenvolupament; però també, el resultat de tenir les eines adequades (maquinari, programari, firmware) en aquest moment adequat: Raspberry Pi 4 (amb Raspberry Pi 3 també funciona) amb la seva velocitat, memòria i capacitat sense fils, el meravellós projecte Raspberry Pi LED Matrix Display basat en les biblioteques rpi-rgb-led-matrix i rpi-fb-matrix (per conduir molts panells LED RGB comercials a través de GPIO) per mostrar la sortida de vídeo del Raspberry Pi en una gran pantalla de matriu LED RGB (per a això, la resolució és 96x64 amb 6 panells sparkfun 32x32). Tot això es controla amb una aplicació GUI programada amb lazarus ide en un escriptori openbox molt lleuger instal·lat sobre una imatge de Raspbian Buster Lite i, finalment, mostreu tot el que la vostra imaginació pugui programar: un marcador multi-esportiu, una senyalització digital o un reproductor de vídeo.; no hi ha límits. Aquest projecte, controlat per qualsevol ordinador, és capaç d'executar VNC Viewer, perquè el servidor VNC també està instal·lat al Rasbian Buster Lite de Raspberry Pi 4.

A partir de demà, intentaré explicar amb detall tots els passos perquè aquest projecte funcioni.

Subministraments

Necessitem per a aquest projecte:

Maquinari

  1. Un Raspberry Pi 3 o superior, Raspberry Pi 4 amb la seva font d'alimentació de 5 V 2,5 A
  2. Una placa unitat de panells de matriu LED Electrodragon RGB per a Raspberry Pi
  3. Sis panells LED de 32x32 RGB de Sparkfun
  4. Una font d'alimentació 40A 5v
  5. Un marc rectangular d'alumini de 3 metres de 82,5 mm x 38 mm
  6. Un tall de mida acrílica W 576 mm x H 384 mm
  7. Un tall de pel·lícula polaritzada

Programari

  1. biblioteca de hezeller rpi-rgb-led-matrix
  2. Biblioteca Adafruit rpi-fb-matrix
  3. Raspbian buster lite o imatges realtimepi-buster-lite
  4. Caixa oberta
  5. Per a PC de control / portàtil / Raspberry Pi 3 o 4, Real VNC Viewer per a Windows o Linux o Raspbian
  6. Lazarus IDE per raspbian buster lite
  7. Aplicació Leboard Pi

continuarà…

Pas 1: definir coses del sistema operatiu Raspberry Pi 3/4

Configuració de les coses del sistema operatiu Raspberry Pi 3/4
Configuració de les coses del sistema operatiu Raspberry Pi 3/4
Configuració de les coses del sistema operatiu Raspberry Pi 3/4
Configuració de les coses del sistema operatiu Raspberry Pi 3/4
Configuració de les coses del sistema operatiu Raspberry Pi 3/4
Configuració de les coses del sistema operatiu Raspberry Pi 3/4

Un cop tinguem les parts de maquinari, hem d’obtenir les coses del sistema operatiu:

En primer lloc, hem d’obtenir el sistema operatiu per a Raspbian 3/4. en el meu cas, decideixo utilitzar buster lite en temps real; però també podeu utilitzar la versió Raspbian Buster Lite. A continuació, heu de transferir aquesta imatge a la targeta micro SD mitjançant balenaEtcher.

A continuació, hem de connectar una pantalla HDMI i un teclat USB i un cable de xarxa cat5 connectat

Raspberry Pi 3/4 RJ45; per tant, podem cercar a la Raspberry Pi 3/4 IP per fer la configuració inicial: IP de xarxa, per cable i sense fils. He utilitzat l'escàner avançat d'IP. Ara, mitjançant raspi-config, activeu el servidor SSH per connectar-vos de forma remota mitjançant Putty per completar la resta de la configuració del Ledboard Pi.

Ara, a la versió simplificada, instal·larem un entorn d’escriptori lleuger amb openbox

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

A continuació, instal·leu lightdm (gestor d'inici de sessió)

sudo apt-get install lightdm

Activeu realvncserver des de raspi-config

sudo raspi-config> Opcions d'interfície> vncserver> activa vncserver

Aquí, un cop activat el vnceserver, farem servir VNC Viewer. En aquest cas, l'escriptori a configurar a la connexió és 0, per exemple. Si la IP és 192.168.100.61, la connexió és "192.168.100.61:0"

Necessitem un enllaç entre l’ordinador / ordinador portàtil de control i el Ledboard Pi, de manera que cal instal·lar samba per a la transferència de codi font, fitxers, imatges, vídeos, etc

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

Assegureu-vos que el vostre usuari sigui el propietari del camí que intenteu compartir mitjançant Samba

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

Feu una còpia del fitxer de compartició de samba original

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

Editeu el fitxer de configuració de samba

sudo nano /etc/samba/smb.conf

Deixeu el grup de treball com a GRUP DE TREBALL (o anomeneu-lo com vulgueu)

#Wins support = no

to wins support = sí

Llavors …

#Aquest és el nom de la carpeta compartida que apareixerà quan navegueu

[ledboardpi] comentari = ruta de la carpeta de compartir ledboardPi = / home / pi / Compartir crea màscara = 0775 directori màscara = 0775 només lectura = no navegable = sí públic = sí força usuari = només usuari pi = no

Ara podem accedir a la carpeta "home / pi / share" al camí d'accés / home / pi des d'un altre equip.

Per gestionar el sistema de fitxers mitjançant una aplicació gui, instal·larem pcmanfm

sudo apt-get install pcmanfm

Pas 2: descarregar, configurar i executar les biblioteques necessàries del panell LED RGB

Image
Image
Baixada, configuració i execució de les biblioteques necessàries del panell LED RGB
Baixada, configuració i execució de les biblioteques necessàries del panell LED RGB
Baixada, configuració i execució de les biblioteques necessàries del panell LED RGB
Baixada, configuració i execució de les biblioteques necessàries del panell LED RGB

En primer lloc, instal·leu els requisits previs

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

A continuació, descarregueu i compileu hzeller rpi-rgb-led-matrix

wget

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

A més, descarregueu i instal·leu rpi-fb-matrix

Heu de clonar aquest dipòsit amb l’opció recursiva perquè també es clonin els submòduls necessaris. Executeu aquesta ordre:

git clone --recursive

fer

Nota: substituïu la biblioteca rpi-rgb-led-matrix descarregada a la carpeta rpi-fb-matrix

Ara, provarem aquestes biblioteques, recordeu, rpi-fb-matrix depèn de rpi-rgb-led-matrix

cd rpi-fb-matrix

cd rpi-rgb-led-matrix sudo./demo --led-chain = 3 --led-parallel = 2 --led-slowdown-gpio = 4 --led-gpio-mapping = "regular" --led- no-hardware-pulse --led-pwm-lsb-nanosegons = 180 --led-show-refresh --led-brightness = 80 -D 0 sudo./demo --led-chain = 3 --led-parallel = 2 --led-slowdown-gpio = 4 --led-gpio-mapping = "regular" --led-no-hardware-pulse --led-pwm-lsb-nanosegons = 180 --led-show-refresh - led-brightness = 80 -D 1 runtext.ppm sudo./demo --led-chain = 3 --led-parallel = 2 --led-slowdown-gpio = 4 --led-gpio-mapping = "regular" - -led-no-hardware-pulse --led-pwm-lsb-nanosegons = 180 --led-show-refresh --led-brightness = 80 -D 2 runtext.ppm sudo./demo --led-chain = 3 --led-parallel = 2 --led-slowdown-gpio = 4 --led-gpio-mapping = "regular" --led-no-hardware-pulse --led-pwm-lsb-nanosegons = 180 --led -show-refresh --led-brightness = 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-nanosegons = 180 --led-show-refresh --led-brightness = 80 -D 4 sudo./demo --led-chain = 3 --led-parallel = 2 --led-slowdown-gpio = 4 --led-gpio-mapping = "regular" --led-no-hardware-pulse --led-pwm-lsb-nanosegons = 180 --led-show-refresh --led-brightness = 80 -D 5 sudo./demo --led-chain = 3 --led-parallel = 2 --led- slowdown-gpio = 4 --led-gpio-mapping = "regular" --led-no-hardware-pulse --led-pwm-lsb-nanosegons = 180 --led-show-refresh --led-brightness = 80 -D 6 sudo./demo --led-chain = 3 --led-parallel = 2 --led-slowdown-gpio = 4 --led-gpio-mapping = "regular" --led-no-hardware-pulse --led-pwm-lsb-nanosegons = 180 --led-show-refresh --led-brightness = 80 -D 7 sudo./demo --led-chain = 3 --led-parallel = 2 --led- slowdown-gpio = 4 --led-gpio-mapping = "regular" --led-no-hardware-pulse --led-pwm-lsb-nanosegons = 180 --led-show-refresh --led-brightness = 80 -D 8 sudo./demo --led-chain = 3 --led-parallel = 2 --led-slowdown-gpio = 4 --led-gpio-mapping = "regular" --led-no-hardware-pulse --led-pwm-lsb-nanosegons = 180 --led-show-refresh --led-brightness = 80 -D 9 sudo./demo --led-chain = 3 --led-pa rallel = 2 --led-slowdown-gpio = 4 --led-gpio-mapping = "regular" --led-no-hardware-pulse --led-pwm-lsb-nanosegons = 180 --led-show-refresh --led-brightness = 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-brightness = 80 -D 11

Tots funcionen bé.

Ara, la biblioteca rpi-fb-matrix. Es mostrarà una part (96x64) de pantalla en els panells LED RGB basats en Ledboard Pi

cd / home / pi / rpi-fb-matrix

RECORDEU, copieu l’última versió de la biblioteca rpi-rgb-led-matrix a la carpeta rpi-fb-matrix. MOLT IMPORTANT

fer net

fer-ho tot

Aquests últims ordres, tant per a biblioteques rpi-fb-matrix com per a rpi-rgb-led-matrix …

Per a la matriu rpi-fb és necessària una configuració correcta de matrix.cfg (he canviat el nom de davenew.cfg per aquesta instrucció), llegiu-lo, analitzeu-lo per a projectes personalitzats amb un nombre diferent de panells LED RGB …

Configuració de la pantalla de matriu LED // Definiu tota l'amplada i l'alçada de la pantalla en píxels. // Aquest és el _total_ ample i alçada del rectangle definit per tots els // plafons encadenats. L'amplada ha de ser múltiple de l'amplada del píxel del tauler (32), // i l'alçada ha de ser múltiple de l'alçada del píxel del tauler (8, 16 o 32). amplada_exhibició = 96; visualització_altura = 64; // Definiu l'amplada de cada tauler en píxels. Sempre hauria de ser 32 (però // en teoria es pot canviar). amplada_panell = 32; // Definiu l'alçada de cada tauler en píxels. Normalment és de 8, 16 o 32. // NOTA: Cada panell de la pantalla ha de tenir la mateixa alçada. Per exemple, no es poden barrejar panells de // 16 i 32 píxels d’alçada. alçada_panell = 32; // Definiu el nombre total de panells de cada cadena. Compteu tot i que hi ha // panells connectats entre si i doneu aquest valor aquí. Si feu servir // diverses cadenes paral·leles, compteu cadascuna per separat i trieu el // valor més gran per a aquesta configuració. longitud_cadena = 3; // Definiu el nombre total de cadenes paral·leles. Si utilitzeu l’Adafruit HAT // només podeu tenir una cadena, així que enganxeu-vos amb el valor 1. El Pi 2 pot suportar // fins a 3 cadenes paral·leles, consulteu la biblioteca rpi-rgb-led-matrix per obtenir més informació: // https://github.com/hzeller/rpi-rgb-led-matrix#chaining-parallel-chains-and-coordinate-system parallel_count = 2; // Configureu cada panell de matriu de LED. // Es tracta d’una matriu bidimensional amb una entrada per a cada panell. La matriu // defineix la quadrícula que subdividirà la pantalla, de manera que, per exemple, una pantalla // de mida 64x64 amb panells de 32x32 píxels seria una matriu de configuracions de panells de 2x2. // // Per a cada panell heu d’establir l’ordre que es troba dins de la seva cadena, és a dir, el // primer panell d’una cadena és d’ordre = 0, el següent és d’ordre = 1, etc. També podeu // establir un rotació per a cada panell per tenir en compte els canvis en l'orientació del panell // (com quan es fa una "serp" una sèrie de panells de punta a punta per tirades de filferro més curtes). // // Per exemple, la configuració següent defineix aquesta visualització de panells a la quadrícula i // el seu cablejat (a partir del tauler superior dret i serpentejant cap a l'esquerra, cap avall i // cap a la part inferior dreta): // _ _ _ / / | Tauler | | Tauler | | Tauler | // | ordre = 2 | <= | ordre = 1 | <= | ordre = 0 | <= Cadena 1 (de Pi) // | gira = 0 | | gira = 0 | | gira = 0 | // | _ | | _ | | _ | // _ _ _ // | Tauler | | Tauler | | Tauler | // | ordre = 2 | <= | ordre = 1 | <= | ordre = 0 | <= Cadena 2 (de Pi) // | gira = 0 | | gira = 0 | | gira = 0 | // | _ | | _ | | _ | // // Fixeu-vos que la cadena comença a la part superior dreta i serpenta cap a la part inferior // dreta. L'ordre de cada panell s'estableix com la seva posició al llarg de la cadena, // i la rotació s'aplica als panells inferiors que es giren al voltant de // als panells situats a sobre d'ells. // // No es mostra, però si utilitzeu cadenes paral·leles, podeu especificar per a cada entrada // a la llista de plafons un 'paral·lel = x;' opció on x és l'ID d'una cadena // paral·lela (0, 1 o 2). panells = (({ordre = 2; girar = 0; paral·lel = 0;}, {ordre = 1; girar = 0; paral·lel = 0;}, {ordre = 0; girar = 0; paral·lel = 0;}, { ordre = 2; girar = 0; paral·lel = 1;}, {ordre = 1; girar = 0; paral·lel = 1;}, {ordre = 0; girar = 0; paral·lel = 1;})) // Per defecte, L'eina rpi-fb-matrix redimensionarà i reduirà la pantalla // per ajustar-la a la resolució dels panells de visualització. Tanmateix, podeu agafar // una còpia específica perfecta per a píxels d'una regió de la pantalla configurant les coordenades de píxels de la pantalla x, y // a continuació. Es copiarà un rectangle de la mida exacta de la pantalla // (és a dir, amplada_x x píxels_altura de visualització) // a partir de les coordenades x, y proporcionades. Comenteu això per desactivar // aquest comportament de retall i, en canvi, canvieu la mida de la pantalla a la pantalla de la matriu. crop_origin = (0, 0)

Pas 3: Compilació, configuració i prova de l'aplicació GUI Ledboard Pi

Image
Image
Compilació, configuració i prova de l'aplicació GUI Ledboard Pi
Compilació, configuració i prova de l'aplicació GUI Ledboard Pi
Compilació, configuració i prova de l'aplicació GUI Ledboard Pi
Compilació, configuració i prova de l'aplicació GUI Ledboard Pi

Necessitem un IDE de programació per crear una aplicació GUI (Ledboard Pi). A continuació, trio "Lazarus IDE" molt similar a Delphi / C ++ Builder que he utilitzat al sistema operatiu Windows

sudo apt-get install lazarus-ide

Un cop instal·lat, només cal executar:

lazarus-ide

Obrint el projecte Ledboard Pi i, a continuació, compileu per obtenir l'aplicació Ledboard Pi. Abans d'obrir aquesta aplicació, creeu un directori anomenat LEDBOARD_APP al camí d'accés / home / pi i, a continuació, copieu l'aplicació Ledboard Pi

Ara, afegirem un enllaç al menú del botó dret del botó obert. Com, necessitem l'obmenu, també xterm mitjançant l'enllaç Putty, així que:

sudo apt-get install obmenu xterm

Ara podem utilitzar el terminal i l'obmenu a la finestra vncviewer:

  1. Truqueu a xterm des del menú del botó dret
  2. Obre el menú des de xterm

Afegeix un element nou: Ledboard Pi

  1. Trieu Element nou
  2. anomena-ho Ledboard Pi
  3. executeu sudo nice -n -15 / home / pi / LEDBOARD_APP / LEDBOARD
  • Descarregueu el "horn. WAV" i, tot seguit, utilitzeu la ubicació samba enllaçada a la xarxa "\ ledboardpi / ledboardpi \", copieu-lo i canvieu-lo amb el nom a l'entorn realtimePi com a "horn.wav". Aquest fitxer, un cop canviat el nom, s’ha de copiar a la carpeta / home / pi.
  • Fet, heu de poder executar Ledboard Pi tan bé com veieu a vídeos i imatges.

Pas 4: instal·leu i configureu el punt d'accés WiFi

Instal·lació i configuració del punt d'accés WiFi
Instal·lació i configuració del punt d'accés WiFi
Instal·lació i configuració del punt d'accés WiFi
Instal·lació i configuració del punt d'accés WiFi
Instal·lació i configuració del punt d'accés WiFi
Instal·lació i configuració del punt d'accés WiFi
Instal·lació i configuració del punt d'accés WiFi
Instal·lació i configuració del punt d'accés WiFi

Aquest projecte es va dissenyar per executar-se mitjançant el visor realvnc des d’un ordinador portàtil connectat sense fils al Raspberry Pi 3/4. Per tant, aquest és l'últim pas per fer-lo funcionar i dir "hasta la vista baby" al malson cablejat.

Configuració del programari

sudo apt-get update

sudo apt-get install hostapd isc-dhcp-server

Servidor DHCP

Sigueu prudents i feu sempre una còpia de seguretat de la configuració predeterminada

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

Editeu el fitxer de configuració per defecte

sudo nano /etc/dhcp/dhcpd.conf

Comenta les línies següents …

opció nom de domini "example.org";

opció servidors de noms de domini ns1.example.org, ns2.example.org;

llegir:

#option nom de domini "example.org";

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

… i anul·leu el comentari d'aquesta línia

#autoritari;

… llegir:

autoritari;

… desplaceu-vos cap avall a la part inferior del fitxer i escriviu les línies següents:

subxarxa 192.168.42.0 màscara de xarxa 255.255.255.0 {

abast 192.168.42.10 192.168.42.50; opció adreça de difusió 192.168.42.255; enrutadors d’opcions 192.168.42.1; time-lease-time 600; temps màxim d'arrendament 7200; opció nom de domini "local"; opció servidor-nom-domini 8.8.8.8, 8.8.4.4; }

Configurem wlan0 per a una IP estàtica

Primer, tanca-ho …

sudo ifdown wlan0

… manteniu-lo segur i feu un fitxer de còpia de seguretat:

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

… editeu el fitxer d'interfícies de xarxa:

sudo nano / etc / network / interfaces

… editeu en conseqüència per llegir:

directori-font /etc/network/interfaces.d

auto lo iface lo inet loopback iface eth0 inet dhcp allow-hotplug wlan0 iface wlan0 inet adreça estàtica 192.168.42.1 netmask 255.255.255.0 post-up iw dev $ IFACE set power_save off

… tanqueu el fitxer i assigneu una IP estàtica ara

sudo ifconfig wlan0 192.168.42.1

Fet …

Hostapd

Creeu un fitxer i editeu-lo:

sudo nano /etc/hostapd/hostapd.conf

Modifiqueu ssid amb un nom que escolliu i wpa_passphrase a un authen de WiFi

interfície = wlan0

ssid = LedboardPi hw_mode = g channel = 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

Configurem la traducció d’adreces de xarxa

Creeu un fitxer de còpia de seguretat

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

editeu el fitxer de configuració

sudo nano /etc/sysctl.conf

… anul·leu el comentari o afegiu a la part inferior:

net.ipv4.ip_forward = 1

# … i activeu-lo immediatament:

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

… modifiqueu els iptables per crear una traducció de xarxa entre eth0 i el port wifi wlan0

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

sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED, ESTABLISHED -j ACCEPT sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT

… feu que això passi en reiniciar per runnig

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

… i editant de nou

sudo nano / etc / network / interfaces

… afegint al final:

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

El nostre fitxer / etc / network / interfaces ara serà així:

directori-font /etc/network/interfaces.d

auto lo

iface lo inet loopback allow-hotplug eth0 iface eth0 inet address static 192.168.100.61 netmask 255.255.255.0 gateway 192.168.100.1 allow-hotplug wlan0 iface wlan0 inet address static 192.168.42.1 netmask 255.255.255.0 network 192.168.42.0 broadcast 192.168.42.255 source- directori /etc/network/interfaces.d

Provem el nostre punt d'accés executant:

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

El vostre punt d'accés està en funcionament: proveu de connectar-vos-hi des d'un ordinador o un telèfon intel·ligent. Quan ho feu, també hauríeu de veure alguna activitat de registre al vostre terminal. Si esteu satisfet, atureu-ho amb CTRL + C

Netegem-ho tot: sudo service hostapd start sudo service isc-dhcp-server start

… i assegureu-vos que estem en funcionament:

estat sudap del servei sudo

servei sudo estat isc-dhcp-server

… configurem els nostres dimonis per començar a l'inici:

habilitar sudo update-rc.d hostapd

sudo update-rc.d isc-dhcp-server habilitar sudo systemctl desenmascarar hostapd sudo systemctl desenmascarar isc-dhcp-server

… reinicieu el pi

sudo reiniciar

Ara hauríeu de poder veure el vostre WiFi pi, connectar-vos-hi i accedir-hi a Internet. Com a comparació ràpida, la transmissió de vídeos 4k consumirà aproximadament un 10% de la CPU pi, així que … utilitzeu-lo en conseqüència.

Com a bonificació, si voleu comprovar què passa al vostre punt d'accés WiFi, consulteu el fitxer de registre:

tail -f / var / log / syslog

Pas 5:

Imatge
Imatge
Imatge
Imatge
Imatge
Imatge

El cas.

Disseny

Per a aquesta part, he utilitzat el programa de disseny 3D sketchup. Ledboard Pi Funda d'alumini Disseny 3D

Per a això, he utilitzat perfils d'alumini rectangulars de 82,5 mm x 38 mm, alguns angles i alguns cargols. La meva mare va fundar el suport al carrer, malgastat. Té rodes com es mostra a les imatges.

Recomanat: