Raspberry Pi Zugriff auf SPI via Python/spidev ohne Root-Rechte

Gast #4019219
Lesenswert?

Hallo!

Ich habe an meinem Raspberry mit aktuellem Wheezy ein DOGM163-Display 
via SPI angeschlossen.
Als lib verwende ich:
https://github.com/Gadgetoid/DogLCD
Das funktioniert ganz prima mit Python/spidev - solange das Skript als 
root gestartet wird, ansonsten Fehlermeldung: try as root.

Für die zukünftige Verwendung wäre es wichtig, dass dieses Programm auch 
ohne root-Rechte auskommt. Ich habe bis jetzt jede verfügbare Anleitung 
ausprobiert, die versprach, dieses Problem zu lösen - ohne Erfolg.

Hat es jemand geschafft dieses Problem zu lösen und, wenn ja, wie?

FlorenzW
Gast #4019815
Lesenswert?

Nachtrag, hier die Meldung aus der Python-Shell:

Traceback (most recent call last):
  File "/home/pi/DogLCD-hardware_spi/test.py", line 7, in <module>
    lcd.begin(doglcd.DOG_LCD_M163, CONTRAST)
  File "/home/pi/DogLCD-hardware_spi/doglcd.py", line 99, in begin
    GPIO.setup(self.lcdRS,GPIO.OUT);
RuntimeError: No access to /dev/mem.  Try running as root!
>>>

Ich habe den Verdacht, dass das Problem beim direkten Zugriff auf die 
Pins des GPIO entsteht und nicht bei der SPI-Übertragung.

Mein Nutzer ist aber Mitglied bei GPIO... grübel...:

pi@raspberrypi ~ $ id
uid=1000(pi) gid=1000(pi) 
Gruppen=1000(pi),4(adm),20(dialout),24(cdrom),27(sudo),29(audio),44(vide 
o),46(plugdev),60(games),100(users),105(netdev),999(input),1002(spi),100 
3(gpio)
pi@raspberrypi ~ $
Gast #4019840
Lesenswert?

FlorenzW schrieb:
> Gibt's keine andere Möglichkeit als über /dev/mem auf's GPIO zuzugreifen
> oder ist die library da den einfachen Weg gegangen?

zumindest ist das der schnellste. Man müsste über ein Treiber modul 
gehen, was die IO als eigenes Device anlegt. Keine Ahnung ob es das 
gibt.

Da auf diesen PC ja nicht viele Nutzer gleichzeitig arbeiten, was 
spricht dagegen es als Root laufen zu lassen?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren