Hallo, ich habe einen NeoPi mit armbian am Laufen. Mit der RPI.GPIO (RPI.GPIO_NP) lib für den NanoPi scheint es notwendig, Python als root auszuführen. armbian mappt wohl den GPIO-Speicherbereich nicht nach /dev/gpiomem. für den Zugriff auf /dev/mem braucht die lib dann wohl root Rechte. Sofern keiner eine elegantere Lösung kennt, würde ich gerne mein eigentliches Python script weiterhin mit eingeschränkten rechten auszuführen. Ein parallel laufendes script, ausgeführt mit root rechten, könnte sich um die Ausführung der gpio Befehle kümmern. Evtl. geht ja auch ein Mini-C-Program. Nur wie lasse ich diese beiden Programme dann am besten miteinander kommunizieren? Hat jemand Ideen? Vielen Dank
Nachtrag: eine von FriednlyElec für den NanoPineo angepasste Version der wiringPi lib habe ich am laufen und kann in der Kommandozeile auch mit eingeschränkten Rechten die gpios schalten. Nur nutzt mir das evtl. etwas in Python?
Ralf schrieb: > Hallo, > > ich habe einen NeoPi mit armbian am Laufen. Mit der RPI.GPIO > (RPI.GPIO_NP) lib für den NanoPi scheint es notwendig, Python als root > auszuführen. armbian mappt wohl den GPIO-Speicherbereich nicht nach > /dev/gpiomem. für den Zugriff auf /dev/mem braucht die lib dann wohl > root Rechte. > > Sofern keiner eine elegantere Lösung kennt, würde ich gerne mein > eigentliches Python script weiterhin mit eingeschränkten rechten > auszuführen. Ein parallel laufendes script, ausgeführt mit root rechten, > könnte sich um die Ausführung der gpio Befehle kümmern. Evtl. geht ja > auch ein Mini-C-Program. Nur wie lasse ich diese beiden Programme dann > am besten miteinander kommunizieren? Armbian mappt die GPIO meist nach /sys/class/gpio, bei meinem Orangepi One habe ich das Verfahren per Udev-Rule benutzt, das in https://linux-sunxi.org/GPIO beschrieben ist (etwa Mitte Seite). Vielleicht geht das beim NanoPi auch.
Hi, vielen Dankfür deine Antwort uxdx schrieb: > Armbian mappt die GPIO meist nach /sys/class/gpio davon habe ich gelesen, aber wie erreiche ich /sys/class/gpio dann aus python heraus?
Q&D: Beispiel für Datei lesen:
1 | value = open('/sys/class/gpio/filename', 'r').read()
|
Beispiel für Datei schreiben:
1 | gpio_write = open('/sys/class/gpio/filename', w').write(value)
|
Geht natürlich auch mit
1 | open ... |
2 | read ... (bzw. write) |
3 | close... |
Hi, hatte vor ein paar Jahren dasselbe Problem und wollte ohne Root Rechte den Zugang zu gewissen Scripten ermöglichen. Ich habe mir durch die PiGpio Bibliothek helfen können. Diese ist in der Lage einen daemon zu starten und somit die Scripte über deine "normalen" Zugriffsrechte auszuführen. http://abyz.me.uk/rpi/pigpio/ vG
Analogon schrieb: > Ich habe mir durch die PiGpio Bibliothek helfen können. Läuft nicht auf dem neoPi (zumindest bei mir nicht).
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.