IoT Edge-Devices

In Zusammenarbeit mit dem OYM entwickelte Atticode GmbH eine Edge-Device-Lösung, die Fitnessdaten über MQTT, Golang und Microsoft Azure nahtlos in die Cloud überträgt. Ein modulares System für ein effizientes, flexibles und skalierbares Fitnesserlebnis.

IoT Edge-Devices

Ausgangslage

Es ist ein bekanntes Problem in der Digitalisierung und nur schwer beizukommen: Analoge Komponenten von Drittherstellern! Sind diese fester Bestandteil im Arbeitsprozess oder Serviceangebot, müssen sie entweder ersetzt oder irgendwie auch «digitalfähig» gemacht werden.

Genau dieses spezifische Problem haben viele Fitnessstudios, welche umfassende digitale Lösungen wie FittnessApps zur Messung und Verwaltung von Trainingseinheiten und Kalorienkontrolle etc. anbieten wollen. Denn viele Fitnessgeräte sind entweder noch komplett analog oder sie sind zwar digital, verfügen aber über keinerlei Schnittstellen, worüber die Daten ausgelesen werden könnten. Bei jenen digitalisierten Geräten, welche über Schnittstellen verfügen, sind diese oft nicht mit einem offenen Standard ausgerüstet, geschweige denn dokumentiert, sondern müssen aufwändig reverse engineered werden. Auch erweisen sich die Hersteller der Geräte nicht immer als hilfsbereit resp. kooperativ, wenn es um Datenabfragen über ihre Fitnesshardware geht. All dies macht es für Studiobetreiber überaus schwierig, eine gut integrierte digitale Lösung für ihre Fitnesskunden zu erarbeiten, wenn sie über eine heterogene Gerätestaffel von verschiedenen Herstellern verfügen. Dennoch besteht für Studios durchaus die Möglichkeit, mit einem gewissen Aufwand, ihre Geräteflotte ins eigene Datennetz einzugliedern.

Einer dieser Studiobetreiber, der diesen Weg gemeinsam mit Atticode eingeschlagen hat, ist das OYM (On Your Marks). Nebst diversen Sporteinrichtungen für professionelle Leistungssportler verfügt das OYM über eine allumfassende Athletikhalle, die das Training sämtlicher Körperpartien und den Muskelaufbau ermöglicht. Bei denjenigen Geräten welche über zugängliche Schnittstellen verfügten, hatten wir vorgesehenen die Mess-, Gesundheits- oder Sport-Daten wie Rotation-Per-Minute, Geschwindigkeit, Herzfrequenz oder Kalorienverbennung usw. auszulesen. Die Mehrheit der Fitnessgeräte sollte damit digitalisiert und ans Datennetz des Kunden angeschlossen werden. Unsere geplante Zielhardware waren Marken von Fitnessgeräteherstellern wie Wattbike, Concept2, Woodway, Assault, Precor und Cycle.

Spinning & AssaultFitness
Zwei Fitnessgeräte von den Herstellern Spinning und Assault. Die bereits digitalisierten "standalone" Lösungen der Gerätehersteller verfügen zum Teil über Farbdisplays und Touch-Interfaces. Allerdings sind die Daten von aussen nicht zugänglich. Erst durch den Anschluss eines Edge-Devices über entsprechende Verbindungen können die Sportdaten ausgelesen werden.

Wenn hier vereinfacht vom Anschluss oder vom Einspeisen ins «Datennetz» gesprochen wird, ist eigentlich etwas Komplexeres gemeint. Hinter dieser simplifizierten Aussage steht der vielschichtige Vorgang vom Auslesen der Daten auf den Geräten, dem «Präparieren» der Daten in ein einheitliches Format auf einer dazwischen geschalteten Hardware und dem Versenden an den Cloud-Server resp. den zuständigen Data-Broker. Im Zusammenhang mit dem Präparieren der Daten wird hier erst eine Aufbereitung zur Normalisierung, d.h. Vereinheitlichung der Daten, vorgenommen. Oftmals wird dieser Vorgang auch als Datenbereinigung und -harmonisierung bezeichnet. Durch diesen Prozess werden Daten in ein einheitliches Format gebracht um Inkonsistenzen, Redundanzen und Ungenauigkeiten zu beseitigen. Dies umfasst Schritte wie die Entfernung fehlerhafter oder inkorrekter Datenpunkte, die Korrektur von Formatierungsproblemen, die generelle Anpassung von Einheiten und im speziellen Masseinheiten, die Standardisierung von Variablen und die Aufbereitung der Daten für eine konsistente Analyse und Verarbeitung.

Als Cloud-Service war von Anfang an Microsoft Azure festgelegt, da der Kunde bereits andere Infrastrukturprojekte erfolgreich damit implementiert hatte und für diesen Fall mit dem Azure IoT Hub optimale serverseitige Unterstützung gegeben war. So wurde vorgesehen, zumindest fürs Backend, komplett auf die Azure Cloud zu setzen und damit sollten alle zentralen Systeme ins Microsoft Ökosystem integriert werden.

Lösungssuche & technische Evaluation

Wie können nun die gemessenen Sport-Daten der Fitnessgeräte effizient in die Cloud übertragen werden? Die optimale Lösung ist zwar simpel aber relativ aufwändig und heisst «Edge-Device»: Ein Edge-Gerät ist eine physische Einheit, meistens ein Computer oder eine IoT-Vorrichtung, die Daten nahe ihrer Entstehungsquelle verarbeitet und analysiert. Diese Vorgehensweise minimiert Latenzzeiten, da weniger Daten über das Netzwerk übertragen werden müssen. Edge-Devices werden typischerweise in verteilten Netzwerken eingesetzt, um Echtzeitverarbeitung und -entscheidungen zu ermöglichen.

Wattbike & Concept 2
Die Fitnessgeräte Concept 2 und Wattbike wurden mithilfe von Edge-Devices cloudfähig gemacht. Die Kabelverbindung verläuft entlang der Gerätestangen bis zu den aufklappbaren Bodenplatten, wo auch die Stromversorgungskabel eingesteckt werden.

Dieses Konzept findet breite Anwendung in verschiedenen Industriezweigen, sei es für die Digitalisierung analoger Systeme zur Erfassung von Umweltdaten oder zur Prozessüberwachung in Fabriken. Im vorliegenden Fall bedeutet dies schlicht, dass jedem unserer Fitnessgeräte ein spezieller Mikrocomputer zugeordnet werden muss. Je nach den verfügbaren Schnittstellentypen des jeweiligen Geräts wird die effizienteste Kommunikationsmethode ausgewählt und mit dem Edge-Device verbunden. Letzteres ist entsprechend konfiguriert, um die gewählte Verbindungsmethode zu unterstützen und die Daten des jeweiligen Fitnessgeräts korrekt zu erfassen.

Die Wahl fiel natürlich auf das Raspberry Pi als Edge-Device: Es zeichnet sich durch seine kostengünstige Beschaffung, weite Verbreitung, hervorragende Programmierbarkeit sowie unkomplizierte Wartung und Austauschbarkeit aus. Zudem ist es mit den erforderlichen Grundkomponenten ausgestattet, darunter USB-Ports, Bluetooth, Wi-Fi und RJ45. Dabei kamen zwei verschiedene Varianten zum Einsatz, je nach Anforderungen: Das leistungsstarke Raspberry Pi 4 und der kompakte Raspberry Pi Zero.

Connection Types
Exemplarische Darstellung der Verbindungstypen und der verwendeten Edge-Device Hardware. Auf Seiten des Raspberry Pi werden alle Konnektoren per USB angeschlossen, selbst der RS232 wird beim Fitnessgerät zwar an den Serial-Prot angeschlossen, beim Edge-Device hat das Verbindungskabel allerdings einen USB-Anschluss. Einzig das Ethernetkabel muss beidseitig in den RJ45-Port gesteckt werden.

Die möglichen Verbindungstypen zu den Fitnessgeräten konnten mit dem Raspberry alle bedient werden. In einigen Fällen war lediglich die Ergänzung eines USB-Dongles notwendig z.B. für ANT+, um die Verbindung herstellen zu können. Folgende Verbindungstypen mussten bedient werden:

  • USB (Kabel): Die direkte Verbindung über ein USB-Kabel ermöglichte eine zuverlässige und stabile Kommunikation.
  • RJ45 (Kabel): Die Verwendung eines Ethernet-Netzwerk-Kabels bot eine robuste Möglichkeit zur schnellen Datenübertragung.
  • RS232 Serial Port (Kabel): Die Nutzung des RS232 Ports ermöglichte die Kommunikation über serielle Schnittstellen. Dies erwies sich als geeignet für spezifische Fitnessgeräte, die nur diese Art der Datenübertragung boten.
  • Bluetooth Dongle: Eine drahtlose Technologie zur Kommunikation zwischen Geräten in unmittelbarer Nähe.
  • ANT oder ANT+ Dongle: Mit einem speziellen USB-Dongle für ANT oder ANT+ war es möglich, eine drahtlose Verbindung zu Fitnessgeräten herzustellen.

Dank der vielfältigen Unterstützung dieser Verbindungstypen konnte die Raspberry Pi Lösung nahtlos mit einer breiten Palette von Fitnessgeräten interagieren, wodurch ein flexibles und anpassbares Gesamtsystem entstand. Um die aufwendige Kabelführung zu vermeiden und die Positionierung der Raspberry Pis zu vereinfachen, haben wir bevorzugt auf drahtlose Technologien gesetzt.

Edge-Device
Anschliessen eines Ethernet-Kabels an ein Woodway Laufband. Die Implementierung des Golang-Connectors erforderte die Verwendung des Woodway-Manuals, um die gewünschten Fitnessdaten über die Woodway-API korrekt auslesen zu können

Technische Umsetzung

Die technische Umsetzung dieses Projekts involvierte eine Reihe von massgeschneiderten Softwareimplementierungen und Technologien, die in einer ausgeklügelten Kombination einen nahtlosen Fluss von Fitnessdaten von den Geräten zu den Azure Cloud-Services ermöglicht.

Für das Abfragen, die Normalisierung und Aufbereitung der Fitnessdaten sowie deren Übertragung zur Azure Cloud wurde ein Edge-Client in Golang entwickelt. Dieser Edge-Client spielte eine entscheidende Rolle bei der Datenverarbeitung vor der Weiterleitung. Das Besondere an der Architektur dieses Edge-Clients war die modulare Struktur: Abhängig vom Fitnessgerät konnten verschiedene Arten von Connectoren, Sensoren und zugehörige Treiber zur Bereitstellungszeit dynamisch kombiniert werden. Dadurch konnte für jedes vorhandene Fitnessgerät die passende Kombination von Modulen konfiguriert werden. Dieser Ansatz erlaubte Flexibilität und Skalierbarkeit, da neue Geräte einfach hinzugefügt werden können.

Die Prinzipien von Golang wie die Einfachheit der Sprache, die Unterstützung von Nebenläufigkeit und die Fokussierung auf die Effizienz machen sie zu einer hervorragenden Wahl für eine Vielzahl von Softwareprojekten. Im vorliegenden Kontext wurde Golang (auch bekannt als Go) aufgrund seiner vielseitigen Eigenschaften und technischen Vorzüge für die Entwicklung des Edge-Clients gewählt. Es zeichnet sich durch seine Leistungsfähigkeit, Geschwindigkeit und Stabilität während der Laufzeit aus. Diese Aspekte sind von besonderer Bedeutung, wenn es um das reibungslose und schnelle Sammeln und Verarbeiten von Fitnessdaten in Echtzeit geht. Die modulare Struktur des Edge-Clients, die abhängig von den Fitnessgeräten verschiedene Connectoren, Sensoren und Treiber dynamisch kombinieren konnte, war mittels Golang problemlos zu implementieren. Die Flexibilität dieser Sprache erlaubte es, schnell und effektiv auf unterschiedliche Anforderungen einzugehen und verschiedene Komponenten miteinander zu verknüpfen. Dies erwies sich als äusserst vorteilhaft, um sowohl bestehende als auch zukünftige Fitnessgeräte nahtlos in das Ökosystem einzubinden.

Als Kommunikationsprotokoll zwischen den Edge-Geräten und der Azure Cloud wurde MQTT ausgewählt. MQTT (Message Queuing Telemetry Transport) ist ein leichtgewichtiges Protokoll, das sich hervorragend für IoT-Anwendungen eignet. Es ermöglicht eine zuverlässige und effiziente Übertragung von Nachrichten, wodurch die Fitnessdaten sicher und effektiv transportiert werden können. MQTT basiert auf dem Publish-Subscribe-Modell, bei dem Edge-Geräte als Publisher fungieren, die Daten senden, während die Azure Cloud als Subscriber fungiert, der die Daten empfängt und verarbeitet.

Edge-Device
Schematische Darstellung des modularen Gesamtsystems. Die backendseitig verwendete Azure Cloud mit den Azure Services (Azure IoT Hub, Azure App Service, Azure Functions, Azure Synapse DB, Azure Data Lake, Azure Device Provisioning Service [DPS]), ermöglicht eine optimale Skalierung. Die dazwischenliegenden Raspberry Pi Edge-Devices werden vom Azure IoT Hub orchestriert. Sie erfassen die Sportdaten von den Fitnessgeräten, normalisieren diese und übermitteln sie via MQTT an Azure. Die Athleten selbst nehmen von diesen Vorgängen nichts wahr und können sich ungestört auf den Sport konzentrieren.

Zur Vereinfachung der Konfiguration der Edge-Device wurde Docker verwendet, um spezifische IoT-Images für diese Geräte zu erstellen. Azure IoT spielte ebenfalls eine entscheidende Rolle, indem es ermöglichte, die entwickelten Module auf den Edge-Device bereitzustellen. Durch die Angabe der Device-ID kann das passende "Modul" ganz einfach auf dem entsprechenden Edge-Device deployed werden. Zusätzlich werden alle relevanten Parameter und Konfigurationen, einschliesslich des Fitnessgerätetyps, der Telemetrie- und Sensordaten, direkt auf das Gerät übertragen. Diese Herangehensweise ermöglicht eine vollautomatisierte und effiziente Konfiguration und Deployment Pipeline für die Edge-Devices.

Das Projekt nutzt eine Reihe von Azure-Diensten, die nahtlos ineinandergreifen, um eine leistungsstarke und skalierbare Lösung zu schaffen. Dazu gehörten die Azure Cloud selbst, der Azure IoT Hub für die Verwaltung der Gerätekommunikation, der Azure App Service zur Bereitstellung von Anwendungen, Azure Functions für serverlose Datenverarbeitung, Azure Synapse DB für Datenanalysen und Berichterstattung sowie Azure Data Lake für die Speicherung und Verwaltung sehr grosser Datenvolumen. Der Azure IoT Hub Device Provisioning Service (DPS) spielte eine wesentliche Rolle bei der Skalierung der IoT-Geräte, indem er eine automatisierte Gerätebereitstellung ermöglichte.

Wettkampf Dashboard

Das OYM Dashboard erfüllt die Funktion, Live-Sportdaten auf einem Anzeigedisplay direkt im Fitnessstudio darzustellen. Es eröffnet die Möglichkeit für beliebig viele Wattbikes, Rudergeräte und andere Geräte an einem Kompetitions-Wettkampf teilzunehmen. Aktive Geräte werden automatisch im Dashboard angezeigt, um nahtlos am Wettbewerb teilnehmen zu können.

Dashboard
Im Wettkampf-Dashboard werden automatisch die aktiven Fitnessgeräte desselben Typs auf dem Display angezeigt. Die Athleten müssen die vordefinierten "Shifts" bewältigen. Das Gerät, auf dem die beste Leistung erbracht wurde, erhält einen virtuellen Pokal.

Technisch betrachtet, erfolgt der Prozess auf folgende Weise: Über die SignalR-Websocket-Implementierung von Microsoft verbindet sich der Typescript-Client des Dashboards mit dem Azure Event Hub. Diese Verbindung ermöglicht ein effizientes Streaming von umfangreichen Datensätzen – sogenanntes Big-Data-Streaming – auf den eigens entwickelten Webservice, der mit dem Dashboard in Verbindung steht. Hierbei agiert der Azure Event Hub als zentraler Knotenpunkt, der die eingehenden Sportdaten von den aktiven Geräten empfängt und an den Dashboard-Client weiterleitet.

Durch diese Architektur wird eine reibungslose und schnelle Kommunikation zwischen den verschiedenen Sportgeräten und dem Dashboard ermöglicht. Dabei werden die Sportdaten in Echtzeit erfasst, übertragen, verarbeitet und visuell aufbereitet. Dies schafft eine interaktive Online-Wettkampfumgebung, die den Teilnehmerinnen und Teilnehmern ein lebendiges und begeisterndes Erlebnis bietet und zu Höchstleistung antreibt!

Schlussfolgerung

Insgesamt schuf die Kombination der oben erwähnten Technologien und Azure-Services ein robustes und effizientes System zur Erfassung, Verarbeitung, Analyse und Visualisierung von Fitnessdaten aus verschiedenen Geräten und ermöglichte so die Implementierung einer soliden Datastreaming-Pipeline im Bereich Gesundheit und Fitness.

Die Wahl der Technologien erwies sich als äusserst gelungen: Die Kombination aus MQTT, Golang und den Schnittstellen zu Fitnessgeräten sowie Azure-Diensten liess sich relativ reibungslos in das Projekt integrieren. Die Verwaltung von Konfigurationen und Deployment der Edge-Geräte erfordert minimalen Aufwand, da dieser Prozess weitgehend automatisiert ist.

Gesamthaft gesehen gestaltet sich Datensammlung und -auswertung als fliessender Prozess, der dank der Nutzung von Azure Synapse und Data Lake mühelos gehandhabt und persistiert werden kann. Die Kombination aller verwendeten Technologien ermöglicht eine effektive Verarbeitung und Analyse der gesammelten Daten, wodurch wertvolle Einblicke gewonnen werden können. Insgesamt zeigt sich, dass die gewählten Technologien nicht nur effizient miteinander harmonieren, sondern auch eine solide Grundlage für die gegenwärtigen und zukünftigen Anforderungen des Projekts bieten.

Die Wartung sowie die Möglichkeiten zur Weiterentwicklung, insbesondere die Integration zusätzlicher Fitnessgerätemodelle mit neuen Treibern für Sensoren im Golang Edge-Client, sind ohne nennenswerten Aufwand möglich. Grössere Hürden könnten sich jedoch durch Änderungen im Azure-Umfeld ergeben, welche Aktualisierungen im restlichen Service-Stack nach sich ziehen könnten.

Für Unternehmen, die ähnliche Anforderungen oder Schwierigkeiten im Bereich der Digitalisierung von Fitnessgeräten, Messstationen oder Prozessüberwachung haben, bieten wir unsere Unterstützung gerne an. Unser Fachwissen und unsere massgeschneiderten Lösungen können Ihnen bei der Bewältigung Ihrer Herausforderungen helfen. Kontaktieren Sie uns um Ihre Anliegen zu besprechen und gemeinsam eine passende, innovative Lösung zu finden.

Back to overview

Kontaktieren Sie uns

Kontaktieren Sie uns um Ihre Anliegen zu besprechen und gemeinsam eine passende, innovative Lösung zu finden.

Rafael Elia

Rafael Elia

Ihr Ansprechpartner

Kontaktieren Sie uns

Haben Sie Fragen oder Feedback? Wir sind hier, um zu helfen. Senden Sie uns eine Nachricht oder vereinbaren Sie direkt einen Termin.