GPIO ohne root Rechte / X11

  • Hi

    Ich habe gerade das selbe Problem, wenn ich die C-Library von pigpio verwende!

    Mit den shell Kommandos ( z.B. pigs w 27 1 ) kann ich direkt eine Led an gpio27 schalten.
    Der deamon läuft.

    Im C++ code

    Code
    if(gpioInitialise() >= 0)
    {
    	gpioSetMode(Clkpin,OUTPUT);
    	gpioSetMode(Datapin,OUTPUT);
    }
    else
    {
    	printf("\ngpioInitialise failed!\n");
            exit(1);
    }

    bekomme ich die bekannte Fehlermeldung.

    [font="Courier"]pi@raspy2 ~/Develop/cppTest1 $ sudo ./tm1637Test
    2015-02-20 18:43:01 gpioInitialise: Can't lock /var/run/pigpio.pid

    gpioInitialise failed![/font]

    Gruß
    Franz

    Einmal editiert, zuletzt von sd582 (20. Februar 2015 um 18:55)

  • Hi

    Offenbar ist das Rätsel gelöst.

    Wenn man die C-Library verwendet (#include <pigpio.h>), dann darf der deamon (pigpiod) _nicht_ laufen!

    Ich hatte das so verstanden, dass der deamon laufen _muss_ wenn man die Library verwenden möchte.

    Also hab ich den deamon mal gekillt und dann gibt's keine Fehlermeldung wenn ich mein Testprogramm starte.
    Ob's auch wirklich funktioniert, kann ich heute nicht mehr checken, weil ich nur remote (örtlich getrennt von der Hardware) drauf bin.

    Hier noch die gerade erhaltene Antwort:


    Gruß
    Franz


  • Na ich musste doch irgendwie an Pi der noch Jungfräulich ist ;). Also Rpio.GPIO kannst du nicht als pi ausführen. rpi greift seit Version 0.3 auf /dev/mem anstelle von sysfs zu und das erfordert imho immer root rechte. Es gibt auch keinen Grund das nicht per sudo zu machen. Dein $DISPLAY Problem ist es, was zu lösen gilt, nicht das root/pi Problem

    Hallo Forum,
    ich bin neu hier, ebenfalls auch Pi Anfänger und habe genau das selbe Problem wie in diesem Thema besprochen wurde. Leider haben sämtliche hier beschriebene Hinweise und Tips nicht zum Ziel geführt. Deswegen möchte ich das Thema nochmals gerne aufgreifen.
    Hier eine kurze Zusammenfassung meines Problems.

    Ich habe eine GUI mit Qt erstellt, bei der ich zwei Temperatursensoren auswerte. Ich greife mit dem VNC Viewer auf den Pi zu und starte dann die GUI über das LX Terminal mit folgendem Befehl.
    Version1:
    python3 /ablage/nfs/pi/AnzeigeGui.py
    dies funktioniert soweit ohne Probleme.
    Version 2:
    ich starte putty (X11 forwarding ist enable)
    gebe in der shell python3 /ablage/nfs/pi/AnzeigeGui.py ein mein Xming startet und alles ist ok.

    Nun möchte ich eine GPIO Ausgang schalten und genau dann beginnt mein Problem. Für die "GPIO.setup(13, GPIO.OUT)" Anweisung benötige ich root Rechte, soweit verstanden. Jetzt bekomme ich aber das Problem, dass ich folgende Meldung bekomme
    "Client is not authorized to connect to ServerAnzeigeGui.py: cannot connect to x server :1.0

    :helpnew:

    danke schon mal im voraus
    michpro

  • Dein Problem hat nichts mit GPIO zu tun, das sagt bereits die Fehlermeldung aus: Dein Problem betrifft X bzw X11 bzw den Zugriff auf das Display 1.0 ... Eine Googlesuche nach der Fehlermeldung "cannot connect to x server :1.0" offeriert einige Lösungen hierzu.

    Daher würde ich dich bitte für dein Problem einen eigenen Thread zu erstellen. Danke.


  • Dein Problem hat nichts mit GPIO zu tun, das sagt bereits die Fehlermeldung aus: Dein Problem betrifft X bzw X11 bzw den Zugriff auf das Display 1.0 ... Eine Googlesuche nach der Fehlermeldung "cannot connect to x server :1.0" offeriert einige Lösungen hierzu.

    Daher würde ich dich bitte für dein Problem einen eigenen Thread zu erstellen. Danke.

    ok, danke für den Hinweis. Die Ursache meines Problems ist tatsächlich der X-Server unter root bei angemeldetem User PI.

    Gruß michpro

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!