PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [ERLEDIGT] GPIO über Webserver schalten



Rumo
15.11.2013, 13:13
Hi,
ein paar Fragen zu diesem Thema gibt es ja schon. Aber irgendwie krieg ich es nicht hin und bin am verzweifeln als Linux und PHP Anfänger. Wahrscheinlich nur ein ganz dummer Berechtigungsfehler.

Raspbian (Debian) als Betriebssystem bei der Pi Version B.
GPIOs lassen sich über die Konsole schalten. Dafür wird ein shell file beim booten geladen, das mit chmod 666 /sys/class/gpio/gpio4/value auch die Berechtigung verteilt.
Lighttpd läuft mit php (phpinfo() Kontrollseite wird angezeigt).
/var/www/index.php wird direkt ausgeührt über 127.0.0.1 im Webbrowser.
Die Einträge zwischen <?php...?> funktionieren.
Führe ich auf der Konsole mit dem user pi: 'php index.php' aus, schaltet der Kanal.
((shell_exec("echo \"1\" > /sys/class/gpio/gpio4/value"); steht in der php Datei)

Führe ich su www-data aus und probiere es unter dem Webserver user kommt ein Permission denied auf die /sys/class/gpio/gpio4/value als antwort.
"sudo chown pi:www-data /var/www/index.php" habe ich zugeordnet. Wird mir auch mit ls -l angezeigt für die Datei.
Wo muss ich denn noch eine Berechtigung setzten? Bin über jede Hilfe sehr dankbar.

Gruß
Oliver

theborg
16.11.2013, 10:15
Hi, das wird dadran liegen das deine DEVs keine Userrechte haben, da recht es den User in die Gruppe des Moduls zu schmeißen also www-data in die passende Gruppe mit zugrifsrechten.

Rumo
16.11.2013, 18:27
Manchmal kann es so einfache sein :) ... vielen Dank , hat geklappt. Von der Seite aus mit den Berechtigungen hatte ich das noch gar nicht betrachtet.