Loxone Link

Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Wechseln zu: Navigation, Suche

Loxone Link

Einführung

Der Loxone Link ist ein auf dem CAN-Bus basierender Bus. Er verbindet den Miniserver mit den sog. Extentions des österreichischen Herstellers Loxone. Dieser Bus stellt quasi das Rückgrat des Heimautomationssystems dar.

Leider ist das Protokoll dieses Busses nicht offengelegt, sodass es einiger Analyse bedarf, um trotzdem an entsprechende Informationen zu kommen.

Ziel

Ziel des Projektes ist, seine eigene Hardware direkt an den Loxone Link anschließen zu können ohne weitere Extentions zu benötigen. Auf der eigenen Hardware soll ein Mikrocontroller laufen, welcher mit dem Loxone Link bzw. dem Miniserver kommunizieren kann.

Setup des Versuchaufbaus

[Miniserver Go]--CAN--[RS485-Extention]--RS485--[Relaiskarte]

Der Miniserver Go und die RS485 Extention stammen beide von Loxone. Der Miniserver Go ist mit dem LAN verbunden und über Loxone Link mit der RS485-Extention. An der RS485-Extention hängt per RS485 eine Relaiskarte, welche mit 8 Relais bestückt und einem ATMega32 bestückt ist.

Technische Details

Um zu sehen was auf dem Bus passiert, ist es naheliegend dessen Komunikation abzuhören. Zuerst stellt sich jedoch die Frage nach der Baudrate. CAN kann je nach Länge mit unterschiedlichen Baudraten betrieben werden.

Da der Hersteller für diesen Bus eine maximale Länge von 500m angibt, ist es naheliegend im Internet zu suchen, welche Baudraten bei CAN-Bussen welche max. 500m lang sind üblich sind.

Laut RN-Wissen wird für 500m eine max. Datenraten von 125kbit/s angegeben.

Mit dieser Information kann man nun versuchen am Bus zu horchen und versuchen irgendwelche Daten abzugreifen.

Um dies zu bewerkstelligen, wurde ein EvaBoard-CAN von der Firma e-lab verwendet. (Natürlich können auch andere Board verwendet werden, dieses stand jedoch gerade zur Verfügung.)

Zum Anschluss an den Loxone Link wurden Link+ mit CAN-H und Link- mit CAN-L verbunden.

Als Software wurde das "can_spy_echo_example" aus der Atmel CAN-Lib verwendet.

Die Software wurde für den Test so modifiziert, das der UART fest auf die Baudrate 115200 Baud und der CAN-Bus fest auf 125kbit/s eingestellt ist.

Weiterhin wurden die Zeilen auskommentiert, in denen sich das Programm beendet, wenn die CAN-ID 0 empfangen wird. Zum Schluss wurde noch der Mode fest auf "Spy" einegstellt.

Nun muss nur noch die Software in den Controller des EvaBoards geflasht werden und es kann los gehen.

Nach einiger Zeit sieht man die ersten Telegramme. Wenn man es nicht auf den ersten Blick erkennt, wird man vielleicht beim zweiten Blick feststellen, das Seriennummern der Extentions gleich der CAN-ID sind.

Weiterhin wird man Daten wieder erkennen, die man als Befehl an seine RS485 Extention geschickt hat. Diese Daten scheinen jedoch nicht vollständig zu sein, wahrscheinlich muss man den Code für den CAN-Monitor von Atmel noch etwas anpassen um wirklich alle Daten zu sehen.