Web-fähige Home Thermostat (und Home-Automation-Hub)


Diese Instructable erklärt wie ich WiFi-fähige Thermostate für mein Haus gebaut. Die Thermostate sind programmierbar mit 6 verschiedenen Zeiträumen während des Tages, obwohl die, die auf jede beliebige Anzahl zunehmen wäre ziemlich trivial. Sie sowohl programmiert (im Sinne von Rüstzeiten und Temperaturen) als auch über das Internet gesteuert werden können, und sie haben ein Touchscreen-LCD-Display für Vorort-Steuerung. Und ich verbrachte (und weiterhin ausgeben) eine ganze Menge Zeit damit, zu anständig; Immerhin ist dies etwas, das an meiner Wand hängt, und meine Familie und ich werden sehen es jeden Tag.

Eine offensichtliche Frage ist "warum jemand wollen würde, dies zu tun, wenn es viele WiFi-fähigen Thermostate für Verkauf im Handel gibt?" Eine mögliche Antwort wäre, Geld zu sparen. Aber es stimmt, zwar, dass diese weniger als einige kommerzielle Modelle zu errichten, wenn Sie in Ihrer Zeit Faktor Kosten könnte wird dies eine schlechte Antwort! Bessere Antworten würde, haben Spaß dabei (Ich habe), oder einen Thermostat zu bauen, den Sie programmieren können, ausführen und interagieren mit anderen Geräten in irgendeiner Weise gewünscht. Ich baute diese als Teil eines größeren Hauptenergie-Management-Systems, und vielleicht werde ich ein anderes Instructable auf, die später. Und als Bonus: die Drehscheibe für die Thermostate ist als Drehscheibe für eine komplette home-Automation-System einsatzbereit!

Eine zweite offensichtliche Frage ist welche Art der formalen Qualifikationen oder einschlägige Erfahrungen habe ich in diesem Bereich, und die Antwort ist absolut nichts – kein Hintergrund mit HLK-Anlagen, ohne Hintergrund in der Programmierung, ohne Hintergrund in der Elektronik. Also, wenn Sie sich entscheiden, Ihre eigenen Thermostaten zu bauen, sollten Sie nicht einfach blind kopieren, genau das, was ich hier habe, und schließen Sie ihn an Ihre Wand. Dieses Projekt erfordert präzise, analytische Denken, und Sie müssen verstehen, die Art der HVAC-System haben, überprüfen und ändern alle Code und Strecken je nach Bedarf und stellen Sie sicher, dass Sie verstehen, was du tust und die Folgen der immer falsch. Nichtbeachtung könnte Ihr HVAC System zerstören, einen Stromschlag Ihre lieben oder Ihr Haus niederbrennen. Ernst! Ich begrüße natürlich Feedback von Wer hat Kenntnisse in diesen Bereichen, wie ich diese Thermostate besser machen könnte.

Und natürlich, ich hätte nicht ohne all die harte Arbeit von den Leuten, die die verschiedenen Bibliotheken verwendet, erstellt die Menschen nahm sich die Zeit zu setzen Informationen über das Web in Instructables, Foren und Blogs und die vielen Menschen, die mir geholfen mit Beratung und Antworten auf meine Fragen haben. Besonderen Dank an Mark Pendrith, war besonders hilfsbereit und gab mir den Code, der die Grundlage der Arduino Skizze bildet.

Zu guter Letzt in den Prozess der ändern von Dateien mit nur die Thermostate (im Gegensatz zu den größeren Hauptenergie-Management-System) zu arbeiten, sowie die Erinnerung an alles, was ich im Laufe der Zeit, diese zu arbeiten, werden ohne Zweifel einige Fehler hier. Lass es mich wissen, wenn Sie alle fangen und ich versuchen werde, ihnen so schnell wie möglich korrigiert.

Mit all dem aus dem Weg, hier ist getan was ich habe:

Das System verwendet ein Raspberry Pi als zentrale Drehscheibe, die Web-Seiten dient, so dass ich die Thermostate von überall steuern können. Der Hub auch kümmert sich um alle die drahtlose Kommunikation über Funk-Module-nRF24L01 + (ich weiß, ich sagte "WiFi" und das nRF24L01 + Funk-Modul ist nicht technisch WiFi, aber dazu später mehr), und unterhält eine MySQL-Datenbank mit dem Thermostat Programmierung so gut wie jede Datenaufzeichnung ich tun. Und schließlich die Nabe läuft zwei Servern in Python geschrieben – einer steuert der Thermostat (als Vermittler zwischen der Webseite und der Thermostat) und den anderen Griffe Daten protokollieren. Ich glaube, dass dies wahrscheinlich mit den Thermostaten jede dienen eigene einfache Webseite und senden von Daten direkt an die MySQL-Datenbank getan werden könnte. Dies würde den Lighttpd Webserver und die zwei Python-Server überflüssig. Aber ich habe das Gefühl, tun dies auf der Nabe bietet die Einfachheit einer einzigen Website, und die Python-Server bieten viel Flexibilität. Außerdem habe ich nicht, den Code an den Thermostaten zu aktualisieren, wann immer ich, diese Aspekte zu ändern will.

Wenn Sie wirklich in diesem Graben, werden Sie wahrscheinlich Fragen, warum mit einer MySQL-Datenbank anstelle des Schreibens nur ein wenig Daten in eine Textdatei bei Bedarf. Die primäre Antwort ist, dass ich die MySQL-Datenbank für andere Teile von meinem System brauche, aber wenn alles was, die ich hatte die Thermostate waren, es wäre ziemlich einfach nur zu beseitigen die Datenbank und mit Text-Dateien zu ersetzen.

So funktioniert der Kommunikationsfluss im Wesentlichen wie folgt.

Benutzerupdates auf Website

Ein Benutzer steuert oder Programme einen Thermostat auf eine Web-Seite in PHP (meist ein wenig Javascript) geschrieben.

Diese Website speichert alle Änderungen an der MySQL-Datenbank und sendet eine Anweisung auf dem Python-Kontroll-Server.

Die Python-Kontroll-Server interpretiert diese Anweisungen aktualisiert eine interne Repräsentation des Thermostats und sendet die entsprechenden Anweisungen an den physischen Thermostat über das RFX-Netzwerk.

Benutzerupdates am Thermostat

Ein Benutzer steuert einen Thermostat mit der Touchscreen-Steuerung.

Das Thermostat sendet die Änderungen an den Python-Kontroll-Server.

Die Python-Kontroll-Server aktualisiert eine interne Repräsentation des Thermostats und speichert alle Änderungen an der MySQL-Datenbank.

Thermostat hat Daten zum Protokoll oder Nachrichten speichern

Das Thermostat sendet Daten oder eine Nachricht an den Python-Datenlogging-Server anmelden.

Der Datenlogging-Server speichert entweder, dass Daten in die MySQL-Datenbank oder in einer Log-Datei auf dem Typ der Nachricht basierend.

Thermostat Temperatur verändert sich automatisch nach einem Programm festgelegt

Die Python-Kontroll-Server überwacht das Programm für den Thermostat und bestimmt, wenn die eingestellte Temperatur ändern sollte.

Die Python-Kontroll-Server aktualisiert eine interne Repräsentation des Thermostats und sendet die neue eingestellte Temperatur an den Thermostaten.

Also, mit diesen Überblick hinter uns unten sind Details wie ich dies eingestellt werden. Der erste Schritt listet die Versorgungsmaterialien und Werkzeuge, die ich verwendet. Die nächsten Schritten die Instructable decken, wie ich die Hardware und Software-Infrastruktur für den Hub einrichten. Die meisten davon enthalten Anweisungen unter Bezugnahme – es gibt viele Orte, um gute Informationen darüber, wie, zum Beispiel, einzurichten, eine MySQL-Datenbank auf einem Raspberry Pi, so dass ich nicht versuchen, die Replikation. Dann, wenn die Infrastruktur vorhanden ist, gebe ich deutlich mehr Details auf, wie ich gebaut, die tatsächliche Thermostate sowie den Code, den ich verwenden, um sie zu kontrollieren.

In Verbindung stehende Artikel

Der Raspberry Pi-Arduino-SignalR Home Automation Hub

Der Raspberry Pi-Arduino-SignalR Home Automation Hub

Nach ein paar von meinen Prelude IBLEs veröffentlicht hier und hier, dieses Projekt nimmt den erste Schritt zum Aufbau einer Basisversion eines funktionalen Automation-Hubs.Ich habe mehrere verschiedene Technologien in einer Bemühung sinnvoll davon,
Bauen Sie Ihr eigenes Home Automation und Monitoring System

Bauen Sie Ihr eigenes Home Automation und Monitoring System

In dieser Instructable gehen ich Sie durch die Schritte, um eine ED-E (EDison-Esp8266, ausgesprochen Eddie) zu bauen. ED-E ist eine Home Automation und Monitoring-System mit Intel Edison und Esp8266 gebaut. ED-E besteht aus zwei Teilen:Die Basiseinhe
Home-Automation mit MQTT und NodeMcu oder Arduino

Home-Automation mit MQTT und NodeMcu oder Arduino

Home-Automation ist eine neue Buzz jetzt Tage... Es gibt so viele open-Source-Hardware zur Verfügung, um Ihr eigenes home-Automation zu bauen. So viele Werkzeuge, seine leicht zu verwechseln, Sie entscheiden, welche ist am besten / geeignet für Sie.
Home Automation Himbeere und Phidgets Teil 3

Home Automation Himbeere und Phidgets Teil 3

Dies ist der dritte Artikel in Home-Automation mit Phidgets und Himbeere.In früheren Artikeln sahen wir, wie zur Interaktion mit der digitalen Ausgänge und digitale Eingänge.Jetzt werden wir sehen, wie die Werte von einigen Sensoren direkt auf Ihrem
Home Automation mit Knoten Js, Raspberry Pi und Heimcontrol

Home Automation mit Knoten Js, Raspberry Pi und Heimcontrol

Im Tutorial machen Übersicht über die Verwendung Heimcontrol Plattform (ist NodeJs Anwendung für home-Automation Open Source unter der MIT-Lizenz)Einige der dort Funktionen:Responsive : das responsive Design ermöglicht Ihnen die komfortable Kontrolle
Home Automation Himbeere und Phidgets

Home Automation Himbeere und Phidgets

In vorherigen Tutorials haben wir Raspberry Pi zu fahren Phidgets InterfaceKitverwendet. Wir haben auch einen Webserver auf Himbeere eingerichtet.In diesem Tutorial verwenden wir verwaltet die gesammelten Informationen, um eine Home Automation System
Raspberry Pi-Home-Automation - Kontrolle Leuchten, Computer, CCTV und vieles mehr!

Raspberry Pi-Home-Automation - Kontrolle Leuchten, Computer, CCTV und vieles mehr!

Hey Jungs, zunächst einmal möchte ich mich an alle vorstellen. Mein Name ist Jack, allgemein bekannt als Jackk oder JackkTutorials über auf YouTube wo ich Technik Tutorials aber hauptsächlich abdecken, Hacking & Security und andere nützliche Dinge, d
Steuern, home-Automation und Sicherheit mit X10

Steuern, home-Automation und Sicherheit mit X10

In diesem instructable ich würde gerne einige Erfahrungen ich mit X10 habe und benutze es, um home-Automation, Sicherheit zu Hause und senken Ihre Heimat Versicherung Rechnung zu kontrollieren. Ich werde nicht um zu beschreiben, jede einzelne Methode
Home-Automation-System mit Arduino und SIM900 GSM-Modul

Home-Automation-System mit Arduino und SIM900 GSM-Modul

Hallo! Als ich mein Studium an der Fakultät für Ingenieurwissenschaften fast fertig habe, musste ich eine Diplomarbeit zu machen und mein Gedanke war, eine atemberaubende Sache machen (ich weiß, das ist komisch: D), allen zu zeigen, dass ich ein gute
Small Home Automation mit Intel Edison und Microsoft Azure

Small Home Automation mit Intel Edison und Microsoft Azure

IoT steht für "Internet of Things" ist eine Entwicklung des Internets wo soll es für jedes Gerät, Netzwerkverbindung, damit sie zum Senden und empfangen von Daten. Und noch wichtiger, Themselvesto andere Geräte identifizieren.Dies könnte fast al
DIY-Home-Automation für Anfänger.  Absolut keine Codierung oder Löten erforderlich.  Android/Arduino zum Dinge an und Ausschalten

DIY-Home-Automation für Anfänger. Absolut keine Codierung oder Löten erforderlich. Android/Arduino zum Dinge an und Ausschalten

Dieser Instructiable richtet sich an absolute Anfänger. Wenn Sie ein scharfes Messer spanlos verarbeiten kann können Ihre Finger von Ihnen machen und home-Automatisierungscontroller anpassen.Diese Anweisungen sind auch online auf www.pfod.com.au unte
Home Automation mit ATTiny und Handy-

Home Automation mit ATTiny und Handy-

In unserer Hütte in den Wäldern haben wir keine zuverlässige Internetverbindung. Im Winter ist es sehr kalt, wenn wir betreten und es dauert ein paar Stunden, bevor das Haus erwärmt sich beim Einschalten auf die Fußbodenheizung nach kommen wir ins Sp
Home Automation mit Arduino und Bluetooth-

Home Automation mit Arduino und Bluetooth-

Die "Home Automation System"(HAS) Konzept existiert bereits seit vielen Jahren. Die Begriffe "Smart Home", "Intelligent Home" folgte und wurde verwendet, um das Konzept der Netzwerk-Geräte und Geräte im HausHome-Automation-Sy
432 MHz Funksensoren und Steckdosen für home-Automation mit Arduino

432 MHz Funksensoren und Steckdosen für home-Automation mit Arduino

Home Automation wird mehr und mehr populär, erschwinglich und fasziniert Menschen. Internet bietet solche Möglichkeiten wie nie zuvor. Beeindrucken Sie Ihre Freunde auf dem Iphone zeigt, dass Sie ein-/ Lampe in Ihrer Wohnung 1000 km entfernt ausschal