Inhaltsverzeichnis:
- Schritt 1: Einrichten des Servers und der Abhängigkeiten auf dem Raspberry Pi
- Schritt 2: Installieren Sie das Web Framework und die Konfiguration für NGiNX
- Schritt 3: Einrichten der Python-Skripte, die mit dem GPIO interagieren
- Schritt 4: Abschluss auf der PHP-Seite der Dinge
- Schritt 5: Erstellen der Schaltung
- Schritt 6: Abschlussprüfung
- Schritt 7: Bonusteil: Old-School Clapper Trigger
Video: Lichtschalter - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:19
In diesem Projekt werde ich beispielhaft zeigen, wie man ein komplett kabelloses Lichtsteuerungssystem mit einem zusätzlichen Bonus am Ende erstellt. Folgen Sie für das vollständige Tutorial.
Anforderungen:
- Raspberry Pi (jeder Geschmack ist in Ordnung, aber ich habe das 3B+-Modell verwendet)
- Zwei 2n2222-Transistoren (ich empfehle den Kauf von mindestens fünf, da die Wahrscheinlichkeit groß ist, dass Sie versehentlich einige kurzschließen)
- Male-to-Male und Male-to-Female Überbrückungskabel
- Steckbrett
- (optional aber empfohlen) Breadboard 5V Netzteil
- Jeweils zwei 1k- und 10k-Widerstände
- Dual-Relais-Modul
- Zwei alte Hauslampen oder andere Beleuchtungsgeräte (verwenden Sie LED-Lampen, da die Glühlampen während des Tests zum Verbrennen neigen)
- Klebeband und ein Kabelschneider zum Spleißen
Schritt 1: Einrichten des Servers und der Abhängigkeiten auf dem Raspberry Pi
Für mein Projekt habe ich NGiNX verwendet, obwohl Sie jeden beliebigen Server verwenden können (Apache2 usw.). Die Vanilla-Installation mit dem Paketmanager ist in Ordnung, es ist nicht erforderlich, unseren eigenen Quellcode oder ähnliches zu kompilieren. Außerdem benötigen wir PHP, Python3 und Composer.
- SSH in deinen PI und tippe $sudo nano /etc/dhcpcd.conf
- Konfigurieren Sie die statischen IP-Parameter
- Starten Sie Ihren PI neu
- Überprüfen Sie, ob alles funktioniert, indem Sie {the_ip_you_chose} in die Adressleiste Ihres Browsers eingeben (Sie sollten die Willkommensseite von nginx sehen)
Schritt 2: Installieren Sie das Web Framework und die Konfiguration für NGiNX
Wir möchten eine Website haben, auf die wir von unserem mobilen oder Desktop-Browser aus zugreifen können Routing und Styling für uns.
- Gehen Sie zur Yii2-Installationsseite und installieren Sie es mit Composer in /var/www/html/light-switch
- Wir werden noch nichts sehen, da wir unsere Konfigurationsdatei für den Server noch nicht eingegeben haben
- Ich habe die Datei (Standard) an diesen Schritt angehängt
- Verwenden Sie es unverändert mit diesem Framework oder suchen Sie online nach einem anderen, wenn Sie ein anderes Backend bevorzugen
- Sie müssen diese Datei in /etc/nginx/sites-available/ ablegen
- Laden Sie NGiNX neu mit $sudo systemctl reload nginx
- Falls etwas nicht funktioniert, können Sie $sudo nginx -t ausführen, um die Konfigurationsdateien zu debuggen
Schritt 3: Einrichten der Python-Skripte, die mit dem GPIO interagieren
Da PHP nicht so gerne mit Laufzeitskripten wie der GPIO-API spielt und Python mit Web-Apps nicht sehr freundlich ist, werden wir jedes von ihnen in ihrem vorteilhaften Kontext verwenden. An diesen Schritt angehängt finden Sie die 4 notwendigen Python-Skripte, die mit den Pins interagieren und die Lichter auslösen. Platzieren Sie die Skripte, wo immer Sie möchten, aber notieren Sie sich ihre Position, da wir sie im nächsten Schritt benötigen, wenn wir die PHP-Seite der Dinge einrichten.
Schritt 4: Abschluss auf der PHP-Seite der Dinge
Alles, was wir tun müssen, ist, einige der Standardpfade und -seiten aus dem Hauptlayout zu entfernen und einige Codezeilen im SiteController sowie eine neue Methode namens actionLightswitch() hinzuzufügen. Danach werden die Python-Skripte aus dem vorherigen Schritt ausgeführt, die wiederum die GPIO-Pins befehlen.
Schritt 5: Erstellen der Schaltung
Aufgrund der Natur dieses speziellen Relaismoduls (es schaltet, wenn es mit GND verbunden ist) müssen wir die Schaltung mit Transistoren aufbauen. Der PI öffnet nur den Transistor, der den Strom von den Relaisdatenstiften zu GND fließen lässt, wodurch die Spule ausgelöst und der Stromkreis für die Lampen geschlossen wird. Folgen Sie den Schaltplänen in den beigefügten Bildern und Sie können loslegen.
Für diesen nächsten Teil müssen Sie sehr vorsichtig sein, da es Zeit ist, das Relais anzuschließen. Zuerst alles ausstecken! Das Relais hat 3 Ports pro Anschluss. Wir werden unsere Gerätekabel an das mittlere und das mit dem offenen Zeichen anschließen. Spleißen Sie das Kabel vorsichtig, um die Kupferleiter freizulegen, und stecken Sie sie in die oben genannten Relaisanschlüsse. Die Reihenfolge spielt keine Rolle, da wir jetzt mit Alternativstrom arbeiten.
Schritt 6: Abschlussprüfung
Überprüfen Sie Ihre Schaltung und die zugewiesenen Pins mindestens zweimal, verbinden Sie dann den PI mit der Stromversorgung und geben Sie {the_chosen_ip} in die Adressleiste des Browsers ein. Die erste Seite wird unsere beiden Schalter haben. Klicken Sie darauf und beobachten Sie, wie die Lichter ein- und ausgeschaltet werden.
Schritt 7: Bonusteil: Old-School Clapper Trigger
Anforderungen:
- ein beliebiges USB-Mikrofon (es muss kein hochwertiges sein)
- ALSA-Paket (die Installationsmethode hängt von Ihrer Distribution ab)
- PyAudio-Modul
Kopieren Sie das angehängte Python-Skript und schließen Sie Ihr Mikrofon an. Starten Sie den PI neu. Führen Sie das Skript aus und befolgen Sie die Anweisungen der Konsole. Nähern Sie sich dem Mikrofon und klatschen Sie zweimal in die Hände. Sie sollten sehen, dass das Klatschen in der Konsolenausgabe registriert wird, und wenn dies erfolgreich ist, schalten sich beide Lichter nach 2 Sekunden ein.