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
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 ~ $
FlorenzW schrieb: > No access to /dev/mem. steht doch alles da! dort hat er keine Rechte, wiederum wenn du jemand dort rechte gibst, kann du ihm auch gleich root rechte geben.
Gibt's keine andere Möglichkeit als über /dev/mem auf's GPIO zuzugreifen oder ist die library da den einfachen Weg gegangen? FlorenzW
MoinMoin, Stichwort suid-Bit (http://de.wikipedia.org/wiki/Setuid). Probiere mal damit rum... Grüße Uwe
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?
WiringPi gpio Programm verwenden. Ist langsam, geht aber ohne root. Oder damit die benötigten Pins exportieren, um über /sys/class/gpio drauf zugreifen zu können. Das SPI ist über /dev/spi-X und dessen Rechte verwendbar.
:
Bearbeitet durch User
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
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.