Obsah:

Ledboard Pi: 5 kroků (s obrázky)
Ledboard Pi: 5 kroků (s obrázky)

Video: Ledboard Pi: 5 kroků (s obrázky)

Video: Ledboard Pi: 5 kroků (s obrázky)
Video: WS2812 [Programmable LED Strip] 2024, Červenec
Anonim
Ledboard Pi
Ledboard Pi
Ledboard Pi
Ledboard Pi
Ledboard Pi
Ledboard Pi

Obrazovka Ledboard Pi je výsledkem let zkušeností, učení a vývoje; ale také výsledkem toho, že máte v tu správnou chvíli správné nástroje (hardware, software, firmware): Raspberry Pi 4 (s Raspberry Pi 3 také funguje) s rychlostí, pamětí a bezdrátovým připojením, úžasný projekt Raspberry Pi LED Matrix Display založené na knihovnách rpi-rgb-led-matrix a rpi-fb-matrix (pro řízení mnoha komerčních RGB LED panelů přes GPIO) pro zobrazení video výstupu Raspberry Pi na velkém RGB LED maticovém displeji (pro tento instruktáž je rozlišení 96x64 pomocí 6 panelů sparkfun 32x32). To vše se ovládá pomocí aplikace GUI naprogramované pomocí lazarus ide na velmi lehké ploše openboxu nainstalované přes obrázek Raspbian Buster Lite a nakonec předvádějte programování podle své fantazie: Multi-Sport Scoreboard, Digital Signage nebo Video Player; neexistují žádné limity. Tento projekt, řízený jakýmkoli počítačem, schopný spustit prohlížeč VNC, protože server VNC je také nainstalován na Rasbian Buster Lite Raspberry Pi 4.

Od zítřka se pokusím podrobně vysvětlit každý krok, aby tato projektová práce fungovala.

Zásoby

Pro tento projekt potřebujeme:

Hardware

  1. Jeden Raspberry Pi 3 nebo lepší, Raspberry Pi 4 s napájením 5 V 2,5 A
  2. Jedna řídicí deska Matrix Panel Electrodragon RGB LED pro Raspberry Pi
  3. Šest 32x32 RGB LED panelů od Sparkfun
  4. Jeden 40A 5v napájecí zdroj
  5. Jeden 3 metry hliníkový obdélníkový rám 82,5 mm x 38 mm
  6. Jeden řez akrylové velikosti Š 576 mm x V 384 mm
  7. Jeden řez polarizovaného filmu

Software

  1. hezeller knihovna rpi-rgb-led-matrix
  2. Knihovna matice adafruit rpi-fb-matrix
  3. Obrázky Raspbian buster lite nebo realtimepi-buster-lite
  4. Otevřít krabici
  5. Pro ovládání PC/notebooku/Raspberry Pi 3 nebo 4, Real VNC Viewer pro Windows nebo Linux nebo Raspbian
  6. Lazarus IDE pro raspbian buster lite
  7. Leboard Pi aplikace

pokračování příště…

Krok 1: Nastavení položek Raspberry Pi 3/4 OS

Nastavení položky Raspberry Pi 3/4 OS
Nastavení položky Raspberry Pi 3/4 OS
Nastavení věci Raspberry Pi 3/4 OS
Nastavení věci Raspberry Pi 3/4 OS
Nastavení položky Raspberry Pi 3/4 OS
Nastavení položky Raspberry Pi 3/4 OS

Jakmile budeme mít hardwarové součásti, musíme získat věci pro OS:

Nejprve musíme získat OS pro Raspbian 3/4. v mém případě se rozhodnu použít buster lite v reálném čase; ale můžete také použít verzi Raspbian Buster Lite. Poté musíte tento obrázek přenést na kartu micro SD pomocí balenaEtcher.

Poté musíme připojit HDMI displej a USB klávesnici a připojený síťový kabel cat5

Raspberry Pi 3/4 RJ45; takže můžeme vyhledat Raspberry Pi 3/4 IP a provést počáteční nastavení: síťová IP, kabelová a bezdrátová. Použil jsem pokročilý skener ip. Nyní pomocí raspi-config aktivujte server SSH pro vzdálené připojení pomocí Putty a dokončete zbytek nastavení Ledboard Pi.

Nyní přes verzi lite nainstalujeme lehké desktopové prostředí s openboxem

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

Poté nainstalujte lightdm (správce přihlášení)

sudo apt-get install lightdm

Aktivujte server realvncserver z raspi-config

sudo raspi-config> Možnosti rozhraní> vncserver> aktivovat vncserver

Zde, jakmile je vnceserver aktivován, použijeme prohlížeč VNC. V tomto případě je plocha pro konfiguraci v připojení 0, např. Pokud je IP 192.168.100.61, připojení je „192.168.100.61:0“

Potřebujeme propojení mezi řídícím počítačem/notebookem a Ledboard Pi, takže je třeba nainstalovat sambu pro přenos zdrojového kódu, souborů, obrázků, videí atd

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

Ujistěte se, že váš uživatel je vlastníkem cesty, kterou se pokoušíte sdílet prostřednictvím Samby

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

Pořiďte si kopii původního sdíleného souboru samba

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

Upravte konfigurační soubor samby

sudo nano /etc/samba/smb.conf

Ponechejte pracovní skupinu jako WORKGROUP (nebo ji pojmenujte, jak chcete)

#vyhrává podpora = ne

vyhrává podporu = ano

Pak ….

#Toto je název sdílené složky, která se zobrazí při procházení

[ledboardpi] komentář = ledboardPi cesta ke sdílené složce =/home/pi/Sdílet vytvořit masku = 0775 maska adresáře = 0775 pouze pro čtení = bez procházení = ano veřejné = ano vynutit uživatele = pi pouze host = ne

Nyní můžeme přistupovat ke složce „home/pi/share“v/home/pi cestě z jiného počítače.

Pro správu systému souborů pomocí aplikace gui nainstalujeme pcmanfm

sudo apt-get install pcmanfm

Krok 2: Stažení, nastavení a spuštění potřebných knihoven RGB LED panelu

Image
Image
Stahování, nastavování a provozování RGB LED panelu Potřebné knihovny
Stahování, nastavování a provozování RGB LED panelu Potřebné knihovny
Stahování, nastavení a provozování RGB LED panelu Potřebné knihovny
Stahování, nastavení a provozování RGB LED panelu Potřebné knihovny

Nejprve nainstalujte předpoklady

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-polštář -y

Poté stáhněte a zkompilujte hzeller rpi-rgb-led-matrix

wget

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

Také si stáhněte a nainstalujte rpi-fb-matrix

Toto úložiště musíte naklonovat pomocí rekurzivní možnosti, aby byly klonovány také potřebné submoduly. Spusťte tento příkaz:

git clone --recursive

udělat

Poznámka: nahraďte knihovnu rpi-rgb-led-matrix staženou dříve do složky rpi-fb-matrix

Nyní tyto knihovny otestujeme, pamatujte, rpi-fb-matrix závisí na rpi-rgb-led-matrix

cd rpi-fb-matice

cd rpi-rgb-led-matrix sudo./demo --led-chain = 3 --led-paralelní = 2 --led-slowdown-gpio = 4 --led-gpio-mapping = "pravidelné" --led- no-hardware-pulse --led-pwm-lsb-nanoseconds = 180 --led-show-refresh --led-jas = 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-nanoseconds = 180 --led-show-refresh- led-jas = 80 -D 1 runtext.ppm sudo./demo --led-chain = 3 --led-paralelně = 2 --led-slowdown-gpio = 4 --led-gpio-mapping = "pravidelný"- -led-no-hardware-pulse --led-pwm-lsb-nanosekund = 180 --led-show-refresh --led-jas = 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-nanoseconds = 180 --led -show-refresh --led-jas = 80 -D 3 sudo./demo --led-chain = 3 --led-parallel = 2 --led-slowdown-gpio = 4 --led-gpio-mapping = " pravidelný "--led-no-hardware-pulse --led-pwm-lsb-nanosekund = 180 --led-show-refresh --led-jas = 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-nanosekund = 180 --led-show-refresh --led-jas = 80 -D 5 sudo./demo --led-chain = 3 --led-paralelně = 2 --led- slowdown-gpio = 4 --led-gpio-mapping = "regular" --led-no-hardware-pulse --led-pwm-lsb-nanoseconds = 180 --led-show-refresh --led-jas = 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-nanosekund = 180 --led-show-refresh --led-jas = 80 -D 7 sudo./demo --led-chain = 3 --led-paralelní = 2 --led- slowdown-gpio = 4 --led-gpio-mapping = "regular" --led-no-hardware-pulse --led-pwm-lsb-nanoseconds = 180 --led-show-refresh --led-jas = 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-nanosekund = 180 --led-show-refresh --led-jas = 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-nanoseconds = 180 --led-show-refresh --led-jas = 80 -D 10 sudo./demo --led-chain = 3 --led-paralelní = 2 --led-slowdown-gpio = 4 --led-gpio-mapping = "pravidelný"- led-no-hardware-pulse --led-pwm-lsb-nanoseconds = 180 --led-show-refresh --led-jas = 80 -D 11

Všechny běží dobře.

Nyní knihovna rpi-fb-matrix. To ukáže část (96x64) obrazovky do RGB LED panelů založených na Ledboard Pi

cd/home/pi/rpi-fb-matrix

PAMATUJTE, zkopírujte poslední verzi knihovny rpi-rgb-led-matrix do složky rpi-fb-matrix. VELMI DŮLEŽITÉ

vyčistit

udělat vše

Tyto poslední příkazy pro matice rpi-fb-matrix i rpi-rgb-led-matrix…..

Pro rpi-fb-matrix je nezbytná správná konfigurace matrix.cfg (pro tento instruktáž jsem přejmenoval davenew.cfg), čtení, analýza pro vlastní projekty s různým počtem RGB LED panelů…

Konfigurace LED maticového displeje // Definujte celou šířku a výšku displeje v pixelech. // Toto je _celková_ šířka a výška obdélníku definovaná všemi // zřetězenými panely. Šířka by měla být násobkem šířky pixelu panelu (32), // a výška by měla být násobkem výšky pixelu panelu (8, 16 nebo 32). šířka zobrazení = 96; výška zobrazení = 64; // Definujte šířku každého panelu v pixelech. To by mělo být vždy 32 (ale může být // teoreticky změněno). šířka_panelu = 32; // Definujte výšku každého panelu v pixelech. Obvykle je to 8, 16 nebo 32. // POZNÁMKA: Každý panel na displeji musí mít stejnou výšku! Nemůžete například kombinovat // 16 a 32 pixelů vysoké panely. panel_height = 32; // Definujte celkový počet panelů v každém řetězci. Počítejte, nicméně mnoho // panelů je spojeno dohromady a vložte tu hodnotu. Pokud používáte // více paralelních řetězců, spočítejte každý zvlášť a vyberte největší // hodnotu pro tuto konfiguraci. délka řetězce = 3; // Definujte celkový počet paralelních řetězců. Pokud používáte Adafruit HAT, // můžete mít pouze jeden řetězec, takže se držte hodnoty 1. Pi 2 může podporovat až // až 3 paralelní řetězce, další informace najdete v knihovně rpi-rgb-led-matrix: // https://github.com/hzeller/rpi-rgb-led-matrix#chaining-parallel-chains-and-coordinate-system parallel_count = 2; // Konfigurace každého panelu LED matice. // Toto je dvourozměrné pole se záznamem pro každý panel. Pole // definuje mřížku, která bude rozdělovat displej, takže například zobrazení o velikosti 64 x 64 // s panely 32 x 32 pixelů by bylo pole konfigurací panelů 2x2. // // Pro každý panel musíte nastavit pořadí, ve kterém se nachází v jeho řetězci, tj. // první panel v řetězci je order = 0, další je order = 1 atd. Můžete // také nastavit rotace pro každý panel, aby se zohlednily změny v orientaci panelu // (jako když „kličkujete“řada panelů od konce ke konci pro kratší vedení vodičů). // // Například níže uvedená konfigurace definuje toto mřížkové zobrazení panelů a // jejich zapojení (počínaje od pravého horního panelu a kličkováním doleva, dolů a // doprava k pravému dolnímu panelu): // _ _ _ / / | Panel | | Panel | | Panel | // | pořadí = 2 | <= | pořadí = 1 | <= | pořadí = 0 | <= Řetězec 1 (z Pi) // | otočit = 0 | | otočit = 0 | | otočit = 0 | // | _ | | _ | | _ | // _ _ _ // | Panel | | Panel | | Panel | // | pořadí = 2 | <= | pořadí = 1 | <= | pořadí = 0 | <= řetězec 2 (z Pi) // | otočit = 0 | | otočit = 0 | | otočit = 0 | // | _ | | _ | | _ | // // // Všimněte si, že řetězec začíná vpravo nahoře a hadí se dole // vpravo. Pořadí každého panelu je nastaveno jako jeho poloha podél řetězce, // a otáčení je aplikováno na spodní panely, které jsou překlopeny relativně // k panelům nad nimi. // // Nezobrazeno, ale pokud používáte paralelní řetězce, můžete pro každý záznam // v seznamu panelů zadat 'paralelní = x;' možnost, kde x je ID paralelního // řetězce (0, 1 nebo 2). panely = (({order = 2; rotate = 0; parallel = 0;}, {order = 1; rotate = 0; parallel = 0;}, {order = 0; rotate = 0; parallel = 0;}, { order = 2; rotate = 0; parallel = 1;}, {order = 1; rotate = 0; parallel = 1;}, {order = 0; rotate = 0; parallel = 1;}))) // Standardně Nástroj rpi-fb-matrix změní velikost a zmenší obrazovku // tak, aby odpovídala rozlišení zobrazovacích panelů. Místo toho však můžete získat // konkrétní pixelovou dokonalou kopii oblasti obrazovky nastavením níže uvedených souřadnic pixelu obrazovky x, y //. Z obrazovky se zkopíruje obdélník přesné velikosti zobrazení // (tj. Šířka_obrazovky x výška_výšky pixelu) // začíná na zadaných souřadnicích x, y. Komentujte toto, abyste vypnuli // toto chování oříznutí a místo toho změnili velikost obrazovky dolů na maticové zobrazení. crop_origin = (0, 0)

Krok 3: Kompilace, nastavení a testování aplikace GUI Ledboard Pi

Image
Image
Kompilace, nastavení a testování GUI aplikace Ledboard Pi
Kompilace, nastavení a testování GUI aplikace Ledboard Pi
Kompilace, nastavení a testování GUI aplikace Ledboard Pi
Kompilace, nastavení a testování GUI aplikace Ledboard Pi

K vytvoření aplikace GUI (Ledboard Pi) potřebujeme programovací IDE. Poté zvolím „Lazarus IDE“velmi podobný Delphi/C ++ Builderu, který jsem použil v operačním systému Windows

sudo apt-get install lazarus-ide

Po instalaci stačí spustit:

lazarus-ide

Otevřete projekt Ledboard Pi a poté kompilací získejte aplikaci Ledboard Pi. Před otevřením této aplikace vytvořte v cestě /home /pi adresář s názvem LEDBOARD_APP a poté do něj zkopírujte aplikaci Ledboard Pi

Nyní přidáme odkaz do nabídky otevřeného pole pravým tlačítkem myši. Jak potřebujeme obmenu, také xterm pomocí odkazu Putty, takže:

sudo apt-get install obmenu xterm

Nyní můžeme použít terminál a obmenu v okně vncviewer:

  1. Zavolejte xterm z nabídky pravým tlačítkem
  2. Otevřete nabídku z xterm

Přidat novou položku: Ledboard Pi

  1. Vyberte novou položku
  2. pojmenujte ho Ledboard Pi
  3. spusťte sudo nice -n -15/home/pi/LEDBOARD_APP/LEDBOARD
  • Stáhněte si „horn. WAV“, poté pomocí umístění samba propojeného v síti „\ ledboardpi / ledboardpi \“zkopírujte toto a přejmenujte jej na prostředí realtimePi jako „horn.wav“. Po přejmenování tohoto souboru je nutné jej zkopírovat do složky /home /pi.
  • Hotovo, musíte být schopni spustit Ledboard Pi stejně jako vidíte ve videích a obrázcích.

Krok 4: Instalace a nastavení WiFi hotspotu

Instalace a nastavení WiFi hotspotu
Instalace a nastavení WiFi hotspotu
Instalace a nastavení WiFi hotspotu
Instalace a nastavení WiFi hotspotu
Instalace a nastavení WiFi hotspotu
Instalace a nastavení WiFi hotspotu
Instalace a nastavení WiFi hotspotu
Instalace a nastavení WiFi hotspotu

Tento projekt byl navržen tak, aby běžel pomocí prohlížeče realvnc z notebooku připojeného bezdrátově k Raspberry Pi 3/4. Toto je tedy poslední krok k jeho spuštění a řekněte „hasta la vista baby“kabelové noční můře.

Nastavení softwaru

sudo apt-get update

sudo apt-get install hostapd isc-dhcp-server

Server DHCP

Buďte moudří a vždy si vytvořte zálohu výchozí konfigurace

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

Upravte výchozí konfigurační soubor

sudo nano /etc/dhcp/dhcpd.conf

Komentujte následující řádky…

volba název-domény "example.org";

volba server-name-server ns1.example.org, ns2.example.org;

číst:

#option název_domény "example.org";

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

… a zrušte označení tohoto řádku

#autoritativní;

… číst:

autoritativní;

… přejděte dolů ve spodní části souboru a napište následující řádky:

podsíť 192.168.42.0 maska sítě 255.255.255.0 {

rozsah 192,168,42,10 192,168,42,50; volba broadcast-address 192.168.42.255; směrovače možností 192.168.42.1; default-lease-time 600; maximální doba pronájmu 7200; možnost název_domény „místní“; možnost serverů název-domény 8.8.8.8, 8.8.4.4; }

Nastavíme wlan0 pro statickou IP

Nejprve vypněte…

sudo ifdown wlan0

… Uchovejte v bezpečí a vytvořte záložní soubor:

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

… Upravit soubor síťových rozhraní:

sudo nano/etc/network/interfaces

… podle toho upravte a čtěte:

zdrojový adresář /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

… zavřete soubor a přiřaďte nyní statickou IP

sudo ifconfig wlan0 192.168.42.1

Hotovo…

Hostapd

Vytvořte soubor a upravte jej:

sudo nano /etc/hostapd/hostapd.conf

Upravte ssid názvem podle svého výběru a wpa_passphrase na WiFi autorizátora

interface = wlan0

ssid = LedboardPi hw_mode = g kanál = 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

Pojďme nakonfigurovat překlad síťových adres

Vytvořte záložní soubor

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

upravit konfigurační soubor

sudo nano /etc/sysctl.conf

… zrušte komentáře nebo přidejte dole:

net.ipv4.ip_forward = 1

#… A okamžitě ji aktivujte:

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

… Upravit iptables, aby vytvořil síťový překlad mezi eth0 a wifi portem wlan0

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

sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --stat SOUVISEJÍCÍ, ZŘÍZENÝ -j PŘIJÍMAT sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT

… toto proveďte při restartu spuštěním

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

… a opět úpravy

sudo nano/etc/network/interfaces

… připojování na konci:

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

Náš soubor/etc/network/interfac bude nyní vypadat takto:

zdrojový adresář /etc/network/interfaces.d

auto lo

iface lo inet loopback allow-hotplug eth0 iface eth0 inet statická adresa 192.168.100.61 síťová maska 255.255.255.0 brána 192.168.100.1 allow-hotplug wlan0 iface wlan0 statická adresa inet 192.168.42.1 síťová maska 255.255.255.0 síť 192.168.42.0 vysílání 192.168.42 adresář /etc/network/interfaces.d

Otestujme náš přístupový bod spuštěním:

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

Váš hotspot je v provozu: zkuste se k němu připojit z počítače nebo chytrého telefonu. Když tak učiníte, měli byste na svém terminálu také vidět určitou aktivitu protokolu. Pokud jste spokojeni, zastavte to pomocí CTRL+C

Pojďme vše vyčistit: sudo service hostapd start sudo service isc-dhcp-server start

… A ujistěte se, že jsme v provozu:

stav služby sudo hostapd

sudo service isc-dhcp-server status

… Nakonfigurujme naše démony tak, aby začaly při zavádění:

sudo update-rc.d hostapd povolit

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

… restartujte pí

sudo restart

Nyní byste měli vidět své pi WiFi, připojit se k němu a mít k němu přístup k internetu. Pro rychlé srovnání bude streamování 4k videí spotřebovávat asi 10% procesoru pi, takže … použijte to odpovídajícím způsobem.

Jako bonus, pokud chcete zkontrolovat, co se děje ve vašem hotspotu WiFi, zkontrolujte soubor protokolu:

ocas -f/var/log/syslog

Krok 5:

obraz
obraz
obraz
obraz
obraz
obraz

Pouzdro.

Design

Pro tuto část jsem použil sketchup 3D designový program. Hliníkové pouzdro Ledboard Pi 3D Design

K tomu jsem použil běžné obdélníkové hliníkové profily 82,5 mm x 38 mm, některé úhly a některé šrouby. Tuto podporu založila moje matka na ulici, zbytečně. Má kola, jak je znázorněno na obrázcích.

Doporučuje: