led-matrix-panel/README.md

3.6 KiB
Raw Blame History

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

# Szenen

curl "http://localhost:8000/start/color?red=255&green=255&blue=255"
curl http://localhost:8000/start/bitcoin
curl http://localhost:8000/start/clock
curl http://localhost:8000/start/colorclock
curl http://localhost:8000/start/helloworld
curl http://localhost:8000/stop
curl http://localhost:8000/reset