Съдържание:

Ledboard Pi: 5 стъпки (със снимки)
Ledboard Pi: 5 стъпки (със снимки)

Видео: Ledboard Pi: 5 стъпки (със снимки)

Видео: Ledboard Pi: 5 стъпки (със снимки)
Видео: Hanya dengan 1 resistor ⁉️ memperbaiki TV LED Toshiba mati total || Toshiba LED TV is totally dead 2024, Юли
Anonim
Ledboard Pi
Ledboard Pi
Ledboard Pi
Ledboard Pi
Ledboard Pi
Ledboard Pi

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.

От утре ще се опитам да обясня подробно всяка стъпка, за да започна работата по този проект.

Консумативи

За този проект се нуждаем:

Хардуер

  1. Един Raspberry Pi 3 или по -добър, Raspberry Pi 4 с неговото 5V 2.5 A захранване
  2. Една Electrodragon RGB LED матрична панелна задвижваща платка за Raspberry Pi
  3. Шест 32x32 RGB LED панели от Sparkfun
  4. Едно 40A 5v захранване
  5. Една 3 -метрова алуминиева правоъгълна рамка 82,5 mm x 38 mm
  6. Един разрез на акрил с размер W 576 mm x H 384 mm
  7. Един разрез на поляризиран филм

Софтуер

  1. библиотека на hezeller rpi-rgb-led-matrix
  2. Библиотека Adapruit rpi-fb-matrix
  3. Raspbian buster lite или realtimepi-buster-lite изображения
  4. Отворена кутия
  5. За управление на компютър/лаптоп/Raspberry Pi 3 или 4, Real VNC Viewer за Windows или Linux или Raspbian
  6. Lazarus IDE за raspbian buster lite
  7. Приложение Leboard Pi

следва продължение…

Стъпка 1: Настройка на Raspberry Pi 3/4 OS Stuff

Настройка на Raspberry Pi 3/4 OS OS
Настройка на Raspberry Pi 3/4 OS OS
Настройка на Raspberry Pi 3/4 OS OS
Настройка на Raspberry Pi 3/4 OS OS
Настройка на Raspberry Pi 3/4 OS OS
Настройка на Raspberry Pi 3/4 OS OS

След като имаме хардуерни части, трябва да вземем нещата с операционната система:

Първо, трябва да получим операционната система за 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 панел

Image
Image
Изтегляне, настройка и стартиране на необходимите библиотеки с RGB LED панел
Изтегляне, настройка и стартиране на необходимите библиотеки с RGB LED панел
Изтегляне, настройка и стартиране на необходимите библиотеки с RGB LED панел
Изтегляне, настройка и стартиране на необходимите библиотеки с 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 приложение

Image
Image
Компилиране, настройка и тестване на Ledboard Pi GUI приложение
Компилиране, настройка и тестване на Ledboard Pi GUI приложение
Компилиране, настройка и тестване на Ledboard Pi GUI приложение
Компилиране, настройка и тестване на 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:

  1. Обадете се на xterm от менюто с десен бутон
  2. Отворете менюто от xterm

Добавяне на нов елемент: Ledboard Pi

  1. Изберете Нов елемент
  2. наречете го Ledboard Pi
  3. изпълнете sudo nice -n -15/home/pi/LEDBOARD_APP/LEDBOARD
  • Изтеглете „horn. WAV“, след което, използвайки мрежово свързано място на самба, „\ ledboardpi / ledboardpi \“копирайте това и го преименувайте в среда на Pi в реално време като „horn.wav“. След като бъде преименуван, този файл трябва да бъде копиран в /home /pi папка.
  • Готово, трябва да можете да стартирате Ledboard Pi, както виждате във видеоклипове и снимки.

Стъпка 4: Инсталиране и настройка на WiFi Hotspot

Инсталиране и настройка на WiFi Hotspot
Инсталиране и настройка на WiFi Hotspot
Инсталиране и настройка на WiFi Hotspot
Инсталиране и настройка на WiFi Hotspot
Инсталиране и настройка на WiFi Hotspot
Инсталиране и настройка на WiFi Hotspot
Инсталиране и настройка на WiFi Hotspot
Инсталиране и настройка на 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, някои ъгли и някои винтове. Подкрепата беше основана от майка ми на улицата, пропиляна. Има колела, както е показано на снимките.

Препоръчано: