Einführung
Prototypische Projekte im Kontext von IoT, im speziellen IIoT (Industrial IoT) oder Industrie 4.0, erfordern mitunter neben softwareseitiger Anbindung an ein Cloud-System einen entsprechenden Gegenpart in der realen Welt.
Gilt es beispielsweise eine Maschine oder ein Frachtstück mit der Cloud zu verbinden und eine Reihe unterschiedlichster Daten zu erfassen, kann ein solcher Aufbau rasch übermäßig komplex werden und die separate Anbindung multipler Sensoren erfordern, deren Messwerte zusammengeführt und an die Cloud übermittelt werden müssen.
Dass dieser Aufwand nicht unbedingt notwendig ist, zeigt Bosch mit einem Gerät namens Bosch Connected Industrial Sensor Solution, kurz Bosch CISS.
Dabei handelt es sich um ein mit verschiedensten Sensoren ausgestattetes Device, das speziell für ein industrielles Umfeld konzipiert und dementsprechend gemäß IP54 zertifiziert wurde.

In diesem Beitrag gehen wir auf die Möglichkeiten des Bosch CISS Sensors und der Anwendung in der Praxis ein. Des Weiteren zeigen wir über Beispielcode den Zugriff auf den Sensor mittels NodeJS.
Der Bosch CISS Sensor
Das Gerät wird mit einem IP67-konformen Kabel ausgeliefert, das mindestens zur Spannungsversorgung erforderlich ist, aber auch zur Kommunikation mit dem Gerät genutzt werden kann. Die benötigte Versorgungsspannung entspricht dabei dem USB-Standard von 5V, womit der Bosch CISS sowohl bei der Entwicklung, als auch im Feld – beispielsweise über ein IoT-Gateway – über die USB-Schnittstelle betrieben werden kann.
Als Schnittstellen stehen sowohl die bereits erwähnte USB-Schnittstelle, als auch Bluetooth Low Energy (BLE) zur Verfügung, wobei vor allem letztere – ein geeignetes Umfeld vorausgesetzt – im Falle einer Umsetzung der Spannungsversorgung mittels Batterien erhöhte Flexibilität bietet.
Die im Bosch CISS verbauten Sensoren lassen sich grob in Umgebungs- und Trägheitssensoren unterteilen. Insgesamt enthalten sind folgende Sensoren:
- Umgebungssensoren
- Temperatur
- Luftfeuchtigkeit
- Luftdruck
- Licht
- Lautstärke
- Trägheitssensoren
- Beschleunigung
- Neigung
- Magnetfeldstärke
Bezüglich der verbauten Sensoren ist zu beachten, dass die Messung der Lautstärke ausschließlich bei Anbindung des Sensors über Bluetooth LE zur Verfügung steht und die Messwerte nicht in Dezibel, sondern in Standardabweichungen übermittelt werden.
Neben dem bloßen Übermitteln der Messwerte ist es auch möglich, bereits auf dem Gerät Aggregationen beziehungsweise die Erkennung von Events (Grenzwertüberschreitungen) zu realisieren.
Die Montage des Sensors kann über die im Lieferumfang enthaltenen Magnete realisiert werden, wobei zu beachten ist, dass diese die Messergebnisse des Magnetometers verfälschen und daher der Sensor deaktiviert werden sollte.
Ansteuerung des Bosch CISS
Um Daten zu übermitteln, muss der Bosch CISS zunächst initialisiert werden. Hierfür liegen Dokumentationen für die beiden Protokolle (USB bzw. BLE) vor, die zumindest teilweise implementiert werden müssen. Zur Orientierung bietet Bosch zusätzlich zur Dokumentation eine beispielhafte Umsetzung der Anbindung über USB mittels Python 2.7 auf der eigenen Produktseite zum Download an.
Im Zuge eines prototypischen Projekts, bei dem der Bosch CISS bei der com2m zum Einsatz kam, haben wir zwei Bibliotheken zur Ansteuerung des Sensormoduls für NodeJS in TypeScript entwickelt, um beide Arten der Kommunikation – USB und Bluetooth LE – abzudecken.
Diese Bibliotheken stehen über unser GitHub-Repository zur Verfügung.
Die von uns implementierten Bibliotheken unterstützten die „normale“ Initialisierung des Devices sowie eine grundlegende Konfiguration der Sensoren und das Empfangen neu vorliegender Messwerte; nicht aber die eingangs beschriebenen Funktionen im Hinblick auf die Konfiguration der Grenzwertüberschreitung oder Aggregation der Messwerte.
Mit Hilfe der Libraries können die aktuellen Messwerte auf einfache Art ausgelesen werden:
// Auslesen via USB: const boschCiss = new BoschCiss('tty.usbmodem000000'); boschCiss.subject.subscribe(console.log); // Auslesen via BLE: const boschCiss = new BoschCiss('00:00:00:00:00:00'); boschCiss.subject.subscribe(console.log);
Aufbau

Fazit
Der Bosch CISS überzeugt als robustes, industrietaugliches Gerät. Während die Abtastrate der Umgebungssensoren – verständlicherweise – nicht allzu hoch ausfällt (≤ 1Hz), kann für die Trägheitssensoren eine Abtastrate im sogenannten „Streaming-Mode“ von bis zu 2kHz gewählt werden, was für viele Anwendungsfälle – vor allem im prototypischen Kontext – ausreichend sein sollte.
Dass die Nutzung der Lautstärkemessung lediglich in Verbindung mit der Übertragung via Bluetooth LE möglich ist, erscheint unverständlich und kann, sofern diese Messung von Interesse sind, in einem für BLE nicht geeignetem Umfeld zu Problemen führen.
Allerdings fanden wir die Messung der Lautstärke generell nur bedingt überzeugend, da die Messwerte ausschließlich in Standardabweichungen vorliegen. In den meisten Fällen werden eher Dezibel von Interesse sein, um exakte Rückschlüsse auf den Geräuschpegel ziehen zu können.
Im Hinblick auf die Ansteuerung ist festzuhalten, dass seitens Bosch lediglich ein Beispiel zur Anbindung des Sensors über USB mittels Python 2.7 bereitgestellt wird. Es existiert zwar eine App für Android- und iOS-Geräte, die über Bluetooth LE mit dem Bosch CISS kommuniziert; diese ist allerdings nur als Kompilat verfügbar und kann somit nicht als Beispiel angesehen werden.
Andererseits sind in den Dokumentationen sämtliche Datenpakete und sonstige Informationen zum BLE-Protokoll (Services, Characteristics, etc.) enthalten und erklärt.
Sofern die angesprochenen Punkte im Hinblick auf die Messung des Geräuschpegels sowie die möglichen Abtastraten keinen Hinderungsgrund darstellen, findet man im Bosch CISS eine geeignete, industrietaugliche Multisensorlösung, mit der sich schnell Ergebnisse erzielen lassen.