DIY NEST-ähnlicher Smart Thermostat mit Node-RED auf Raspberry Pi bauen
Steuern Sie die Temperatur Ihres Zuhauses von überall mit einem individuellen NEST-ähnlichen Thermostat, gebaut auf Raspberry Pi, Node-RED und ESPurna Firmware.
Projektüberblick
Nach dem Jonglieren mehrerer Arbeitsschichten fand ich es unmöglich, meinen alten Hausthermostat wöchentlich manuell anzupassen. Ich brauchte eine Fernlösung, die es mir erlaubt, die Heizung vor Ankunft einzuschalten oder auszuschalten – und Energie zu sparen, während ich weg bin.
Ich entschied mich, das schlanke NEST-Design mit einem günstigen ITEAD 1-Kanal Wi-Fi-Relais und einem DHT22 Temperatur/Feuchtigkeitssensor nachzubauen. Das Ergebnis ist ein voll funktionsfähiger Thermostat, der von jedem internetfähigen Gerät überwacht und gesteuert werden kann.
Software installieren
- Raspbian Stretch auf einem Raspberry Pi 3 einrichten.
- Mosquitto MQTT Broker auf dem Pi installieren.
- Node-RED auf dem Pi installieren.
- Atom + PlatformIO auf Ihrem PC für Firmware-Entwicklung installieren.
Hardware-Hacking
Das ITEAD 1-Kanal-Modul ist ein 5V, 12V Wi-Fi-Relais mit proprietärer EWeLink-Firmware. Um Vendor-Lock-in zu vermeiden, ersetzte ich diese Firmware durch ESPurna, eine Open-Source-Firmware für ESP8266-Geräte. ESPurna unterstützt benutzerdefinierte Sensoren, ideal für das Hinzufügen eines DHT22 zum Relais.
Ich lötete folgende Pins am PSA-01 Modul (dem ESP8266-Kern):
- GND, 3V3 und GPIO14 an den DHT22.
- TX, RX und GND für das Flashen der Firmware.
Benutzerdefinierte Firmware bauen
Nach Installation von Atom+PlatformIO das neueste ESPurna-Release herunterladen und entpacken. Den code Ordner via File → Add Project Folder zu einem neuen Projekt hinzufügen.
Editieren Sie /config/sensors.h um DHT-Support zu aktivieren:#define DHT_SUPPORT 1 #define DHT_PIN 14
Setzen Sie env_default = itead-1ch-inching in platformio.ini. Projekt bauen; ein erfolgreicher Build endet mit SUCCESS.
Zum Flashen USB-zu-Serial-Adapter an das Board anschließen, Knopf neben Micro-USB-Port gedrückt halten während Power-On, LED wird rot. Upload in PlatformIO klicken; Adapter blinkt während Firmware in Flash geschrieben wird.
How to Upload ESPurna Custom Firmware with PlatformIO
Nach dem Flashen Adapter trennen, DHT22 anschließen (3V3, GND, GPIO14), und Gerät mit 5V Handy-Ladegerät versorgen.
Das Gerät bootet in einen Soft-AP namens DEVICE_XXXXXX (Passwort: fibonacci). Verbinden Sie sich damit und öffnen Sie https://192.168.4.1 um Wi-Fi und Sicherheitseinstellungen zu konfigurieren.
Thermostat konfigurieren
Einmal mit Ihrem Heimnetzwerk verbunden, exponiert die ESPurna-Weboberfläche Sensormesswerte, Schaltstatus und eine Fülle von MQTT, NTP, HTTP und Home-Automation-Integrationen. MQTT-Broker-Details so konfigurieren, dass sie zur Mosquitto-Instanz auf Ihrem Raspberry Pi passen.
Node-RED empfängt Sensordaten via MQTT und implementiert Ihre Steuerlogik – Heizung ein/aus basierend auf Temperaturschwellen oder Zeitplänen. Der Flow-Editor erlaubt auch ein individuelles Dashboard für Fernüberwachung.
Mit dem System können Sie nun Wunschtemperaturen setzen, Heizpläne erstellen und Echtzeit-Luftfeuchtigkeit ansehen – alles von Handy, Tablet oder Laptop.
Nächste Schritte
Erweiterte Features erkunden wie Amazon Alexa Integration, Thingspeak Datenlogging oder automatisierte Zeitplanerstellung innerhalb von Node-RED. Die Open-Source-Natur von ESPurna und Node-RED bedeutet, dass Sie dieses Projekt unbegrenzt erweitern können.
Mehr Details: DIY Virtual Alike NEST Thermostat with Node-RED
Herstellungsprozess
- Kosteneffizientes Indoor-Temperatur-Mapping mit Low-Cost-Sensoren
- Günstiger Raspberry Pi Babyphone mit Schreierkennung – DIY-Anleitung
- Einstieg in IoT und MQTT: Code-freies ESP8266 Tutorial
- Retro-Numitron-Uhr mit Arduino bauen: Einfach, zuverlässig & energieeffizient
- E3.cable meistern: Steckereinsätze optimal positionieren für beste Performance
- Präzise Druck- & Luftstrommessung mit analogem Sensor und Arduino
- Roomba Create 2 per Arduino & Android steuern – Schritt-für-Schritt
- DIY VR-Skateboard mit Arduino, Google Cardboard und Bluetooth bauen
- DIY Günstiges Tragbares Thermometer mit Android-Anbindung
- Node-RED auf PLCnext mit Docker deployen: Schritt-für-Schritt-Anleitung