Aktualisierter Artikel: https://viktorkirilov.me/post/home-automation-raspberry-pi/
https://youtu.be/wh0OoLUTeM8
Seit meiner Kindheit interessiere ich mich für Elektronik und andere Mechanismen. Zuvor habe ich verschiedene kleine Projekte mit Arduino durchgeführt, wie zum Beispiel eine Handbremse für mein Gaming-Lenkrad, einen maßgeschneiderten LED-Drehzahlmesser für mein Auto (siehe mein Github-Repo), sprachgesteuerte LEDs und so weiter. Kürzlich habe ich Raspberry PI 3 gekauft und angesichts des ganzen IoT-Hypes beschlossen, mit der Automatisierung meines Zuhauses zu beginnen.
Da ich mit Javascript und seinem Ökosystem ziemlich vertraut bin, habe ich beschlossen, meine eigene Telefon-App über react native
zu erstellen und sie über websockets
mit NodeJS
Backend zu verbinden. Ich verwende die Datensätze von ImmutableJS für die Konsistenz der Datenstruktur und die Leistung der App. Die Daten werden zwischen dem Client und dem Server über JSON-Strings gesendet, die beim Empfang auf beiden Seiten wieder in unveränderliche Datensätze umgewandelt werden. Ich habe die gemeinsam genutzten Module (zwischen Client und Server) in separate lokale npm-Pakete aufgeteilt – Home-Records und Home-Config. Für die GPIO-Steuerung (Pins der Himbeere) habe ich pi-blaster
-Bibliothek zusammen mit wiringPi
verwendet. Da ich keine Codes für meine Klimaanlage finden konnte, habe ich sie selbst aufgezeichnet und zur lirc
Konfigurationsdatei hinzugefügt. Duckdns
Cron wird als dynamischer DNS verwendet, da sich meine IP-Adresse regelmäßig ändert und ich nicht jedes Mal die gesamte App neu kompilieren oder die Konfiguration ändern muss. Der Server sendet die Änderungen in Echtzeit an alle verbundenen Benutzer. Die Telefon-App befindet sich im Ordner /phone-app , der Server befindet sich in /server . Schauen Sie doch einmal vorbei.
Raspberry Pi 3
ist die Steuereinheit. Hochleistungsgeräte wie LED-Streifen werden über ein externes 12V 5A power supply
(gemeinsame Masse mit dem PI) mit Strom versorgt. Die Klimaanlage wird über eine 950-nm-Infrarot-LED gesteuert. Das Heizsystem ist über ein Relais (ein und aus) und ein Servo für den Thermostat verkabelt, da ich eine Demontage vermeiden wollte. Sowohl der weiße LED-Streifen als auch der RGB-Streifen sind über IRLZ34N
Logiktransistoren mit dem PI verbunden. Es gibt auch einen IR-Empfänger, falls ich noch etwas aufnehmen möchte. Die Temperatur wird über den Temperatursensor DS18B20 gemessen.
Die Verkabelung sieht so aus:
Ich bin offen für alle möglichen Ideen zu verschiedenen Modulen. Wenn Sie Ideen im Kopf haben, wäre ich Ihnen dankbar, wenn Sie diese im Issue-Tracker hinzufügen und als Idea
kennzeichnen.