Hallo zusammen..
ich drehe mich heute schon den ganzen Tag im Kreis.. wollte für einen User hier im Forum eine Funksteckdosen-Schaltung mit einem kleinen Web-Interface austesten..
dazu hab ich am RasPi Apache2-php-mysql sowie wiringPI und rcswitsh-pi laufen
wenn ich am RasPi folgende Zeile(n) eintippe, dann kann ich schalten...
pi@raspberrypi ~/rcswitch-pi $ ./send 01111 1 0
wiringPiSetup: Must be root. (Did you forget sudo?)
pi@raspberrypi ~/rcswitch-pi $ sudo ./send 01111 1 0
sending systemCode[01111] unitCode[1] command[0]
pi@raspberrypi ~/rcswitch-pi $
wiringPI und rcswitsh-pi liegen beide im Ordner /home/pi
daher kann ich an dieser Stelle mal sagen, die Hardware funktioniert
da ich bereits diverse gescheiterten Versuche hinter mir habe, hab ich mir nun vermutlich auch einige Dateirechte zerschossen...
..es mag mir einfach nicht gelingen, einen Schaltbefehl über ein PHP-Skript zu schicken..
auch eine Kopie im Ordner /var/www/ kann ich von der Kommandozeile starten und die Funksteckdose schaltet ebenfalls...
pi@raspberrypi ~/rcswitch-pi $ cd /var/www
pi@raspberrypi /var/www $ sudo ./send 01111 1 0
sending systemCode[01111] unitCode[1] command[0]
pi@raspberrypi /var/www $
nach allen Fehlversuchen sieht mein PHP nun so aus:
[code=php]// hier werden die Codes für jede Funksteckdose festgelegt.<br>
// dabei gilt: die ersten 5 Zeichen (00000 bis 11111) müssen als "Homecode" erstellt werden<br>
// dann folgt ein Leerzeichen, und der Code für die Funksteckdose (1 bis 4)
// der Status wird dann über die Variable status_xxx übergeben
$code_001 = "01111 1";
$code_002 = "01111 2";
$code_003 = "01111 3";
//--------------------------------------------------------------
// hier wird geprüft ob ein Button geklickt wurde...
if (isset($_GET[funk_001_EIN])) {
$status_001 = '1';
// hier den Befehl zum Einschalten der Funksteckdose 001 einfügen
$output_test = 'sudo ./send '.$code_001.' '.$status_001;
$output = exec('sudo ./send '.$code_001.' ' . $status_001);
exec('sudo /home/pi/rcswitsh-pi/send '.$code_001.' ' . $status_001);
echo "<pre>$output</pre>";
echo $output_test;
[/php]
(verschieden Pfadangaben bereits getestet... ohne Erfolg
die Ausgabe von output_test liefert--> sudo ./send 01111 1 1
somit ist doch auch der String für den send-Befehl ok??