- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 1 bis 10 von 46

Thema: Kleiner Webserver auf dem Raspberry Pi

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    35
    Beiträge
    3.501
    Blog-Einträge
    9
    Sodele auch mein erster Entwurf für die I/O Steuerung ist fertig.....zwar noch nicht ganz so schön und man muss viel manuell machen (und aus irgendeinem Grund kann ich die I/Os noch nicht setzen)......ABER dafür das ich von PHP keine Ahnung habe finde ich es schön

    http://kampi.homedns.org/IO.php
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    19.02.2006
    Beiträge
    982
    Soll ich mal über deinen Code schauen?
    Nam et ipsa scientia potestas est..

  3. #3
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    35
    Beiträge
    3.501
    Blog-Einträge
    9
    Hey,

    ja das wäre nett.
    Der Code ist der hier:

    Code:
    <html>
    <head>
    <title>
    Raspberry Pi Webserver
    </title>
    </head>
    
    <h1>
    <font color="red">
    Raspberry Pi Webserver
    </font>
    </h1>
    <body>
    
    <form action="IO.php" method ="post">
       <input type="Checkbox" name="gpio0" value="0">GPIO 0<br>
       <input type="Checkbox" name="gpio1" value="1">GPIO 1<br>
       <input type="Checkbox" name="gpio4" value="4">GPIO 4<br>
       <input type="Checkbox" name="gpio7" value="7">GPIO 7<br>
       <input type="Checkbox" name="gpio8" value="8">GPIO 8<br>
       <input type="Checkbox" name="gpio9" value="9">GPIO 9<br>
       <input type="Checkbox" name="gpio10" value="10">GPIO 10<br>
       <input type="Checkbox" name="gpio11" value="11">GPIO 11<br> 
       <input type="Checkbox" name="gpio14" value="14">GPIO 14<br>
       <input type="Checkbox" name="gpio15" value="15">GPIO 15<br>
       <input type="Checkbox" name="gpio17" value="17">GPIO 17<br>
       <input type="Checkbox" name="gpio18" value="18">GPIO 18<br>
       <input type="Checkbox" name="gpio21" value="21">GPIO 21<br>
       <input type="Checkbox" name="gpio22" value="22">GPIO 22<br>
       <input type="Checkbox" name="gpio23" value="23">GPIO 23<br>
       <input type="Checkbox" name="gpio24" value="24">GPIO 24<br>
       <input type="Checkbox" name="gpio25" value="25">GPIO 25<br>
       <p>
       <input type="Submit" name="IO abfragen" value="I/O Status">
       <input type="Submit" name="IO setzen" value="I/O setzen">
    </form>
    
    <?php
    
        if (isset($_REQUEST['IO abfragen']));
        {
            if (isset($_POST["gpio0"])) 
            {
                $val_gpio0 = trim(@shell_exec("cat /sys/class/gpio/gpio0/value"));
                $dir_gpio0 = trim(@shell_exec("cat /sys/class/gpio/gpio0/direction"));
                echo "<u>GPIO 0: </u><br/>";
                
                if ($val_gpio0 == 0)
                {
                    echo('<img src="LED_off.png" alt="LED_off_GPIO0">'); 
                }
                elseif ($val_gpio0 == 1)
                {
                    echo('<img src="LED_on.png" alt="LED_on_GPIO0">'); 
                }
                
                echo "<br/>";    
                echo "Value: ", $val_gpio0;
                echo "<br/>";    
                echo "Direction: ", $dir_gpio0;
                echo "<br/>";
            }
        
            if (isset($_POST["gpio1"])) 
            {
                $val_gpio1 = trim(@shell_exec("cat /sys/class/gpio/gpio1/value"));
                $dir_gpio1 = trim(@shell_exec("cat /sys/class/gpio/gpio1/direction"));
                echo "<u>GPIO 1: </u><br/>";
                
                if ($val_gpio1 == 0)
                {
                    echo('<img src="LED_off.png" alt="LED_off_GPIO0">'); 
                }
                elseif ($val_gpio1 == 1)
                {
                    echo('<img src="LED_on.png" alt="LED_on_GPIO0">'); 
                }
                
                echo "<br/>";    
                echo "Value: ", $val_gpio1;
                echo "<br/>";    
                echo "Direction: ", $dir_gpio1;
                echo "<br/>";
            }
                
            if (isset($_POST["gpio4"])) 
            {
                $val_gpio4 = trim(@shell_exec("cat /sys/class/gpio/gpio4/value"));
                $dir_gpio4 = trim(@shell_exec("cat /sys/class/gpio/gpio4/direction"));
                echo "<u>GPIO 4: </u><br/>";
                
                if ($val_gpio4 == 0)
                {
                    echo('<img src="LED_off.png" alt="LED_off_GPIO0">'); 
                }
                elseif ($val_gpio4 == 1)
                {
                    echo('<img src="LED_on.png" alt="LED_on_GPIO0">'); 
                }
                
                echo "<br/>";    
                echo "Value: ", $val_gpio4;
                echo "<br/>";    
                echo "Direction: ", $dir_gpio4;
                echo "<br/>";
            }
        }
        
        if (isset($_REQUEST['IO setzen']));
        {
            if (isset($_POST["gpio0"])) 
            {
                shell_exec("echo \"1\" > /sys/class/gpio/gpio0/value");
            }
        }
    
     ?>
    </body>
    </html>
    Und diese Zeile macht Probleme:

    Code:
        if (isset($_REQUEST['IO setzen']));
        {
            if (isset($_POST["gpio0"])) 
            {
                shell_exec("echo \"1\" > /sys/class/gpio/gpio0/value");
            }
        }
    Shell_exec funktioniert....verwende es ja oben. Aber wieso geht die LED dann nicht an >.<?
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    19.02.2006
    Beiträge
    982
    Ahjaja..
    zum einen würde ich den php-code vor die Form setzen, dann kannst die die Checkboxen direkt entsprechend dem aktuellen Hardwarestatus darstellen..

    Du hast 2 submit Buttons, ich bin mir gerade nicht wirklich sicher ob deren name mit im post ist, selbst wenn, würde ich in name-Feldern keine Leerzeichen oder '_', höchstens '-' verwenden (Alte Angewohnheit, glaub ich hab mal gelesen dass CSS mit underscores n problem hatte).
    Code:
    <input type="Submit" name="IO abfragen" value="I/O Status">
    <input type="Submit" name="IO setzen" value="I/O setzen">
    Ausserdem braucht es nach dem if kein ';'
    Mach mal...
    Code:
        if (isset($_REQUEST['IO setzen'])) {
    echo "IO setzen = ok";
    }
    if (isset($_REQUEST['IO abfragen'])) {
    echo "IO abfragen = ok";
    }
    ..um zu sehen ob die if-Bedinung überhaupt ausgeführt wird..und falls es nicht klappt versuch es mit geänderten name Feldern z.B. 'io-setzen'

    Du verwendest kein WirngPi? Hat dein www-data user Rechte auf den GPIO files?
    Nam et ipsa scientia potestas est..

  5. #5
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    35
    Beiträge
    3.501
    Blog-Einträge
    9
    Erstmal danke für die Tipps.
    Das IO setzen wird richtig ausgegeben. Aber die LED leuchtet immer noch nicht
    Kann ich die Checkboxen nicht so wie die jetzt im Programm sind setzen (also je nach Pinstatus).
    Weil den PHP-Teil vor die Form setzen gefällt mir nicht so gut, weil dann die Checkboxen immer hoch und runter rutschen
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    19.02.2006
    Beiträge
    982
    Zitat Zitat von Kampi Beitrag anzeigen
    Erstmal danke für die Tipps.
    Das IO setzen wird richtig ausgegeben. Aber die LED leuchtet immer noch nicht
    Sind die GPIOs als Ausgang definiert? Die GPIO Konfiguration ist nicht remanent..nach nem powercycle sind die wieder Eingänge..
    Kann ich die Checkboxen nicht so wie die jetzt im Programm sind setzen (also je nach Pinstatus).
    Via Javascript vllt..aber ich lese lieber zuerst den Hardware Status und schreibe dem entsprechend einfach 'checked' mit in den input-tag.
    Weil den PHP-Teil vor die Form setzen gefällt mir nicht so gut, weil dann die Checkboxen immer hoch und runter rutschen
    Was? Wie?
    Nam et ipsa scientia potestas est..

  7. #7
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    35
    Beiträge
    3.501
    Blog-Einträge
    9
    Zitat Zitat von BastelWastel Beitrag anzeigen
    Was? Wie?
    Egal ^.^
    Ist ein optischer Grund ^.^
    Ja die GPIOs sind als Ausgang definiert.
    Wenn ich mittels PuTTY "echo "1" > /sys/class/gpio/gpio0/value" schreibe geht die LED auch an.
    Das was im Programm steht sollte ja dasselbe in PHP sein.
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

Ähnliche Themen

  1. News und Infos zum Raspberry Pi
    Von Kampi im Forum Raspberry Pi
    Antworten: 19
    Letzter Beitrag: 08.02.2013, 15:09
  2. Raspberry PI Lieferzeit
    Von Thalhammer im Forum Offtopic und Community Tratsch
    Antworten: 9
    Letzter Beitrag: 01.08.2012, 16:12
  3. Verkaufe Raspberry Pi zu verkaufen
    Von FD im Forum Kaufen, Verkaufen, Tauschen, Suchen
    Antworten: 8
    Letzter Beitrag: 03.07.2012, 07:57
  4. Erste Lieferungen des Raspberry Pi
    Von Roboternetz-News im Forum Neuigkeiten / Technik-News / Nachrichten / Aktuelles
    Antworten: 1
    Letzter Beitrag: 18.04.2012, 22:52
  5. Antworten: 27
    Letzter Beitrag: 28.05.2010, 10:23

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests