Blog

Multisensor-Lösung Bosch CISS für Rapid Prototyping-Projekte

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.

 

Ein Artikel von
Christopher Krafft

Lesezeit: ca. 3 Minuten

Bosch CISS Multisensor

Einführung

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 wurde und dementsprechend gemäß IP54 zertifiziert wurde.

Multisensor Lösung Bosch CISS

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 Umgebungssensoren 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 Sensors

Der Bosch CISS muss, um Daten zu übermitteln, zunächst initialisiert werden. Hierfür liegen Dokumentationen für die beiden Protokolle (USB bzw. BLE) vor, die zumindest teilweise implementiert werden müssen.

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 enthalten 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 des Sensors

Aufbauend auf der NodeJS Library haben wir  für den prototypischen Betrieb und das Auslesen der Sensordaten des Bosch CISS eine Anwendung entwickelt und auf einem IoT-Gateway in Betrieb genommen. Von dort werden die Daten in diesem Fall in einem sekündlichen Intervall per MQTT in unsere IoT-Cloud übermittelt, wo sie weiter ausgewertet und über ein Dashboard zur Verfügung gestellt werden.
 
Als Gateway haben wir uns bei diesem Anwendungsfall für das Dell Edge 3000 in der Version mit Ubuntu Core 16 entschieden. Ubuntu Core ist eine spezielle auf die Anforderungen des Internet of Things zugeschnittene Linux-Distribution, die im Gegensatz zu einem herkömmlichen Linux-System keinen Paketmanager unterstützt, sondern vorsieht, dass Software in Form von Snaps ausgeliefert wird. Dies bietet neben der Modularität und der Einbettung der erforderlichen Dependencies außerdem zusätzliche Mechanismen, um beispielsweise Updates ausrollen zu können sowie die Herkunft von Snaps zu verifizieren.

Dieses Thema interessiert Sie? Nehmen Sie Kontakt mit uns auf.

Christopher Krafft com2m

Christopher Krafft ist Software Engineer bei der com2m.

Weitere Themen für Sie

Beispiel für die Organisationseinheit IoT-Factory

Die drei Säulen einer IoT-Factory

Die Einführung von IoT verspricht goßes Potential, hält jedoch auch einige Hürden für Unternehmen bereit. In diesem Artikel beschreiben wir, wie sie durch den Einsatz einer IoT-Factory gelingt.

Weiterlesen >