Bei Cyface legen wir großen Wert auf Vertrauen und maximale Transparenz. Da Datensammler, wie wir, sich Vertrauen hart erarbeiten müssen, haben wir schon vor einiger Zeit begonnen, von uns entwickelte Datenerfassungssoftware, unter der GPLv3 Lizenz als Open Source auf Github zur Verfügung zu stellen. Insbesondere da wir viel Unterstützung durch öffentliche Förderprogramme erhalten, möchten wir auf diese Weise der Gemeinschaft etwas zurück geben.

Mit Hilfe unserer Open Source Software ist es sehr einfach eine Infrastruktur zum Sammeln von Verkehrsdaten aufzusetzen und zu betreiben.

Derzeit stellen wir vier Komponenten bereit, die im Folgenden näher beschrieben werden. Diese sind:

Datensammler

Der Datensammler empfängt die Daten mobiler Messgeräte, die zum Beispiel mit Hilfe des Android oder iOS SDKs aufgezeichnet worden sind. Er ist derzeit als Vert.x Anwendung implementiert und schreibt die Daten in eine Mongo Datenbank, wo sie zur weiteren Verarbeitung aufbewahrt werden.

Die Daten werden über eine REST-artige Schnittstelle empfangen, die, wie dargestellt, per OpenAPI dokumentiert ist. Für die Datenübertragung muss man sich zunächst authentifizieren. Die weitere Kommunikation wird per JSON Web Token authorisiert.

Der Datensammler befindet sich als Docker-Image auf Docker-Hub. Weitere Informationen sind der beiliegenden Dokumentation zu entnehmen

Datenerfassung – Software Development Kit (SDK)

Für die beiden großen mobilen Betriebssysteme existiert jeweils ein eigenes SDK. Diese SDKs dienen der Integration der Datenerfassung in bestehende mobile Anwendungen. Beispielimplementierungen sind als Cyface Apps über den Play Store und den App Store verfügbar.

Die SDKs erlauben die Erfassung, Speicherung und Übertragung der Sensordaten des Smartphones. Derzeit werden unter Android die Erfassung von GPS, Accelerometer, Gyroskop und Magnetometer und unter iOS die Erfassung von GPS und Accelerometer unterstützt.

Die implementierende Anwendung kann auf die erfassten Daten zugreifen und den Lebenszyklus der Aufzeichnung mit Start, Pause, Fortsetzen und Stop steuern. Über Änderungen im Lebenszyklus ist ein Protokoll verfügbar. Zusätzlich kann zu jeder Messung die gesamte gefahrene Strecke ausgegeben werden.

Basierend auf diesen Funktionen, lassen sich zum Beispiel Fahrradcomputer, Navigationsanwendungen und Bürgerbeteiligungsanwendungen erstellen und mit einem Cyface Datensammler verknüpfen.

Beispielanwendungen befinden sich in den entsprechenden Stores und können kostenfrei genutzt werden. Wenn man keinen Server aufsetzen möchte, lassen sich die Messdaten direkt aus der App exportieren. Dies geschieht über die Ansicht aller Messungen, die in den folgenden Abbildungen genauer beschrieben ist.

Datenauswertung – KNIME Nodes

Um die auf dem Smartphone erfassten Daten zu analysieren, transformieren und visualisieren ohne einen Datensammler aufsetzen zu müssen, verwenden wir bei Cyface die KNIME Analytics Platform. Die Daten müssen dafür auf dem Smartphone exportiert und zum Beispiel per USB auf einen PC kopiert werden. Der Datenexport wird nur von der Cyface Android App unterstützt. Zum Lesen der Daten stellen wir die Cyface KNIME Knoten zur Verfügung

Um Daten aus einem Cyface Export zu bekommen steht ein fertiger KNIME Arbeitsablauf auf NodePit zur Verfügung.

Testinstallation

Zum Test des gesamten Aufbaus existiert eine Installation die über https://s2.cyface.de/api/v2/ verfügbar ist. Die SDKs sind in eine Android und eine iOS – App integriert und stehen zur Verfügung um Daten auf die Testinstallation hochzuladen.

Zusammenfassung

Weitere Informationen lassen sich den Dokumentationen entnehmen die den einzelnen Projekten beiligen. Über Rückmeldungen und neue aufbauende Projekte freuen wir uns jederzeit. Falls es Pull Requests zu unseren Projekten gibt, werden wir diese wohlwollend in Betracht ziehen.