Das Software Development Kit SDK für BAOS Binary Services v2 ist eine C++ Client-Implementierung des KNX BAOS Binary Protocol 2.x über TCP/IP. Es ermöglicht kurze Entwicklungszeiten von nativen KNX-Steuerungsanwendungen, die die KNX BAOS IP Schnittstellen nutzen.

Im Vergleich zum BAOS SDK v1 hat die neue Version einen geringeren Platzbedarf und benötigt keine externen Bibliotheken. Derzeit ist die Version 2 auf das BAOS IP Protokoll beschränkt und kann für KNX IP BAOS Geräte oder den KNX Stack für Linux – kTux verwendet werden.

Für die öffentliche Nutzung stellen wir eine Binärversion für verschiedene Plattformen zur Verfügung. Benötigen Sie alternative Lösungen, kontaktieren Sie bitte unser Vertriebsteam.

Steckbrief

  • Geschrieben in modernem C++ 17
  • Nutzbar unter Linux-Desktop und Arm basierten Plattformen (z.B. Raspberry Pi)
  • Minimale externe Abhängigkeiten

Wofür steht BAOS?

Es ist ein Akronym für (B)us (A)ccess und (O)bject (S)erver.

Der ObjectServer ist eine Softwarekomponente, die die Verbindung zum KNX Bus abstrahiert. Er bietet der Client-Software definierte „Objekte“ an. Bei diesen Objekten handelt es sich um die Servereigenschaften (genannt „Items“), KNX Datenpunkte (auch bekannt als „Kommunikationsobjekte“ oder „Gruppenobjekte“) und KNX Konfigurationsparameter.

Außerdem gibt es mehrere Möglichkeiten, auf die BAOS-Geräte und den Objektserver zuzugreifen. Dieses SDK konzentriert sich auf das BAOS binary protocol.

Dieses proprietäre, von der Weinzierl Engineering GmbH entwickelte, Protokoll ist in verschiedenen Transportprotokollen wie FT1.2 oder einer Variante des KNXnet/Ip-Protokolls gekapselt.

Im BAOS-Protokoll gibt es drei Objekttypen.

Serveritems

Liefern Informationen über das BAOS-Gerät selbst, wie z.B. die Seriennummer.

Datapoint objects

Repräsentieren KNX-Gruppenobjekte und optional einen Beschreibungsstring für sie.

Parameter bytes

Ein Block von generischen Bytes, der während eines ETS-Downloads geschrieben wird und zur Laufzeit abgerufen werden kann.

Motivation

Die Erstellung eines kompletten KNX Gerätes erfordert ein tiefes Verständnis des KNX Standards, einen zertifizierten KNX Stack und auch eine Zertifizierung des Gerätes selbst und seiner Datenbank. Da der KNX Standard sehr vielseitig ist und eine große Anzahl von Szenarien unterstützt, hat er auch eine ziemlich steile Lernkurve.

Um die Anbindung an KNX zu erleichtern , wurden die BAOS-Produkte entwickelt.

Unser Unternehmen bietet gebrauchsfertige und KNX-zertifizierte BAOS-Geräte und bei Bedarf auch eine Anpassung der ETS-Datenbank an.

Da KNX ein dezentrales System ist, speichert kein zentraler Controller den aktuellen Zustand der Anlage. Um also die neuesten Werte zu erhalten, muss ein Gerät ständig am Bus präsent sein und die Kommunikation der Gruppenobjekte mitlesen. Obwohl die Geschwindigkeit von bis zu 50 Telegrammen pro Sekunde bei KNX TP im Vergleich zu den Giga- oder Megabits/s von Ethernet nicht sehr viel sind, kann es eine Herausforderung sein, die Verarbeitung all dieser Telegramme sicherzustellen. Die BAOS Geräte entlasten Sie von dieser Aufgabe. Nur wenn der Client den aktuellen Wert eines Datenpunktes benötigt, muss er ihn vom BAOS-Gerät laden. Ein Mitlesen in Echtzeit auf der Client-Seite ist nicht erforderlich.

Weitere Lektüre

Interessiert? Dann laden Sie oben das Paket für Ihre Plattform herunter und beginnen Sie mit der README.md Datei oder der ausführlichen Dokumentation unter docs/doxygen_html/index.html.