Metainformationen zur Seite
  •  

Blinken

Um eine LED mithilfe eines Raspberry Pis zum Blinken zu bringen, nutzen wir das kleine Programm für die Shell: ansprechen_ueber_die_shell

Eine kurze php-Datei (an.php) steuert und schaltet GPIO 23 an:

<?php
$val = trim(@shell_exec("/usr/local/bin/gpio -g mode 23 out"));
$val = trim(@shell_exec("/usr/local/bin/gpio -g write 23 1"));
?>

Eine weitere kurze php-Datei (aus.php) schaltet GPIO 23 aus:

<?php
$val = trim(@shell_exec("/usr/local/bin/gpio -g mode 23 out"));
$val = trim(@shell_exec("/usr/local/bin/gpio -g write 23 0"));
?>

Dazu schließt man die LED, wie auf dem Bild an:

Verschiebt man diese beiden Dateien in das Verzeichnis /var/www kann man, wenn man zuvor einen Webserver installiert hat, die LED auch online ansteuern. Dazu müsste man fürs anschalten IP-Adresse/an.php und fürs ausschalten IP-Adresse/aus.php aufrufen.

Da ein solches Ansteuern über Internet zwar funktioniert aber lästig ist, lässt sich das ganze auch grafisch programmieren. Zur Vereinfachung nutzen wir jQuery (jQuery-Bibliothek herrunterladen siehe auch: Matrix)

Das Programm nutzt die beiden vorherigen:

<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<script src="jquery.min.js"></script>
  <style>
/* Gestaltung der LED */
#a    { position:absolute; padding:30px; background-color:lightgrey; border-radius:100px; }
/* zusätzliche Gestaltung der LED im Zustand "an" */
#a.an { background-color:yellow; }
</style>
  <script>
        $(document).ready(function(){
                $("#a").click(function(){
                        // Umschalten der "LED"
                        $(this).toggleClass("an");
                        if ($(this).hasClass("an")) {
                                // Aufruf der Seite an.php
                                $.post("an.php",{},function(){});
                        } else {
                                // Aufruf der Seite aus.php
                                $.post("aus.php",{},function(){});
                        }
                });
        });
  </script>
</head>
<body>
    <div id="a" class="aus"></div>
</body>
</html>

Man kann JQuery auch direkt online beziehen:

 <script src="jquery.min.js"></script>

durch

<script src="http://code.jquery.com/jquery-latest.js"></script>

ersetzen. Dadurch muss man die Library nicht downloaden.