Helpdesk

Ich habe auf dem Note (mit Raspi 4B, 8GB) das System neu installiert: Neustes PI OS Image (64 Bit), dann Joy-Pi Software installiert wie beschrieben. Bei den Python-Lernstationen 11 und 13 kommt beim Ausführen der Programme diese Fehlermeldung:


[gt][gt][gt] %Run touchsensor.py
Can't open /dev/mem: Permission denied
Traceback (most recent call last):
[nbsp] File "/home/pi/Dokumente/joypi-lektionen/13/touchsensor.py", line 16, in [lt]module[gt]
[nbsp] [nbsp] matrix = RGB_Matrix()
[nbsp] File "/usr/local/lib/python3.9/dist-packages/JoyPi_Note_lib-0.0.0-py3.9.egg/JoyPiNote/JoyPiNote.py", line 147, in __init__
[nbsp] [nbsp] self.strip.begin()
[nbsp] File "/usr/local/lib/python3.9/dist-packages/rpi_ws281x/rpi_ws281x.py", line 131, in begin
[nbsp] [nbsp] raise RuntimeError('ws2811_init failed with code {0} ({1})'.format(resp, str_resp))
RuntimeError: ws2811_init failed with code -5 (mmap() failed


Offenbar benötigt das Modul JoyPiNotezum Zugriff auf die RGB_Matrix Rechte, die ich als normaler User (pi) nicht habe. Zum Testen habe ich das Programm mal mit "sodo Thonny" ausgeführt, da funktioniert es ohne Fehlermeldung. Was kann ich tun, damit die Programme auch mit Thonny laufen, das von der JoyPi Software aus gestartet wird? [nbsp]


Schöne Grüße


Wolfgang


[nbsp]

Wolfgang

03.12.22 20:33

Hallo Wolfgang,


das ist (leider) so richtig und eine Problematik die nicht umgangen werden kann. Du hast schon ganz richtig erkannt, dass die Bibliothek für die RGB-Matrix superuser-Rechte (sudo) benötigt. Dies kann nicht umgangen werden und wird von uns auch so in den Einführungskapiteln in der Software beschrieben.


Hier bleiben leider nur die Möglichkeiten Thonny entweder, so wie du es schon getan hast, als superuser mit


sudo thonny

aufzurufen, oder die Codedateien direkt über die Shell als superuser aufzurufen mit:


sudo python3 [Dateiname].py

[nbsp]


Eine Möglichkeit die superuser-Abhängigkeit im Thonny zu umgehen ist mir leider nicht bekannt. Das ist zwar vermutlich nicht die Antwort, die du gerne gehört hättest, ich hoffe aber, dass ich dir trotzdem weiterhelfen konnte. 🙂


Liebe Grüße
Jens

Jens

05.12.22 09:28

Hallo Jens,


erstmal danke für die schnelle und aussagekräftige Antwort.


Gibt es denn eine Möglichkeit, die gesamte Lernumgebung bzw. den Phython-Teil davon als superuser zu starten?[nbsp]


Liebe Grüße


Wolfgang

Wolfgang

05.12.22 13:24

Hallo Wolfgang,


die Lernumgebung als Superuser zu starten wird dir in diesem Fall leider nicht weiterhelfen, da es dabei eher um die direkte Rechteverwaltung des Python-Prozesses geht und nicht um die Software, die im Vordergrund ausgeführt wird.


Die Matrix lässt sich aktuell leider nur über diese Variante richtig verwenden.


Liebe Grüße
Jens

Jens

05.12.22 17:04