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?
Gast #4019878
Lesenswert?
• ▲
▼
Jetzt ist mir das Problem weitgehend klar. Auf den OneWire kann ich also 
ohne root zugreifen, da hier noch ein Treiber mit entsprechenden Rechten 
dazwischen sitzt. Aber direkt auf die Pins geht's ohne entsprechenden 
Treiber nicht, es sei denn man ist root.

Ich bedanke mich herzlich für Eure Bemühungen,
FlorenzW

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.