Hausautomation
Das Ziel von intelligenter Haustechnik ist, Steuer- und Regelungs-Aufgaben zu automatisieren und zwar so, dass die Hausbewohner die Technik gar nicht wahrnehmen.
In der Hausautomatisierung können viele verschiedene Bussysteme eingesetzt werden. Meiner Meinung nach, eignet sich der I2C-Bus besonders gut. Er ist modular aufgebaut und es gibt diverse Schaltungsbeispiele und Bausätze um verschiedene Sensoren und Aktoren ansteuern zu können. Zudem gibt es zahlreiche Sensoren, welche bereits das I2C-Protokoll von Haus aus sprechen. Allerdings ist dieser Bus nicht für lange Busleitungen konzipiert. Das sollte uns aber nicht daran hindern, diesen Bus in der Haustechnik einzusetzen. Durch Leitungsverstärker (aktive pull up Widerstände) und Multiplexer lässt sich der Bus auf bis zu 100m erweitern. Also kurz zusammengefasst: Mit einem I2C-Bus lässt sich mit wenig Geld und relativ geringem Aufwand ein gesamtes Haus automatisieren.
Konzept
Anzahl und Art der benötigten Komponenten für ein Einfamilienhaus mit 6 Zimmern:
- 8x Temperatursensoren
- 8x Lichtsensoren
- 8x Luftgütesensoren
- 32X Bewegungsmelder
- 20X LED PWM Ausgang
- 30x Taster Eingang
- 1x Counter
Zentralrechner
Als Zentralrechner kann jedes linux fähige Board eingesetzt werden. Er muss über eine USB 2.0, I2C Schnittstellen verfügen und relativ stromsparend sein. Ein geringer Stromverbrauch ist deshalb wichtig, weil dieser Kontroller 24 Stunden 365 Tage im Jahr läuft.
Schnittstellen
Folgende Schnittstellen sind nötig:
- I2C
- USB 2.0 (für Sound)
Optional:
- VGA/DVI/HDMI
Hardware
Folgende Hardwareprojekte können als Kontroller eingesetzt werden:
Raspberry Pi
Model B | |
---|---|
Target price: | US$35 |
System-on-a-chip (SoC): | Broadcom BCM2835 (CPU + GPU + SDRAM) |
CPU: | 700 MHz ARM11 ARM1176JZF-S core |
GPU: | Broadcom VideoCore IV,OpenGL ES 2.0,OpenVG 1080p30 H.264 high-profile encode/decode |
Memory (SDRAM): | 256 MiB |
USB 2.0 ports: | 2 (via integrated USB hub) |
Video outputs: | Composite RCA, HDMI (not at the same time) |
Audio outputs: | 3.5 mm jack, HDMI |
Audio inputs: | none, but a USB mic or sound-card could be added |
Onboard Storage: | SD / MMC / SDIO card slot |
Onboard Network: | 10/100 wired Ethernet RJ45 |
Low-level peripherals: | General Purpose Input/Output (GPIO) pins, Serial Peripheral Interface Bus (SPI), I²C, I²S, Universal asynchronous receiver/transmitter (UART) |
Real-time clock: | None |
Power ratings (provisional, from alpha board): | 700mA, (3.5 Watt) |
Power source: | 5V via Micro USB or GPIO header |
Size: | 85.60mm x 53.98mm (3.370 × 2.125 inch) |
Root File System
I2C
Der Raspberrypi hat zwei I2C Schnittstellen (3,3V). Die erste Schnittstelle /dev/i2c_0 ist an S2 zu finden: P1-03 I2C0_SDA P1-05 I2C0_SCL Der zweite Port an S5: P1-14 I2C1_SDA P1-13 I2C1_SCL
Pull up Widerstände: I2C0 = 1K8, I2C1 = 1K6
Toolchain
Software
Die Software für die Hausautomation ist open source und heisst OpenHAB. Diese Homeautomation Lösung erlaubt es, verschiedenste Systeme daran anzubinden. Somit ist man nicht nur auf einen Hersteller beschränkt. Ganz gut lassen sich so auch selbst entwickelte Kontroller mit Arduino integrieren. Ebenso können unter anderem auch REST oder Web Services angebunden werden. Genau diese Technologien setze ich hier in meinem HA Projekt ein.
OpenHAB official web page Arduino via RS485 an OpenHAB
Raumkontroller
Der Raumkontroller regelt einen kompletten Raum.
Rack
Rack Verbindungen
Nummer | Richtung | Beschreibung | Anzahl |
---|---|---|---|
1 | <-- | 230 V Solarstrom out
|
x |
2 | --> | 230 V Netz von BKW in
|
1 |
3 | <-> | 24 V Hauptversorgung Batterie | 1 |
4 | <-- | 24 V für Verbraucher im ganzen Haus
|
x |
5 | --> | Steuerleitungen von Tastern und Bewegungsmeldern
|
x |
6 | <-- | I2C Haus-Bus für Temperatur-, Licht-Sensoren
|
x |
7 | <-- | 5 V DC Stabilisiert für
|
x |
8 | --> | Telefonanschluss Analog | 2 |
9 | <-- | LAN Ethernet Cat. 5 Hausnetz | x |
10 |
Richtung: <-- = out, --> = in Anzahl: x = mehrere
Rackdesing
.......................................... ---| | 1 | | ---| | 2 | | ---| | 3 | | ---| | 4 | | ---| | 5 | | ---| | 6 | | ---| | 7 | | ---| | 8 | | ---| | 9 | | ---| | 10 | | ---| | 11 | | ---| | 12 | | ---| | 13 | | ---| | 14 | | ---| | 15 | | ---| | 16 | | ---| | 17 | | ---| | 18 | | ---| | 19 | | ---| | 20 | | ---| | 21 | | ---| | ''''''''''''''''''''''''''''''''''''''''''
Beschriftungskonzept
01.01.01.xx-01 ¦_____________ Gebäude ¦__________ Stockwerk ¦_______ Raum ¦_____ Kategorie ¦____ Art ¦__ Nummer
Gebäude
Nummer | Wert |
---|---|
01 | Haupthaus |
02 | Werkstatt |
03 | Unterstand |
Stockwerk
Nummer | Wert |
---|---|
-1 | 1. Untergeschoss |
00 | Erdgeschoss |
01 | 1. Stock |
02 | 2. Stock |
03 | 3. Stock |
Raum
Immer vom Haupteingang des Stockwerks im Uhrzeigersinn.
Nummer | Wert |
---|---|
00 | Gang / Eingangsbereich |
01 | 1. Raum vom Haupteingang auf der linken Seite |
Kategorie / Typ
Kategorie | Typ | Wert | Einheit |
---|---|---|---|
V | H | Hauptverteilung | |
V | U | Unterverteilung | |
V | R | Raumverteilung | |
S | T | Temperatursensor | °C |
S | L | Lichtsensor | Lux |
S | H | Feuchtigkeitssensor | % |
Nummer
Im Raum im Uhrzeigersinn aufgenommen. Jede Art beginnt wieder bei 1.
Benutzerinterface
Als Benutzerinterface kann jedes Webbasierende Gerät (Android Tablet, Smartphone, usw.) verwendet werden.
I2C Bus Varianten
In der Hausautomation empfiehlt es sich, zwei Busarten einzusetzen. Der localbus ist für die Kontroller nahen I/O Komponenten. Der distantbus ist für die Anbindung von entfernten Sensoren und Aktoren (z.B. die Lichtsensoren in jedem Zimmer).
Localbus
Der localbus ist für die Anbindung aller Kontroller nahen I/O Devices. Dieser Bus ist hoch getacktet (z.B. 400 kHz) und ermöglicht schnelle Reaktionszeiten.
Distantbus
Der Distantbus wird mit langsamer Geschwindigkeit betrieben. Durch Multiplexer kann dieser Bus in mehrere aufgeteilt werden. Dies ermöglicht eine sternförmige Reichweitenverlängerung. Die Busleitungen des Distantbus werden in jedes Zimmer geführt. Dies ermöglicht zum Beispiel das Betreiben von CO2 oder Lichtsensoren in jedem Zimmer. Die Buslängen Erweiterung kann mit dem IC P82B96 von Philips erreicht werden (gemäss Forum). Es wird von Busleitungen um die 200m berichtet.
I/O Einheiten
I2C Leiterplatten gibt es für relativ wenig Geld von verschiedenen Anbietern. Die Einheiten werden über den I2C Bus zusammengekoppelt. Somit stehen beinahe unbeschränkte Input und Output Möglichkeiten offen.
Befestigung
Die günstigste Befestigungsart ist die ohne eigenes Gehäuse. Alle Module werden auf ein Plexiglas Board mittels Plexiglashaltern montiert.
Wer dennoch einzelne Gehäuse um die Einheiten möchte, kann gut Hutschienengehäuse (LEER-GEHÄUSE 70.5 MM von Wieland Conrad Bestell Nr: 524077 - 62) für Platinen: 93 x 67 mm einsetzen.
Stereuerleitungsanschluss
Für den Anschluss der Module eignen sich Pfostensteckverbinder und Flachbandkabel. Über diese Verbindung werden die Steuerleitungen I2C und die Stromversorgung der Module geführt. Von Vorteil werden folgende gesicherte Pfostenverbinder verwendet:
- MESSERL. M GER. LÖTSTIFTEN 10 POLIG: Conrad Artikel-Nr.: 742641 - 62 1.45 CHF
- PFOSTEN-STECKVERBINDER 2 X 5 POLIG: Conrad Artikel-Nr.: 742106 - 62 0.70 CHF
Die Steuerleitungen sollten möglichst kurz ausgelegt werden.
Schraubklemmen
Als Anschlussklemmen eignen sich steckbare Schraubklemmen, welche auf die Leiterplatte gesteckt werden können. Im Falle einer Revision kann die gesamte Verkabelung unveränderbar abgesteckt werden.
Conrad:
Beschreibung | Strom | Artikelnummer | Preis | Stiftleiste | Artikelnummer | Preis |
SCHRAUBKLEMME AK1550 RM 3,5 GN 10-POLIG | 160V 9A | 731826 - 62 | 6.95 | STIFTLEISTE VERT STL1550 RM3,5 GN 10-POL | 732045 - 62 | 2.95 |
SCHRAUBKLEMME AK950 RM 5,0 GRÜN 10-POLIG | 250V 12A | 731551 - 62 | 7.25 | STIFTLEISTE VERT STL950 RM5,0 GN 10-POL | 732108 - 62 | 2.75 |
FEDERKRAFT-STECKERTEIL RM 3,5 GN 10-POL. | 300V 8A | 730722 - 62 | 7.25 | GRUNDGEHÄUSE SENKRECHT RM 3,5 GN 10POL. | 731119 - 62 | 2.00 |
USB BUS
USB Hub
Da nur wenige USB Ports auf dem Kontroller zu Verfügung stehen, ist ein USB Hub notwendig.
Anforderungen:
- 12V Speisung
- Industrietauglich
- (Hutschienen Montage)
Produkte:
- EXSYS USB 2.0 7-Port Hub (EX-1177HMVS/EX-1177HMV)
Alternative
Rasparry PI 7 USB Hub Huckepack Modul eines Englischen Herstellers.
Heizung
Umwälzpumpen
Da das Hausstromnetz mit 24 Volt betrieben wird, müssen auch die Umwälzpumpen mit 24 Volt Gleichstrom betrieben werden können. Folgende Pumpen stehen da zur Verfügung:
- Laing Gleichstrompumpe Ecocirc D5vario 38/10 XB
- Drehzahlsteuerung [1]
- Vortex BLUE-ONE BWO 155 12V (434-121-000)
Muss noch nachgerüstet werden
- Sicherheitsthermostat im Bodenheizungskreis, welcher bei einer zu hohen Temperatur die Umwälzpumpe abschaltet.
Beleuchtung
Primär LEDs mit folgenden Daten (oder besser):
Gehäusefarbe: glasklar Durchmesser: 5mm / Flachkopf Intensität: 1.000mcd max. Öffnungswinkel: ~120 Grad Betriebsspannung: 3,2 - 3,4 Volt Betriebssp. mit Vorw. (470 Ohm) : 12 V Betriebsstrom: 20mA Betriebsstrom max.: 50mA Lichtfarbe: warmweiss
Siehe RGB LED Streifen:
RGB LED Streifen mit Mikrokontroller per PWM und Transistor/Mosfet ansteuern:
Sound
Ein Multi-Room Digital Music System sollte installiert werden. Dies ermöglicht in jedem Raum eine beliebige Misikquelle zu hören. Dazu eignet sich MPD (Music Player Deamon) welcher zentralisiert installiert werden kann und mit wenig Ressourcen auskommt.
Der MPD läuft auf einem Linux gerät welches ein Audiodevice pro Raum besitzen muss. Und zwar ist eine Instanz des MPD und ein Audiodevice pro Raum nötig. Das Steuerungs GUI kann auf separaten Geräten im Raum oder auf dem Tablet eingesetzt werden.
USB
Jedes Zimmer erhält einen aktiven USB Lautsprecher. Dieser Lautsprecher ist mit dem Zentralrechner verbunden und ermöglicht so gezieltes Beschallen von Zimmern. Als Lautsprecher kommen folgende Modelle in Frage:
- Logitech Z-5 (ist leider nicht mehr erhältlich)
Ethernet
Gute Ethernetlautsprecher sind:
Links
Sensortasten
Als Schalter können sehr gut Sensortaster verwendet werden. Durch den Berührungslosen Schaltvorgang ist ein mechanischer Verschleiss nicht zu erwarten. Diese Sensoren können unsichtbar hinter nicht leitenden Materialien montiert werden. So sind der Kreativität kaum Grenzen gesetzt.
MPR121
- MPR121 I2C Capacitive Touch Sensor Breakout Board
- MPR121 Capacitive Touch Sensor Breakout Board
- [http://bildr.org/2011/05/mpr121_arduino/
Lüftersteuerung
Es gibt Lüfter, welche einen PWM Eingang besitzen. Solche Lüfter kann man ganz gut über einen I2C PWM Treiber ansteuern. Folgende Schaltung kann dazu eingesetzt werden:
GND --------+--------------+-------+-------- C1|100nF | C2|100nF + 12,8 V ---+-----------UA7805-----+--+---------+-- | | + 5 V --------------+-----------------+-- | | | R1|47ohm | | P2 Vin +-------------X-------PWM Lüfter Sense ----- (float) C GND Generator(5V) --R--B NPN Transistor | | E | | P1 | | GND ---+--X---------+---------------------------+--------------
Stromzähler
Analoge Stromzähler können über eine Reflexlichtschranke ausgelesen werden.
Anleitungen:
Wasserzähler
Es gibt auch Wasserzähler mit einem S0-Bus. Dieser Bus gestattet die gleiche Ansteuerung wie ein Stromzähler.
Waschmaschinensteuerung
Mit einer Waschmaschinensteuerung kann die Waschmaschine bedarfsgerecht mit Warm- und Kaltwasser versorgt werden. Die Steuerung sollte Waschmaschinen unabhängig sein, um eine günstige Waschmaschine verwenden zu können.
Benötigte Komponenten
Für diese Steuerung werden folgende Komponenten benötigt:
- 2x Magnetventile
- 1x T-Stück
- 1x Wasserzähler
- 1x Stromzähler
- 1x Taster
Anschlussprinzip
Der Wasseranschluss der Waschmaschine wird über den Wasserzähler beim T-Stück angeschlossen. Die beiden anderen Enden des T-Stückes werden über die Magnetventile mit dem Warm- bzw. Kaltwasseranschluss verbunden. Der Stromanschluss wird über den Stromzähler an das Stromnetz angehängt.
Steuerungsprinzip
Im Normalzustand (Taster nicht gedrückt) erkennt der Steuerungsrechner automatisch einen Waschgang durch den Wasser- bzw. den Stromzähler. Die Steuerung wird programmiertechnisch auf die vorhandene Waschmaschine angepasst. Benötigt die Maschine für einen Waschvorgang warmes Wasser, wird das Magnetventil des Warmwasseranschlusses zum richtigen Zeitpunkt aktiviert. Wenn aber nur gespült wird, dann ist das Kaltwasser Magnetventil aktiviert. Durch diese Steuerung wird das Waschen ökologisch optimiert. Die eingesetzten Energiezähler erlauben zudem eine Analyse der Waschkosten.
Bei einem speziellen Programm wird einfach der Taster gedrückt. In diesem Zustand ist immer das Kaltwasser Magnetventil aktiviert. Dies ermöglicht eine herkömmliche Konfiguration.
Wird beim Waschen zudem noch das Waschmittel durch Waschnüsse ersetzt (siehe Oekologisch wohnen), kann man sich zu den umweltfreundlichsten Waschern der westlichen Zivilisation zählen.
Eingangskontrolle
Zur Zutrittskontrolle können verschiedenste Systeme eingesetzt werden.
- Fingerabdruckleser gibts z.B. von ekey.
- RFID Card Reader Projekt http://www.instructables.com/id/Arduino-RFID-Door-Lock/
Türen schliessen
Zum Schliessen von Türen/Fenstern können Hubmagnete eingesetzt werden. Bistabile Ausführungen eignen sich besonders gut, da sie im stromlosen Zustand in beiden Positionen halten. Dies wirkt sich besonders auf den Leistungsbedarf aus.
Led Dimer
Zur Regulierung von LEDs eignet sich die PWM Modulation. Von NXP gibt es ein I2C IC welches genau dies erledigt. Die Bezeichnung ist: PCA9533 Er hat vier Ausgänge.
I2C Bus
Beschreibung des Busses: http://www.i2c-bus.org/de
Sehr gute Anleitung für den Bus: http://www.robot-electronics.co.uk/htm/using_the_i2c_bus.htm
Sensoren
Strom und Spannung
Eine einfach Messschaltung für Strom und Spannung findet man unter: [2] Es werden dazu 2 A/D Eingänge benötigt.
Bausteine
|
Schaltmodule
- http://www.mikrocontroller.net/articles/I2C-Schaltmodul
- http://cctools.hs-control.de counter, io module, etc.
- http://www.shop.robotikhardware.de Robotik Komponenten mit I2c (Servocontroller, Schrittmotor, LCD Display)
Servos Selber bauen
Debugging
Einen günstigen seriellen Protokoll Analysator ist der Bus Pirate. Er ist für ca. 30 $ erhältlich. Dazu gibt es eine kostenlose Logic Sniffer Software, welche in Java entwickelt wurde und auf den Plattformen Windows, Mac OS und Linux läuft. Youtube Anleitung
1-wire Bus
Der 1-wire Bus kann von Raspberry Pi über den DS2482-100 angesprochen werden. Breakout Boards sind bei folgenden Quellen erhältlich:
Sensoren
- Analoge Umwelt Sensoren kombiniert mit einem A/D Wandler [3]
Test
1-wire Sensoren können am besten mit einem USB Adapter getestet werden. Ich verwende dazu einen DS9097U Adapter.
Software Pakete installieren:
# apt install digitemp
USB Adapter mit Sensor verbinden:
USB Adapter => Sensor rot => rot (+5V) schwarz => schwarz (GND) grün => gelb (1-Wire Daten)
Sensor auslesen:
# digitemp_DS9097 -i -s /dev/ttyUSB0 : digitemp_DS9097 -q -a -n 5
Kabel
Netzwerkkabel geschirmt:
Datei:Twistedpairbelegung1wire.png
1-Wire +5v: grün 1-Wire Daten: blau 1-Wire Daten Rückleitung: blau-weiss GND: grün-weiss, orange-weiss, blau-weiss, braun
Sensormodule
Dachtemperaturmodul
4x DS18b20 an SFTP CAT5 Kabel
Belegung: GND: grün-weiss, orange-weiss VCC +5V: grün 1-Wire Daten: blau 1-Wire Daten Rückleitung: blau-weiss
Dachplatten temperaturmodul
1x DS18b20 an SFTP CAT6 Kabel direkt unter den Dachplatten unterhalb der Dachgaube (mittig) montiert.
S/N: 28FF7812B317049F
Belegung: GND: grün-weiss VCC +5V: grün 1-Wire Daten: blau
Bewegungsmelder
KC7783R Die Auswertelogik ist durch einen speziellen Controller KC778B realisiert, im Aktivzustand wird der Ausgang auf +5V für min. 0,5s gezogen. Der Ausgang bleibt high, solange eine Bewegung detektiert wird.
- Betriebsspannung: 5V
- Stromaufnahme: ca. 0,3mA
- Öffnungswinkel: 60°
- Abmessungen: 35mm x 25mm x 16mm
- Radius Fresnellinse: 12mm
Zentralstaubsauger
Anforderungen
- Die Saugleistung muss beim Handteil reguliert werden können.
- Ein/Ausschalten durch Schalter beim Handteil
ProfiVac
Oder Staubsaugerrobotter, z.B. vorwerk kobold vr100
Rauchmelder
Ei605C-D bestes Modell laut Kassensturztest
Anzeigen
Beim Ausgang/Garderobe
Temperatur und Wettervorhersage um sich mental auf den Tag einzustellen und sich entsprechend einkleiden zu können.
Uhr
Eine binäre Uhr ist einfach aufzubauen und etwas komplizierter zu lesen. Eine gute Idee etwas einfaches mit LEDs darzustellen.
Links
- Selfmade Home Automation by Thomas Driemeyer
- http://www.cc2-haussteuerung.de I2C Aktoren/Sensoren
Verkabelung
12V mit Neutrik Powercon NAC3 Stercker/Buchsen (20A)
Universelle Gebäudeverkabelung
Im Artikel Universelle Gebäudeverkabelung ist die Kommunikationsverkabelung beschrieben.
Vergussmasse
Zum Vergiessen von Elektronik z.B. Temperatursensoren in Tauchhülsen eignen sich Giessharze mit einer hohen Wärmeleitfähigkeit. Folgende Produkte kommen in Frage:
- Biothan 2 MD 2170-200 erhältlich bei http://www.silitech.ch
Stromsparende ADSL Router
WBR2-G54S