funksteckdosen mit raspberry pi

Funksteckdosen mit einem Raspberry Pi übers Smartphone steuern

Im ersten Teil haben wir den Raspberry Pi über einen Sender die Funksteckdosen steuern lassen. Dazu genügte ein Befehl im Terminal. Das wollen wir in diesem Teil weiter vereinfachen.

Das haben wir vor:

Am Ende soll auf dem Smartphone eine Webseite aufgerufen werden können, auf der alle Schalter für die Steckdosen grafisch dargestellt werden. Kurzum: Wir wollen die Gewalt über Licht und Dunkelheit unter Deine Fingerspitzen legen. Hört sich gut an, oder?
Am Ende wird diese Website von allen Geräten mit Browser in Deinem lokalen Netzwerk erreichbar und benutzbar sein:

funksteckdosen mit smartphone steuern

Web-Interface für die Steuerung der Funksteckdosen

Meine Residenz habe ich nach der Heimat des Hexers aus The Witcher benannt. Falls Du aus irgendwelchen unerfindlichen Gründen einen cooleren Namen für Dein Zuhause hast, ändere einfach die Bezeichnung zwischen den h1-tags in der index.php-Datei.

Die Bezeichnungen der Buttons entsprechen denen, die in der Tabelle der Datenbank hinterlegt sind. Dazu später mehr.

Was wir dazu benötigen

Glücklicherweise besitzen wir nach dem ersten Teil bereits alle notwendige Hardware. Alles weitere wird softwareseitig gelöst. Dazu machen wir aus dem Pi einen Server. Darauf bringen wir PHP zum Laufen, sowie eine MySQL-Datenbank und schließlich eine Webseite.

Im Prinzip ist die Datenbank nicht zwingend erforderlich. Allerdings lässt sich dort die Schalterstellung speichern, sodass, wenn die Schalter mit mehreren Geräten bedient werden, trotzdem immer die korrekte Schalterstellung angezeigt wird. Dieses kleine Extra kostet Dich keine große Mühen, denn die notwendigen Skripte haben wir für Dich bereits vorbereitet.

Los geht’s

Zuerst wird der Server inklusive PHP und MySQL eingerichtet. Dazu gibt es bereits einen sehr guten Leitfaden, den Du hier finden kannst.

Ist das erledigt, runden wir es mit einer phpmyadmin-Oberfläche ab und sind soweit fertig mit dem Server. Auf ihn legen wir nun die Webseite. Kopiere dazu alle diese Dateien in den html Ordner auf deinem Pi. Du findest ihn unter /var/www/html

Dann rufst du die Website mit einem Computer oder Smartphone auf. Im lokalen Netzwerk entspricht ihre URL der IP-Adresse vom Pi. Die könnte dann zum Beispiel so aussehen: 192.165.176.28

Du befindest Dich mit dem Browser auf der Startseite. Die sieht ein bisschen leer aus, nicht wahr? Kein Problem! Gefüttert wird sie über die Datenbank. Die haben wir zwar eingerichtet, aber noch nicht befüllt. Um das zu tun, benötigt die Webseite den Zugang zu dieser Datenbank. Gib in der Datei con.php die Zugangsdaten zu der Datenbank ein. Das geht zum Beispiel über den Befehl:

sudo nano con.php

Nun kann die Seite auf die Datenbank zugreifen, aber noch keine passenden Daten finden. Über phpmyadmin lässt sich nun eine Tabelle erstellen und mit geeigneten Werten füllen. Hier siehst Du ein Beispiel von einer solchen Tabelle:

Struktur der Tabelle in der MySQL-Datenbank (Klicken zum Vergrößern)

Die Schalter haben einen Namen, jeweils einen Befehl zum Ein- und Ausschalten und einen Typ. Für letzteren solltest du 'btn’ angeben. Die Spalte für den Typ gibt es, weil vielleicht jemand noch andere Typen von Schaltern hinzufügen möchte. Zum Beispiel Schieberegler oder Ähnliches.

Wie die Befehle zum Schalter aussehen müssen, ist im ersten Teil erschöpfend erklärt. Beachte dabei, dass bevor der Befehl ausgeführt werden kann, Du über den cd-Befehl in das richtige Verzeichnis wechseln musst. Wechsel danach wieder in das Standardverzeichnis. Kombiniere die Befehle für den Verzeichniswechsel und das Senden mit &&. Auf diese Weise lassen sich alle Befehle in einem Rutsch abfertigen und gut in dem dafür vorgesehenen Feld der Tabelle speichern.

Nun kannst Du die Seite endlich auf dem PC oder Smartphone aufrufen und mit ihr dem Pi befehlen, die Steckdosen zu steuern.

Kommentare

Abgeben

Jan

Falls die Befehle wider Erwarten nicht ausgeführt werden, kann das an fehlenden Berechtigungen des Ordners var/www liegen. Hier erfährst Du, wie sich das beheben lässt: http://stackoverflow.com/questions/3173201/sudo-in-php-exec

Hat da jemand den Instagram Account vom Amokläufer David S. gefunden?

Die perfekte Pizza selber machen: So geht's!

The Legend of Zelda: Breath of the Wild – Das erwartet Dich...

Kryptografie und warum sie eine Kriegswaffe ist

Anzeige

Anzeige