Intelligente Zonen-Klimasteuerung mit MediaTek LinkIt™ Smart 7688
Komponenten & Zubehör
| Bauteil | Anzahl | Hinweise |
|---|---|---|
| MediaTek LinkIt Smart 7688 Duo HDK | 1 | OpenWRT (MPU) + Arduino-kompatibler MCU (ATmega32U4) |
| Servo Tower Pro MG996R (Metallgetriebe) | 2 | Für Ober- & Untergeschoss-Klappen |
| DHT22 Temperatur-/Feuchtesensor | 1 | Am LinkIt (lokal) |
| ESP8266 ESP-01 | 1 | Für entfernte Temperatursensoren |
| ATtiny85 / Arduino Nano | je nach Bedarf | Remote-Sensor-Nodes (DHT11/22 + ESP8266) |
| Aluminiumwinkel & Edelstahl-Distanzhülsen | Set | Servo-Halterung an Lüftungskanälen |
| Netzteil 5 V / 2 A (Micro-USB) | 1 | LinkIt Stromversorgung |
Software & Dienste
- Arduino IDE (mit LinkIt Smart 7688 Board Support)
- OpenWRT (vorinstalliert) mit uHTTPd & PHP
- GRBL nicht nötig – eigene Steuerlogik
- DynDNS + Portforwarding für Fernzugriff
Ausgangslage: „Winter is coming“
Nach der Geburt des ersten Kindes wurde ein Elektroheizer punktuell genutzt – Stromrechnung verdoppelte sich. Ein WLAN-Thermostat brachte Komfort, heizte aber weiter das ganze Haus, obwohl sich die Familie abends nur im Erdgeschoss und nachts nur im Obergeschoss aufhält (Bewegungsmelder-Logs belegen 4–5 h EG, dann OG bis morgens).
Lösung: Zonensteuerung per Servo an Lüftungsklappen
Professionelle Multi-Zonen-HVAC-Systeme sind teuer und software-seitig oft vernachlässigt. Eigenbau mit:
- Bestehende WLAN-Temperatursensoren (ATtiny85/Arduino Nano + DHT + ESP8266) → senden Daten an Webserver.
- LinkIt Smart 7688 Duo im Dachboden: MCU steuert 2 Servos (EG-/OG-Klappe), MPU (OpenWRT) hostet Web-App & Cronjob.
- Web-App (PHP) zeigt Status, erlaubt manuelle Übersteuerung (EG, OG, Ganzes Haus).
LinkIt Smart 7688 Einrichten (3 Schritte)
- LinkIt mit Strom versorgen, mit dessen WLAN-AP verbinden.
- Webinterface (192.168.100.1) → Eigenes WLAN eintragen.
- In Arduino IDE: Board „LinkIt Smart 7688 Duo“ hinzufügen (Board Manager URL). Sketch per Serial oder OTA (WiFi) hochladen.
Für Arduino-seitige WiFi-Nutzung (Bridge Library) per SSH auf dem LinkIt:
# Yun Bridge Kompatibilität aktivieren
uci set yunbridge.config.disabled='0'
uci commit
/etc/init.d/yunbridge restart
Hardware: Servo-Anbindung an Lüftungsklappen
- Servo-Horn direkt an Klappenhebel geschraubt.
- Aluminiumwinkel + Distanzhülsen als Servo-Halter (fest am Kanal).
- Noch etwas Spiel → Kabelbinder zur Sicherung geplant.
- Später: 3D-gedruckte Halter & Servos mit Metallgetriebe für Langlebigkeit.
Software-Architektur (3 Komponenten)
- Temperatursensoren (Remote) → HTTP GET an uHTTPd auf LinkIt (tempupdate.php).
- Web-App (PHP) auf LinkIt: Zeigt aktuelle Temps, Ventilstatus, Buttons für manuelle Zone (EG/OG/Ganz). Schreibt Kommando in
vent.txt(0=Ganz, 1=EG, 2=OG). - MCU-Sketch (Arduino-Seite): Pollt alle 60 s
vent.txtvia Bridge/HttpClient, bewegt Servos entsprechend.
Web-App Screenshots
MCU-Sketch (Kernlogik)
#include <Servo.h>
#include <Bridge.h>
#include <HttpClient.h>
Servo upServo, downServo;
const char* host = "192.168.1.80"; // LinkIt IP im LAN
int dOpen=80, dClose=0, uOpen=140, uClose=0; // Servowinkel
int upPos=0, downPos=0;
void setup() {
upServo.attach(9); downServo.attach(10);
pinMode(13,OUTPUT); digitalWrite(13,LOW);
Bridge.begin(); digitalWrite(13,HIGH);
}
void wholeHouse() { moveServo(downServo, downPos, dClose, dOpen); moveServo(upServo, upPos, uClose, uOpen); }
void downStairs() { moveServo(downServo, downPos, dClose, dOpen); moveServo(upServo, upPos, uOpen, uClose); }
void upStairs() { moveServo(upServo, upPos, uClose, uOpen); moveServo(downServo, downPos, dOpen, dClose); }
void moveServo(Servo &s, int &pos, int from, int to) {
if ((from < to && pos <= from) || (from > to && pos >= from)) {
for (pos = from; (to > from) ? pos <= to : pos >= to; pos += (to > from ? 1 : -1)) {
s.write(pos); delay(20);
}
}
}
void loop() {
HttpClient client; client.get("https://" + String(host) + "/vent.txt");
while (client.available()) {
char c = client.read();
if (c=='2') upStairs();
else if (c=='1') downStairs();
else if (c=='0') wholeHouse();
}
delay(60000);
}
Remote-Temperatursensor (ATtiny85/Arduino Nano + ESP8266)
- Liest DHT22 (Temp, Feuchte, Heat Index).
- Sendet per AT-Kommandos über SoftwareSerial an ESP8266 → HTTP GET an
tempupdate.php?ID=name&field1=temp&field2=hum&field3=heatindex. - Update-Intervall: 5 min (Netzbetrieb), 15 min (Batterie/Solar).
- Deep-Sleep des ESP8266 für Batteriebetrieb möglich.
Verbesserungspotenzial
- 3D-gedruckte, spielfreie Servo-Halter.
- Servos mit Metallgetriebe (MG996R bereits, aber größere für höhere Haltekraft).
- Weitere Zonen: Zusätzliche Servos an Raumklappen, alle an einem LinkIt (I/O reicht).
- API des WLAN-Thermostats nutzen → Vorheizen bei kaltem Haus.
- Integration in Home Automation (z. B. Home Assistant) → Bewegungsmelder steuern Zonen echtzeitbasiert (Wochenende flexibel).
Code-Repositories & Dateien
- LinkIt Smart Duo WiFi Vent (MCU Sketch, C++)
- WiFi Temp Sensor (Remote Node, C++)
- Vent.php (Web-App, PHP)
- LinkIt Smart Vent Android WebApp (Manifest.json für PWA)
Schaltplan
Remote-Sensor: ATtiny85/Arduino Nano → DHT11/22 → ESP8266 (SoftSerial) → WiFi → LinkIt Webserver.
Herstellungsprozess
- DATA MODUL bringt 23,1″ Ultra-Slim TFT Display mit Smart Wi-Fi Control
- Integriertes QR-, RFID- und Temperatur-Verifikations-Zugangskontrollsystem
- Qualitätskontrolle verbessern: 3D-gedruckte Werkzeuge erhöhen die Fertigungspräzision
- Intelligente Beschaffung: KI mit menschlicher Expertise verbinden
- Smartes Sparschwein: Münzprüfer mit Arduino Nano steuern
- Selbstbau TV-Fernbedienung: Arduino UNO, batteriebetrieben, 3D-gedrucktes Gehäuse
- LED per Bluetooth mit Arduino steuern – Einfache DIY-Anleitung
- Zwei Schrittmotoren mit Arduino Nano & Joystick steuern – Einfaches Tutorial
- GÖPEL optimiert Automobil-Qualitätskontrolle mit Universal Robots UR10e Cobot
- Millport SmartLathez 1740 CNC-Drehmaschine – Präzision & Power