nw  

IP6: Cloud-Anbindung und Bluetooth LE Gateway für Nanopartikeldetektor

Zusammenfassung

Realisierung eines End-to-end Prototypen mit Firmware, Backend und Dashboard für Nanopartikeldetektor.

Für das Projekt wurden drei verschiedene Cloudanbieter evaluiert und nach den Anforderungen bewertet. Getestet wurde AWS IoT Core, Azure IoT hub und eine auf AWS gehostete InfluxDB mit Grafana als Frontend. Dabei wurden alle Lösungen mit und ohne Binärprotokoll implementiert

Schlüsselbegriffe

Bluetooth Low Energy (BLE), Particle Boron 2/3G, Particle Boron BLE LTE (NB-IOT), Timeseries, Grafana, Embedded Firmware (C)

Ausgangslage

Die Firma Naneos entwickelt tragbare Nanopartikeldetektoren mit Bluetooth Low Energy (BLE) Connectivity. Bisher wurden Messdaten vor Ort ausgelesen, mit einer Smartphone App. Für stationäre Anwendungen soll neu ein Mikrocontroller-basiertes Hardware Add-on die erfassten Messdaten per Bluetooth auslesen und mittels Mobilfunk an ein IoT Backend senden. Dort sollen die Daten als Zeitreihe gespeichert und in einem Web-Dashboard visualisiert werden.


Zielsetzung

Wie kommen die Daten sicher und effizient in die Cloud und können visualisiert werden? Die Antwort auf diese Frage ist das Hauptziel dieser Arbeit. Dafür müssen verschiedene Ansätze erprobt und die Ziele und das IT-Technische Knowhow von Naneos im Auge behalten werden. Weiter soll eine geeignete Lösung in die Realität umgesetzt werden. Dabei geht es darum, die Anforderungen von Naneos zu Erfüllen und eine State of the Art Lösung für dieses Problem aufzubauen. Naneos will am Ende des Projektes einen produktionsnahen Prototyp haben, welchen sie ohne viel Knowhow produktiv betreiben können.

Ergebnisse
Systemarchitektur


Als Gateway dient entweder ein Boron oder ein Mobile Telefon mit der Naneos App, Daten können über BLE mit dem gleichen Protokoll an die jeweiligen Gateways gesendet werden. Danach werden die Daten werden direkt via HTTPS (mobile Telefon) oder über die Particle Cloud über CoAP und dann über einen Webhook mit HTTPS an die AWS Lambda Funktion gesendet.



Die Lambda Funktion serialisiert die verwendeten Protokolle und erweitert die Daten um die Kunden ID und fügt sie in die InfluxDB ein. Die Kunden ID werden über ein kleines, Cloud basierendes Tool mit den Serien Nummer vom Partector gemapped, zusätzlich erstellt das Tool für die Kunden die Notwendigen Grafana Ressourcen (Dashboards, User, etc.). Das Mapping wird einer AWS DynamoDB persistiert. Ein Kunde kann sich dann mit seinem Grafana Login einloggen und seine persönlichen Partector und Gateway Daten einsehen.


Grafana/Frontend


Grafana ist eine Open Source Analytics Plattform, welche es erlaubt Daten von verschiedensten Datenquellen in so genannten Panels zu visualisieren. Die Panels lassen sich in Dashboard gruppieren und Dashboards lassen sich in Ordner organisieren. Die Panels liefern verschiedene Möglichkeiten wie die Daten graphisch dargestellt werden können, unteranderem wird auch eine Visualisierung mit einem Karten ermöglicht. Für die Panels existiert auch ein Plugin System somit ist es möglich Grafana, um benutzerdefinierte Panels zu erweitern.

Grafana unterstützt ein Usermanagement System bei dem jedem User die Rolle Viewer, Editor oder Admin verteilt werden kann. Verschiedenen Users können in ein Team zusammengefasst werden und einem Team lässt sich bestimmte Rechte für ein Ordner zu weisen. Mit diesem Team zu Ordner Zuteilung lässt sich ein Mandaten fähiges Rollenbasiertes Usermanagement System abbilden, ohne das einen Account bei einem dritten Dienst notwendig ist.


Projektdaten
Auftraggeber

Naneos Particle Solutions GmbH https://www.naneos.ch/

Projektteam
Kontakt
<< zurück