Hallo ich bin neu hier
hab mein Problem schon auf Google gesucht aber nichts gefunden.
ich habe ein raspberry pi 2 mit apache2 und schalte über php meine Relais.
so nun folgendes Problem:
ich habe einen submit botton über den ich den befehl gebe zu schalten und als echo kommt Licht an!
Da es sich um eine Taster Schaltung handelt, wird bei erneuten drücken das licht wieder ausgeschalten, aber als echo bekomme ich logischerweise wieder Licht an!
meine frage ist nun wie bekomme ich zwei echos auf den selben submit botton die immer wechseln ?
hatte schon else probiert hat aber nicht geklappt.
bin totaler Anfänger sry
Code:
[html]
GPIO ueber PHP schalten
Hausautomation
Wohnzimmer
[/html]
[php]
<?php
$modeon17 =trim(@shell_exec("/usr/local/bin/gpio -g mode 4 out"));
if(isset($_GET['Lichtschalten'])){
$val = trim(@shell_exec("/usr/local/bin/gpio -g write 4 0"));
sleep(0.5);
$val = trim(@shell_exec("/usr/local/bin/gpio -g write 4 1"));
echo " Licht An!";
[/php]
beim erneuten drücken hätte ich gerne das echo: " Licht Aus!";
Vielen dank für eure Hilfe und nerven :)
daran das das relai geschalten hat und das licht leuchtet.
aber ich fand es eine coole funktion, das man sieht wo es im raum gerade leuchtet und falls ich mal irgendwo drauf komm das ich sehe was ich geschalten habe.
das ganze ist noch im aufbau und git noch einige probleme. ist sowas wie eine alpha phase
Wenn Du dir das mit PHP und dem Speichern in einer Datei nicht zutraust, könntest Du es mit Javascript machen. So ein Toggle ist eigentlich kein Problem, aber wie willst Du den Grundzustand ermitteln? Wenn die Seite geöffnet wird, weißt Du ja nicht, ob das Licht an oder aus ist und ob Du als erstes „Licht an“ oder „Licht aus“ anzeigen musst.
So weit hab ich noch nicht gedacht, da ich immer am Echo gescheitert bin.
Ich muss mir sich noch überlegen wie ich die analoge Abfrage machen, da man ja auch ganz normal mit einem taster im Raum schalten kann.
gpio read ist wohl das, was du da suchst.
nehmen wir an, du hast den Wert in deinem PHP-Script:
[PHP] // Staus des Pins auslesen… Annahme 1=An 0=Aus
$pinstatus = shell_exec(„/usr/local/bin/gpio read “);