Inhaltsverzeichnis:

Machen Sie Ihren eigenen angeschlossenen Heizungsthermostat und sparen Sie beim Heizen - Gunook
Machen Sie Ihren eigenen angeschlossenen Heizungsthermostat und sparen Sie beim Heizen - Gunook

Video: Machen Sie Ihren eigenen angeschlossenen Heizungsthermostat und sparen Sie beim Heizen - Gunook

Video: Machen Sie Ihren eigenen angeschlossenen Heizungsthermostat und sparen Sie beim Heizen - Gunook
Video: Digitales Thermostat anschließen und einstellen - Heizkosten sparen 🔥 2024, Juli
Anonim
Bauen Sie Ihr eigenes vernetztes Heizungsthermostat und sparen Sie beim Heizen
Bauen Sie Ihr eigenes vernetztes Heizungsthermostat und sparen Sie beim Heizen

Was ist der Zweck?

  • Erhöhen Sie den Komfort, indem Sie Ihr Haus genau so heizen, wie Sie es möchten
  • Sparen Sie und reduzieren Sie Treibhausgasemissionen, indem Sie Ihr Haus nur dann heizen, wenn Sie es brauchen
  • Behalten Sie die Kontrolle über Ihre Heizung, wo immer Sie sind
  • Sei stolz, dass du es selbst geschafft hast

Schritt 1: Wie erhöht es Ihren Komfort?

Wie erhöht es Ihren Komfort?
Wie erhöht es Ihren Komfort?

Sie definieren 4 verschiedene Temperaturanweisungen, die basierend auf Ihrem Zeitplan automatisch ausgewählt werden.

Sie geben Ihren Bedarf als erwartete Temperatur zu einer Tageszeit an und das System beginnt zum optimalen Zeitpunkt zu heizen, um Ihre Erwartungen zu erreichen.

Wenn Sie heute früher zu Hause sind, können Sie mit Ihrem Telefon den Beginn Ihrer Heizung antizipieren

Das System liefert eine sehr stabile Temperatur, die genau Ihren Bedürfnissen entspricht.

Schritt 2: Wie werden Sie Einsparungen erzielen und Treibhausgasemissionen reduzieren?

Wie werden Sie Einsparungen erzielen und Treibhausgasemissionen reduzieren?
Wie werden Sie Einsparungen erzielen und Treibhausgasemissionen reduzieren?

Wenn Sie Ihren Zeitplan kennen, heizt das System nur, wenn Sie es brauchen.

Das System berücksichtigt die Außentemperatur und optimiert die Heizung.

Wenn Sie heute später wieder zu Hause sind, können Sie den Heizbeginn mit Ihrem Telefon verschieben.

Sie können das System an Ihre Ausrüstung anpassen.

Schritt 3: Wie steuern Sie Ihre Heizung, wo immer Sie sind?

Wie steuern Sie Ihre Heizung, wo immer Sie sind?
Wie steuern Sie Ihre Heizung, wo immer Sie sind?

Das System ist mit WIFI verbunden. Sie verwenden Ihren Laptop, um den Zeitplan Ihres Systems einzurichten, abzustimmen und zu aktualisieren.

Außerhalb des Hauses verwenden Sie Ihr Telefon, um den Beginn Ihrer Heizung vorwegzunehmen oder zu verschieben

Schritt 4: Temperaturkontrolle

Temperaturkontrolle
Temperaturkontrolle

Für die Heizungsregelung wird ein PID-Regler verwendet.

Es wird verwendet, um den Weg zum Erreichen der erwarteten Temperatur zu steuern und sie so nah wie möglich am Ziel zu halten.

Die PID-Parameter können an Ihre Umgebung angepasst werden (siehe Tuning der Systemdokumentation).

Schritt 5: Anweisungscontroller

Anweisungscontroller
Anweisungscontroller

Ein Befehlsregler bestimmt die Startzeit des Heizens. Er berücksichtigt die Innen-, Außentemperatur und die Kesselleistung, um dynamisch den besten Zeitpunkt für den Heizstart gemäß Ihren Anforderungen zu bestimmen.

Diese Regelung kann mit dem Parameter "Reaktivität", den Sie ändern können, auf Ihre Bedürfnisse abgestimmt werden.

Schritt 6: Der Zeitplan

Temperaturanweisungen werden als Ziel (Temperatur, Zeit) ausgedrückt. Das heißt, Sie möchten, dass Ihr Haus zu dieser bestimmten Zeit diese Temperatur hat.

Die Temperatur muss zwischen den 4 Referenzen ausgewählt werden.

Für jede halbe Stunde des Fahrplans muss eine Anweisung definiert werden.

Sie können einen wöchentlichen und 2 täglichen Zeitplan definieren.

Schritt 7: Architekturübersicht

Architekturübersicht
Architekturübersicht

Werfen Sie einen Blick auf die globale Architektur

Es funktioniert mit jedem Kessel über einen Schließer oder Öffner.

Schritt 8: Übersicht über Mikrocontroller

Übersicht über Mikrocontroller
Übersicht über Mikrocontroller

Das Kernsystem läuft auf einem Atmel ATmega Mikrocontroller.

Nachdem Code und Parameter heruntergeladen und die Uhr synchronisiert wurden, kann es zu 100% autonom ausgeführt werden.

Es kommuniziert über die serielle Verbindung, um externe Informationen zu berücksichtigen.

Ein ESP8266-Mikrocontroller führt den Gateway-Code aus, um die serielle Verbindungsverbindung in eine WIFI-Verbindung umzuwandeln.

Parameter werden zunächst in das eeprom geschrieben und können aus der Ferne geändert und gespeichert werden.

Schritt 9: Übersicht über die Netzwerkverbindung

Übersicht über die Netzwerkverbindung
Übersicht über die Netzwerkverbindung

Die Netzwerkverbindung wird mit einem ESP8266 WIFI Mikrocontroller hergestellt. Es ist ganz das gleiche wie die Gateway-Beschreibung "instructables". Dennoch wurden aus dieser Beschreibung folgende Änderungen vorgenommen: Einige nutzlose GPIOs für dieses Projekt werden nicht verwendet und Arduino und ESP8266 sind auf derselben Platine gelötet.

Schritt 10: Serverübersicht

Serverübersicht
Serverübersicht

Java führt den Serverteil des Systems aus. HMIs verwenden TOMCAT. MySQL ist die Datenbank.

Schritt 11: Teileliste

Sie benötigen diese Hauptkomponenten

2 x Mikrocontroller

· 1 x Arduino - ich habe mich für einen Nano 3.0 entschieden - Sie können einige für etwa 2,5 $ finden (Aliexpress)

· 1 x ESP8266 - Ich wählte -ESP8266-DEV Olimex - für 5,5€

1 x Temperatursensor DS1820

· Ich habe mich für ein wasserdichtes entschieden - Sie erhalten 5 für 9€ (Amazon)

1 x Doppelrelaismodul (0 Befehl)

· Ich habe mich für SONGLE SRD-05VDC entschieden - einige finden Sie für 1,5€ (Amazon)

1 x I2C-LCD 2x16 Zeichen

Ich hatte schon einen - Sie können einige für weniger als 4 $ finden (Aliexpress)

1 x I2C DS1307 Echtzeitmodul mit CR2032-Batterie

· Ich hatte schon einen - Sie können einige für weniger als 4 $ finden (Aliexpress)

findet man für ein paar Euro

1 x Infrarot-Empfänger

· Ich habe mich für AX-1838HS entschieden Sie finden 5 für 4€

1 x FTDI

1 x IR-Fernbedienung (Sie können eine dedizierte Fernbedienung kaufen oder Ihren Fernseher verwenden)

2 x Leistungsregler (3,3 V & 5 V)

· Ich habe mich für I x LM1086 3.3v & 1 x L7850CV 5v. entschieden

Und ein paar Sachen

5 x LED

9 x 1K Widerstände

1 x 2,2K Widerstand

1 x 4,7K Widerstand

1 x 100microF Keramikkondensator

1 x 330 microF Keramikkondensator

2 x 1 microF Tental-Kondensator

2 x NPN-Transistoren

4 x Dioden

2 PCB-Steckbrett

2 x 3-polige Schalter

Einige Anschlüsse und Drähte

Natürlich brauchst du Lötkolben und Zinn.

Schritt 12: Bauen Sie die Stromquellen auf

Bauen Sie die Stromquellen auf
Bauen Sie die Stromquellen auf

Diese Fritzing-Datei beschreibt, was zu tun ist.

Es ist besser, mit dem Bau der Stromquellen mit einem Steckbrett zu beginnen, auch wenn es keine Schwierigkeiten gibt.

Regler können leicht durch andere ersetzt werden: Ändern Sie einfach die Anschlüsse und Kondensatoren entsprechend den Eigenschaften Ihres Reglers.

Überprüfen Sie, ob es auch mit einer Last (z. B. 100 Ohm Widerstände) konstant 5 V und 3,3 V liefert.

Sie können jetzt alle Komponenten wie unten beschrieben auf einer Steckplatinenplatine löten

Schritt 13: Bereiten Sie den ESP8266 vor

Bereiten Sie den ESP8266 vor
Bereiten Sie den ESP8266 vor

Stecken Sie Ihren ESP8266 in ein Steckbrett für ein einfachstes Löten a unten

Schritt 14: Bauen Sie die Elektronik

Baue die Elektronik
Baue die Elektronik

Reproduzieren Sie die Fritzing-Referenz.

Ich empfehle dringend, die Elektronik mit einem Steckbrett zu bauen.

Setzen Sie alle Teile zusammen auf das Steckbrett.

Schließen Sie die Stromquellen sorgfältig an

Überprüfen Sie die Power-LEDs am Arduino und ESP8266.

Das LCD muss leuchten.

Schritt 15: Machen wir mit der Gateway-Konfiguration

Machen wir mit der Gateway-Konfiguration
Machen wir mit der Gateway-Konfiguration

Verbinden Sie den FTDI USB mit Ihrer Entwicklungsstation.

Stellen Sie den Schalter für die serielle Verbindung ein, um den ESP8266 wie folgt mit dem FTDI zu verbinden

Schritt 16: Bereiten Sie das Herunterladen des Gateway-Codes vor

Starten Sie Arduino auf Ihrer Workstation.

Sie benötigen ESP8266, um von der IDE als Board bekannt zu sein.

Wählen Sie im Menü Tools / Boards den USB-Port und das entsprechende Board aus.

Wenn Sie keinen ESP266 in der Liste sehen, müssen Sie möglicherweise das ESP8266 Arduino Addon installieren (Sie finden hier die Vorgehensweise).

Der gesamte benötigte Code ist auf GitHub verfügbar. Es ist Zeit, es herunterzuladen!

Der Hauptcode des Gateways ist dort:

github.com/cuillerj/Esp8266UdpSerialGatewa…

Zusätzlich zum Standard Arduino und ESP8266 enthält der Hauptcode, der benötigt wird, diese 2 enthält:

LookFoString, der verwendet wird, um Strings zu manipulieren, und ist da:

ManageParamEeprom, das zum Lesen und Speichern von Parametern im Eeprom verwendet wird und ist dort:

Sobald Sie den gesamten Code erhalten haben, können Sie ihn in den ESP8266 hochladen.

Verbinden Sie zuerst den FTDI mit einem USB-Port Ihres Computers.

Ich schlage vor, dass Sie die Verbindung überprüfen, bevor Sie versuchen, hochzuladen.

  • · Stellen Sie den seriellen Arduino-Monitor auf den neuen USB-Port ein.
  • · Stellen Sie die Geschwindigkeit auf 115200 cr nl (Standardgeschwindigkeit für Olimex)
  • · Schalten Sie das Steckbrett ein (ESP8266 wird mit Software geliefert, die mit AT-Befehlen umgeht)
  • · Senden Sie "AT" mit dem seriellen Tool.
  • · Sie müssen im Gegenzug "OK" bekommen.

Wenn nicht, überprüfen Sie Ihre Verbindung und sehen Sie sich Ihre ESP8266-Spezifikationen an.

Wenn Sie "OK" erhalten haben, können Sie den Code hochladen

Schritt 17: Laden Sie den Gateway-Code 1/2 herunter

Laden Sie den Gateway-Code herunter 1/2
Laden Sie den Gateway-Code herunter 1/2

·

  • Schalten Sie das Steckbrett aus, warten Sie ein paar Sekunden,
  • Drücken Sie auf den Druckknopf des Steckbretts und schalten Sie es ein
  • Lassen Sie den Druckknopf los. Es ist normal, dass etwas Müll auf dem seriellen Monitor angezeigt wird.
  • Drücken Sie auf die Upload-IDE wie bei einem Arduino.
  • Nachdem der Upload abgeschlossen ist, stellen Sie die serielle Geschwindigkeit auf 38400 ein.

Schritt 18: Laden Sie den Gateway-Code 2/2 herunter

Laden Sie den Gateway-Code 2/2 herunter
Laden Sie den Gateway-Code 2/2 herunter

Sie würden etwas wie auf dem Bild sehen.

Herzlichen Glückwunsch, Sie haben den Code erfolgreich hochgeladen!

Schritt 19: Stellen Sie Ihre eigenen Gateway-Parameter ein

Stellen Sie Ihre eigenen Gateway-Parameter ein
Stellen Sie Ihre eigenen Gateway-Parameter ein

Lassen Sie den Serial Monitor (Geschwindigkeit 38400) der IDE geöffnet

  • Schalten Sie das Steckbrett aus, warten Sie ein paar Sekunden
  • Verwenden Sie den Schalter, um die configGPIO auf 1 (3,3 V) zu setzen.
  • Scannen Sie das WIFI, indem Sie den Befehl eingeben:
  • WLAN scannen. Sie sehen eine Liste des erkannten Netzwerks.
  • Legen Sie dann Ihre SSID fest, indem Sie "SSID1=yournetwork. eingeben
  • Legen Sie dann Ihr Passwort fest, indem Sie "PSW1=yourpassword. eingeben
  • Geben Sie dann "SSID=1" ein, um das aktuelle Netzwerk zu definieren
  • Geben Sie "Neustart" ein, um das Gateway mit Ihrem WIFI zu verbinden.

Sie können überprüfen, ob Sie eine IP haben, indem Sie "ShowWifi" eingeben.

Die blaue LED leuchtet und die rote LED blinkt

Es ist an der Zeit, Ihre IP-Serveradresse zu definieren, indem Sie die 4 Unteradressen eingeben (Server, der den Java-Testcode ausführt). Geben Sie beispielsweise für IP=192.168.1.10 ein:

  • "IP1=192"
  • "IP2=168"
  • "IP3=1"
  • "IP4=10"

Definieren Sie IP-Ports als:

  • · routePort=1840 (oder je nach Anwendungskonfiguration siehe „Server-Installationsanleitung“)

    Geben Sie "ShowEeprom" ein, um zu überprüfen, was Sie gerade im Eeprom gespeichert haben

    Setzen Sie nun den GPIO2 auf Masse um den Konfigurationsmodus zu verlassen (benutzen Sie dazu den Schalter)

    Ihr Gateway ist betriebsbereit!

    Die blaue LED muss leuchten, sobald das Gateway mit Ihrem WIFI verbunden ist.

    Es gibt einige andere Befehle, die Sie in der Gateway-Dokumentation finden können.

  • Legen Sie die ESP8266-IP-Adresse als permanent in Ihrem DNS fest

Schritt 20: Arduino-Verbindung vorbereiten

Arduino-Verbindung vorbereiten
Arduino-Verbindung vorbereiten

Trennen Sie zuerst die seriellen Verbindungsstecker, um USB-Konflikte zu vermeiden.

Schritt 21: Machen wir einige Tests

Bevor wir mit dem Thermostat-Code arbeiten, lassen Sie uns einige Tests mit den IDE-Beispielquellen durchführen

Verbinden Sie den Arduino USB mit Ihrer Workstation.

Wählen Sie Serial Port, stellen Sie die Geschwindigkeit auf 9600 und den Kartentyp auf Nano ein.

Überprüfen Sie den Temperatursensor

Öffnen Sie Dateien/Beispiele /Max31850Onewire / DS18x20_Temperature und ändern Sie OneWire ds(8); (8 statt 10).

Hochladen und prüfen, ob es funktioniert. Falls nicht, überprüfen Sie Ihre DS1820-Verbindungen.

Schau auf die Uhr

Öffnen Sie Dateien/Beispiele/DS1307RTC/SetTime-Programm

Laden Sie den Code hoch und prüfen Sie, ob Sie den richtigen Zeitpunkt erhalten.

Überprüfen Sie das LCD

Open Files / Beispiele / Liquid Cristal / HelloWorld Programm

Laden Sie den Code hoch und überprüfen Sie, ob Sie die Nachricht erhalten.

Überprüfen Sie die Fernbedienung

Öffnen Sie Dateien / Beispiele / ArduinoIRremotemaster / IRrecvDemo-Programm

Ändern Sie die PIN auf 4 – laden Sie den Code hoch

Verwenden Sie Ihre Fernbedienung und überprüfen Sie, ob Sie den IRs-Code auf dem Monitor erhalten.

Es ist an der Zeit, die 8 verschiedenen Tasten der Fernbedienung auszuwählen, die Sie wie folgt verwenden möchten:

  • · Anweisung zur Temperaturerhöhung
  • · Anweisung zur Temperatursenkung
  • · Thermostat ausschalten
  • · Wählen Sie den Wochenagenda-Modus
  • · Wählen Sie den Terminkalender-Modus für den ersten Tag
  • · Wählen Sie den Agenda-Modus für den zweiten Tag
  • · Wählen Sie den Nicht-Gefrier-Modus
  • · das WIFI-Gateway ein-/ausschalten

Da Sie Ihre Wahl getroffen haben, verwenden Sie den Schlüssel, kopieren und speichern Sie die erhaltenen Codes in einem Textdokument. Sie benötigen diese Informationen später.

Schritt 22: Überprüfen Sie die Netzwerkverbindung

Überprüfen Sie die Netzwerkverbindung
Überprüfen Sie die Netzwerkverbindung

Um Ihre Arbeit zu überprüfen, verwenden Sie am besten die Arduino- und Java-Beispiele.

Arduino

Sie können es dort herunterladen:

Es enthält die SerialNetwork-Bibliothek, die hier ist:

Laden Sie einfach den Code in Ihrem Arduino hoch.

Server

Das Server-Beispiel ist ein Java-Programm, das Sie hier herunterladen können:

Lass es einfach laufen

Sehen Sie sich die Java-Konsole an.

Schauen Sie auf den Arduino-Monitor.

Arduino sendet 2 verschiedene Pakete.

· Der erste enthält die digitalen Pins 2 bis 6 Status.

· Der zweite enthält 2 Zufallswerte, den Spannungspegel von A0 in mV und die inkrementelle Zählung.

Das Java-Programm

· die empfangenen Daten im hexadezimalen Format drucken

· Antworten Sie auf die erste Art von Daten mit einem zufälligen Ein / Aus-Wert, um die Arduino-LED ein- / auszuschalten

· Antwort auf die zweite Datenart mit der empfangenen Zählung und einem Zufallswert.

Sie müssen so etwas wie oben sehen.

Sie können jetzt am Thermostatcode arbeiten

Schritt 23: Bereiten Sie das Arduino vor

Bereiten Sie den Arduino vor
Bereiten Sie den Arduino vor

Verbinden Sie den Arduino USB mit Ihrer Workstation.

Geschwindigkeit auf 38400 einstellen.

Wir müssen den Arduino in den Konfigurationsmodus setzen

Stecken Sie einen Stecker auf den ICSP, sodass GPIO 11 auf 1 (5 V) eingestellt ist.

Schritt 24: Arduino-Code herunterladen

Thermostatquellen sind auf GitHub verfügbar

Laden Sie zuerst diese Bibliothek herunter und kopieren Sie Dateien in Ihre gewohnte Bibliothek.

Laden Sie dann diese Quellen herunter und kopieren Sie die Dateien in Ihren üblichen Arduino-Quellenordner.

Öffnen Sie Thermosat.ico und kompilieren und überprüfen Sie, ob Sie keine Fehler erhalten

Laden Sie den Arduino-Code herunter.

Der Arduino startet automatisch.

Warten Sie auf die Meldung „end init eeprom“.

Die Werte des Standardparameters werden jetzt in das eeprom geschrieben.

Schritt 25: Starten Sie das Arduino neu

Starten Sie den Arduino neu
Starten Sie den Arduino neu

Das Arduino wurde initialisiert und muss vor dem Neustart in den Betriebsmodus versetzt werden

Stecken Sie den Stecker am ICSP so, dass GPIO 11 auf 0 (Masse) gesetzt ist, um das Arduino in den Betriebsmodus zu versetzen.

Setzen Sie das Arduino zurück.

Sie müssen die Uhrzeit auf dem LCD sehen und die gelbe LED muss leuchten. (Sie sehen 0:0, wenn die Uhr nicht synchronisiert wurde oder die Zeit verloren ging (ausgeschaltet und keine Batterie)).

Schritt 26: LCD überprüfen

LCD prüfen
LCD prüfen

Sie sehen alternativ 3 verschiedene Bildschirme.

Gemeinsam für Bildschirm 1 & 2:

  • oben links: die aktuelle Uhrzeit
  • links unten: die aktuelle Temperaturanweisung
  • in der Mitte unten die: aktuelle Innentemperatur (DS1820)

Bildschirm 1:

oben in der Mitte: aktueller Laufmodus

Bildschirm 2:

  • oben in der Mitte: aktueller Wochentag
  • rechts oben: Tages- & Monatszahlen

Der dritte ist im Wartungshandbuch beschrieben.

Schritt 27: Testrelais

Testen Sie das Gateway-Relais

Zu diesem Zeitpunkt müssen Sie mit WIFI verbunden sein und die blaue LED muss leuchten.

Drücken Sie die Taste der Fernbedienung, die Sie ausgewählt haben, um das WIFI-Gateway ein- oder auszuschalten. Das Relais muss den ESP8266 und die blaue LED ausschalten.

Warten Sie einige Sekunden und drücken Sie erneut die Fernbedienungstaste. Das WIFI-Gateway muss eingeschaltet sein.

Innerhalb einer Minute muss das Gateway verbunden sein und die blaue LED muss leuchten.

Kesselrelais testen

Schauen Sie zuerst auf die rote LED. Wenn die Temperaturangabe viel höher als die Innentemperatur ist, muss die LED leuchten. Es dauert einige Minuten nach dem Start, bis der Arduino genügend Daten hat, um zu entscheiden, ob er heizen soll oder nicht.

Wenn die rote LED leuchtet, verringern Sie die Temperaturanweisung, um sie unter die Innentemperatur zu setzen. Innerhalb weniger Sekunden muss das Relais abschalten und die rote LED leuchten.

Wenn die rote LED aus ist, erhöhen Sie die Temperaturanweisung, um sie unter die Innentemperatur zu senken. Innerhalb weniger Sekunden muss das Relais einschalten und die rote LED leuchten.

Wenn Sie dies mehr als einmal tun, denken Sie daran, dass das System nicht sofort reagiert, um ein zu schnelles Umschalten des Kessels zu vermeiden.

Das ist das Ende der Steckbrettarbeit.

Schritt 28: Löten Sie das Netzteil 1/4

Löten Sie das Netzteil 1/4
Löten Sie das Netzteil 1/4

Ich schlage vor, 2 verschiedene PCBs zu verwenden: eine für die Stromversorgung und eine für die Mikrocontroller.

Sie benötigen Anschlüsse für;

· 2 für 9V-Eingangsstromversorgung

· 1 für +9V-Ausgang

· 1 für +3,3 V-Ausgang (ich habe 2)

· 2 für +5V-Ausgang (ich habe 3)

· 2 für Relaisbefehle

· 2 für Relaisstrom

Schritt 29: Löten Sie das Netzteil 2/4

Löten Sie das Netzteil 2/4
Löten Sie das Netzteil 2/4

Hier ist das Frizting-Schema zu folgen!

Oben sehen Sie die Teilenummern nach dem Fritzing-Modell.

Schritt 30: Löten Sie das Netzteil 3/4

Löten Sie das Netzteil 3/4
Löten Sie das Netzteil 3/4

Oben sehen Sie die Teilenummern nach dem Fritzing-Modell.

Schritt 31: Löten Sie das Netzteil 4/4

Löten Sie das Netzteil 4/4
Löten Sie das Netzteil 4/4

Oben sehen Sie die Teilenummern nach dem Fritzing-Modell.

Schritt 32: Löten Sie die Mikrocontroller auf PCB 1/7

Löten Sie die Mikrocontroller auf PCB 1/7
Löten Sie die Mikrocontroller auf PCB 1/7

Ich schlage vor, das Arduino und ESP8266 nicht direkt auf der Platine zu löten

Verwenden Sie stattdessen Steckverbinder wie unten, um die Mikrocontroller einfach austauschen zu können

Schritt 33: Löten Sie die Mikrocontroller auf PCB 2/7

Löten Sie die Mikrocontroller auf PCB 2/7
Löten Sie die Mikrocontroller auf PCB 2/7

Sie benötigen Anschlüsse für:

  • 3 x +5v (ich habe einen Ersatz gemacht)
  • 6 x Masse
  • 3 x für DS1820
  • 3 x für LED
  • 1 x IR-Empfänger
  • 2 x für Relaisbefehl
  • 4 x für I2C-Bus

Hier ist das Frizting-Schema zu folgen!

Oben sehen Sie die Teilenummern nach dem Fritzing-Modell.

Schritt 34: Löten Sie die Mikrocontroller auf PCB 3/7

Löten Sie die Mikrocontroller auf PCB 3/7
Löten Sie die Mikrocontroller auf PCB 3/7

Oben sehen Sie die Teilenummern nach dem Fritzing-Modell.

Schritt 35: Löten Sie die Mikrocontroller auf PCB 4/7

Löten Sie die Mikrocontroller auf PCB 4/7
Löten Sie die Mikrocontroller auf PCB 4/7

Oben sehen Sie die Teilenummern nach dem Fritzing-Modell.

Schritt 36: Löten Sie die Mikrocontroller auf PCB 5/7

Löten Sie die Mikrocontroller auf PCB 5/7
Löten Sie die Mikrocontroller auf PCB 5/7

Oben sehen Sie die Teilenummern nach dem Fritzing-Modell.

Schritt 37: Löten Sie die Mikrocontroller auf PCB 6/7

Löten Sie die Mikrocontroller auf PCB 6/7
Löten Sie die Mikrocontroller auf PCB 6/7

Oben sehen Sie die Teilenummern nach dem Fritzing-Modell.

Schritt 38: Löten Sie die Mikrocontroller auf PCB 7/7

Löten Sie die Mikrocontroller auf PCB 7/7
Löten Sie die Mikrocontroller auf PCB 7/7

Oben sehen Sie die Teilenummern nach dem Fritzing-Modell.

Schritt 39: Verbinden und überprüfen Sie alles vor dem Einsetzen in die Box

Verbinden und überprüfen Sie alles vor dem Einsetzen in die Box
Verbinden und überprüfen Sie alles vor dem Einsetzen in die Box

Schritt 40: Leiterplatten auf ein Stück Holz schrauben

Leiterplatten auf ein Stück Holz schrauben
Leiterplatten auf ein Stück Holz schrauben

Schritt 41: Lassen Sie uns die Holzabdeckungsbox machen

Lass uns die Holzdeckelbox machen
Lass uns die Holzdeckelbox machen

Schritt 42: Legen Sie alles in die Box

Alles in die Kiste legen
Alles in die Kiste legen

Schritt 43: Servercode-Projekt erstellen

Starten Sie Ihre IDE-Umgebung

Laden Sie die Batches-Quellen von GitHub herunter

Laden Sie die J2EE-Quellen von GitHub herunter

Starten Sie Ihre Java-IDE (z. B. Eclipse)

Java-Projekt „ThermostatRuntime“erstellen

Importieren Sie die heruntergeladenen Batch-Quellen

Erstellen Sie ein J2EE-Projekt (Dynamic Web Project for Eclipse) „ThermostatPackage“

Importieren Sie die heruntergeladenen J2EE-Quellen

Schritt 44: Definieren Sie Ihre SQL-Verbindung

Erstellen Sie eine „GelSqlConnection“-Klasse in Java- und J2EE-Projekt

Kopieren Sie den Inhalt von GetSqlConnectionExample.java und fügen Sie ihn ein.

Legen Sie Ihren MySql-Serverbenutzer, das Kennwort und den Host fest, den Sie zum Speichern von Daten verwenden.

Speichern Sie GelSqlConnection.java

Kopieren Sie GelSqlConnection.java und fügen Sie es in das ThermostatRuntime-Projekt ein

Schritt 45: Erstellen Sie die Datenbanktabellen

Erstellen Sie die folgenden Tabellen

Verwenden Sie ein SQL-Skript, um eine indDesc-Tabelle zu erstellen

Verwenden Sie ein SQL-Skript, um eine indValue-Tabelle zu erstellen

Verwenden Sie ein SQL-Skript, um eine Stationstabelle zu erstellen

Tabellen initialisieren

Laden Sie die Datei loadStations.csv herunter

öffne die CSV-Datei

modifizieren Sie st_IP entsprechend Ihrer Netzwerkkonfiguration.

  • Die erste Adresse ist die von Thermostat
  • der zweite Thermostat ist der Server-Thermostat

Speichern und laden Sie die Stationstabelle mit dieser csv

Laden Sie loadIndesc.csv. herunter

Laden Sie die Tabelle ind_desc mit dieser csv

Schritt 46: Zugriffskontrolle definieren

Zugriffskontrolle definieren
Zugriffskontrolle definieren

Sie können jede gewünschte Kontrolle ausführen, indem Sie den Code „ValidUser.java“an Ihre Sicherheitsanforderungen anpassen.

Ich überprüfe einfach die IP-Adresse, um die Änderung zu autorisieren. Um dasselbe zu tun, erstellen Sie einfach die Sicherheitstabelle und fügen Sie wie oben einen Datensatz in diese Tabelle ein.

Schritt 47: Optional

Außentemperatur

Ich verwende diese Wettervorhersage-API, um Informationen für meinen Standort zu erhalten, und es funktioniert ziemlich gut. Eine Schale mit Locke extrahiert stündlich die Temperatur und speichert sie in der Datenbank. Sie können die Art und Weise, wie Sie die Außentemperatur erhalten, anpassen, indem Sie den Code „KeepUpToDateMeteo.java“ändern.

Heimsicherheit

Ich habe mein Haussicherheitssystem mit dem Thermostat verbunden, um die Temperaturanweisung automatisch zu senken, wenn ich das Haus verlasse. Ähnliches können Sie mit dem Feld „securityOn“in der Datenbank tun.

Kesselwassertemperatur

Ich überwache bereits die Kesselwasser-Ein- und -Austrittstemperatur mit einem Arduino und 2 Sensoren DS1820, also habe ich der WEB-HMI Informationen hinzugefügt.

Schritt 48: Starten Sie den Laufzeitcode

Starten Sie den Laufzeitcode
Starten Sie den Laufzeitcode

Exportieren Sie das ThermostatRuntime-Projekt als JAR-Datei

Sofern Sie UDP-Ports nicht ändern möchten, starten Sie Batches mit dem Befehl:

java -cp $CLASSPATH ThermostatDispatcher 1840 1841

CLASSPATH muss Zugriff auf Ihre JAR-Datei und Ihren MySQL-Connector enthalten.

Sie müssen so etwas wie oben im Protokoll sehen.

Fügen Sie einen Eintrag in der crontable hinzu, um beim Neustart zu starten

Schritt 49: J2EE-Anwendung starten

J2EE-Anwendung starten
J2EE-Anwendung starten

Exportieren Sie das ThermostatPackage als WAR.

Stellen Sie das WAR mit dem Tomcat-Manager bereit

Testen Sie die Anwendung youserver:port/Thermostat/ShowThermostat?station=1

Sie müssen so etwas wie oben sehen

Schritt 50: Synchronisieren Sie Thermostat und Server

Synchronisieren Sie Thermostat und Server
Synchronisieren Sie Thermostat und Server

Verwenden Sie das Befehlsmenü des HMI, um die folgenden Schritte auszuführen

· Temperaturen hochladen

· Register hochladen

· Zeitplan hochladen

· Eeprom schreiben / Alle auswählen

Schritt 51: Verbinden Sie den Thermostat mit dem Kessel

Verbinden Sie das Thermostat mit dem Boiler
Verbinden Sie das Thermostat mit dem Boiler

Lesen Sie vorher die Boileranleitung sorgfältig durch. Achten Sie auf Hochspannung.

Der Thermostat muss mit einem 2-adrigen Kabel an einen einfachen Kontakt angeschlossen werden.

Schritt 52: Genießen Sie Ihr Heizungssteuerungssystem

Sie sind bereit, das System genau nach Ihren Bedürfnissen zu konfigurieren!

Legen Sie Ihre Referenztemperaturen, Ihre Zeitpläne fest.

Verwenden Sie dazu die Thermostat-Dokumentation.

Starten Sie den PID-Trace. Lassen Sie das System einige Tage laufen und verwenden Sie dann die gesammelten Daten, um das Thermostat einzustellen

Die Dokumentation enthält Spezifikationen, auf die Sie verweisen können, wenn Sie Änderungen vornehmen möchten.

Wenn Sie weitere Informationen benötigen, senden Sie mir eine Anfrage. Ich antworte gerne.

Dies ist Teil einer Hausautomationsinfrastruktur

Schritt 53: 3D-Druckbox

3D-Druckbox
3D-Druckbox

Ich habe mir einen 3D-Drucker besorgt und diese Box gedruckt.

Das Rückendesign

Das Frontdesign

Design oben und unten

Das Seitendesign

Empfohlen: