Innehållsförteckning:
- Tillbehör
- Steg 1: Ställa in Raspberry Pi 3/4 OS -saker
- Steg 2: Ladda ner, konfigurera och köra RGB LED -paneler som behövs bibliotek
- Steg 3: Kompilering, inställning och test av Ledboard Pi GUI -applikation
- Steg 4: Installera och konfigurera WiFi Hotspot
- Steg 5:
Video: Ledboard Pi: 5 steg (med bilder)
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-03 03:04
Ledboard Pi -skärmen är resultatet av många års erfarenheter, lärande och utveckling; men också resultatet av att ha rätt verktyg (hårdvara, programvara, firmware) i detta rätta ögonblick: Raspberry Pi 4 (med Raspberry Pi 3 fungerar också) med sin hastighet, minne och trådlösa kapacitet, det fantastiska projektet Raspberry Pi LED Matrix Display baserat på rpi-rgb-led-matris- och rpi-fb-matrisbibliotek (för att driva många kommersiella RGB LED-paneler genom GPIO) för att visa Raspberry Pi: s videoutgång på en stor RGB LED-matrisdisplay (för detta instruerbara är upplösningen 96x64 med 6 sparkfun 32x32 paneler). Allt detta styrs med en GUI-applikation programmerad med hjälp av lazarus ide på ett mycket lätt openbox-skrivbord installerat över en Raspbian Buster Lite-bild och slutligen visar vad din fantasi kan programmera: en Multi-Sport resultattavla, en digital skyltning eller en videospelare; det finns inga gränser. Detta projekt, som styrs av vilken dator som helst, som kan köra VNC Viewer, eftersom VNC -servern också är installerad på Raspberry Pi 4: s Rasbian Buster Lite.
Från och med imorgon kommer jag att försöka förklara i detalj varje steg för att få detta projekt att fungera.
Tillbehör
Vi behöver för detta projekt:
Hårdvara
- En Raspberry Pi 3 eller bättre, Raspberry Pi 4 med sin 5V 2,5 A strömförsörjning
- En Electrodragon RGB LED Matrix Panel Drive Board för Raspberry Pi
- Sex 32x32 RGB LED -panel från Sparkfun
- En 40A 5v strömförsörjning
- En 3 meter aluminium rektangulär ram 82,5 mm x 38 mm
- Ett snitt i akrylstorlek B 576 mm x H 384 mm
- Ett snitt av polariserad film
programvara
- hezeller rpi-rgb-led-matrix bibliotek
- Adafruit rpi-fb-matrix bibliotek
- Raspbian buster lite eller realtimepi-buster-lite bilder
- Öppen låda
- För styr -dator/bärbar dator/Raspberry Pi 3 eller 4, Real VNC Viewer för Windows eller Linux eller Raspbian
- Lazarus IDE för raspbian buster lite
- Leboard Pi -applikation
fortsättning följer…
Steg 1: Ställa in Raspberry Pi 3/4 OS -saker
När vi har maskinvarudelarna måste vi skaffa OS -saker:
Först måste vi få OS för Raspbian 3/4. i mitt fall bestämmer jag mig för att använda realtime buster lite; men du kan också använda Raspbian Buster Lite -versionen. Sedan måste du överföra denna bild till micro SD -kort med balenaEtcher.
Sedan måste vi ansluta en HDMI -skärm och ett usb -tangentbord och en cat5 -nätverkskabel ansluten till
Hallon Pi 3/4 RJ45; så vi kan söka i Raspberry Pi 3/4 IP för att göra den första installationen: nätverks -IP, trådbunden och trådlös. Jag använde den avancerade ip -skannern. Nu, genom raspi-config, aktivera SSH-servern för fjärranslutning med Putty för att slutföra resten av Ledboard Pi-installationen.
Nu, över lite -versionen, kommer vi att installera en lätt skrivbordsmiljö med openbox
sudo apt-get install --no-install-rekommenderar xserver-xorg x11-xserver-utils xinit openbox
Installera sedan lightdm (Login manager)
sudo apt-get install lightdm
Aktivera realvncserver från raspi-config
sudo raspi-config> Gränssnittsalternativ> vncserver> aktivera vncserver
Här, när vnceserver har aktiverats, kommer vi att använda VNC Viewer. I detta är skrivbordet som ska konfigureras i anslutningen 0, ex. Om IP är 192.168.100.61 är anslutningen "192.168.100.61:0"
Vi behöver en länk mellan styrdatorn/bärbar dator och Ledboard Pi, så samba måste installeras för överföring av källkod, filer, bilder, videor etc
sudo apt-get install samba samba-common-bin -y
Se till att din användare är ägare till sökvägen du försöker dela via Samba
sudo chown -R pi: pi/home/pi/share
Ta en kopia av den ursprungliga samba -delningsfilen
sudo cp /etc/samba/smb.conf /etc/samba/smb.bak
Redigera samba -konfigurationsfilen
sudo nano /etc/samba/smb.conf
Lämna arbetsgruppen som WORKGROUP (eller namnge den som du vill)
#vinner support = nej
att vinna support = ja
Sedan….
#Detta är namnet på delningsmappen som den kommer att visas som när du surfar
[ledboardpi] kommentar = ledboardPi dela mapp sökväg =/home/pi/Dela skapa mask = 0775 katalogmask = 0775 skrivskyddad = ingen surfbar = ja offentlig = ja tvinga användare = pi bara gäst = nej
Nu kan vi komma åt "home/pi/share" -mappen i/home/pi -sökvägen från en annan dator.
För att hantera filsystemet med en gui -app kommer vi att installera pcmanfm
sudo apt-get install pcmanfm
Steg 2: Ladda ner, konfigurera och köra RGB LED -paneler som behövs bibliotek
Installera först förutsättningar
sudo apt-get uppdatering
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
Ladda sedan ner och kompilera hzeller rpi-rgb-led-matrix
wget
packa upp master.zip cd rpi-rgb-led-matrix-master/ && make
Ladda också ner och installera rpi-fb-matrix
Du måste klona detta arkiv med det rekursiva alternativet så att nödvändiga delmoduler också klonas. Kör det här kommandot:
git-klon-rekursiv
göra
Obs: ersätt rpi-rgb-led-matrisbiblioteket som laddats ner tidigt i mappen rpi-fb-matrix
Nu ska vi testa dessa bibliotek, kom ihåg att rpi-fb-matris beror på rpi-rgb-led-matris
cd rpi-fb-matris
cd rpi-rgb-led-matrix sudo./demo --led-chain = 3 --led-parallel = 2 --led-slowdown-gpio = 4 --led-gpio-mapping = "vanlig" --led- no-hardware-pulse --led-pwm-lsb-nanoseconds = 180 --led-show-refresh --led-brightness = 80 -D 0 sudo./demo --led-chain = 3 --led-parallel = 2 --led-slowdown-gpio = 4 --led-gpio-mapping = "normal" --led-no-hardware-puls --led-pwm-lsb-nanosekunder = 180 --led-show-refresh- led-ljusstyrka = 80 -D 1 runtext.ppm sudo./demo --led-chain = 3 --led-parallel = 2 --led-slowdown-gpio = 4 --led-gpio-mapping = "normal"- -led-no-hardware-pulse --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 = "normal" --led-no-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 = " vanlig "--led-no-hardware-puls --led-pwm-lsb-nanosekunder = 180 --led-show-refresh --led-brightness = 80 -D 4 sudo./demo --led-chain = 3 --led-parallel = 2 --led-slowdown-gpio = 4 --led-gpio-mapping = "normal" --led-no-hardware-puls --led-pwm-lsb-nanosekunder = 180 --led-show-refresh --led-ljusstyrka = 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-nanoseconds = 180 --led-show-refresh --led-brightness = 80 -D 6 sudo./demo --led-chain = 3 --led-parallel = 2 --led-slowdown-gpio = 4 --led-gpio-mapping = "normal" --led-no-hardware-puls --led-pwm-lsb-nanosekunder = 180 --led-show-refresh --led-ljusstyrka = 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-nanoseconds = 180 --led-show-refresh --led-brightness = 80 -D 8 sudo./demo --led-chain = 3 --led-parallel = 2 --led-slowdown-gpio = 4 --led-gpio-mapping = "normal" --led-no-hardware-puls --led-pwm-lsb-nanosekunder = 180 --led-show-refresh --led-ljusstyrka = 80 -D 9 sudo./demo --led-chain = 3 --led-pa rallel = 2 --led-slowdown-gpio = 4 --led-gpio-mapping = "normal" --led-no-hardware-puls --led-pwm-lsb-nanosekunder = 180 --led-show-refresh --led-ljusstyrka = 80 -D 10 sudo./demo --led-chain = 3 --led-parallel = 2 --led-slowdown-gpio = 4 --led-gpio-mapping = "normal"- led-no-hardware-puls --led-pwm-lsb-nanosekunder = 180 --led-show-refresh --led-ljusstyrka = 80 -D 11
Allt går bra.
Nu, rpi-fb-matrisbiblioteket. Detta visar en del (96x64) av skärmen i RGB LED -paneler baserade Ledboard Pi
cd/home/pi/rpi-fb-matrix
KOM ihåg, kopiera den senaste versionen av rpi-rgb-led-matrix-biblioteket till mappen rpi-fb-matrix. VÄLDIGT VIKTIGT
göra rent
göra allt
De sista kommandona, för både rpi-fb-matrix och rpi-rgb-led-matrix bibliotek …..
För rpi-fb-matrisen krävs en korrekt konfiguration av matrix.cfg (jag bytte namn till davenew.cfg för denna instruerbara), läsa, analysera för anpassade projekt med olika antal RGB LED-paneler …
LED Matrix Display Configuration // Definiera hela bredden och höjden på skärmen i pixlar. // Detta är _total_ bredd och höjd för rektangeln som definieras av alla // kedjade paneler. Bredden ska vara en multipel av panelens pixelbredd (32), // och höjden ska vara en multipel av panelens pixelhöjd (8, 16 eller 32). display_width = 96; display_höjd = 64; // Definiera bredden på varje panel i pixlar. Detta bör alltid vara 32 (men kan // i teorin ändras). panel_bredd = 32; // Definiera höjden på varje panel i pixlar. Detta är vanligtvis 8, 16 eller 32. // OBS: Varje panel i displayen _ måste_ vara samma höjd! Du kan till exempel inte blanda // 16 och 32 pixlar höga paneler. panelhöjd = 32; // Definiera det totala antalet paneler i varje kedja. Räkna upp hur många // paneler som är kopplade ihop och sätt det värdet här. Om du använder // flera parallella kedjor räknar du upp var och en för sig och väljer det största // -värdet för denna konfiguration. kedjelängd = 3; // Definiera det totala antalet parallella kedjor. Om du använder Adafruit HAT kan du // bara ha en kedja, så håll fast vid värdet 1. Pi 2 kan stödja upp till 3 parallella kedjor, se rpi-rgb-led-matrisbiblioteket för mer information: // https://github.com/hzeller/rpi-rgb-led-matrix#chaining-parallel-chains-and-coordinate-system parallel_count = 2; // Konfigurera varje LED -matrispanel. // Detta är en tvådimensionell matris med en post för varje panel. Arrayen // definierar rutnätet som kommer att dela upp skärmen, så till exempel en 64x64 storlek // skärm med 32x32 pixelpaneler skulle vara en 2x2 array med panelkonfigurationer. // // För varje panel måste du ställa in den ordning som den är inom dess kedja, dvs // den första panelen i en kedja är order = 0, nästa är order = 1, etc. Du kan // också ställa in en rotation för varje panel för att ta hänsyn till förändringar i panelens orientering // (som när "snake" en serie paneler från ände till ände för kortare trådkörningar). // // Till exempel definierar konfigurationen nedan denna rutnätvisning av paneler och // deras ledningar (från den övre högra panelen och snarkar till vänster, ner och // höger till den nedre högra panelen): // _ _ _ / / | Panel | | Panel | | Panel | // | order = 2 | <= | order = 1 | <= | order = 0 | <= Kedja 1 (från Pi) // | rotera = 0 | | rotera = 0 | | rotera = 0 | // | _ | | _ | | _ | // _ _ _ // | Panel | | Panel | | Panel | // | order = 2 | <= | order = 1 | <= | order = 0 | <= Kedja 2 (från Pi) // | rotera = 0 | | rotera = 0 | | rotera = 0 | // | _ | | _ | | _ | // // Lägg märke till att kedjan börjar uppe till höger och ormar runt till botten // till höger. Ordningen för varje panel ställs in som dess position längs kedjan, // och rotation appliceras på de nedre panelerna som vänds relativt // till panelerna ovanför dem. // // Visas inte men om du använder parallella kedjor kan du ange för varje post // i panellistan en "parallell = x;" alternativ där x är ID för en parallell // kedja (0, 1 eller 2). paneler = (({ordning = 2; rotera = 0; parallell = 0;}, {ordning = 1; rotera = 0; parallell = 0;}, {ordning = 0; rotera = 0; parallell = 0;}, { ordning = 2; rotera = 0; parallell = 1;}, {ordning = 1; rotera = 0; parallell = 1;}, {ordning = 0; rotera = 0; parallell = 1;}))) // Som standard är rpi-fb-matrisverktyget kommer att ändra storlek och skala ner skärmen // så att det passar upplösningen på bildskärmspanelerna. Du kan dock istället ta // en specifik pixel-perfekt kopia av en region på skärmen genom att ställa in x, y // skärmens pixelkoordinater nedan. En rektangel med den exakta storleken på displayen // (dvs display_bredd x display_höjdpixel) kommer att kopieras från skärmen // från de angivna x, y -koordinaterna. Kommentera detta för att inaktivera // detta beskärningsbeteende och istället ändra storlek på skärmen till matrisdisplayen. crop_origin = (0, 0)
Steg 3: Kompilering, inställning och test av Ledboard Pi GUI -applikation
Vi behöver en programmerings -IDE för att skapa en GUI -applikation (Ledboard Pi). Sedan väljer jag "Lazarus IDE" som liknar Delphi/C ++ Builder som jag använde inom Windows OS
sudo apt-get install lazarus-ide
Efter installationen är det bara att köra:
lazarus-ide
Öppnar Ledboard Pi -projektet och kompilerar sedan för att få Ledboard Pi -applikationen. Innan du öppnar det här programmet, skapa en katalog som heter LEDBOARD_APP i sökvägen /home /pi och kopiera sedan Ledboard Pi -programmet till detta
Nu ska vi lägga till en länk till högerklick-menyn i openboxen. Hur behöver vi menyn, även xterm med Putty -länk, så:
sudo apt-get install obmenu xterm
Nu kan vi använda terminalen och menyn i vncviewer -fönstret:
- Ring xterm från högerklick-menyn
- Öppna menyn från xterm
Lägg till nytt objekt: Ledboard Pi
- Välj Nytt objekt
- namn det Ledboard Pi
- kör sudo nice -n -15/home/pi/LEDBOARD_APP/LEDBOARD
- Ladda ner "horn. WAV", sedan, med hjälp av nätverkslänkad samba -plats "\ ledboardpi / ledboardpi \" kopiera detta och byt namn på det till realtimePi -miljö som "horn.wav". Den här filen, när den har bytt namn, måste kopieras till /home /pi -mappen.
- Klar, du måste kunna köra Ledboard Pi såväl som du ser i videor och bilder.
Steg 4: Installera och konfigurera WiFi Hotspot
Detta projekt var utformat för att köra med realvnc viewer från en bärbar dator trådlöst ansluten till Raspberry Pi 3/4. Så det här är det sista steget för att få det att köra och säga "hasta la vista baby" till den trådbundna mardrömmen.
Programvaruinstallation
sudo apt-get uppdatering
sudo apt-get install hostapd isc-dhcp-server
DHCP -server
Var klok och gör alltid en säkerhetskopia av standardkonfigurationen
sudo cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.default
Redigera konfigurationsfilen för defult
sudo nano /etc/dhcp/dhcpd.conf
Kommentera följande rader …
alternativ domännamn "exempel.org";
alternativ domännamnservrar ns1.example.org, ns2.example.org;
att läsa:
#option domännamn "exempel.org";
#option domännamnservrar ns1.example.org, ns2.example.org;
… och avmarkera den här raden
#auktoritativ;
… att läsa:
auktoritativ;
… rulla ner längst ner i filen och skriv följande rader:
delnät 192.168.42.0 nätmask 255.255.255.0 {
intervall 192.168.42.10 192.168.42.50; alternativ sändningsadress 192.168.42.255; alternativrouter 192.168.42.1; default-lease-time 600; maxhyrestid 7200; alternativ domännamn "lokal"; alternativ domännamnservrar 8.8.8.8, 8.8.4.4; }
Låt oss konfigurera wlan0 för statisk IP
Stäng först av det …
sudo ifdown wlan0
… skydda det och gör en säkerhetskopia:
sudo cp/etc/network/interfaces /etc/network/interfaces.backup
… redigera nätverksgränssnittsfilen:
sudo nano/etc/network/interfaces
… redigera i enlighet med detta för att läsa:
källkatalog /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
… stäng filen och tilldela en statisk IP nu
sudo ifconfig wlan0 192.168.42.1
Gjort…
Hostapd
Skapa en fil och redigera den:
sudo nano /etc/hostapd/hostapd.conf
Ändra ssid med ett valfritt namn och wpa_passphrase till en WiFi -autentisering
gränssnitt = 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
Låt oss konfigurera översättningen av nätverksadressen
Skapa en säkerhetskopia
sudo cp /etc/sysctl.conf /etc/sysctl.conf.backup
redigera konfigurationsfilen
sudo nano /etc/sysctl.conf
… av-kommentera eller lägg till längst ner:
net.ipv4.ip_forward = 1
# … och aktivera det omedelbart:
sudo sh -c "echo 1>/proc/sys/net/ipv4/ip_forward"
… ändra iptables för att skapa en nätverksöversättning mellan eth0 och 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å detta att hända vid omstart av runnig
sudo sh -c "iptables -save> /etc/iptables.ipv4.nat"
… och redigerar igen
sudo nano/etc/network/interfaces
… läggs till i slutet:
upp iptables-restore </etc/iptables.ipv4.nat
Vår/etc/network/interfaces -fil kommer nu att se ut så här:
källkatalog /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- katalog /etc/network/interfaces.d
Låt oss testa vår åtkomstpunkt genom att köra:
sudo/usr/sbin/hostapd /etc/hostapd/hostapd.conf
Din hotspot är igång: försök ansluta till den från en dator eller en smartphone. När du gör det bör du också se lite loggaktivitet på din terminal. Om du är nöjd, sluta med CTRL+C
Låt oss städa allt: sudo service hostapd start sudo service isc-dhcp-server start
… och se till att vi är igång:
sudo service hostapd status
sudo service isc-dhcp-server status
… låt oss konfigurera våra demoner för att starta vid starttiden:
sudo update-rc.d hostapd aktivera
sudo update-rc.d isc-dhcp-server aktivera sudo systemctl maskera hostapd sudo systemctl avmask isc-dhcp-server
… starta om pi
sudo starta om
Du bör nu kunna se din pi WiFi, ansluta till den och få tillgång till internet till den. Som en snabb jämförelse kommer strömmande 4k -videor att konsumera cirka 10% av pi -CPU: n … använd den i enlighet därmed.
Som en bonus, om du vill kontrollera vad som händer på din WiFi -hotspot, kontrollera loggfilen:
svans -f/var/log/syslog
Steg 5:
Fallet.
Design
För den här delen använde jag sketchup 3D -designprogram. Ledboard Pi Aluminiumfodral 3D -design
Till detta använde jag vanliga rektangulära 82,5 mm x 38 mm aluminiumprofiler, några vinklar och några skruvar. Stödet grundades av min mor på gatan, bortkastat. Den har hjul som visas på bilderna.
Rekommenderad:
Ta fantastiska bilder med en iPhone: 9 steg (med bilder)
Ta fantastiska bilder med en iPhone: De flesta av oss har en smartphone med oss överallt nuförtiden, så det är viktigt att veta hur du använder din smartphone -kamera för att ta fantastiska bilder! Jag har bara haft en smartphone i ett par år, och jag har älskat att ha en bra kamera för att dokumentera saker jag
Hur: Installera Raspberry PI 4 Headless (VNC) med Rpi-imager och bilder: 7 steg (med bilder)
Hur: Installera Raspberry PI 4 Headless (VNC) med Rpi-imager och bilder: Jag planerar att använda denna Rapsberry PI i ett gäng roliga projekt tillbaka i min blogg. Kolla gärna in det. Jag ville börja använda mitt Raspberry PI men jag hade inte ett tangentbord eller en mus på min nya plats. Det var ett tag sedan jag installerade en hallon
Hur man digitaliserar bilder och filmnegativ med en DSLR: 12 steg (med bilder)
Hur man digitaliserar diabilder och filmnegativ med en DSLR: En mångsidig och stabil inställning för digitalisering av diabilder och negativ med en DSLR eller en kamera med ett makroalternativ. Denna instruerbara är en uppdatering av Hur man digitaliserar 35 mm negativ (uppladdad juli 2011) med flera förbättringar för att utöka dess
Trådlös fjärrkontroll med 2,4 GHz NRF24L01 -modul med Arduino - Nrf24l01 4 -kanals / 6 -kanals sändarmottagare för Quadcopter - Rc helikopter - RC -plan med Arduino: 5 steg (med bilder)
Trådlös fjärrkontroll med 2,4 GHz NRF24L01 -modul med Arduino | Nrf24l01 4 -kanals / 6 -kanals sändarmottagare för Quadcopter | Rc helikopter | Rc -plan med Arduino: Att driva en Rc -bil | Quadcopter | Drone | RC -plan | RC -båt, vi behöver alltid en mottagare och sändare, antag att för RC QUADCOPTER behöver vi en 6 -kanals sändare och mottagare och den typen av TX och RX är för dyr, så vi kommer att göra en på vår
Hur man tar isär en dator med enkla steg och bilder: 13 steg (med bilder)
Hur man tar isär en dator med enkla steg och bilder: Detta är en instruktion om hur man demonterar en dator. De flesta av de grundläggande komponenterna är modulära och lätt att ta bort. Det är dock viktigt att du är organiserad kring det. Detta hjälper dig att inte förlora delar, och även för att göra ommonteringen