So bauen Sie Ihr eigenes intelligentes Thermostat
Hardwarekomponenten:
- Mikrocontroller: Arduino MKR WiFi 1010 (Mikrocontroller zur Verarbeitung von Sensordaten und Steuerung der Heizungsanlage. Verfügt über WiFi- und Bluetooth-Funktionen).
- Sensoren: Feuchte- und Temperatursensor: BME280 Feuchte Druck Temperatur Sensoren
- OLED-Display: 0,96 Zoll OLED SSD1306 Display I2C 128 x 64 Pixel
- Relaismodul: 5 V/12 V-Relaismodul , wird als Schalter zur Steuerung der Heizungsanlage verwendet.
- Echtzeituhr: Echtzeituhr RTC DS3231 I2C Echtzeituhr (zur Verfolgung der genauen Zeit)
- Stromversorgung: 5V/2A Netzteil
- Gehäuse: 3D-gedruckt (siehe Entwurf in dieser Notiz) oder Nachrüstbox zur Aufnahme von Komponenten
- Leiterplatte
- Steckplatine und Jumper (falls du es als Prototyp betreiben und ggf. erweitern möchtest)
- benutzerdefinierte Leiterplatte (Entwurf mit KiCad EDA und Druck mit Eurocircuits)
Softwareanforderungen:
-
IDE: Arduino IDE (Sie können jede beliebige IDE verwenden, solange Sie Code auf Arduino hochladen können)
-
Programmierung: Sie benötigen lediglich Grundkenntnisse in Assembler und Konfigurationsoptimierung. Wenn Sie das Projekt erweitern möchten, können einige Erfahrungen mit den oben genannten Technologien hilfreich sein.
-
Arduino: C++
-
Datenbank: SQL (MariaDB)
-
Front-End: TypeScript (Angular17-Front-End)
-
Backend: TypeScript (Node.js, Express)
Schritt 1: 3D-gedrucktes Gehäuse
Schritt 2: Drucken Sie die Leiterplatte
Schritt 3: Hardware- und Mikrocontroller-Setup zusammenbauen
Mikrocontroller-Einrichtung
Beginnen Sie den Montagevorgang mit der Einrichtung des Mikrocontrollers. Montieren Sie ihn auf einem Steckbrett, damit er einfacher als Prototyp erstellt und angeschlossen werden kann. Schließen Sie den Mikrocontroller an eine Stromquelle an und stellen Sie sicher, dass er eine stabile 5-V/2-A-Versorgung erhält. Diese anfängliche Einrichtung bildet die Grundlage des Thermostats und stellt die erforderliche Steuerungs- und Verarbeitungsleistung für die verbleibenden Komponenten bereit.
Sensorintegration
Als nächstes integrieren Sie die Temperatur- und Feuchtigkeitssensoren in den Mikrocontroller. Je nachdem, welchen Sensortyp Sie wählen, folgen Sie dem spezifischen Schaltplan, um sie richtig anzuschließen. Den oben aufgeführten Adafruit-Sensor finden Sie auf deren Website. Der Sensor liefert Echtzeitdaten über die Umgebungstemperatur und -feuchtigkeit, die der Mikrocontroller zur Anpassung des Heizsystems verwendet. Befestigen Sie den Sensor an einer Stelle, an der er die Raumtemperatur genau messen kann.
OLED-Display-Anschluss
Schließen Sie das OLED-Display an den Mikrocontroller an und achten Sie dabei auf die richtige Konfiguration der Pins. Das Display dient als Benutzeroberfläche zur Anzeige der aktuellen Temperatur, der eingestellten Temperatur und anderer relevanter Informationen. Der richtige Anschluss des Displays ist für eine klare und genaue Anzeige entscheidend.
Einrichten des Relaismoduls
Richten Sie das Relaismodul ein, das das Heizsystem basierend auf Temperaturwerten und Benutzereingaben steuert. Schließen Sie das Relais an den Mikrocontroller an, um sicherzustellen, dass es die Last des Heizsystems bewältigen kann. Das Relais fungiert als Schalter und der Mikrocontroller kann es ein- oder ausschalten, um die Temperatur zu regulieren. Testen Sie den Relaisbetrieb, um sicherzustellen, dass es korrekt auf Steuersignale vom Mikrocontroller reagiert.
Schritt 4: Programmieren des Thermostats
-
sendet in regelmäßigen Abständen einen Heartbeat an den Server.
-
Wenn der Heartbeat erfolgreich ist, wird die Sensordatenanforderung in die Warteschlange gestellt.
-
verarbeitet alle ausstehenden Anfragen in der Warteschlange.
-
versucht, die Verbindung wiederherzustellen, wenn es sich im Fallback-Modus befindet und genügend Zeit verstrichen ist.
-
steuert im Fallback-Modus das Heizungsrelais temperaturabhängig.
-
Aktualisieren Sie die Anzeige regelmäßig.
-
Anschließen der Platine: Schließen Sie den Arduino MKR 1010 WiFi mit dem USB-Kabel an Ihren Computer an.
-
Motherboard auswählen: Gehen Sie zu Tools->Motherboard und wählen Sie Arduino MKR WiFi 1010 aus.
-
Port auswählen: Gehen Sie zu Tools->Ports und wählen Sie den Port aus, der der Karte entspricht, mit der Sie eine Verbindung herstellen (z. B. COM3, /dev/ttyUSB0).
-
Skizze öffnen: Öffnen Sie die Arduino-Skizzendatei (.ino) in der Arduino IDE.
-
Skizze konfigurieren: Ändern Sie die Skizze, damit sie mit Ihrer Server-IP, Ihren WLAN-Anmeldeinformationen und anderen Einstellungen übereinstimmt.
-
Überprüfen Sie die Skizze: Klicken Sie auf das Häkchensymbol in der oberen linken Ecke der Arduino IDE, um den Code zu kompilieren und zu überprüfen. Dadurch wird sichergestellt, dass keine Syntaxfehler vorhanden sind.
-
Skizze hochladen: Klicken Sie auf das rechte Pfeilsymbol neben dem Häkchen, um den Code auf das Arduino MKR 1010 WiFi hochzuladen. Die IDE kompiliert den Code erneut und lädt ihn dann auf das Motherboard hoch.
-
Seriellen Monitor einschalten: Gehen Sie zu Tools->Serieller Monitor, um den seriellen Monitor einzuschalten.
-
Baudrate einstellen: Stellen Sie sicher, dass die Baudrate unten im seriellen Monitor auf 9600 eingestellt ist, um der Einstellung Serial.begin(9600); im Code zu entsprechen.
-
Ausgabe anzeigen: Sie sollten die Ausgabe vom Arduino sehen, die Debug-Meldungen und Sensorwerte enthält.