Съдържание:
- Консумативи
- Стъпка 1: Настройка на Raspberry Pi 3/4 OS Stuff
- Стъпка 2: Изтеглете, настройте и стартирайте необходимите библиотеки с RGB LED панел
- Стъпка 3: Компилиране, настройка и тестване на Ledboard Pi GUI приложение
- Стъпка 4: Инсталиране и настройка на WiFi Hotspot
- Стъпка 5:
Видео: Ledboard Pi: 5 стъпки (със снимки)
2025 Автор: John Day | [email protected]. Последно модифициран: 2025-01-03 02:59
Ledboard Pi екранът е резултат от дългогодишен опит, учене и развитие; но също така, резултатът от наличието на подходящи инструменти (хардуер, софтуер, фърмуер) в този подходящ момент: Raspberry Pi 4 (с Raspberry Pi 3 също работи) с неговата скорост, памет и безжични възможности, прекрасният проект Raspberry Pi LED матричен дисплей въз основа на rpi-rgb-led-matrix и rpi-fb-matrix библиотеки (за управление на много търговски RGB LED панели през GPIO) за показване на видео изхода на Raspberry Pi на голям RGB LED матричен дисплей (за тази инструкция разделителната способност е 96x64 с помощта на 6 sparkfun 32x32 панела). Всичко това се контролира с GUI приложение, програмирано с помощта на lazarus ide на много лек openbox десктоп, инсталиран върху изображение на Raspbian Buster Lite и накрая, покажете каквото въображението ви може да програмира: Multi-Sport Scoreboard, Digital Signage или Video Player; няма граници. Този проект, контролиран от всеки компютър, може да изпълнява VNC Viewer, тъй като VNC сървърът е инсталиран и на Rasbianberry Pi 4 на Rasbian Buster Lite.
От утре ще се опитам да обясня подробно всяка стъпка, за да започна работата по този проект.
Консумативи
За този проект се нуждаем:
Хардуер
- Един Raspberry Pi 3 или по -добър, Raspberry Pi 4 с неговото 5V 2.5 A захранване
- Една Electrodragon RGB LED матрична панелна задвижваща платка за Raspberry Pi
- Шест 32x32 RGB LED панели от Sparkfun
- Едно 40A 5v захранване
- Една 3 -метрова алуминиева правоъгълна рамка 82,5 mm x 38 mm
- Един разрез на акрил с размер W 576 mm x H 384 mm
- Един разрез на поляризиран филм
Софтуер
- библиотека на hezeller rpi-rgb-led-matrix
- Библиотека Adapruit rpi-fb-matrix
- Raspbian buster lite или realtimepi-buster-lite изображения
- Отворена кутия
- За управление на компютър/лаптоп/Raspberry Pi 3 или 4, Real VNC Viewer за Windows или Linux или Raspbian
- Lazarus IDE за raspbian buster lite
- Приложение Leboard Pi
следва продължение…
Стъпка 1: Настройка на Raspberry Pi 3/4 OS Stuff
След като имаме хардуерни части, трябва да вземем нещата с операционната система:
Първо, трябва да получим операционната система за Raspbian 3/4. в моя случай решавам да използвам buster lite в реално време; но можете да използвате и Raspbian Buster Lite версия. След това трябва да прехвърлите това изображение в микро SD карта с помощта на balenaEtcher.
След това трябва да свържем HDMI дисплей и USB клавиатура и мрежов кабел cat5, свързан към
Raspberry Pi 3/4 RJ45; така че можем да търсим в Raspberry Pi 3/4 IP за първоначална настройка: мрежов IP, кабелен и безжичен. Използвах усъвършенствания ip скенер. Сега, чрез raspi-config, активирайте SSH сървъра за дистанционно свързване с помощта на Putty за завършване на останалата част от настройката на Ledboard Pi.
Сега, над облекчената версия, ще инсталираме лека десктоп среда с openbox
sudo apt-get install --no-install-препоръчва xserver-xorg x11-xserver-utils xinit openbox
След това инсталирайте lightdm (Мениджър за вход)
sudo apt-get install lightdm
Активирайте realvncserver от raspi-config
sudo raspi-config> Опции на интерфейса> vncserver> активиране на vncserver
Тук, след като vnceserver се активира, ще използваме VNC Viewer. При това работният плот за конфигуриране на връзката е 0, напр. Ако IP е 192.168.100.61, връзката е "192.168.100.61:0"
Имаме нужда от връзка между контролния компютър/лаптоп и Ledboard Pi, така че трябва да се инсталира samba за прехвърляне на изходния код, файлове, снимки, видеоклипове и т.н
sudo apt-get install samba samba-common-bin -y
Уверете се, че вашият потребител е собственик на пътя, който се опитвате да споделите чрез Samba
sudo chown -R pi: pi/home/pi/share
Вземете копие от оригиналния файл за споделяне на samba
sudo cp /etc/samba/smb.conf /etc/samba/smb.bak
Редактирайте конфигурационния файл на samba
sudo nano /etc/samba/smb.conf
Оставете работната група като РАБОТА (или я наименувайте както желаете)
#печели поддръжка = не
за да спечелите подкрепа = да
Тогава ….
#Това е името на папката за споделяне, която ще се показва, когато разглеждате
[ledboardpi] коментар = ledboardPi път на папката за споделяне =/home/pi/Споделете създаване на маска = 0775 маска на директорията = 0775 само за четене = не може да се преглежда = да публично = да принуди потребител = пи само гост = не
Сега имаме достъп до папката "home/pi/share" в/home/pi пътя от друг компютър.
За да управляваме файловата система с помощта на приложение gui, ще инсталираме pcmanfm
sudo apt-get install pcmanfm
Стъпка 2: Изтеглете, настройте и стартирайте необходимите библиотеки с RGB LED панел
Първо, инсталирайте предварителни условия
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-pillow -y
След това изтеглете и компилирайте hzeller rpi-rgb-led-matrix
wget
разархивирайте master.zip cd rpi-rgb-led-matrix-master/ && make
Също така изтеглете и инсталирайте rpi-fb-matrix
Трябва да клонирате това хранилище с рекурсивна опция, така че необходимите подмодули също да бъдат клонирани. Изпълнете тази команда:
git clone --recursive
направете
Забележка: заменете библиотеката rpi-rgb-led-matrix, изтеглена по-рано, в папката rpi-fb-matrix
Сега ще тестваме тези библиотеки, помнете, rpi-fb-matrix зависи от rpi-rgb-led-matrix
cd rpi-fb-матрица
cd rpi-rgb-led-matrix 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 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-brightness = 80 -D 1 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-brightness = 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-brightness = 80 -D 3 sudo./demo --led-chain = 3 --led-parallel = 2 --led-slowdown-gpio = 4 --led-gpio-mapping = " обикновен "--led-no-hardware-pulse --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 = "regular" --led-no-hardware-pulse --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 = "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 = "regular" --led-no-hardware-pulse --led-pwm-lsb-nanoseconds = 180 --led-show-refresh --led-brightness = 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 = "regular" --led-no-hardware-pulse --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 = "regular" --led-no-hardware-pulse --led-pwm-lsb-nanoseconds = 180 --led-show-refresh --led-brightness = 80 -D 10 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 11
Всички вървят добре.
Сега библиотеката rpi-fb-matrix. Това ще покаже част (96x64) от екрана в RGB LED панели, базирани на Ledboard Pi
cd/home/pi/rpi-fb-матрица
ЗАПОМНЕТЕ, копирайте последната версия на библиотеката rpi-rgb-led-matrix в папката rpi-fb-matrix. МНОГО ВАЖНО
направи чист
направи всичко
Последните команди, както за rpi-fb-matrix, така и за rpi-rgb-led-matrix библиотеки …
За rpi-fb-матрицата е необходима правилна конфигурация на matrix.cfg (преименувах davenew.cfg за тази инструкция), четене, анализ за проекти по поръчка с различен брой RGB LED панели …
Конфигурация на LED матричен дисплей // Определете цялата ширина и височина на дисплея в пиксели. // Това е _тоталната_ ширина и височина на правоъгълника, определени от всички // верижни панели. Ширината трябва да бъде кратна на ширината на пиксела на панела (32), // а височината трябва да е кратна на височината на пиксела на панела (8, 16 или 32). display_width = 96; display_height = 64; // Определяме ширината на всеки панел в пиксели. Това винаги трябва да е 32 (но на теория може // да се промени). ширина на панела = 32; // Определяме височината на всеки панел в пиксели. Това обикновено е 8, 16 или 32. // ЗАБЕЛЕЖКА: Всеки панел на дисплея _ трябва_ да бъде с еднаква височина! Не можете да смесвате // панели с височина 16 и 32 пиксела например. panel_height = 32; // Определете общия брой панели във всяка верига. Пребройте колкото и да е // панели са свързани заедно и поставете тази стойност тук. Ако използвате // множество паралелни вериги, пребройте всяка поотделно и изберете най -голямата // стойност за тази конфигурация. дължина на веригата = 3; // Определяме общия брой паралелни вериги. Ако използвате Adafruit HAT, вие // можете да имате само една верига, така че се придържайте към стойността 1. Pi 2 може да поддържа // до 3 паралелни вериги, вижте библиотеката rpi-rgb-led-matrix за повече информация: // https://github.com/hzeller/rpi-rgb-led-matrix#chaining-parallel-chains-and-coordinate-system parallel_count = 2; // Конфигурирайте всеки LED матричен панел. // Това е двуизмерен масив с запис за всеки панел. Масивът // определя мрежата, която ще раздели дисплея, така че например дисплей с размер 64x64 // с 32x32 пикселни панели би бил 2x2 масив от конфигурации на панела. // // За всеки панел трябва да зададете реда, който да е в рамките на неговата верига, т.е. // първият панел във верига е order = 0, следващият е order = 1 и т.н. Можете // също да зададете a завъртане за всеки панел, за да се отчетат промените в ориентацията на панела // (например, когато се „извиват“поредица от панели край до край за по -къси проводници). // // Например конфигурацията по -долу дефинира този мрежов дисплей на панелите и // тяхното окабеляване (започвайки от горния десен панел и извивайки наляво, надолу и // надясно до долния десен панел): // _ _ _ / / | Панел | | Панел | | Панел | // | ред = 2 | <= | ред = 1 | <= | ред = 0 | <= Верига 1 (от Pi) // | завъртане = 0 | | завъртане = 0 | | завъртане = 0 | // | _ | | _ | | _ | // _ _ _ // | Панел | | Панел | | Панел | // | ред = 2 | <= | ред = 1 | <= | ред = 0 | <= Верига 2 (от Pi) // | завъртане = 0 | | завъртане = 0 | | завъртане = 0 | // | _ | | _ | | _ | // // Забележете, че веригата започва в горния десен ъгъл и се извива около долната част // вдясно. Редът на всеки панел е зададен като неговото положение по веригата, // а въртенето се прилага към долните панели, които се обръщат // спрямо панелите над тях. // // Не се показва, но ако използвате паралелни вериги, можете да посочите за всеки запис // в списъка с панели „паралел = x;“опция, където x е идентификаторът на паралелна // верига (0, 1 или 2). панели = (({ред = 2; завъртане = 0; паралелно = 0;}, {поръчка = 1; завъртане = 0; паралелно = 0;}, {поръчка = 0; завъртане = 0; паралелно = 0;}, { ред = 2; завъртане = 0; паралел = 1;}, {ред = 1; завъртане = 0; паралел = 1;}, {ред = 0; завъртане = 0; паралел = 1;})) // По подразбиране Инструментът rpi-fb-matrix ще преоразмерява и намалява мащаба на екрана //, за да пасне на разделителната способност на панелите на дисплея. Вместо това можете вместо това да вземете // конкретно пикселно перфектно копие на област от екрана, като зададете x, y // координатите на пикселите на екрана по-долу. Правоъгълник с точния размер на дисплея // (т.е. display_width x display_height пиксели) ще бъде копиран от екрана // започвайки от предоставените координати x, y. Коментирайте това, за да деактивирате // това поведение на изрязване и вместо това преоразмерете екрана до дисплея на матрицата. изрязване_източник = (0, 0)
Стъпка 3: Компилиране, настройка и тестване на Ledboard Pi GUI приложение
Нуждаем се от програмна IDE, за да създадем GUI приложение (Ledboard Pi). След това избирам „Lazarus IDE“, много подобен на Delphi/C ++ Builder, който използвах в Windows OS
sudo apt-get install lazarus-ide
След като бъде инсталиран, просто изпълнете:
lazarus-ide
Отваряне на проекта Ledboard Pi, след което го компилирайте, за да получите приложението Ledboard Pi. Преди да отворите това приложение, направете директория с име LEDBOARD_APP в пътеката /home /pi, след което копирайте приложението Ledboard Pi в това
Сега ще добавим връзка към менюто с десен бутон на отворената кутия. Как, имаме нужда от obmenu, също xterm, използвайки връзката Putty, така че:
sudo apt-get install obmenu xterm
Сега можем да използваме терминала и менюто в прозореца на vncviewer:
- Обадете се на xterm от менюто с десен бутон
- Отворете менюто от xterm
Добавяне на нов елемент: Ledboard Pi
- Изберете Нов елемент
- наречете го Ledboard Pi
- изпълнете sudo nice -n -15/home/pi/LEDBOARD_APP/LEDBOARD
- Изтеглете „horn. WAV“, след което, използвайки мрежово свързано място на самба, „\ ledboardpi / ledboardpi \“копирайте това и го преименувайте в среда на Pi в реално време като „horn.wav“. След като бъде преименуван, този файл трябва да бъде копиран в /home /pi папка.
- Готово, трябва да можете да стартирате Ledboard Pi, както виждате във видеоклипове и снимки.
Стъпка 4: Инсталиране и настройка на WiFi Hotspot
Този проект е проектиран да работи с помощта на realvnc viewer от лаптоп, свързан безжично към Raspberry Pi 3/4. Така че, това е последната стъпка, за да го стартирате, и да кажете „hasta la vista baby“на кабелния кошмар.
Настройка на софтуера
sudo apt-get update
sudo apt-get install hostapd isc-dhcp-server
DHCP сървър
Бъдете мъдри и винаги правете резервно копие на конфигурацията по подразбиране
sudo cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.default
Редактирайте конфигурационния файл defult
sudo nano /etc/dhcp/dhcpd.conf
Коментирайте следните редове …
опция име на домейн "example.org";
опция сървъри на име на домейн ns1.example.org, ns2.example.org;
чета:
#option име на домейн "example.org";
#option сървър на име на домейн ns1.example.org, ns2.example.org;
… и премахнете коментара от този ред
#autoritative;
… чета:
авторитетен;
… превъртете надолу в долната част на файла и напишете следните редове:
подмрежа 192.168.42.0 маска на мрежата 255.255.255.0 {
диапазон 192.168.42.10 192.168.42.50; опция адрес за излъчване 192.168.42.255; опционни рутери 192.168.42.1; време на лизинг по подразбиране 600; макс. време на лизинг 7200; опция име на домейн "локален"; опция сървъри на име на домейн 8.8.8.8, 8.8.4.4; }
Нека настроим wlan0 за статичен IP
Първо изключете …
sudo ifdown wlan0
… пазете го и направете резервен файл:
sudo cp/etc/network/interfaces /etc/network/interfaces.backup
… редактирайте файла на мрежовите интерфейси:
sudo nano/etc/network/интерфейси
… редактирайте съответно, за да прочетете:
source-directory /etc/network/interfaces.d
auto lo iface lo inet loopback iface eth0 inet dhcp allow-hotplug wlan0 iface wlan0 inet статичен адрес 192.168.42.1 netmask 255.255.255.0 post-up iw dev $ IFACE set power_save off
… затворете файла и задайте статичен IP сега
sudo ifconfig wlan0 192.168.42.1
Свършен…
Хостапд
Създайте файл и го редактирайте:
sudo nano /etc/hostapd/hostapd.conf
Променете ssid с име по ваш избор и wpa_passphrase до WiFi удостоверяване
интерфейс = wlan0
ssid = LedboardPi hw_mode = g канал = 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
Нека конфигурираме превода на мрежовия адрес
Създайте архивен файл
sudo cp /etc/sysctl.conf /etc/sysctl.conf.backup
редактирайте конфигурационния файл
sudo nano /etc/sysctl.conf
… не коментирайте или добавете в дъното:
net.ipv4.ip_forward = 1
# … и го активирайте незабавно:
sudo sh -c "echo 1>/proc/sys/net/ipv4/ip_forward"
… променете iptables, за да създадете мрежов превод между eth0 и wifi порта wlan0
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A НАПРЕД -i eth0 -o wlan0 -m състояние -състояние СВЪРЗАНО, УСТАНОВЕНО -j ПРИЕМА sudo iptables -А НАПРЕД -i wlan0 -o eth0 -j ПРИЕМА
… направете това да се случи при рестартиране от runnig
sudo sh -c "iptables -save> /etc/iptables.ipv4.nat"
… и редактиране отново
sudo nano/etc/network/интерфейси
… добавяне в тогавашния край:
нагоре iptables-restore </etc/iptables.ipv4.nat
Нашият файл/etc/network/interfaces сега ще изглежда така:
source-directory /etc/network/interfaces.d
авто ло
iface lo inet loopback allow-hotplug eth0 iface eth0 inet статичен адрес 192.168.100.61 netmask 255.255.255.0 шлюз 192.168.100.1 allow-hotplug wlan0 iface wlan0 inet статичен адрес 192.168.42.1 netmask 255.255.255.0 мрежа 192.168.42.0 източник 192.168.42.0 директория /etc/network/interfaces.d
Нека тестваме нашата точка за достъп, като стартираме:
sudo/usr/sbin/hostapd /etc/hostapd/hostapd.conf
Вашата гореща точка е работеща: опитайте да се свържете с нея от компютър или смартфон. Когато направите това, вие също трябва да видите някои журнални дейности на вашия терминал. Ако сте доволни, спрете го с CTRL+C
Нека изчистим всичко: sudo услуга hostapd старт sudo услуга isc-dhcp-сървър старт
… и се уверете, че работим:
sudo услуга hostapd статус
sudo услуга isc-dhcp-статус на сървъра
… нека конфигурираме нашите демони да стартират по време на зареждане:
sudo update-rc.d hostapd активиране
sudo update-rc.d isc-dhcp-server активира sudo systemctl демаскира hostapd sudo systemctl демаскира isc-dhcp-сървър
… рестартирайте pi
sudo рестартиране
Вече би трябвало да можете да видите своя pi WiFi, да се свържете с него и да имате достъп до интернет. Като бързо сравнение, стрийминг на 4k видеоклипове ще консумира около 10% от процесора pi, така че … използвайте го съответно.
Като бонус, ако искате да проверите какво се случва на вашата WiFi гореща точка, проверете лог файла:
tail -f/var/log/syslog
Стъпка 5:
Случаят.
Дизайн
За тази част използвах програма за 3D дизайн на sketchup. Ledboard Pi алуминиев корпус 3D дизайн
За това използвах обикновени правоъгълни алуминиеви профили 82,5 mm x 38 mm, някои ъгли и някои винтове. Подкрепата беше основана от майка ми на улицата, пропиляна. Има колела, както е показано на снимките.
Препоръчано:
LED светлина (и) със захранване от батерията със слънчево зареждане: 11 стъпки (със снимки)
LED светлини (и), захранвани от батерии, със слънчево зареждане: Жена ми учи хората как да правят сапун, повечето от часовете й бяха вечер и тук през зимата се стъмва около 16:30 ч. Някои от нейните ученици имаха проблеми с намирането на нашите къща. Имахме табела отпред, но дори и с улично осветление
Лек хак за стая със зрителни увреждания със слухови увреждания: 7 стъпки (със снимки)
Лек хак на стаята със слухови увреждания на вратата: Проблем: баща ми е регистриран като глух, а майка ми е с увреден слух и поради това често им е трудно да чуят звънеца на вратата. Това би могло да бъде проблем, претърпян и от много други.Купиха мигащ светлинен звънец на вратата, за да им помогнат с
Висящи бижута със слънчево захранване на сърцето със светкавици: 11 стъпки (със снимки)
Висящи бижута със слънчево захранване за сърце: Тази инструкция е за сърце със слънчева енергия с пулсиращ червен светодиод. Той измерва около 2 " до 1,25 ", включително USB раздела. Той има една дупка през горната част на дъската, което улеснява окачването. Носете го като огърлица, обеци, връзки на щифт
Сандък със съкровище Zelda (със светлини и звук): 12 стъпки (със снимки)
Zelda Treasure Chest (With Lights & Sound): Здравейте на всички! Бях голям фен на игрите Legend of Zelda, когато бях по -малък, но мисля, че почти всеки знае емблематичната мелодия, която свири, когато отворите сандък в играта, просто звучи толкова вълшебно! В тази инструкция ще ви покажа как
Персонализиран часовник със стрелки за снимки: 5 стъпки (със снимки)
Персонализиран часовник със стрелки за снимки: Някои хора наблюдават часовника. Сега всеки може да бъде часовник. Други проекти персонализират лицето на часовника. Този персонализира стрелките на часовника. Изглежда скъп, но е по -малко от 5 долара и около 30 минути на часовник. Перфектен за Chr