Unix "Echo" Kommando an ein Geräte senden

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Moin zusammen,

    ich möchte gerne folgenden Befehl mit PHP absetzen.

    PHP
    <?php
    shell_exec("echo is0FFFF0FFFF10 > /dev/ttyUSB0");
    ?>

    Mein Webserver ist ein Lighttpd Server.
    Der Befehl bewirkt das meine ELRO Funksteckdose ausgeschaltet wird mit Hilfe eines angeschlossenen USB CUL Funk-Stick (868MHz).
    Leider passiert nichts.

    Da ich keine Root Rechte benötige oder sonstige Aktionen durchführe auf Dateiebene, verstehe ich nicht, warum ein einfaches Echo nicht funktioniert.

    Wenn ich den Befehl ls -la ausführe, bekomme ich aus dem aktuellen Verzeichnis, die Auflistung des Inhaltes. Das sagt mir, dass der Benutzer www-data shell_exec ausführen kann.

    Wäre sehr dankbar, wenn mir einer von euch einen Tip oder einen Lösungsansatz geben könnte.

    Danke im Voraus.
    Sven

  • Danke für den Tipp mit dem Log. Das war sehr hilfreich.

    Ich habe mal den Echo Befehl aus dem Webseiten Verzeichnis ausgeführt. Sehr interessant.

    Code
    pi@RPi-HC /var/www/homecontrol/html/sites $ echo is0FFFF0FFFF11 > /dev/ttyUSB0
    -bash: /dev/ttyUSB0: Permission denied

    Jetzt muss ich nur dafür sorgen, dass ein Echo abgesetzt werden darf. Dachte bis heute, dass ein Echo jeder darf.

    Wo müsste man das denn einstellen?

  • Upps, ich habe einen Fehler gemacht. Leider brachte die Korrektur auch nicht. Ich habe das falsche Device angesprochen.

    PHP
    <?php
     shell_exec("echo is0FFFF0FFFF11 > /dev/ttyACM0");
    ?>

    Jetzt kann es nur noch daran liegen, dass der Benutzer www-data den Befehl nicht ausführen kann.

    So, Lösung gefunden.

    Code
    sudo chown www-data.www-data /dev/ttyACM0

    Dadurch kann der Benutzer www-data jetzt das Gerät verwenden.

    Einmal editiert, zuletzt von piro299 (4. Januar 2014 um 22:18)

  • [quote pid='54490' dateline='1388869674']

    Code
    sudo chown www-data.www-data /dev/ttyACM0


    Dadurch kann der Benutzer www-data jetzt das Gerät verwenden.
    [/quote]

    Hmm, als momentane Lösung zwar brauchbar, aber was, wenn mal nicht nur der Webserver darauf zugreifen soll?
    Besser wäre gewesen, den user www-data Mitglied in der entsprechenden Gruppe werden zu lassen.

    Gruß, mmi

Jetzt mitmachen!

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