Innehållsförteckning:

Ledboard Pi: 5 steg (med bilder)
Ledboard Pi: 5 steg (med bilder)

Video: Ledboard Pi: 5 steg (med bilder)

Video: Ledboard Pi: 5 steg (med bilder)
Video: История крушения Кольской нефтяной платформы. 2024, Juli
Anonim
Ledboard Pi
Ledboard Pi
Ledboard Pi
Ledboard Pi
Ledboard Pi
Ledboard Pi

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

  1. En Raspberry Pi 3 eller bättre, Raspberry Pi 4 med sin 5V 2,5 A strömförsörjning
  2. En Electrodragon RGB LED Matrix Panel Drive Board för Raspberry Pi
  3. Sex 32x32 RGB LED -panel från Sparkfun
  4. En 40A 5v strömförsörjning
  5. En 3 meter aluminium rektangulär ram 82,5 mm x 38 mm
  6. Ett snitt i akrylstorlek B 576 mm x H 384 mm
  7. Ett snitt av polariserad film

programvara

  1. hezeller rpi-rgb-led-matrix bibliotek
  2. Adafruit rpi-fb-matrix bibliotek
  3. Raspbian buster lite eller realtimepi-buster-lite bilder
  4. Öppen låda
  5. För styr -dator/bärbar dator/Raspberry Pi 3 eller 4, Real VNC Viewer för Windows eller Linux eller Raspbian
  6. Lazarus IDE för raspbian buster lite
  7. Leboard Pi -applikation

fortsättning följer…

Steg 1: Ställa in Raspberry Pi 3/4 OS -saker

Inställning av Raspberry Pi 3/4 OS -saker
Inställning av Raspberry Pi 3/4 OS -saker
Inställning av Raspberry Pi 3/4 OS -saker
Inställning av Raspberry Pi 3/4 OS -saker
Inställning av Raspberry Pi 3/4 OS -saker
Inställning av 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

Image
Image
Ladda ner, installera och köra RGB LED -panelbehov som behövs
Ladda ner, installera och köra RGB LED -panelbehov som behövs
Ladda ner, installera och köra RGB LED -panelbehov som behövs
Ladda ner, installera och köra RGB LED -panelbehov som behövs

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

Image
Image
Kompilera, ställa in och testa Ledboard Pi GUI -applikation
Kompilera, ställa in och testa Ledboard Pi GUI -applikation
Kompilering, inställning och test av Ledboard Pi GUI -applikation
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:

  1. Ring xterm från högerklick-menyn
  2. Öppna menyn från xterm

Lägg till nytt objekt: Ledboard Pi

  1. Välj Nytt objekt
  2. namn det Ledboard Pi
  3. 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

Installera och konfigurera WiFi Hotspot
Installera och konfigurera WiFi Hotspot
Installera och konfigurera WiFi Hotspot
Installera och konfigurera WiFi Hotspot
Installera och konfigurera WiFi Hotspot
Installera och konfigurera WiFi Hotspot
Installera och konfigurera WiFi Hotspot
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:

Bild
Bild
Bild
Bild
Bild
Bild

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: