Die OMG hat den DDS-XRCE-Standard eingeführt, um die Integration ressourcenbeschränkter Geräte in den Datenbus zu erleichtern. Wegen begrenzter Speicher, Verarbeitungsleistung oder Kommunikationsbandbreite war eine Reihe von kleinen Geräten mit niedriger Stromaufnahme in der Regel nicht für die DDS-basierte Kommunikation geeignet. Ihre Einbindung in den Datenbus ist jedoch seit langem eine Anforderung, die Entwickler dazu zwingt, auf proprietäre Protokolle zurückzugreifen.
DDS-XRCE bietet eine Lösung für dieses Problem. Dieses auf Standards basierende Client-Server-Protokoll ist für Implementierungen mit minimalen Ressourcen optimiert und ermöglicht die nahtlose Einbindung von Embedded-Geräten in eine DDS-basierte Datenbus-Schichtarchitektur.
Um zu veranschaulichen, wie diese ressourcenbeschränkten Geräte einfach in eine reale DDS-Anwendung integriert werden können, hat RTI ein Proof of Concept entwickelt. Konkret ist es ein Anwendungsfall für die Patientenüberwachung, da die Vorteile von Geräten mit geringem Platzbedarf in diesem Zusammenhang klar auf der Hand liegen: Werden die Überwachungsgeräte am Körper getragen, erhöht sich der Komfort für die Patienten erheblich, da sie sich frei bewegen können. Aufgrund der großen Verfügbarkeit und der guten Dokumentation fiel die Wahl auf ein Mikrocontrollermodul von Adafruit, das Huzzah Feather ESP8266, das einen Wi-Fi-Transceiver enthält und ein geringe Stromaufnahme hat.
Nur zehn Zeilen Code mussten in der Beispielanwendung, die mit der DDS-XRCE-Client-Implementierung von RTI geliefert wird, geändert werden, um das analoge Signal von einem optischen Pulssensor auszulesen und die Daten über Wi-Fi an den XRCE-Agenten zu senden. Dieser Agent lief auf einem normalen PC, kann aber auch auf kleineren Computern wie einem Raspberry Pi betrieben werden. Sobald die Daten auf dem Datenbus waren, kam der RTI Routing Service zum Einsatz, um die Daten an eine in der Cloud laufende Web-Anwendung weiterzuleiten. Eine schematische Übersicht zeigt Bild 2.
Eine Layered-Datenbusarchitektur schafft eine virtuelle Plug-and-play-Kommunikationsplattform zur Modernisierung und Erweiterung bestehender Anwendungen und Systeme. Damit entfällt die Notwendigkeit, proprietäre monolithische Systeme neu zu compilieren, neu aufzubauen, neu zu validieren und zurückzusetzen, wenn ein neues Teilsystem angeschlossen werden muss.
Layered-DDS-Datenbusse lösen komplexe Probleme der Erweiterung und Skalierbarkeit, ohne die feinkörnige Kontrolle zu opfern, die komplexe, vernetzte Systeme verlangen. Diese Architektur macht es vergleichsweise einfach, die Interoperabilität zwischen proprietären Systemen und neuen Systemen einzurichten. Die Schichten sind transparent und arbeiten automatisch: Sie trennen und teilen sich je nach den Bedürfnissen der Publisher und Subscriber des Bereichs. Der DDS-XRCE-Standard erweitert diese flexible Integration, indem er die DDS-basierte Kommunikation mit Embedded-Geräten mit eingeschränkten Ressourcen erleichtert.
Die Layered-Datenbusarchitektur bewahrt die Integrität von Altsystemen und öffnet sie gleichzeitig für eine unbegrenzte Anzahl neuer Teilnehmer. Entwickler können mit dem Layered-Databus eine Architektur schaffen, die eine Brücke von ihren Altsystemen zu modernen Systemen schlägt und gleichzeitig zukünftige Flexibilität und Anforderungen berücksichtigt.
Literatur
[1] About the Data Distribution Service Specification Version 1.4. Object Management Group, Website, www.omg.org/spec/DDS
[2] About the DDS For Extremely Resource Constrained Environments Specification Version 1.0. Object Management Group, Website, www.omg.org/spec/DDS-XRCE
[3] The Industrial Internet Reference Architecture. Industrial Internet Consortium, Website, www.iiconsortium.org/iira
[4] The Industrial Internet of Things Connectivity Framework. Industrial Internet Consortium, Website, www.iiconsortium.org/iicf
[5] Patchin, J. und Keliher, P.: The layered databus architecture. RTI, Whitepaper, 2020 www.rti.com/whitepapers/layered-databus-architecture
[6] rticommunity / nano-client: A multi-platform, open-source DDS-XRCE Client API. RTI, github.com/rticommunity/nano-client
[7] rticommunity / nano-agent: A DDS-XRCE Agent implementation using RTI Connext DDS. RTI, github.com/rticommunity/nano-agent
Die Autoren
Thijs Brouwer
verfügt über mehr als 15 Jahre Erfahrung als Software-Entwickler von C/C++- Software für Projekte, die von EDA (Electronic Design Automation) über Embedded-Projekte für Automobilkunden bis hin zur Entwicklung eines Linux-Kernel-Moduls reichen. Seit 2020 ist er bei RTI als Applikationsingenieur in der EMEA-Region tätig, wo er Kunden bei der Integration von RTI Connext DDS in ihre Systeme unterstützt.
Brouwer hat einen M.Sc.-Abschluss in Mathematik von der Universität in Amsterdam, Niederlande.
Dr. Sara Granados Cabeza
verfügt über mehr als 15 Jahre Erfahrung in den Bereichen Softwareentwicklung, Middleware, Hardwareprogrammierung und Computer Vision. Sie kam 2011 zu RTI als Software-Ingenieurin im RTI-Tools-Team, wo sie das RTI DDS Toolkit für LabVIEW und den C/C++ Distributed Logger entwickelte. Danach war Dr. Garandos Cabeza sieben Jahre lang als Field Application Engineer in der EMEA-Region tätig. Jetzt ist sie Principal Application Engineer im Professional Services Team von RTI.
Dr. Garandos Cabeza hat einen M.Sc.-Abschluss in Computertechnik und einen Doktortitel in Computer- und Netzwerktechnik (Cum Laude), beide von der Universität Granada, Spanien.
John Patchin
verfügt über mehr als 25 Jahre Erfahrung in den Bereichen Industrieautomatisierung, Entwicklung von Embedded-Software und Networking. Bevor er zu RTI kam, entwickelte er Werkzeugmaschinen- und Robotersteuerungssysteme bei Hewlett-Packard und KUKA Robotics, wo er sich auf Sensoranwendungen spezialisierte. Außerdem war Patchin bei Lynx Software Technologies tätig, wo er sich auf Embedded-Echtzeitsoftware für die Luft-/Raumfahrt und die Wehrtechnik konzentrierte.
Patchin arbeitet im Professional Services Team bei RTI und unterstützt Kunden bei der erfolgreichen Integration und Bereitstellung ihrer DDS-basierten Systeme. Er hat Maschinenbau mit Bachelor- und Master-Abschluss an der Universität von Kansas, USA, studiert.
Paul Tingey
verfügt über mehr als 20 Jahre Erfahrung mit Embedded-Hardware- und -Softwareprodukten in den Bereichen Netzwerktechnik sowie Luft-/Raumfahrt und Wehrtechnik.
Vor seiner Tätigkeit als Applikationsingenieur entwickelte und implementierte Tingey IoT-Lösungen für Kunden, darunter große Netzwerkunternehmen.