mit switch Button Lampen steuern

  • Hallo!
    Ich bin 13 und übe gerade an meinem raspi und habe Spaß am programmieren und möchte auch noch einiges lernen!
    Zur Zeit bin ich dabei mit einem "switch-Button" Lampen zu schalten aber ich bekomme es nicht hin mit dem switch-Button :helpnew:

    mein HTML code sieht zur Zeit so aus:

    <html>
    <head>
    <meta name="viewport" content="width=device-width" />
    <title>LED Control</title>
    </head>
    <body>
    LED Control:
    <form method="get" action="gpio2.php">
    <input type="submit" value="ON" name="on">
    <input type="submit" value="OFF" name="off">
    </form>
            
    </body>
    </html>

    Und mein PHP code so:

    <?php
    //Pin als Ausgang definieren
    $val = trim(@shell_exec("gpio -g mode 17 out"));

    if(isset($_GET['led'])) {

    //LED ein
    if($_GET['led'] == 'ein') {
    $val = trim(@shell_exec("gpio -g write 17 1"));
    }

    //LED aus
    elseif($_GET['led'] == 'aus') {
    $val = trim(@shell_exec("gpio -g write 17 0"));
    }
    }
    ?>

    <span style="font-size:7.0em">
    <br>
    <a href="<?php print($_SERVER['pi@raspberrypi-tv']); ?>?led=ein">Led ein</a>
    <br>
    <a href="<?php print($_SERVER['pi@raspberrypi-tv']); ?>?led=aus">Led aus</a>
    </span>


    Beide Dateien werden im Browser geöffnet und angezeigt und mit der PHP Datei kann ich auch eine Gpio am raspi schalten.
    Das sollte ein Lampensteuerungs Netzwerk mit 21 switch-Buttons werden.
    Ich wollte fragen ob sie mir dabei Helfen können bei dem Problem, Danke im vorraus :danke_ATDE:

    Mfg: maurice.w

  • Hallo, maurice.w;
    Ich habe zwar keine Ahnung vom Schalten der GPIO's über html/php; aber ein Punkt fällt mir gleich in's Auge:
    Dein Formular liefert den Wert on/off; dein php-script fragt allerdings ein/aus ab.
    Wenn der restliche Teil deines Codes funktioniert, verhält sich dein Script komplett richtig; es trifft ja keine der Abfragen zu, also macht es ...nix!

    Viel Spaß weiterhin;
    rasray

    Einmal editiert, zuletzt von rasray (1. November 2016 um 10:49)

  • Danke erstmal für den Hinweis, hab ich ausgebessert und hat nichts geändert und mit dem verlinkten Beitrag hab ich auch schon mal getestet aber noch nicht richtig hinbekommen, ich werde weiter testen und das dann aus dem Beitrag so anpassen wie das bei mir sein soll. :D

    Mfg: maurice.w

  • Die Gpios kann ich mittlerweile über eine extra Seite steuern aber ich habe mmer noch das Problem das ich die Funktion an/aus nicht in den switch butoon integriert bekomme, ich habe den button von :"http://huntemann-online.de/2015/01/29/gpi…jquery-steuern/" benutzt und grafisch ist auch alles wie es soll, jetzt ist meine Frage wie ich die an/aus funktion integrieren kann in den switch Button?
    Meine php datei mit der ich die Gpios steuern kann sieht so aus:"<?php
    //Pin als Ausgang definieren
    $val = trim(@shell_exec("gpio -g mode 17 out"));

    if(isset($_GET['led'])) {
    exec('sudo /var/sudowebscript.sh sispmctl', $output, $return_var);
    //LED ein
    if($_GET['led'] == 'on') {
    $val = trim(@shell_exec("gpio -g write 17 1"));
    }

    //LED aus
    elseif($_GET['led'] == 'off') {
    $val = trim(@shell_exec("gpio -g write 17 0"));
    }
    }
    ?>

    <span style="font-size:7.0em">
    <br>
    <a href="<?php print($_SERVER['pi@raspberrypi-tv']); ?>?led=on">Led ein</a>
    <br>
    <a href="<?php print($_SERVER['pi@raspberrypi-tv']); ?>?led=off">Led aus</a>
    </span> "

    Wäre nett wenn mir dabei welche von euch weiterhelfen könnten. Danke im Vorraus!
    Mfg; Maurice

  • Du fragst folgendes im PHP Script ab:

    Zitat

    if(isset($_GET['led'])) {

    Wo ist in deinem FORM led als Name definiert? Genau, nirgends. So wie ich das sehe musst du nach dem Value des Namens abfragen. Deine Inputanweisungen müssten so aussehen:

    Zitat

    <input type="submit" value="ON" name="led">
    <input type="submit" value="OFF" name="led">

    Jetzt kannst du nach led abfragen:

    Zitat

    if($_GET['led'] == 'ON') {

    bzw.

    Zitat

    if($_GET['led'] == 'OFF') {

    Immer schön auf Groß- und Kleinschreibung der Variablen achten. Ein Rechner verzeiht das nicht.

Jetzt mitmachen!

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