Raspberry Pi GPIO Web Interface
![]() |
| Raspberry PI GPIO Relais |
Mein Android Bot Joshua dazu: "Hallo Dr. Falken wollen Sie ein Spiel spielen?"
Okay das war jetzt ein Insider ;-)
Kurz aber die Information zum Thema Sicherheit und Voraussetzungen. Ich habe natürlich auf meinem Raspberry PI eine Firewall installiert. Dort habe ich über eine entsprechende Regel definiert, dass bspw. nur das Tablet mit der IP XXX.XXX.XXX.XXY auf den Pi zugreifen kann, welches ich zur Smart-Home Steuerung an die Wand genagelt habe. Damit das in Zukunft auch störungsfrei läuft muss man seinem Router und ggf. dem Tablet natürlich noch beibringen sich die IP Adresse zu behalten. Das kann man grundsätzlich mit der Einstellung fester IP's machen oder wie bei der FritzBox! indem man diese anweist dem Tablet immer die gleiche IP Adresse zuzuweisen. So kann man die Dynamische IP Verwaltung beibehalten und es läuft dennoch. Ihr müsst auch auf eurem Raspberry noch einen Webserver (Apache2) aufsetzen und entsprechend die Rechte für den Web-Zugriff einstellen. Für diese Dinge findet Ihr im Web ausreichend Anleitungen.
Ok - nachdem also mein Raspberry Pi (Modell 3B+) nun vorbereitet ist und somit der Zugriff so sicher wie möglich ist, weil eben auch nur innerhalb meines Netzwerks zugegriffen werden kann, kann ich mich an das Thema eines Web Interface machen. Richtig! Der Zugriff von unterwegs aus dem Web geht damit nicht! Das ist nochmal ein anderes Thema.
Also mit Hilfe einer html, besser php Website über die man bspw. Lampen ein- und ausschalten kann soll es laufen. Natürlich kann man hier nun auch eine Menge Schnick-Schnack einbauen, wie bspw. Schiebeschalter oder optische Anzeigen über den Schaltzustand. Der Einfachheit halber beginnen wir aber einmal mit einer Website, die ich über die IP des Raspberry in der URL aufrufen kann.
Und so soll es aussehen:
![]() |
| Web Interface |
![]() |
| Relais direkt über PHP steuern! |
Also hier das Script:
<!-- #pinList = [2, 3, 4, 17] Kopie von https://stskanta.blogspot.com-->
<html>
<head>
<meta charset="UTF-8" />
<link rel="stylesheet" type="text/css" href="css/style.css">
</head>
<body background="RaspPibgrd.png">
<?php
if (isset($_POST['ON1']))
{
system ( "gpio export 2 out");
}
if (isset($_POST['OFF1']))
{
system ( "gpio -g write 2 1");
}
if (isset($_POST['ON2']))
{
system ( "gpio export 3 out");
}
if (isset($_POST['OFF2']))
{
system ( "gpio -g write 3 1");
}
if (isset($_POST['ON3']))
{
system ( "gpio export 4 out");
}
if (isset($_POST['OFF3']))
{
system ( "gpio -g write 4 1");
}
if (isset($_POST['ON4']))
{
system ( "gpio export 17 out");
}
if (isset($_POST['OFF4']))
{
system ( "gpio -g write 17 1");
}
?>
<center>
<font size="6" face="verdana" color="#66FF66"> <b>Raspberry Pi GPIO</b></font></color><hr><br>
<form method="post">
<button name="ON1"><font size ="5">Lampe AN</font></button>
< >
<button name="OFF1"><font size ="5">Lampe AUS</font></button>
<br/>
<br/>
<br/>
<br/>
<button name="ON2"><font size ="5">Sterne AN</font></button>
< >
<button name="OFF2"><font size ="5">Sterne AUS</font></button>
<br/>
<br/>
<br/>
<br/>
<button name="ON3"><font size ="5">LED--- AN</font></button>
< >
<button name="OFF3"><font size ="5">LED--- AUS</font></button>
<br/>
<br/>
<hr>
<br/>
<button name="ON4"><font size ="5">Laden AN</font></button>
< >
<button name="OFF4"><font size ="5">Laden AUS</font></button>
<br/>
<br/>
<hr>
</form>
</html>
Natürlich schaltet Ihr andere Dinge, wie bspw. ich Herrnhuter Weihnachtssterne, welcher bei mir kurz "Sterne" heißen. Und natürlich kommt es auch darauf an welche GPIO Pins Ihr für die Schaltung eurer Relais benutzt habt. Das müsst Ihr entsprechend im Script anpassen! Ist ja klar!
So viel Spaß beim ausprobieren!
Mein Bot meint gerade:"Dr. Falken let's play global terminal nuclear war" - ich glaub ich muss mal nachsehen was er da macht. Also Tschüss bis zum nächsten Beitrag!



