Smart Home (KNX): Difference between revisions

From
Jump to navigation Jump to search
Line 48: Line 48:


==RaspberryPi==
==RaspberryPi==


Nachdem wir die KNX-Komponenten miteinander verbunden und mit der ETS-Software programmiert haben, werden wir uns nun mit der Einrichtung des „SmartHome-Servers“ beschäftigen. Die Anforderungen an so einem Server sind in erster Linie ein niedriger Stromverbrauch, schnelle Reaktionszeiten, Platzsparsamkeit und möglichst niedrige Anschaffungskosten.

Der Raspberry Pi 2 Model B ist für unseren Anwendungszweck sehr gut geeignet. Als Betriebssystem verwenden wir die aktuelle Version „Raspbian Wheezy“, dass man sich auf der Homepage (https://www.raspberrypi.org/downloads/raspbian) herunterladen kann.
Um das Image auf die Speicherkarte zu schreiben und bootfähig zu machen, haben wir das Programm „Win32 Disc Manager“ (http://sourceforge.net/projects/win32diskimager - Windows) verwendet.


'''Bemerkung:''' Als Speichermedium verwenden wir eine microSD-Speicherkarte. Die Verwendung einer Marken-Speicherkarte mit guten Lese- und Schreibwerten wird dringend empfohlen. Unsere erste Installation auf einer no-name microSD ging uns nach einigen Tagen intensiver Nutzung leider kaputt. Das System stürzte häufig ab und wollte dann gar nicht mehr booten. Nach der zeitaufwendigen Neuinstallation auf eine Samsung Evo MicroSD lief das System dann flüssig und fehlerfrei. Der Speicherplatz von 8GB reicht im Grunde aus.

Nach dem Aufspielen des Images auf die Speicherkarte, wird diese in den Raspberry Pi eingesteckt, zusätzlich schließen wir einen Monitor per HDMI sowie eine Tastatur und Maus per USB an, bevor der Raspberry Pi angeschaltet wird.
Nach dem ersten Hochfahren erscheint ein Menü, wo wir verschiedene Einstellungen vornehmen können.

Wichtig sind hier folgende Punkte:
1. Speicher auf komplette Karte erweitern.
2. Optional] Eigenes Passwort setzen, default: username:pi; password: raspberry
3. [Optional] Booten in Desktop-Mode, falls man nicht alles per Remote-Kommandozeile machen will.
4. Die richtige Zeitzone, Sprache und das Tastaturlayout sollte ausgewählt werden.

'''Bemerkung:''' Das o. g. Konfigurationsmenü könnt ihr später mit folgendem Befehl „sudo raspi-config“ im Terminal wieder aufrufen.
Auf der Desktopoberfläche des Raspberry Pi angelangt, überprüfen wir, ob eine gültige Netzwerkverbindung per angeschlossenem LAN-Kabel besteht. Ein WLAN-Modul wäre hier alternativ auch möglich. Die IP-Adresse des Raspberry Pi kann über den Router ermittelt werden oder wir geben im Terminal den Befehl „sudo ifconfig“ ein. Die IP-Adresse sollte möglichst statisch gesetzt werden, um einfacher per SSH auf den Raspberry Pi zugreifen zu können, bzw. später auf unsere SmartHome-Weboberfläche. Für den Versuchsaufbau haben wir uns eine feste IP-Adresse vom Informatik-Institut geben lassen, an dem der Raspberry Pi dauerhaft angeschlossen war.
Nachdem wir den Raspberry Pi frisch aufgesetzt haben, laden wir uns die aktuellsten Softwarepakete und die aktuellste Firmware wie folgt herunter:

''sudo apt-get updatesudo apt-get upgrade''
''sudo rpi-update''

Anschließend starten wir den Raspberry Pi neu.
Soweit haben wir alles Notwendige getan, um den Raspberry Pi als Smart-Home Server zu benutzen.
Im nächsten Schritt werden wir uns der Installation der Smart-Home Applikation OpenHAB widmen.


==Openhab==
==Openhab==

Revision as of 16:05, 7 November 2015

Komponenten

Aktoren

Schaltaktor

KNX-Schaltaktor

[Text]

Dimmaktor

KNX-Dimmaktor

[Text]

Spannungversorgung

Einfache Spannungsversorgung
Spannungsversorgung mit KNX-Busstrom

IP-Gateway

KNX-IP-Gateway

[Text]

Sensoren

KNX-Taster (Vorder- und Rückseite)
KNX-Temperaturregler

Adressierung

Physikalische Adressen

[Aufbau und Funktion der Adressen]

Gruppenadressen

Versuchsaufbau

KNX-Komponenten

KNX-Versuchsaufbau Schritt 1
KNX-Versuchsaufbau Schritt 2
KNX-Versuchsaufbau Schritt 3
KNX-Versuchsaufbau Schritt 4
KNX-Versuchsaufbau Schritt 5
KNX-Versuchsaufbau Schritt 6
KNX-Versuchsaufbau Schritt 7
KNX-Versuchsaufbau Schritt 8
KNX-Versuchsaufbau Schritt 9

[Schematische Zeichnung]

ETS

RaspberryPi

Nachdem wir die KNX-Komponenten miteinander verbunden und mit der ETS-Software programmiert haben, werden wir uns nun mit der Einrichtung des „SmartHome-Servers“ beschäftigen. Die Anforderungen an so einem Server sind in erster Linie ein niedriger Stromverbrauch, schnelle Reaktionszeiten, Platzsparsamkeit und möglichst niedrige Anschaffungskosten.

Der Raspberry Pi 2 Model B ist für unseren Anwendungszweck sehr gut geeignet. Als Betriebssystem verwenden wir die aktuelle Version „Raspbian Wheezy“, dass man sich auf der Homepage (https://www.raspberrypi.org/downloads/raspbian) herunterladen kann. Um das Image auf die Speicherkarte zu schreiben und bootfähig zu machen, haben wir das Programm „Win32 Disc Manager“ (http://sourceforge.net/projects/win32diskimager - Windows) verwendet.


Bemerkung: Als Speichermedium verwenden wir eine microSD-Speicherkarte. Die Verwendung einer Marken-Speicherkarte mit guten Lese- und Schreibwerten wird dringend empfohlen. Unsere erste Installation auf einer no-name microSD ging uns nach einigen Tagen intensiver Nutzung leider kaputt. Das System stürzte häufig ab und wollte dann gar nicht mehr booten. Nach der zeitaufwendigen Neuinstallation auf eine Samsung Evo MicroSD lief das System dann flüssig und fehlerfrei. Der Speicherplatz von 8GB reicht im Grunde aus.

Nach dem Aufspielen des Images auf die Speicherkarte, wird diese in den Raspberry Pi eingesteckt, zusätzlich schließen wir einen Monitor per HDMI sowie eine Tastatur und Maus per USB an, bevor der Raspberry Pi angeschaltet wird. Nach dem ersten Hochfahren erscheint ein Menü, wo wir verschiedene Einstellungen vornehmen können.


Wichtig sind hier folgende Punkte: 1. Speicher auf komplette Karte erweitern. 2. Optional] Eigenes Passwort setzen, default: username:pi; password: raspberry 3. [Optional] Booten in Desktop-Mode, falls man nicht alles per Remote-Kommandozeile machen will. 4. Die richtige Zeitzone, Sprache und das Tastaturlayout sollte ausgewählt werden.

Bemerkung: Das o. g. Konfigurationsmenü könnt ihr später mit folgendem Befehl „sudo raspi-config“ im Terminal wieder aufrufen. Auf der Desktopoberfläche des Raspberry Pi angelangt, überprüfen wir, ob eine gültige Netzwerkverbindung per angeschlossenem LAN-Kabel besteht. Ein WLAN-Modul wäre hier alternativ auch möglich. Die IP-Adresse des Raspberry Pi kann über den Router ermittelt werden oder wir geben im Terminal den Befehl „sudo ifconfig“ ein. Die IP-Adresse sollte möglichst statisch gesetzt werden, um einfacher per SSH auf den Raspberry Pi zugreifen zu können, bzw. später auf unsere SmartHome-Weboberfläche. Für den Versuchsaufbau haben wir uns eine feste IP-Adresse vom Informatik-Institut geben lassen, an dem der Raspberry Pi dauerhaft angeschlossen war.

Nachdem wir den Raspberry Pi frisch aufgesetzt haben, laden wir uns die aktuellsten Softwarepakete und die aktuellste Firmware wie folgt herunter:

sudo apt-get updatesudo apt-get upgrade sudo rpi-update

Anschließend starten wir den Raspberry Pi neu. Soweit haben wir alles Notwendige getan, um den Raspberry Pi als Smart-Home Server zu benutzen. Im nächsten Schritt werden wir uns der Installation der Smart-Home Applikation OpenHAB widmen.

Openhab

Angriffe auf das KNX-System

DOS-Angriff (IP-basiert)

DOS-Angrif (via KNX-Bus)

Alle Teilnehmer eines KNX-Netzwerks sind über zwei Drähte miteinander verbunden, über welche jeweils Gleichstrom fließt, der sogenannte Busstrom. Diese zwei Drähte sind zum einen der Plus- und zum anderen der Minuspol. Werden diese verbunden, ergibt dies einen Kurzschluss, wodurch keine Telegramme mehr verschickt werden können. Die Fehlersuche ist dann sehr aufwändig.

Paketreplay aus internem Netzwerk

Busmanipulation

Die KNX-Buskommunikation erfolgt unverschlüsselt. Damit kann jeder Teilnehmer Telegramme vom Bus lesen und auch schreiben. Das ist solange kein Problem, wenn keiner der Teilnehmer ausgetauscht werden kann. Wird ein Teilnehmer, zum Beispiel ein Taster durch ein IP-Gateway ausgetauscht, kann dieser wie jeder andere Teilnehmer auch die Telegramme vom Bus lesen und auch Telegramme auf dem Bus schreiben. Die Geräte müssen sich in dem Netzwerk nicht authentifizieren. Das ist besonders bei der Gebäudeautomatisierung mit Außenanlagen problematisch. Dort kann ein Angreifer einen Taster oder einen Sensor durch ein IP-Gateway austauschen. Dieses IP-Gateway verbindet der Angreifer via Ethernet mit einem mobilen PC. Danach kann er direkt mit der ETC-Software die Aktivitäten auf dem Bus auslesen und auch eigene Telegramme hinzufügen. Ist das interte Netz innerhalb des Gebäudes nicht vom Äußeren des Gebäudes abgegrenzt, können dann Schaltungen im Gebäude druchgeführt werden. Da oft viele Teilnehmer mit dem KNX-Bus verbunden sind, könnten auch sicherheitsrelevante Teilnehmer wie Alarmanlagen deaktiviert werden.