Home > Hausautomatisierung > Raspberry Pi Heimautomation mit Webinterface und Smartphone – Teil 2

Raspberry Pi Heimautomation mit Webinterface und Smartphone – Teil 2

Der Vorteil von Webanwendungen zur Heimautomatisierung besteht darin das sich diese von jedem beliebigen Gerät im Heimnetzwerk bedienen lassen und unabhängig von einer Plattform sind. Zur Ansteuerung von Funksteckdosen oder anderen Geräten die auf 433MHz arbeiten bietet sich daher eine Webanwendung an. Das Tutorial wurde auf Jessie / Stretch getestet und aktualisiert.

Hardware

Vorbereitung

Um einen Webserver installieren und verwenden zu können muss der Raspberr Pi über eine aktive Netzwerkverbindung in eurem Heimnetz verfügen. Falls ihr das Netzwerk noch nicht eingerichtet habt hilft euch das Tutorial Wifi einrichten.

Installation des Web Servers

Im ersten Schritt müssen wir auf dem Raspberry Pi einen Webserver mit PHP einrichten. Als erstes führen wir mit „Update & Upgrade eine Aktualisierung der Repositories und der bereits installieren Software durch und installieren dann „git-core“. Danach installieren wir die Pakete für den Webserver „Apache2“ und die Programmiersprache „PHP“.

Der Erfolg der Installation kann durch öffnen der Apache Seite in eurem Browser geprüft werden gebt hierzu die IP-Adresse des RasPi in eurem Browser ein. Zum Beispiel oder http://raspberrypi

Einrichtung des Web Servers und Steuerung der Funksteckdosen

Die Dateien aus meinem Beispiel könnt ihr hier herunterladen.

Webinterface

Infos

Nach der Installation können wir mit der Einrichtung des Webservers beginnen, wir benötigen zur Steuerung von Funksteckdosen oder sonstigen 433MHz Geräten eine Webseite die uns das Ansprechen des im Teil 1 erstellten Programms „send“ durch einen einfachen Klick im Browser abnimmt. Der PHP Code zum Ausschalten der Steckdose 1 mit dem Homecode 11010 lautet zum Beispiel:

Ich habe euch eine simple beispiel Webanwendung zusammengestellt die folgendes übernimmt:

  •  Weckfunktion (Anschalten definierter Steckdosen zu einem Zeitpunkt)
  • Ausschalten aller Steckdosen

Der PHP Code ist sehr einfach zu verstehen und kann natürlich durch euren eigenen Code ergänzt werden. Die Datei „index.php“ enthält die Benutzerschnittstelle, die Datei „Wecker.php“ und die Datei „Ausschalten.php“ welche die eigentliche Steuerung übernehmen. Insofern ihr für euren Hauscode und die Steckdosen Nr. die selben Werte wie in meinen Beispielen verwendet habt sind keine Anpassungen notwendig, andernfalls müsst ihr in den Dateien „wecker.php“ und „Ausschalter.php“ die Codes ändern.

Hauptseite

Die Hauptseite „index.php“ enthält folgenden Code und dient als Schnittstelle für das Ausschalten und die Wecker Funktion.

Möchtet ihr Anstelle alles Auszuschalten eigene Buttons hinterlegen könnt ihr einfach folgende Zeile kopieren und das „OnClick“ Event und die Beschreibung durch eigene Ersetzen. Zum Beispiel „Anschalten()“ durch „Anschalten()“ und den Text in „Alles anschalten“. Hiernach muss dann nur noch eine passende Script Datei „Anschalten.php“ existieren, am besten ihr kopiert die ausschalten.php und modifiziert diese nach euren wünschen.

Webserver einrichten

Um die Anwendung nun über das Heimnetzwerk erreichbar zu machen müssen die einzelnen Dateien und Ordner nach „/var/www“ herunterladen . Ihr könnt euch die fertigen Dateien aus meinem Beispiel auch hier herunterladen oder via wget abholen

Dann entpacken wir den inhalt und entfernen die zip date

Hiernach müsst ihr noch die Berechtigungen auf „/var/www“ anpassen (in dieser Konfiguration sollte aus Sicherheitsgründen der RasPi nur im Heimnetz erreichbar sein):

Wir passen noch das Standard Verzeichnis in der Apache Webserver konfiguration an

Ändert die Zeile

In folgendes

Speichert mit STRG+X,Y und Enter. Wir starten den Webserver neu und können nun das Beispiel betrachten

Öffnet hierzu im Browser

  • http://raspberrypi/                  oder
  • http://<UP-Adresse>/               via Befehl ifconfig kann die IP herausgefunden werden

beispiel webserver

Nachdem die Dateien auf den RasPi kopiert und die Rechte geändert wurden könnt ihr die Webseite über euren Rechner oder euer Smartphone einfach via http://ip-eures-raspi oder über http://raspberrypi aufrufen.

Viel Spass!

Über raspberry.tips

11 Kommentare

  1. Guten Abend,

    1. sudo apt-get install apache2 php gunktioniert nicht, da er das php paket nicht findet

    2. Der Webserver funktioniert aber die Einbindung der PHP-Files nicht. Ich kann sie auch nicht einzeln öffnen. Could not open input file: wecker.php .

  2. Guten Abend,

    iwie bekomme ich die Einrichtung des Webservers nicht hin.

    Alle Dateien wurden runtergeladen und an der richten Stelle platziert.
    WLAN ist funktioniert.

    Wenn ich http://raspberrypi aufrufe, kommt aber nur die Apache Seite zum Vorschein.

    Was kann ich tun?

    Gruß S.

    • Evtl. hat der Webserver die Index.php nicht als Standard Webseite hinterlegt? Probiere mal raspberrypi/index.php

      • funktioniert nicht, ich erhalte nur folgende Fehlermeldung:

        The requested URL /index.php{ was not found on this server.

        Apache/2.4.10 (Raspbian) Server at raspberrypi Port 80

        • Habe das Tutorial etwas aktualisiert um es einfacher zu machen, die Webserver Konfiguration und Installation ist nun Bestandteil des Tutorials.

          • Das ich nicht weitergerkommen bin habe ich die SD-Karte neu formatiert.
            Folgende Probleme habe ich jetzt:

            Mir fehlt der www-Ordner im var-Ordner. zudem kann er das php paket nicht finden.

            [email protected]:~ $ sudo apt-get install apache2 php
            Paketlisten werden gelesen… Fertig
            Abhängigkeitsbaum wird aufgebaut.
            Statusinformationen werden eingelesen…. Fertig
            E: Paket php kann nicht gefunden werden.

  3. Hi, ich habe da mal eine Frage: gibt es so soetwas auch für „normale“ – also direkt via Relais angeschlossene Steckdosen ?
    danke Peter

  4. Das Webinterface funktioniert.
    Leider werden beim Button Alles aus keine Befehle ausgeführt.

  5. Hallo,wie kann man erreichen, das die eingestellte Uhrzeit gespeichert bleibt, damit sie jeden Tag wieder wieder um die gleiiche Zeit schaltet.

    Gruß

    walter

  6. walter

    Hallo,ich habe auch diese Schaltung nachgebaut. Ich sehe die Webseite kann den Wecker einstellen. Das Programm sagt auch Wecker gestellt Aber es schaltet weder Ein Noch kann ich wenn ich händisch eingeschaltet habe, alles ausschalten. Kannst du mir einen Tip geben.

    Gruß

    walter

  7. Hallo,

    vielen Dank für diese Anleitung. Ist sie allerdings noch aktuell ? Habe die Dateien wie beschrieben eingespielt. Allerdings funktioniert dies bei mir nicht. Zumindest das Ausschalten der Steckdose nicht.

    Gruß
    Martin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.