Showcase: Serverraum Überwachung

Ein IoT-Projekt ist betreffend Hard- und Software äusserst vielfältig. Im Kleinen werden Daten gesammelt, welche erst im Grossen eine Bedeutung haben.

Das Wichtigste in Kürze

Das Aufbauen des Showcases hatte mehrere Ziele. Zum einen wollte die it-processing AG ein präsentierbares IoT-Anwendungsbeispiel schaffen. Zum anderen konnten durch den Showcase Machbarkeiten abgeklärt und verschiedene Varianten verglichen werden. Unseren Server-Raum haben wir zu diesem Zweck mit verschiedenen Sensoren ausgestattet:

  • Temperatur- und Luftfeuchtigkeits-Sensoren geben Auskunft über das vorhandene Klima
  • Ein Lux-Sensor gibt Auskunft darüber, ob im Serverraum Licht brennt
  • Ein  Piezo-Element zeichnet Vibrationen auf
  • Ein kontaktloser Schalter erkennt, ob die Türe offen oder geschlossen ist
  • Ein einfacher Spannungsteiler misst den Akkustand des Sensor-Moduls.

Die Sensoren senden die Messwerte an einen Server, welcher die Daten aufzeichnet. Im Browser kann man ganz einfach, mittels eines Dashboards, auf diese Daten zugreifen. Bei kritischen Messwerten wird ein entsprechender Alarm ausgelöst. Beispielsweise versendet das Tool beim Ausfall der Klimaanlage direkt eine Benachrichtigung per SMS. Falls die Türe zum Server-Raum zu lange offensteht, leuchtet in der Lounge eine Warnlampe.

Konzept und mögliche Anwendungsgebiete

Im Zentrum des Showcases steht ein sogenannter MQTT-Broker. Dieser Broker ist eine Software-Komponente, ähnlich einem Server. Sämtliche Clients im Netzwerk können Daten an den Broker senden und Daten von ihm empfangen.

Ein Client kann beispielsweise aus einem Mikrocontroller mit einem Sensor oder Schalter bestehen. Grundsätzlich kann jeder Client selber definieren, an welchen Nachrichten er interessiert ist. So kann beispielsweise ein Modul A dem Broker mitteilen, dass es informiert werden möchte, sobald der Broker eine Nachricht von Modul B erhält.

Ein Client kann aber auch eine reine Software-Komponente sein, die beispielsweise als Linux-Dienst implementiert ist. Auch kann ein Client bestimmen, dass er über sämtliche Netzwerk-Aktivitäten informiert werden will. Auf diese Art und Weise können Steuerungen und Software-Komponenten zum Abspeichern der Daten gebaut werden.

In unserem Beispiel übernimmt ein Controller das Einschalten der Warnleuchte. Dieser Controller ist als Linux-Dienst implementiert. Ein weiterer Linux-Dienst schreibt alle Sensor-Daten in eine Datenbank zur späteren Auswertung.

Anwendungsbeispiele für ein solches Netzwerk gibt es viele. So könnten beispielsweise Sensoren Daten zur Bodenfeuchtigkeit in einem Garten liefern. Basierend auf diesen Daten könnte man anschliessend eine Bewässerungsanlage steuern und vorhandenes Regenwasser optimal nutzen.

Bauphase

Damit innerhalb des Showcase-Netzwerkes die Kommunikation überhaupt möglich ist, haben wir in einem ersten Schritt einen Linux-Server mit einem MQTT-Broker aufgesetzt. Anschliessend kamen verschiedene Dienste hinzu: darunter eine Datenbank, Zertifikate zum Absichern der Verbindungen und ein Dashboard zum Anzeigen und Auswerten der Daten. Entwickelt haben wir jeweils direkt auf dem Server.

Als Basis für die Hardware-Clients haben wir einen kleinen und kostengünstigen Mikrocontroller mit integriertem WLAN-Modul verwendet. Die Sensoren und Schalter wurden zuerst auf einer steckbaren Entwicklungsplatine mit den Mikroprozessoren verbunden. Auf diese Weise hatten wir die Möglichkeit, den Aufbau rasch und einfach anzupassen. Ausserdem gewährleisteten wir somit einen guten Zugang zu den Schaltungen, was vor allem für Messungen oder zur Fehlersuche sehr nützlich war. Gleichzeitig wurde die Software für die Client-Module entwickelt.

Zu einem späteren Zeitpunkt wurden die einzelnen Bauteile auf einer Platine fest verlötet.

Ergebnisse

Es war interessant, die Wechselwirkung zwischen Hard- und Software zu beobachten. Das Programmieren auf einem Mikroprozessor mit begrenzten Ressourcen gestaltet sich ganz anders als auf einem grossen, leistungsstarken Computer. Schlussendlich konnten wir folgende Komponenten zum Einsatz und zum Dauertest bereitstellen:

  • Linux-Server mit Broker, Controller, Datenbank und Dashboard
  • Mikrocontroller-Modul mit verschiedenen Sensoren
  • Mikrocontroller-Modul zum Schalten der Warnleuchte

Der Showcase lässt sich beliebig erweitern. Beispielsweise hat man die Möglichkeit mittels eines weiteren Moduls einen Display anzusteuern. Damit kann der Benutzer die aktuellen Sensordaten auch ohne Dashboard einfach ablesen.

Technology Stack

Für eine Übersicht ausklappen

  • Ubuntu Linux
  • PyCharm
  • Visual Studio Code
  • Arduino
  • Grafana
  • Mosquitto
  • InfluxDB
  • Docker
  • VirtualBox

Hardware-Stack:

  • Mikrocontroller: ESP8266
  • Entwicklungsboard: WeMos D1 mini
  • Sensoren, Bauteile: Si7021 (Temperatur, Luft-Feuchtigkeit), TSL2561 (Lux), ADS1115 (A/D-Wandler), Magnet-Schalter, Piezoelement, Solid-State-Relais

Hardware

  • Mikrocontroller: ESP8266
  • Entwicklungsboard: WeMos D1 mini
  • Sensoren, Bauteile: Si7021 (Temperatur, Luft-Feuchtigkeit), TSL2561 (Lux), ADS1115 (A/D-Wandler), Magnet-Schalter, Piezoelement, Solid-State-Relais

«Durch das übergreifende Verbinden von Systemen eröffnen sich viele neue Möglichkeiten.»

Thomas Hofstetter, Entwickler it-processing AG

Haben Sie Fragen?

    Sie sind kein Roboter: