Indholdsfortegnelse:

Ledboard Pi: 5 trin (med billeder)
Ledboard Pi: 5 trin (med billeder)

Video: Ledboard Pi: 5 trin (med billeder)

Video: Ledboard Pi: 5 trin (med billeder)
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Juli
Anonim
Ledboard Pi
Ledboard Pi
Ledboard Pi
Ledboard Pi
Ledboard Pi
Ledboard Pi

Ledboard Pi -skærmen er resultatet af mange års oplevelser, læring og udvikling; men også resultatet af at have de rigtige værktøjer (hardware, software, firmware) i dette rigtige øjeblik: Raspberry Pi 4 (med Raspberry Pi 3 fungerer også) med sin hastighed, hukommelse og trådløse kapacitet, det forunderlige projekt Raspberry Pi LED Matrix Display baseret på rpi-rgb-led-matrix- og rpi-fb-matrix-biblioteker (til at køre mange kommercielle RGB LED-paneler gennem GPIO) for at vise Raspberry Pi's videoudgang på et stort RGB LED-matrixdisplay (for dette instruerbare er opløsningen 96x64 ved hjælp af 6 sparkfun 32x32 paneler). Alt dette styres med en GUI-applikation programmeret ved hjælp af lazarus ide på et meget let openbox-skrivebord, der er installeret over et Raspbian Buster Lite-billede og endelig viser, hvad din fantasi kan programmere: et Multi-Sport Scoreboard, en Digital Signage eller en videospiller; der er ingen grænser. Dette projekt, der styres af enhver computer, er i stand til at køre VNC Viewer, fordi VNC -serveren også er installeret på Raspberry Pi 4's Rasbian Buster Lite.

Fra i morgen vil jeg forsøge at forklare detaljeret hvert trin for at få dette projekt til at fungere.

Forbrugsvarer

Vi har brug for dette projekt:

Hardware

  1. En Raspberry Pi 3 eller bedre, Raspberry Pi 4 med sin 5V 2,5 A strømforsyning
  2. Et Electrodragon RGB LED Matrix Panel Drive Board til Raspberry Pi
  3. Seks 32x32 RGB LED -panel fra Sparkfun
  4. En 40A 5v strømforsyning
  5. En 3 meter aluminiums rektangulær ramme 82,5 mm x 38 mm
  6. Et snit i akryl størrelse B 576 mm x H 384 mm
  7. Et snit af polariseret film

Software

  1. hezeller rpi-rgb-led-matrix bibliotek
  2. Adafruit rpi-fb-matrix bibliotek
  3. Raspbian buster lite eller realtimepi-buster-lite billeder
  4. Åben boks
  5. Til kontrol pc/bærbar/Raspberry Pi 3 eller 4, Real VNC Viewer til Windows eller Linux eller Raspbian
  6. Lazarus IDE til raspbian buster lite
  7. Leboard Pi -applikation

fortsættes…

Trin 1: Indstilling af Raspberry Pi 3/4 OS -ting

Indstilling af Raspberry Pi 3/4 OS -ting
Indstilling af Raspberry Pi 3/4 OS -ting
Indstilling af Raspberry Pi 3/4 OS -ting
Indstilling af Raspberry Pi 3/4 OS -ting
Indstilling af Raspberry Pi 3/4 OS -ting
Indstilling af Raspberry Pi 3/4 OS -ting

Når vi har hardware -delene, skal vi få OS -tingene:

Først skal vi få OS til Raspbian 3/4. i mit tilfælde beslutter jeg mig for at bruge realtime buster lite; men du kan også bruge Raspbian Buster Lite -versionen. Derefter skal du overføre dette billede til micro SD -kort ved hjælp af balenaEtcher.

Derefter skal vi tilslutte en HDMI -skærm og et usb -tastatur og et cat5 -netværkskabel tilsluttet

Hindbær Pi 3/4 RJ45; så vi kan søge i Raspberry Pi 3/4 IP for at foretage den første opsætning: netværks -IP, kablet og trådløs. Jeg brugte den avancerede ip -scanner. Nu, gennem raspi-config, skal du aktivere SSH-serveren til ekstern forbindelse ved hjælp af Putty for at fuldføre resten af Ledboard Pi-opsætningen.

Nu, over lite version, skal vi installere et let skrivebordsmiljø med openbox

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

Installer derefter lightdm (Login manager)

sudo apt-get install lightdm

Aktiver realvncserver fra raspi-config

sudo raspi-config> Interfacemuligheder> vncserver> aktiver vncserver

Her, når vnceserver er aktiveret, vil vi bruge VNC Viewer. I dette er skrivebordet, der skal konfigureres i forbindelsen 0, eks. Hvis IP er 192.168.100.61, er forbindelsen "192.168.100.61:0"

Vi har brug for et link mellem kontrolcomputeren/den bærbare computer og Ledboard Pi, så samba skal installeres til overførsel af kildekode, filer, billeder, videoer osv

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

Sørg for, at din bruger er ejer af den sti, du prøver at dele via Samba

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

Tag en kopi af den originale samba -delingsfil

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

Rediger samba -konfigurationsfilen

sudo nano /etc/samba/smb.conf

Forlad arbejdsgruppen som WORKGROUP (eller navngiv den som du ønsker)

#vinder support = nej

at vinde support = ja

Derefter ….

#Dette er navnet på delingsmappen, som den vises som når du søger

[ledboardpi] kommentar = ledboardPi del mappesti =/home/pi/Del opret maske = 0775 bibliotekmaske = 0775 skrivebeskyttet = ingen gennemsyn = ja offentlig = ja tving bruger = pi kun gæst = nej

Nu kan vi få adgang til "home/pi/share" -mappen i/home/pi -stien fra en anden computer.

For at styre filsystemet ved hjælp af en gui -app, installerer vi pcmanfm

sudo apt-get install pcmanfm

Trin 2: Download, opsætning og kørsel af RGB LED -panelbehovede biblioteker

Image
Image
Download, opsætning og drift af RGB LED -panelbehovede biblioteker
Download, opsætning og drift af RGB LED -panelbehovede biblioteker
Download, opsætning og drift af RGB LED -panelbehovede biblioteker
Download, opsætning og drift af RGB LED -panelbehovede biblioteker

Først skal du installere forudsætninger

sudo apt-get opdatering

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-pude -y

Hent derefter og kompilér hzeller rpi-rgb-led-matrix

wget

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

Download og installer også rpi-fb-matrix

Du skal klone dette lager med den rekursive mulighed, så nødvendige undermoduler også klones. Kør denne kommando:

git-klon-rekursiv

lave

Bemærk: udskift rpi-rgb-led-matrix-biblioteket, der blev downloadet tidligt i mappen rpi-fb-matrix

Nu skal vi teste disse biblioteker, husk, rpi-fb-matrix afhænger af 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 = "almindelig" --led- no-hardware-puls --led-pwm-lsb-nanosekunder = 180 --led-show-refresh --led-lysstyrke = 80 -D 0 sudo./demo --led-chain = 3 --led-parallel = 2 --led-slowdown-gpio = 4 --led-gpio-mapping = "almindelig" --led-ingen-hardware-puls --led-pwm-lsb-nanosekunder = 180 --led-show-opdater- led-lysstyrke = 80 -D 1 runtext.ppm sudo./demo --led-chain = 3 --led-parallel = 2 --led-slowdown-gpio = 4 --led-gpio-mapping = "almindelig"- -led-no-hardware-puls --led-pwm-lsb-nanoseconds = 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 = "almindelig" --led-ingen-hardware-puls --led-pwm-lsb-nanosekunder = 180 --led -show-refresh --led-brightness = 80 -D 3 sudo./demo --led-chain = 3 --led-parallel = 2 --led-slowdown-gpio = 4 --led-gpio-mapping = " almindelig "--led-no-hardware-puls --led-pwm-lsb-nanosekunder = 180 --led-show-opdater --led-lysstyrke = 80 -D 4 sudo./demo --led-chain = 3 --led-parallel = 2 --led-slowdown-gpio = 4 --led-gpio-mapping = "almindelig" --led-no-hardware-puls --led-pwm-lsb-nanosekunder = 180 --led-show-refresh --led-lysstyrke = 80 -D 5 sudo./demo --led-chain = 3 --led-parallel = 2 --led- slowdown-gpio = 4 --led-gpio-mapping = "almindelig" --led-ingen-hardware-puls --led-pwm-lsb-nanosekunder = 180 --led-show-opdater --led-lysstyrke = 80 -D 6 sudo./demo --led-chain = 3 --led-parallel = 2 --led-slowdown-gpio = 4 --led-gpio-mapping = "almindelig" --led-no-hardware-puls --led-pwm-lsb-nanosekunder = 180 --led-show-refresh --led-lysstyrke = 80 -D 7 sudo./demo --led-chain = 3 --led-parallel = 2 --led- slowdown-gpio = 4 --led-gpio-mapping = "almindelig" --led-ingen-hardware-puls --led-pwm-lsb-nanosekunder = 180 --led-show-opdater --led-lysstyrke = 80 -D 8 sudo./demo --led-chain = 3 --led-parallel = 2 --led-slowdown-gpio = 4 --led-gpio-mapping = "almindelig" --led-no-hardware-puls --led-pwm-lsb-nanosekunder = 180 --led-show-refresh --led-lysstyrke = 80 -D 9 sudo./demo --led-chain = 3 --led-pa rallel = 2 --led-slowdown-gpio = 4 --led-gpio-mapping = "almindelig" --led-no-hardware-puls --led-pwm-lsb-nanosekunder = 180 --led-show-opdater --led-lysstyrke = 80 -D 10 sudo./demo --led-chain = 3 --led-parallel = 2 --led-slowdown-gpio = 4 --led-gpio-mapping = "almindelig"- led-no-hardware-puls --led-pwm-lsb-nanosekunder = 180 --led-show-opdater --led-lysstyrke = 80 -D 11

Alle kører fint.

Nu er rpi-fb-matrix biblioteket. Dette viser en del (96x64) af skærmen i RGB LED -paneler baseret Ledboard Pi

cd/home/pi/rpi-fb-matrix

HUSK, kopier den sidste version af rpi-rgb-led-matrix-biblioteket til rpi-fb-matrix-mappen. MEGET VIGTIGT

gøre rent

lave alle

Disse sidste kommandoer, for både rpi-fb-matrix og rpi-rgb-led-matrix biblioteker…..

For rpi-fb-matrix er det nødvendigt med en korrekt konfiguration af matrix.cfg (jeg omdøbte davenew.cfg til dette instruerbare), læse, analysere for tilpassede projekter med et andet antal RGB LED-paneler …

LED Matrix Display Configuration // Definer hele bredden og højden af displayet i pixels. // Dette er _total_ bredden og højden af rektanglet defineret af alle // lænkede paneler. Bredden skal være et multiplum af panelets pixelbredde (32), // og højden skal være et multiplum af panelets pixelhøjde (8, 16 eller 32). display_width = 96; display_højde = 64; // Definer bredden af hvert panel i pixels. Dette skal altid være 32 (men // kan i teorien ændres). panelbredde = 32; // Definer højden på hvert panel i pixels. Dette er typisk 8, 16 eller 32. // BEMÆRK: Hvert panel i displayet _ skal_ have samme højde! Du kan f.eks. Ikke blande // 16 og 32 pixel høje paneler. panelhøjde = 32; // Definer det samlede antal paneler i hver kæde. Tæl op hvor mange // paneler der er forbundet og sæt værdien her. Hvis du bruger // flere parallelle kæder, tæl hver enkelt op separat og vælg den største // værdi for denne konfiguration. kædelængde = 3; // Definer det samlede antal parallelle kæder. Hvis du bruger Adafruit HAT, kan du // kun have en kæde, så hold fast ved værdien 1. Pi 2 kan understøtte op til 3 parallelle kæder, se rpi-rgb-led-matrix biblioteket for mere information: // https://github.com/hzeller/rpi-rgb-led-matrix#chaining-parallel-chains-and-coordinate-system parallel_count = 2; // Konfigurer hvert LED -matrixpanel. // Dette er et todimensionalt array med en post for hvert panel. Arrayet // definerer det gitter, der vil opdele skærmen, så for eksempel en 64x64 størrelse // skærm med 32x32 pixelpaneler ville være et 2x2 array af panelkonfigurationer. // // For hvert panel skal du angive den rækkefølge, som det er inden for dens kæde, dvs. // det første panel i en kæde er ordre = 0, det næste er ordre = 1 osv. Du kan // også angive en rotation for hvert panel for at tage højde for ændringer i panelets orientering // (som når 'snaking' en række paneler ende til ende ved kortere trådkørsler). // // Konfigurationen herunder definerer f.eks. Denne gittervisning af paneler og // deres ledninger (starter fra øverste højre panel og slinger til venstre, ned og // højre til nederste højre panel): // _ _ _ / / | Panel | | Panel | | Panel | // | ordre = 2 | <= | ordre = 1 | <= | ordre = 0 | <= Kæde 1 (fra Pi) // | rotere = 0 | | rotere = 0 | | rotere = 0 | // | _ | | _ | | _ | // _ _ _ // | Panel | | Panel | | Panel | // | ordre = 2 | <= | ordre = 1 | <= | ordre = 0 | <= Kæde 2 (fra Pi) // | rotere = 0 | | rotere = 0 | | rotere = 0 | // | _ | | _ | | _ | // // Bemærk kæden starter øverst til højre og slanger rundt til bunden // højre. Rækkefølgen af hvert panel indstilles som dets position langs kæden, // og rotation påføres de nederste paneler, der vendes rundt i forhold til // panelerne over dem. // // Ikke vist, men hvis du bruger parallelle kæder, kan du angive for hver post // i panellisten en 'parallel = x;' valgmulighed, hvor x er ID for en parallel // kæde (0, 1 eller 2). paneler = (({rækkefølge = 2; roter = 0; parallel = 0;}, {ordre = 1; roter = 0; parallel = 0;}, {rækkefølge = 0; roter = 0; parallel = 0;}, { ordre = 2; roter = 0; parallel = 1;}, {ordre = 1; roter = 0; parallel = 1;}, {rækkefølge = 0; roter = 0; parallel = 1;}))) // Som standard er rpi-fb-matrix-værktøj ændrer størrelsen og skalerer skærmen // for at passe til skærmpanelernes opløsning. Du kan dog i stedet få fat i // en bestemt pixel-perfekt kopi af et område af skærmen ved at indstille x, y // skærmens pixelkoordinater herunder. Et rektangel med skærmens nøjagtige størrelse // (dvs. displaybredde x displayhøjdepixel) kopieres fra skærmen // startende med de angivne x, y -koordinater. Kommenter dette for at deaktivere // denne beskæringsadfærd og i stedet ændre størrelsen på skærmen til matrixdisplayet. crop_origin = (0, 0)

Trin 3: Kompilering, indstilling og test af Ledboard Pi GUI -applikation

Image
Image
Kompilering, indstilling og test af Ledboard Pi GUI -applikation
Kompilering, indstilling og test af Ledboard Pi GUI -applikation
Kompilering, indstilling og test af Ledboard Pi GUI -applikation
Kompilering, indstilling og test af Ledboard Pi GUI -applikation

Vi har brug for en programmerings -IDE for at oprette en GUI -applikation (Ledboard Pi). Derefter vælger jeg "Lazarus IDE" meget lig Delphi/C ++ Builder, jeg brugte i Windows OS

sudo apt-get install lazarus-ide

Når den er installeret, skal du bare udføre:

lazarus-ide

Åbner Ledboard Pi -projekt, og kompilér derefter for at få Ledboard Pi -applikationen. Inden du åbner denne applikation, skal du oprette et bibliotek med navnet LEDBOARD_APP i stien /home /pi, og derefter kopiere Ledboard Pi -applikationen hertil

Nu vil vi tilføje et link til højreklikmenuen i openbox. Hvordan har vi brug for obmenuen, også xterm ved hjælp af Putty link, så:

sudo apt-get install obmenu xterm

Nu kan vi bruge terminalen og menuen i vncviewer -vinduet:

  1. Ring xterm fra højreklikmenuen
  2. Åben menu fra xterm

Tilføj nyt emne: Ledboard Pi

  1. Vælg nyt element
  2. hed det Ledboard Pi
  3. udfør sudo nice -n -15/home/pi/LEDBOARD_APP/LEDBOARD
  • Download "horn. WAV", og brug derefter netværkslinket samba -placering "\ ledboardpi / ledboardpi \" til at kopiere dette og omdøbe det til realtimePi -miljø som "horn.wav". Denne fil, når den er omdøbt, skal kopieres til /home /pi -mappen.
  • Udført, du skal kunne køre Ledboard Pi såvel som du ser i videoer og billeder.

Trin 4: Installer og konfigurer WiFi Hotspot

Installer og konfigurer WiFi Hotspot
Installer og konfigurer WiFi Hotspot
Installer og konfigurer WiFi Hotspot
Installer og konfigurer WiFi Hotspot
Installer og konfigurer WiFi Hotspot
Installer og konfigurer WiFi Hotspot
Installer og konfigurer WiFi Hotspot
Installer og konfigurer WiFi Hotspot

Dette projekt blev designet til at køre ved hjælp af realvnc viewer fra en bærbar computer, der er trådløst forbundet til Raspberry Pi 3/4. Så dette er det sidste trin for at få det til at køre, og sig "hasta la vista baby" til det kabelforbundne mareridt.

Opsætning af software

sudo apt-get opdatering

sudo apt-get install hostapd isc-dhcp-server

DHCP -server

Vær klog, og lav altid en sikkerhedskopi af standardkonfigurationen

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

Rediger defult -konfigurationsfilen

sudo nano /etc/dhcp/dhcpd.conf

Kommenter følgende linjer …

option domænenavn "eksempel.org";

option domænenavneservere ns1.example.org, ns2.example.org;

at læse:

#option domænenavn "eksempel.org";

#option domænenavn-servere ns1.example.org, ns2.example.org;

… og fjern kommentaren til denne linje

#autoritativ;

… at læse:

autoritativ;

… rul ned i bunden af filen og skriv følgende linjer:

subnet 192.168.42.0 netmask 255.255.255.0 {

område 192.168.42.10 192.168.42.50; option broadcast-adresse 192.168.42.255; option routere 192.168.42.1; default-lease-time 600; max-leasingtid 7200; option domænenavn "lokalt"; option domænenavneservere 8.8.8.8, 8.8.4.4; }

Lad os opsætte wlan0 til statisk IP

Luk først det ned …

sudo ifdown wlan0

… gem det sikkert og lav en sikkerhedskopifil:

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

… rediger netværksgrænsefladefilen:

sudo nano/etc/network/interfaces

… rediger i overensstemmelse hermed for at læse:

source-bibliotek /etc/network/interfaces.d

auto lo iface lo inet loopback iface eth0 inet dhcp allow-hotplug wlan0 iface wlan0 inet static address 192.168.42.1 netmask 255.255.255.0 post-up iw dev $ IFACE set power_save off

… luk filen og tildel en statisk IP nu

sudo ifconfig wlan0 192.168.42.1

Færdig…

Hostapd

Opret en fil og rediger den:

sudo nano /etc/hostapd/hostapd.conf

Rediger ssid med et navn efter eget valg og wpa_passphrase til en WiFi -godkendelse

interface = 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

Lad os konfigurere oversættelsen af netværksadressen

Opret en sikkerhedskopifil

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

rediger konfigurationsfilen

sudo nano /etc/sysctl.conf

… fjern kommentar eller tilføj i bunden:

net.ipv4.ip_forward = 1

# … og aktiver det med det samme:

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

… rediger iptables for at oprette en netværksoversættelse mellem eth0 og wifi -porten wlan0

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

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

… få dette til at ske ved genstart af runnig

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

… og redigerer igen

sudo nano/etc/network/interfaces

… tilføjes i slutningen:

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

Vores/etc/network/interfaces -fil vil nu se sådan ud:

source-bibliotek /etc/network/interfaces.d

auto lo

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

Lad os teste vores adgangspunkt ved at køre:

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

Dit hotspot er i gang: Prøv at oprette forbindelse til det fra en computer eller en smartphone. Når du gør det, skal du også se noget logaktivitet på din terminal. Hvis du er tilfreds, skal du stoppe med CTRL+C

Lad os rense alt: sudo service hostapd start sudo service isc-dhcp-server start

… og sørg for, at vi er i gang:

sudo service hostapd status

sudo service isc-dhcp-server status

… lad os konfigurere vores dæmoner til at starte ved opstart:

sudo update-rc.d hostapd aktivere

sudo update-rc.d isc-dhcp-server aktiver sudo systemctl afmask hostapd sudo systemctl afmask isc-dhcp-server

… genstart pi'en

sudo genstart

Du skal nu kunne se din pi WiFi, oprette forbindelse til den og få internetadgang til den. Som en hurtig sammenligning vil streaming af 4K -videoer forbruge omkring 10% af pi -CPU'en, så … brug den i overensstemmelse hermed.

Som en bonus, hvis du vil kontrollere, hvad der sker på dit WiFi -hotspot, skal du kontrollere logfilen:

hale -f/var/log/syslog

Trin 5:

Billede
Billede
Billede
Billede
Billede
Billede

Sagen.

Design

Til denne del brugte jeg sketchup 3D -designprogram. Ledboard Pi Aluminium Case 3D Design

Til dette brugte jeg almindelige rektangulære 82,5 mm x 38 mm aluminiumsprofiler, nogle vinkler og nogle skruer. Støtten blev grundlagt af min mor på gaden, spildt. Den har hjul som vist på billederne.

Anbefalede: