Inhaltsverzeichnis:

Wifi-Lichtschalter Raspberry Pi Webserver - Gunook
Wifi-Lichtschalter Raspberry Pi Webserver - Gunook

Video: Wifi-Lichtschalter Raspberry Pi Webserver - Gunook

Video: Wifi-Lichtschalter Raspberry Pi Webserver - Gunook
Video: Raspberry Pi light switch 2024, November
Anonim
Wifi Lichtschalter Raspberry Pi Webserver
Wifi Lichtschalter Raspberry Pi Webserver

Ich wollte den Lichtschalter in meinem Schlafzimmer steuern, ohne aus dem Bett aufstehen zu müssen, also wollte ich ihn von meinem Telefon aus steuern können. Ich hatte ein paar zusätzliche Einschränkungen, ich wollte es einfach von jedem Gerät aus steuern können, ich wollte den Lichtschalter wie gewohnt verwenden und ich konnte nicht viel an der Hardware ändern, während ich die Wohnung miete.

Ich beschloss, einen Raspberry Pi zu verwenden, um einen Servomotor zu steuern, der den Schalter bewegen würde. Der Raspberry Pi würde einen Webserver ausführen, auf den ich im lokalen Netzwerk zugreifen könnte. Links auf der Website auf diesem Server würden es mir ermöglichen, den Schalter ein- und auszuschalten. Durch das Entregen des Servos zwischen den Schaltvorgängen konnte ich auch den Lichtschalter wie gewohnt verwenden.

Schritt 1: Materialien

Raspberry Pi

Servomotor:

smile.amazon.com/gp/product/B0015H2V72/ref…

Drahtmuttern

Überbrückungsdrähte

Schritt 2: Schritt 1: Einrichten des Raspberry Pi

Dazu gibt es verschiedene Möglichkeiten. Wenn Sie einen HDMI-Monitor und eine USB-Tastatur zur Hand haben, denke ich, dass es etwas einfacher ist. Andernfalls können Sie ein "headless"-Setup durchführen.

Hier ist ein gutes Tutorial für ein Headless-Setup unter Windows:

www.circuitbasics.com/raspberry-pi-basics-…

Und eine für Mac:

www.circuitbasics.com/raspberry-pi-basics-…

Am einfachsten ist es jedoch, eine SD-Karte mit NOOBS zu laden, den Pi hochzufahren, während er mit einem Monitor und einer Tastatur verbunden ist, und einfach die Konfiguration durchzugehen. Dieses Tutorial erklärt es ziemlich gut:

www.circuitbasics.com/raspberry-pi-basics-…

Wenn Sie kein Headless-Setup durchgeführt haben, sollten Sie trotzdem SSH vorbereiten, es ist für den Rest erforderlich. Dazu verwende ich Putty. Holen Sie es hier:

www.circuitbasics.com/raspberry-pi-basics-…

Und wenn Sie die IP-Adresse Ihres Pi nicht kennen, können Sie einen erweiterten IP-Scanner verwenden:

Geben Sie dann einfach die IP-Adresse für das Pi in Eingabe für Hostname/IP-Adresse ein, lassen Sie den Port auf 22 und klicken Sie auf Öffnen. Sie werden zur Anmeldung aufgefordert.

Schritt 3: Schritt 2: Webserver einrichten

Schritt 2: Webserver einrichten
Schritt 2: Webserver einrichten

Zum Ausführen des Webservers habe ich Apache verwendet. Sie können dies mit dem Befehl installieren:

sudo apt-get install apache2

Dies sollte Ihnen standardmäßig eine Splash-Seite anzeigen, wenn Sie zur IP-Adresse Ihres Pi navigieren. Es sollte wie im Bild unten aussehen.

Schritt 4: Schritt 3: Erstellen Sie die Website

Schritt 3: Erstellen Sie die Website
Schritt 3: Erstellen Sie die Website
Schritt 3: Erstellen Sie die Website
Schritt 3: Erstellen Sie die Website

Sie möchten die Standard-Splash-Seite durch Ihre Website ersetzen, die den Servomotor steuern kann. Das erste, was ersetzt werden muss, ist die Indexdatei. Ihre Indexdatei für die Website sollte sich in /var/www/html befinden. Verwenden Sie Ihren bevorzugten Texteditor, um die Datei zu erstellen, oder kopieren Sie die Datei einfach hierher, indem Sie so etwas wie winscp verwenden. Fügen Sie "index.php" an diesem Ort hinzu, Sie müssen es selbst erneut als PHP-Datei speichern, da ich es nicht als solche hochladen konnte. Diese PHP-Datei erstellt eine sehr einfache Website mit zwei Links, einem zu "cgi-bin/off.py" und einem zu "cgi-bin/on.py". Dies sind zwei Python-Skripte, die die Position des Servomotors ändern.

Die Python-Skripte müssen an einem anderen Ort abgelegt werden, damit Apache ausgeführt werden kann. Sie müssen in den cgi-bin gelegt werden. Hier werden Dateien abgelegt, wenn sie im Common Gateway Interface ausgeführt werden sollen, das die Ausführung von Skripten auf dem Pi ermöglicht. Navigieren Sie zu /usr/lib/cgi-bin und fügen Sie die beiden Dateien "on.py" und "off.py" hinzu.

Schritt 5: Schritt 4: Montieren Sie den Motor

Schritt 4: Montieren Sie den Motor
Schritt 4: Montieren Sie den Motor

Ich fand ein tolles Teil von einem anderen Hersteller, um ein Servo so zu montieren, dass es einen Standard-Lichtschalter umlegen kann. Die 3D-Dateien dazu finden Sie hier:

github.com/suyashkumar/smart-lights

Dies ist für ein Servo in Standardgröße, wie im Abschnitt "Teile" aufgeführt. Drucken Sie diese aus oder drucken Sie sie aus und montieren Sie sie dann an Ihrem Lichtschalter.

Schritt 6: Schritt 5: Verdrahten Sie das Pi und den Motor

Schritt 5: Verdrahten Sie den Pi und den Motor
Schritt 5: Verdrahten Sie den Pi und den Motor

Ich habe den Pi mit einem Micro-USB versorgt. Ich habe einen anderen Micro-USB abgespalten und die Masse und die Stromversorgung für das Servo daran angeschlossen. Ich teilte den Boden zwischen dem Pi und dem Servo. Ich habe dann den Signalpin für das Servo mit GPIO18 auf dem Pi verbunden.

Schritt 7: Schritt 6: Skripte konfigurieren

Schritt 6: Skripte konfigurieren
Schritt 6: Skripte konfigurieren

Sie müssen ein wenig mit Ihrem Setup herumspielen, um herauszufinden, welche Werte für Sie On und Off entsprechen. Mit dem Pi können Sie mit ziemlich einfachen Befehlen von der Befehlszeile aus in das gpio schreiben. Um gpio 18 zu einem PWM-Pin zu machen, verwenden Sie den Befehl:

gpio -g-Modus 18 pwm

dann konfiguriere die pwm mit:

gpio pwm-ms

gpio pwmc 192

gpio pwmr 2000

Dies sind nur vernünftige Werte für die PWM-Frequenzkonfiguration. Nächste Verwendung:

gpio -g pwm 18 120

Wo Sie 120 ändern, um geeignete Werte für die Ein- und Aus-Position zu finden.

Wenn Sie die entsprechenden Werte für Aus und Ein gefunden haben, ändern Sie diese Werte mit einem Texteditor in den jeweiligen Skripten für die beiden Positionen. Die Stelle, an der die Änderung vorgenommen werden soll, ist im Bild hervorgehoben.

Schritt 8: Schritt 7: Testen Sie es

Image
Image
Wireless-Wettbewerb
Wireless-Wettbewerb

Gehen Sie zur IP-Adresse des Pi, auf dem Sie eine Webseite mit einem Link zum Ein- und Ausschalten sehen sollten. Jede Seite wird auch einen Link zur anderen Seite haben.

Es ist praktisch, dem Startbildschirm Ihres Telefons eine Verknüpfung zu diesen Seiten hinzuzufügen, um den Zugriff zu erleichtern.

Empfohlen: