2016-12-16 3 views
0

Ich stumpf auf einige PHP-Code.RPi GPIO-Status-Update auf PHP-Button und Skript

Ich habe derzeit eine Schaltfläche Farbe ändern, indem GPIO-Status auf einem Raspberry Pi3, rot, wenn aus Grün, wenn ich versuche, es eines der beiden Python-Skripts auszuführen, wenn die Schaltfläche ändert Farbe. Ich kann es Skripts ausführen lassen, wenn ich zwei Knöpfe eins für ein und eins für aus benutze, würde es eher eine Taste haben, wenn Statusfarbe.

Vielen Dank im Voraus für jede Hilfe.

Alles, was ich versucht habe, wird die Seite nicht laden. Unten ist, was ich für Statusupdate habe.

<html> 
<head> 
</head> 
<body> 
<?php $status1 = trim(shell_exec("gpio -g read 12")); ?> 
<?php 
if ($status1 == "1") { 
echo "<button style=\"background-color:#FF0000; width: 400px; height:350px; font-size:60px;\">Relay 1</button>"; 
} else { 
echo "<button style=\"background-color:#009900; width: 400px; height:350px; font-size:60px;\">Relay 1</button>"; 
} 
?> 
<br> 
<br> 
<?php echo date('Y-m-d H:i:s'); ?> 
</body> 
</html> 
+0

Also, Sie wollen nur eine andere Farbe Schaltfläche auf der Seite abhängig von den Ergebnissen der GPIO-Abfrage? Oder möchten Sie, dass die Schaltfläche $ _POST- oder $ _GET-Daten an ein Verarbeitungsskript sendet, das dann eines der beiden Python-Skripte aufruft? – ivanivan

+0

Ich kann den Status des gpio bekommen, ich kann es nur nicht erreichen, um den spezifischen Code auszuführen, wenn der Knopf geklickt wird. – issues

Antwort

0

Wenn Sie eine Schaltfläche zum Senden von Daten in einer Form mit einer Aktion und Verfahren festgelegt werden muss, und der Knopf hat einen (größer als) Eingangstyp sein = einreichen ... (weniger als) - Wenn Sie etwas basierend auf den Formulardaten machen möchten, muss ein benanntes Element mit einem Wert vorhanden sein, oder PHP wird es nicht in $ _POST sehen.

<html> 
<head> 
</head> 
<body> 
    <form name="theform" method="post" action="<?php print($_SERVER['PHP_SELF']); ?>"> 
<?php 
//$status1 = trim(shell_exec("gpio -g read 12")); 

$status="1"; 
if(isset($_POST['turnon'])){ 

    // this is where you call your python or whatever when the status is already 1 
    $status="0"; 

    } 

if(isset($_POST['turnoff'])){ 

    // this is where you call your python or whatever when status is already 0 

    $status="1"; 

    } 

if ($status==="1") { 
echo "<input name=\"turnon\" type=\"submit\" style=\"background-color:#FF0000; width: 400px; height:350px; font-size:60px;\" value=\"Turn Relay 1 on\">"; 
} else { 
echo "<input name=\"turnoff\" type=\"submit\" style=\"background-color:#009900; width: 400px; height:350px; font-size:60px;\" value=\"Turn Relay 1 off\">"; 
} 
?> 
</form> 
<br> 
<br> 
<?php echo date('Y-m-d H:i:s'); 

?> 
</body> 
</html> 
+0

Ich werde es morgen nochmal versuchen. Danke – issues

+0

Danke für die Hilfe hat alles funktioniert. – issues

Verwandte Themen