led-matrix-panel/README.md

139 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Benutzung
- als **root** ausführen
- ./main.py
verschiedene threads zur auswahl, die vom flask gestartet/gestoppt werden können.
- statisches bild anzeigen und sich beenden
-
ein task, der die ganze zeit im hintergrund läuft.
- statisches bild anzeigen
- eine Routine
ein globales bild. (locking?)
die einzelnen
https://github.com/hzeller/rpi-rgb-led-matrix
./main.py
curl http://localhost:6000/start/helloworld
feh --reload 0.15 image.png
https://pypi.org/project/finnhub-python/
# Locale
Für deutsche Ausgabe (z.B. den Monatsnamen):
- als root: `dpkg-reconfigure locales`
- **de_DE.UTF-8** aktivieren
# Flackern
## Erkenntnisse
"Hardware pulsing" macht zwar ein ruhiges Bild aber viele Artefakte.
Wenn man "hardware pulsing" abschaltet, muss die Software die Ansteuerung der
Panels machen. Das ist für den Raspi stressiger.
Am besten startet man den Webserver mit:
chrt -f 20 ./main.py
Dann werden Hintergrundprozesse unterdrückt und Artefakte vermieden.
Interessante Optionen:
- `options.gpio_slowdown`: Mehr=mehr Flackern. Weniger=Artifakte/Rauschen im linken Bereich.
- `options.pwm_bits`: Mehr=mehr Flackern. Weniger=weniger Helligkeitsabstufungen
## Einstellung 1
- kaum sichtbare Artefakte
- ca. 10 Hz Bildwiederholrate
- 4 Panels
```py
options = RGBMatrixOptions()
options.rows = MATRIX_HEIGHT
options.cols = MATRIX_WIDTH
options.chain_length = NUMBER_OF_PANELS
options.parallel = 1
options.hardware_mapping = 'regular' # change if using Adafruit HAT, e.g. 'adafruit-hat'
options.gpio_slowdown = 10 # try 2, 4, or even 5
options.drop_privileges = False
options.pwm_bits = 10 # default 1112; lower = faster refresh
```
## Einstellung 2
- leichte Artifakte, hält 10 Minuten durch
- ca. 30 Hz Bildwiederholrate
- 3 Panels
```py
options.hardware_mapping = 'regular' # change if using Adafruit HAT, e.g. 'adafruit-hat'
options.gpio_slowdown = 6 # try 2, 4, or even 5
options.disable_hardware_pulsing = True
#options.show_refresh_rate = True
options.drop_privileges = False
```
## Einstellung 3
- kaum Artefakte
- ca. 30 Hz
- 3 Panels
```py
options.hardware_mapping = 'regular' # change if using Adafruit HAT, e.g. 'adafruit-hat'
options.gpio_slowdown = 7 # try 2, 4, or even 5
options.disable_hardware_pulsing = True
options.drop_privileges = False
options.pwm_bits = 10 # default 1112; lower = faster refresh
```
## Einstellung 4
- 20-30 Hz
- 3 Panels
- keine Artefakte
```py
options.hardware_mapping = 'regular' # change if using Adafruit HAT, e.g. 'adafruit-hat'
options.gpio_slowdown = 8 # try 2, 4, or even 5
options.disable_hardware_pulsing = True
options.drop_privileges = False
## Einstellung 5
- 50 Hz
- 4 Panels
- keine Artefakte
- hält es langfristig damit durch?
options.hardware_mapping = 'regular' # change if using Adafruit HAT, e.g. 'adafruit-hat'
options.gpio_slowdown = 4 # try 2, 4, or even 5
options.disable_hardware_pulsing = True
options.drop_privileges = False
options.pwm_bits = 5 # default 1112; lower = faster refresh
# Links
- https://github.com/hzeller/rpi-rgb-led-matrix
# TODO
Das ganze als minimalen Case ohne Multithreading und Klassen.
Ist das Geflacker dann weg?
# 2026-01-16
- git pull
- spannung auf 5,01 Volt reduziert (von 5,2 Volt)
- gpio-slowdown auf 4
- nach dem stop (ctrl-c) und start 10 sekunden warten
- mit "gunicorn -w 1 -k gthread main:app" laufen lassen