Wie man sein eigenes Smart-Thermostat herstellt
Hardware-Komponenten:
- 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)
- Netzteil: 5V/2A Netzadapter
- Gehäuse: 3D-gedruckt (siehe Entwurf in dieser Notiz) oder Nachrüstbox zur Unterbringung von Komponenten
- Leiterplatte
- Steckbrett und Jumper (falls Sie es als Prototyp betreiben und ggf. erweitern möchten)
- benutzerdefinierte Leiterplatte (Entwurf mit KiCad EDA und Druck mit Eurocircuits)
Software Anforderungen:
-
IDE: Arduino IDE (Sie können jede beliebige IDE verwenden, solange Sie Code auf Arduino hochladen können)
-
Programmierung: Sie benötigen lediglich Grundkenntnisse im Assembler- und Konfigurations-Tuning. Wenn Sie das Projekt erweitern möchten, können einige Erfahrungen mit den oben genannten Technologien hilfreich sein.
-
Arduino: C++
-
Datenbank: SQL (MariaDB)
-
Frontend: TypeScript (Angular17-Frontend)
-
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-Setup
Beginnen Sie den Montageprozess, indem Sie den Mikrocontroller einrichten. Montieren Sie es auf einem Steckbrett, damit es einfacher prototypisiert und angeschlossen werden kann. Schließen Sie den Mikrocontroller an eine Stromquelle an und stellen Sie sicher, dass er eine stabile 5V/2A-Versorgung erhält. Diese Erstkonfiguration bildet die Grundlage des Thermostats und stellt die erforderliche Steuerungs- und Verarbeitungsleistung für die übrigen Komponenten bereit.
Sensorintegration
Als nächstes integrieren Sie die Temperatur- und Feuchtigkeitssensoren in den Mikrocontroller. Befolgen Sie je nach ausgewähltem Sensortyp den spezifischen Verdrahtungsplan, um sie ordnungsgemäß anzuschließen. Den oben aufgeführten Adafruit-Sensor finden Sie auf deren Website. Der Sensor liefert Echtzeitdaten über die Umgebungstemperatur und Luftfeuchtigkeit, die der Mikrocontroller zur Anpassung des Heizsystems verwendet. Befestigen Sie den Sensor an einer Position, an der er die Raumtemperatur genau messen kann.
OLED-Display-Verbindung
Verbinden Sie das OLED-Display mit dem Mikrocontroller und stellen Sie sicher, dass die Pins richtig konfiguriert sind. Das Display dient als Benutzeroberfläche zur Anzeige der aktuellen Temperatur, der eingestellten Temperatur und anderer relevanter Informationen. Der ordnungsgemäße Anschluss des Displays ist für eine klare und genaue Anzeigeausgabe von entscheidender Bedeutung.
Relais Modulsetup
Richten Sie das Relaismodul ein, das das Heizsystem basierend auf Temperaturmesswerten 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: Programmierung des Thermostats
-
sendet regelmäßig 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 der Fallback-Modus aktiviert ist und ausreichend Zeit verstrichen ist.
-
Steuert im Fallback-Modus das Heizrelais basierend auf der Temperatur.
-
Das Display regelmäßig aktualisieren.
-
Verbinden Sie die Platine: Schließen Sie den Arduino MKR 1010 WiFi mit dem USB-Kabel an Ihren Computer an.
-
Motherboard auswählen: Gehen Sie zu Extras->Motherboard und wählen Sie Arduino MKR WiFi 1010 aus.
-
Port auswählen: Gehen Sie zu Extras->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 so, dass sie Ihrer Server-IP, Ihren WLAN-Anmeldeinformationen und anderen Einstellungen entspricht.
-
Ü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 vorliegen.
-
Skizze hochladen: Klicken Sie auf das rechte Pfeilsymbol neben dem Häkchen, um den Code auf den 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 Extras->Serieller Monitor, um den seriellen Monitor einzuschalten.
-
Baudrate einstellen: Stellen Sie sicher, dass die Baudrate am unteren Rand des seriellen Monitors auf 9600 eingestellt ist, damit sie mit Serial.begin(9600); übereinstimmt. Einstellung im Code.
-
Ausgabe anzeigen: Sie sollten die Ausgabe des Arduino sehen, einschließlich Debug-Meldungen und Sensormesswerten.
Schritt 5: Einrichten der Datenbank, des Servers und des Frontends
Schritt 6: Testen und Kalibrierung