Harpoon PoC NetModule

Wo ist auf einer Bahnstrecke mit Verbindungsunterbrüchen zu rechnen und welche Provider bieten die beste Abdeckung? Der Harpoon PoC, welcher zusammen mit NetModule AG umgesetzt wurde, beantwortet solche Fragen und bringt damit die Infrastruktur der Bahnen weiter voran. Wie dieses Vorgehen genau realisiert wird, erzählt euch Iwan Imsand in seinem Blogpost.

 

Wir wissen, wo deine Züge erreichbar sind
Vor einigen Tagen haben wir einen PoC zusammen mit NetModule abgeschlossen. NetModule ist ein Routerhersteller aus Bern. Die Industriegeräte werden weit über die Schweizer Grenzen hinaus häufig in Zügen, Bussen und Trams eingesetzt. Nebst der Konnektivität, welche die Router sicherstellen, generieren diese natürlich auch viele Daten. Diese reichen von der Uptime, Signalstärke der LTE Verbindung, Status zu diversen Interfaces, Temperatur der CPU, Speicherauslastung, Informationen zur Hardware oder installierter Firmware und Software, bis hin zu detaillierten GNSS Informationen mit GPS Position. Die Attribute Signalstärke und Empfangspegel wollen wir im PoC auf einer Karte visualisieren. Für die Umsetzung des PoCs nutzen wir unser Harpoon – Data Analytics Kit .

Ziele des PoC
Der PoC war auf einen zweiwöchigen Sprint beschränkt und wir haben uns auf folgende Ziele fokussiert: Zum einen soll der Agent auf einem in einer S-Bahn installierten Router Daten sammeln und diese trotz wiederholten Verbindungsunterbrüchen in die Cloud senden. Zum anderen sollen die Daten grafisch ausgewertet werden. Der Empfangspegel und der Datendurchsatz soll in Funktion zu Zeit und Ort dargestellt werden. Dabei werden die Werte über einen definierten Zeitraum auf einer Karte dargestellt.

Resultate

Die Daten werden alle 10 Sekunden durch den Agent auf der Bahn abgefragt und ins Backend gesendet. Anhand der GPS Position werden die Datenpunkte auf eine Kartenansicht projiziert. Dabei ist es möglich, auf die Signalstärke zu filtern und so Funklöcher sichtbar zu machen. Gleichzeitig können auch andere Attribute zur Filterung oder Sortierung der Daten verwendet werden, womit sich weitere Erkenntnisse aus dem Diagramm und den Rohdaten ableiten lassen.

Technische Basis

Der Agent auf der Bahn wurde in der Sprache Go umgesetzt und fragt mittels HTTP-Request die Werte des Routers ab. Die relevanten Daten holt er anschliessend aus den JSON Files. Um den Footprint möglichst tief zu halten läuft der Agent auf einem Linux Alpine, welches als LXC Container auf dem Router läuft. Über eine gesicherte Verbindung werden die gesammelten Daten auf unsere Openshift Plattform übertragen, wo sie anschliessend verarbeitet werden. Um die Datenmenge für die Übertragung zu verringern, werden Protocol Buffers verwendet. Bei Verbindungsunterbruch wird diese automatisiert wieder hergestellt und die Daten bereinigt.

Die Daten werden via MQTT-Broker in einer Postgres Datenbank gespeichert und für die Auswertungen bereitgestellt. Nach der Prototyping Phase mit Jupyter Notebooks wurden die Dashboards auf Openshift deployed, damit stehen sie über ein Webinterface den Nutzern zur Verfügung.

 

Für die Visualisierungen der Daten wird das Framework Bokeh verwendet, welches zahlreiche Varianten von Diagrammen zur verständlichen Datenvisualisierung anbietet. Im PoC wird ein Punktediagramm auf einer Karte und Tabellen zur Detailanzeige verwendet. Das Diagramm bietet Filter und auch Zoom Möglichkeiten an.

Erkenntnisse

  • Die GPS Informationen der einzelnen Datenpunkte sind sehr genau. Ein Map-matching auf die Zugstrecke ist für den PoC nicht erforderlich, da die Punkte ohnehin darauf liegen.
  • Die zu übertragende Datenmenge und die dazu benötigte TCP Verbindung könnte erheblich verringert werden, indem statische Attribute nicht übertragen und kleine Abweichungen bei variablen Attributen unterdrückt werden.
  • Da es sich um einen Entlastungszug handelt, ist die Anzahl Datenpunkte sehr unterschiedlich. Erstaunlicherweise vereinzelt häufiger als das eingestellte 10s Intervall. Der Grund dafür wird noch eruiert.


Was machen wir damit
Wo ist auf einer Bahnstrecke mit Verbindungsunterbrüchen zu rechnen und welche Provider bieten die beste Abdeckung? Solche und weitere Fragen wollen wir mit den Auswertungsmöglichkeiten beantworten und damit die Infrastruktur der Bahnen weiterbringen. Natürlich deckt dieser kleine PoC nur eine Nische ab und die Analyse Möglichkeiten auf Bahnen sind um ein vielfaches breiter. Seid gespannt, was wir sonst noch vorhaben!

Hast du noch Fragen?

 

Kommentare sind geschlossen.