# 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 11–12; 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 11–12; 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 11–12; 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 # Entwicklung ohne Matrix-Display lib/display.py -> dev = True ./main.py feh --auto-reload image.png