KosmoS Plattform

Die im Rahmen des vom Bundesministerium für Bildung und Forschung unterstützten Projektes KosmoS (Kooperatives, modulares, mobiles Smart Life Lab) wurde eine IoT-Plattform entwickelt, welche speziell auf die Anforderungen der Forschungsprojekte der BMBF-Förderbekanntmachung „Intelligente, vernetzte Gegenstände für den Alltag“ angepasst wurde.

Die Software wurde primär in Java entwickelt und erlaubt die Kommunikation mittels HTTP, WebSockets und MQTT, sie verfügt über individuell anpassbare Zugriffskontrollen für jedes IoT-Gerät.

Für die einfache Gestaltung von Automatisierungen und Regeln wurde eine Blockbasierte Programmierschnittstelle entworfen, der KosmoS Rule Engine Editor (KREE).

Bildschirmfoto vom KREE
Bildschirmfoto vom KosmoS Rule Engine Editor

Um die Durchführung von Wizard of Oz Tests zu erleichtern gibt es den KosmoS Wizard, welcher es ermöglicht mittels einer JSON Datei schnell ein Interface für einen Wizard of Oz Test zu generieren. Diese JSON Datei kann auch mithilfe einer UI generiert werden (Dokumentation).

Die Plattform verfügt außerdem über eine Schnittstelle um Liveannotationen zum Beispiel in OBS zu ermöglichen (Dokumentation).

Um die Plattform einfach erweitern zu können wurde ein Plugin System implementiert wodurch die Plattform einfach um neue Features erweitert werden kann (Dokumentation).

Um einfach eigene Clients zu generieren und um die Kommunikation besser zu verstehen erstellt die KosmoS Plattform automatisch OpenAPI und AsyncAPI Schemas, sowie Dokumentationen in einem menschenlesbarem Format. Beispiele hierfür sind unter https://kosmos-lab.de/doc/ zu finden.

Eine fertige Client Library für Python ist unter https://github.com/kosmos-lab/python-kosmos-client zu finden sowie in pip, siehe https://pypi.org/project/kosmos-client/. Einige einfache Beispiele der Benutzung sind unter https://github.com/kosmos-lab/python-kosmos-client/tree/main/examples zu finden.

Diese Plattform wurde nun unter der MIT License als Open-Source Projekt veröffentlicht.

Zu finden ist das Projekt unter https://github.com/kosmos-lab/kosmos-platform. Die dazugehörige Dokumentation kann unter https://kosmos-lab.github.io/ eingesehen werden.