Innholdsfortegnelse:

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

Video: Ledboard Pi: 5 trinn (med bilder)

Video: Ledboard Pi: 5 trinn (med bilder)
Video: Узнав это СЕКРЕТ, ты никогда не выбросишь пластиковую бутылку! ТАКОГО ЕЩЕ НИКТО НЕ ВИДЕЛ! 2024, Juli
Anonim
Ledboard Pi
Ledboard Pi
Ledboard Pi
Ledboard Pi
Ledboard Pi
Ledboard Pi

Ledboard Pi -skjermen er resultatet av mange års erfaring, læring og utvikling; men også resultatet av å ha de riktige verktøyene (maskinvare, programvare, fastvare) i dette rette øyeblikket: Raspberry Pi 4 (med Raspberry Pi 3 fungerer også) med sin hastighet, minne og trådløse funksjoner, det fantastiske prosjektet Raspberry Pi LED Matrix Display basert på rpi-rgb-led-matrix og rpi-fb-matrix-bibliotekene (for å kjøre mange kommersielle RGB LED-paneler gjennom GPIO) for å vise Raspberry Pi's videoutgang på en stor RGB LED-matriseskjerm (for dette instruerbare er oppløsningen 96x64 ved hjelp av 6 sparkfun 32x32 paneler). Alt dette styres med en GUI-applikasjon programmert ved hjelp av lazarus ide på et veldig lett openbox-skrivebord installert over et Raspbian Buster Lite-bilde, og til slutt viser du hva fantasien din kan programmere: en multi-sport resultattavle, en digital skilting eller en videospiller; det er ingen grenser. Dette prosjektet, kontrollert av hvilken som helst datamaskin, er i stand til å kjøre VNC Viewer, fordi VNC -serveren også er installert på Raspberry Pi 4s Rasbian Buster Lite.

Fra i morgen skal jeg prøve å forklare i detalj hvert trinn for å få dette prosjektet til å fungere.

Rekvisita

Vi trenger for dette prosjektet:

Maskinvare

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

Programvare

  1. hezeller rpi-rgb-led-matrix library
  2. Adafruit rpi-fb-matrix library
  3. Raspbian buster lite eller realtimepi-buster-lite bilder
  4. Åpen boks
  5. For kontroll -pc/bærbar PC/Raspberry Pi 3 eller 4, Real VNC Viewer for Windows eller Linux eller Raspbian
  6. Lazarus IDE for raspbian buster lite
  7. Leboard Pi -applikasjon

fortsettelse følger…

Trinn 1: Angi Raspberry Pi 3/4 OS -ting

Innstilling av Raspberry Pi 3/4 OS -ting
Innstilling av Raspberry Pi 3/4 OS -ting
Innstilling av Raspberry Pi 3/4 OS -ting
Innstilling av Raspberry Pi 3/4 OS -ting
Innstilling av Raspberry Pi 3/4 OS -ting
Innstilling av Raspberry Pi 3/4 OS -ting

Når vi har maskinvaredelene, må vi få OS -ting:

Først må vi få operativsystemet for Raspbian 3/4. i mitt tilfelle bestemmer jeg meg for å bruke buster lite i sanntid; men du kan også bruke Raspbian Buster Lite -versjonen. Deretter må du overføre dette bildet til micro SD -kort ved hjelp av balenaEtcher.

Deretter må vi koble til en HDMI -skjerm og et usb -tastatur og en cat5 -nettverkskabel som er koblet til

Bringebær Pi 3/4 RJ45; så vi kan søke i Raspberry Pi 3/4 IP for å gjøre det første oppsettet: nettverkets IP, kablet og trådløst. Jeg brukte den avanserte ip -skanneren. Nå, gjennom raspi-config, aktiver SSH-serveren for ekstern tilkobling ved hjelp av Putty for å fullføre resten av Ledboard Pi-oppsettet.

Nå, over lite -versjonen, skal vi installere et lett skrivebordsmiljø med openbox

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

Installer deretter lightdm (Login manager)

sudo apt-get install lightdm

Aktiver realvncserver fra raspi-config

sudo raspi-config> Grensesnittalternativer> vncserver> aktiver vncserver

Her, når vnceserver er aktivert, skal vi bruke VNC Viewer. I dette er skrivebordet som skal konfigureres i tilkoblingen 0, eks. Hvis IP er 192.168.100.61, er tilkoblingen "192.168.100.61:0"

Vi trenger en kobling mellom kontrolldatamaskinen/bærbar PC og Ledboard Pi, så samba må installeres for overføring av kildekode, filer, bilder, videoer, etc

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

Sørg for at brukeren din er eieren av banen du prøver å dele via Samba

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

Ta en kopi av den originale samba -delingsfilen

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

Rediger samba -konfigurasjonsfilen

sudo nano /etc/samba/smb.conf

La arbeidsgruppen stå som WORKGROUP (eller navngi den som du ønsker)

#vinner support = nei

å vinne støtte = ja

Deretter ….

#Dette er navnet på delingsmappen den vil vises som når du blar

[ledboardpi] kommentar = ledboardPi del mappebane =/home/pi/Del opprett maske = 0775 katalogmaske = 0775 skrivebeskyttet = ingen lesbar = ja offentlig = ja tving bruker = pi bare gjest = nei

Nå kan vi få tilgang til "home/pi/share" -mappen i/home/pi -banen fra en annen datamaskin.

For å administrere filsystemet ved hjelp av en gui -app, skal vi installere pcmanfm

sudo apt-get install pcmanfm

Trinn 2: Last ned, oppsett og kjøring av RGB LED Panel Needed Libraries

Image
Image
Nedlasting, oppsett og drift av RGB LED -panelbehovede biblioteker
Nedlasting, oppsett og drift av RGB LED -panelbehovede biblioteker
Last ned, konfigurer og kjør RGB LED -panelbehovede biblioteker
Last ned, konfigurer og kjør RGB LED -panelbehovede biblioteker

Installer først forutsetninger

sudo apt-get oppdatering

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

Last deretter ned og kompiler hzeller rpi-rgb-led-matrix

wget

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

Last ned og installer rpi-fb-matrix

Du må klone dette depotet med det rekursive alternativet slik at nødvendige delmoduler også blir klonet. Kjør denne kommandoen:

git-klon-rekursiv

gjøre

Merk: erstatt rpi-rgb-led-matrix-biblioteket som ble lastet ned tidlig i rpi-fb-matrix-mappen

Nå skal vi teste disse bibliotekene. Husk, rpi-fb-matrise avhenger av rpi-rgb-led-matrise

cd rpi-fb-matrise

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 = "vanlig" --led-no-hardware-puls --led-pwm-lsb-nanosekunder = 180 --led-show-refresh- led-lysstyrke = 80 -D 1 runtext.ppm sudo./demo --led-chain = 3 --led-parallel = 2 --led-slowdown-gpio = 4 --led-gpio-mapping = "vanlig"- -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 = "vanlig" --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-nanoseconds = 180 --led-show-refresh --led-brightness = 80 -D 4 sudo./demo --led-chain = 3 --led-parallel = 2 --led-slowdown-gpio = 4 --led-gpio-mapping = "vanlig" --led-no-hardware-puls --led-pwm-lsb-nanoseconds = 180 --led-show-refresh --led-brightness = 80 -D 5 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 6 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-lysstyrke = 80 -D 7 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 8 sudo./demo --led-chain = 3 --led-parallel = 2 --led-slowdown-gpio = 4 --led-gpio-mapping = "vanlig" --led-no-hardware-puls --led-pwm-lsb-nanoseconds = 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 = "vanlig" --led-no-hardware-puls --led-pwm-lsb-nanosekunder = 180 --led-show-refresh --led-lysstyrke = 80 -D 10 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-lysstyrke = 80 -D 11

Alt går fint.

Nå, rpi-fb-matrisebiblioteket. Dette vil vise en del (96x64) av skjermen til RGB LED -paneler basert Ledboard Pi

cd/home/pi/rpi-fb-matrise

HUSK, kopier den siste versjonen av rpi-rgb-led-matrix-biblioteket til mappen rpi-fb-matrix. VELDIG VIKTIG

gjøre rent

lage alt

De siste kommandoene, for både rpi-fb-matrix og rpi-rgb-led-matrix biblioteker…..

For rpi-fb-matrisen er nødvendig en riktig konfigurasjon av matrix.cfg (jeg ga nytt navn til davenew.cfg for dette instruerbare), les, analyser for tilpassede prosjekter med forskjellige antall RGB LED-paneler …

LED Matrix Display Configuration // Definer hele bredden og høyden på skjermen i piksler. // Dette er _total_ bredden og høyden på rektangelet definert av alle // lenkete panelene. Bredden skal være et multiplum av panelets pikselbredde (32), // og høyden skal være et multiplum av panelets pikselhøyde (8, 16 eller 32). display_width = 96; display_height = 64; // Definer bredden på hvert panel i piksler. Dette bør alltid være 32 (men kan // i teorien endres). panelbredde = 32; // Definer høyden på hvert panel i piksler. Dette er vanligvis 8, 16 eller 32. // MERK: Hvert panel i displayet _må_ ha samme høyde! Du kan for eksempel ikke blande // 16 og 32 piksler høye paneler. panelhøyde = 32; // Definer det totale antallet paneler i hver kjede. Tell opp hvor mange // paneler som er koblet sammen og sett den verdien her. Hvis du bruker // flere parallelle kjeder, teller du hver enkelt separat og velger den største // -verdien for denne konfigurasjonen. chain_length = 3; // Definer totalt antall parallelle kjeder. Hvis du bruker Adafruit HAT du // bare kan ha én kjede, så hold deg til verdien 1. Pi 2 kan støtte opptil // til 3 parallelle kjeder, se rpi-rgb-led-matrisebiblioteket for mer informasjon: // https://github.com/hzeller/rpi-rgb-led-matrix#chaining-parallel-chains-and-coordinate-system parallel_count = 2; // Konfigurer hvert LED -matrisepanel. // Dette er en todimensjonal matrise med en oppføring for hvert panel. Arrayen // definerer rutenettet som vil dele skjermen, så for eksempel vil en 64x64 størrelse // skjerm med 32x32 pikselpaneler være en 2x2 rekke panelkonfigurasjoner. // // For hvert panel må du angi rekkefølgen det er i kjeden, dvs. // det første panelet i en kjede er rekkefølge = 0, det neste er rekkefølge = 1, etc. Du kan // også angi et rotasjon for hvert panel for å ta hensyn til endringer i panelorientering // (som når du "snaker" en serie paneler ende til ende for kortere trådkjøringer). // // Konfigurasjonen nedenfor definerer for eksempel denne rutenettvisningen av paneler og // deres ledninger (starter fra panelet øverst til høyre og slinger til venstre, ned og // høyre til nederste høyre panel): // _ _ _ / / | Panel | | Panel | | Panel | // | rekkefølge = 2 | <= | rekkefølge = 1 | <= | rekkefølge = 0 | <= Kjede 1 (fra Pi) // | rotere = 0 | | rotere = 0 | | rotere = 0 | // | _ | | _ | | _ | // _ _ _ // | Panel | | Panel | | Panel | // | rekkefølge = 2 | <= | rekkefølge = 1 | <= | rekkefølge = 0 | <= Kjede 2 (fra Pi) // | rotere = 0 | | rotere = 0 | | rotere = 0 | // | _ | | _ | | _ | // // Legg merke til at kjeden starter øverst til høyre og slanger rundt til bunnen // til høyre. Rekkefølgen til hvert panel er angitt som posisjon langs kjeden, // og rotasjon påføres de nedre panelene som vendes rundt i forhold til panelene over dem. // // Ikke vist, men hvis du bruker parallelle kjeder kan du angi for hver oppføring // i panellisten a 'parallel = x;' alternativ der x er ID for en parallell // kjede (0, 1 eller 2). paneler = (({rekkefølge = 2; rotere = 0; parallell = 0;}, {rekkefølge = 1; rotere = 0; parallell = 0;}, {rekkefølge = 0; rotere = 0; parallell = 0;}, { rekkefølge = 2; rotere = 0; parallell = 1;}, {rekkefølge = 1; rotere = 0; parallell = 1;}, {rekkefølge = 0; rotere = 0; parallell = 1;}))) // Som standard er rpi-fb-matrix-verktøyet vil endre størrelse og skalere ned på skjermen // for å passe til oppløsningen på skjermpanelene. Imidlertid kan du i stedet hente // en bestemt piksel-perfekt kopi av en region på skjermen ved å angi x, y // skjermpikselkoordinater nedenfor. Et rektangel med den nøyaktige størrelsen på skjermen // (dvs. displaybredde x visningshøydepiksler) vil bli kopiert fra skjermen // fra de angitte x, y -koordinatene. Kommenter dette for å deaktivere // denne beskjæringsatferden og endre størrelsen på skjermen ned til matriseskjermen. crop_origin = (0, 0)

Trinn 3: Kompilering, innstilling og test av Ledboard Pi GUI -applikasjon

Image
Image
Kompilering, innstilling og test av Ledboard Pi GUI -applikasjon
Kompilering, innstilling og test av Ledboard Pi GUI -applikasjon
Kompilering, innstilling og test av Ledboard Pi GUI -applikasjon
Kompilering, innstilling og test av Ledboard Pi GUI -applikasjon

Vi trenger en programmerings -IDE for å lage en GUI -applikasjon (Ledboard Pi). Deretter velger jeg "Lazarus IDE" veldig lik Delphi/C ++ Builder jeg brukte i Windows OS

sudo apt-get install lazarus-ide

Når den er installert, bare kjør:

lazarus-ide

Åpne Ledboard Pi -prosjektet, og kompiler deretter for å få Ledboard Pi -applikasjonen. Før du åpner denne applikasjonen, må du lage en katalog som heter LEDBOARD_APP i banen /home /pi, og deretter kopiere Ledboard Pi -applikasjonen til denne

Nå skal vi legge til en lenke i høyreklikkmenyen i openboxen. Hvordan trenger vi menyen, også xterm ved hjelp av Putty link, så:

sudo apt-get install obmenu xterm

Nå kan vi bruke terminalen og menyen i vncviewer -vinduet:

  1. Ring xterm fra høyreklikkmenyen
  2. Åpen meny fra xterm

Legg til nytt element: Ledboard Pi

  1. Velg nytt element
  2. heter det Ledboard Pi
  3. utfør sudo nice -n -15/home/pi/LEDBOARD_APP/LEDBOARD
  • Last ned "horn. WAV", og kopier dette ved å bruke nettverkstilknyttet samba -plassering "\ ledboardpi / ledboardpi \" og gi det nytt navn til realtimePi -miljø som "horn.wav". Denne filen, når den har fått nytt navn, må kopieres til /home /pi -mappen.
  • Ferdig, du må kunne kjøre Ledboard Pi så vel som du ser i videoer og bilder.

Trinn 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 prosjektet ble designet for å kjøre ved hjelp av realvnc viewer fra en bærbar datamaskin som er koblet trådløst til Raspberry Pi 3/4. Så dette er det siste trinnet for å få det til å fungere, og si "hasta la vista baby" til det kablete marerittet.

Programvareoppsett

sudo apt-get oppdatering

sudo apt-get install hostapd isc-dhcp-server

DHCP -server

Vær klok og ta alltid en sikkerhetskopi av standardkonfigurasjonen

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

Rediger defult -konfigurasjonsfilen

sudo nano /etc/dhcp/dhcpd.conf

Kommenter følgende linjer …

alternativ domenenavn "eksempel.org";

alternativ domenenavn-servere ns1.example.org, ns2.example.org;

å lese:

#option domenenavn "eksempel.org";

#option domenenavn-servere ns1.example.org, ns2.example.org;

… og kommenter denne linjen

#autoritær;

… å lese:

autoritær;

… bla ned nederst i filen og skriv følgende linjer:

delnett 192.168.42.0 nettmaske 255.255.255.0 {

område 192.168.42.10 192.168.42.50; alternativ kringkastingsadresse 192.168.42.255; alternativrutere 192.168.42.1; default-lease-time 600; maks leietid 7200; alternativ domenenavn "lokalt"; opsjon domenenavn-servere 8.8.8.8, 8.8.4.4; }

La oss sette opp wlan0 for statisk IP

Slå det først av …

sudo ifdown wlan0

… ta vare på det og lag en sikkerhetskopifil:

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

… rediger nettverksgrensesnittfilen:

sudo nano/etc/network/interfaces

… rediger deretter for å lese:

kildekatalog /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

… lukk filen og tilordne en statisk IP nå

sudo ifconfig wlan0 192.168.42.1

Ferdig…

Hostapd

Lag en fil og rediger den:

sudo nano /etc/hostapd/hostapd.conf

Endre ssid med et navn du ønsker og wpa_passphrase til en WiFi -autorisasjon

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

La oss konfigurere oversettelsen av nettverksadressen

Lag en sikkerhetskopifil

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

rediger konfigurasjonsfilen

sudo nano /etc/sysctl.conf

… fjern kommentar eller legg til i bunnen:

net.ipv4.ip_forward = 1

# … og aktiver den umiddelbart:

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

… endre iptables for å lage en nettverksoversettelse mellom 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 å skje ved omstart av runnig

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

… og redigerer igjen

sudo nano/etc/network/interfaces

… legger til ved slutten:

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

Filen/etc/network/interfaces ser nå slik ut:

kildekatalog /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

La oss teste tilgangspunktet vårt ved å kjøre:

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

Hotspot -en din er i gang: prøv å koble til den fra en datamaskin eller en smarttelefon. Når du gjør det, bør du også se litt loggaktivitet på terminalen din. Hvis du er fornøyd, stopp det med CTRL+C

La oss 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

… la oss konfigurere våre demoner til å starte ved oppstart:

sudo update-rc.d hostapd aktivere

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

… start pi på nytt

sudo omstart

Du bør nå kunne se pi WiFi, koble til den og få tilgang til internett. Som en rask sammenligning vil streaming av 4K -videoer forbruke omtrent 10% av pi -CPU -en, så bruk den deretter.

Som en bonus, hvis du vil sjekke hva som skjer på WiFi -sone, sjekk loggfilen:

hale -f/var/log/syslog

Trinn 5:

Bilde
Bilde
Bilde
Bilde
Bilde
Bilde

Saken.

Design

For denne delen brukte jeg sketchup 3D -designprogram. Ledboard Pi Aluminium -veske 3D -design

Til dette brukte jeg vanlige rektangulære 82,5 mm x 38 mm aluminiumsprofiler, noen vinkler og noen skruer. Støtten ble grunnlagt av min mor på gata, bortkastet. Den har hjul som vist på bildene.

Anbefalt: