Quick hack: GPIO-Steuerung in C ohne root Rechte und ohne Library ...

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Ich hatte hier -> Zugriff auf die GPIOs per sysfs als Alternative zu den Libraries z.B. pigpio/bcm2835/wiringPi? <- ja schon nach Euren Erfahrungen mit sysfs gefragt, weil ich auf der Suche nach einer einfachen Lösung zum Steuern der GPIOs war.

    Ich hab dann die GPIO UAPI entdeckt, die mir in diesem Zusammenhang gut gefällt und da mal ein bisschen was drum herum gebastelt.

    Zunächst mal die GPIO-Zugriffe:

    //EDIT: da ist jetzt noch die Funktion für einen event-handler dazugekommen ...

    und dann noch ein kleines Testprogramm:

    Ich will das jetzt gar nich gross dokumentieren, denn das ist wohl selbsterklärend.

    Nur so viel: die Routinen setzen auf dem selben Level wie sysfs auf und sind dadurch entsprechend resourcenschonend und schnell ...

    Das ist jetzt einfach mal eine Art "Abfallprodukt", das für den einen oder anderen evtl. hilfreich sein kann.

    10.11.2018:

    Der Sourcecode ist ab sofort auf github ( https://github.com/dreamshader/dsGPIO ) verfügbar ...

    cheers,

    -ds-

  • Quick hack: GPIO-Steuerung in C ohne root Rechte und ohne Library ...? Schau mal ob du hier fündig wirst!

  • Hallo,

    so habe mich damit beschäftigt.

    Die Funktionsweise ist mir aber noch nicht klar.

    Wenn ich im Verzeichnis "build" den Befehl make und make install ausführe erhalte ich das Programm "gpioTest", beim ausführen (./gpioTest) erhalte ich die Meldung:

    Code
    lock faild!
    ends with exitcode -2

    MfG

    Juergen B.

  • Hi jbaben ,

    hmm ....

    Welches Pi-Modell, welches OS?

    Ist Dein user in der Gruppe "gpio"?

    Code
    pi@z-stretch:~/Projects/Raspberry_PI/dsGPIO/build $ groups
    pi adm tty dialout cdrom sudo audio video plugdev games users input netdev gpio i2c spi

    ciao,

    -ds-

Jetzt mitmachen!

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