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. Primär sollte ein präsentierbares IoT-Anwendungsbeispiel geschaffen werden. Im Weiteren sollten Machbarkeiten abgeklärt und verschiedene Varianten verglichen werden. Aus diesem Grund haben wir unseren Server-Raum mit verschiedenen Sensoren ausgestattet:

  • Temperatur und Luftfeuchtigkeits-Sensoren geben Auskunft über das vorhandenen Klima
  • Mit einem Lux-Sensor kann festgestellt werden, ob Licht brennt
  • Mit einem Piezo-Element können Vibrationen festgestellt werden
  • Über einen kontaktlosen Schalter kann festgestellt werden, ob die Türe offen oder geschlossen ist
  • Der Akkustand des Sensor-Moduls wird mit einem einfachen Spannungsteiler gemessen

Die Messwerte der Sensoren werden an einen Server geschickt, welcher die Daten aufzeichnet. Über ein Dashboard kann im Browser auf diese Daten zugegriffen werden. Bei kritischen Messwerten wird ein entsprechender Alarm ausgelöst. Beispielsweise werden beim Ausfall der Klimaanlage Benachrichtigungen per SMS verschickt. Falls die Türe zum Server-Raum zu lange offen steht, dann 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 der Broker schicken und Daten von ihm empfangen. Ein Client kann beispielsweise aus einem Mikrocontroller mit einem Sensor oder einem 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, wenn der Broker eine Nachricht von Modul B erhält.

Ein Client kann aber auch eine reine Software-Komponente sein, welche 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 wird das Einschalten der Warnleuchte von einem Controller übernommen, welcher als Linux-Dienst implementiert ist. Ein weiterer Linux-Dienst schreibt alle Sensor-Daten in eine Datenbank zur späteren Auswertung.

Anwendungsfälle 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 dann eine Bewässerungsanlage gesteuert und vorhandenes Regenwasser optimal genutzt werden.

Bauphase

Damit innerhalb des Showcase-Netzwerkes überhaupt kommuniziert werden konnte, haben wir in einem ersten Schritt einen Linux-Server mit einem MQTT-Broker aufgesetzt. Mit der Zeit kamen verschiedene Dienste hinzu: darunter eine Datenbank, Zertifikate zum Absichern der Verbindungen und ein Dashboard zum Anzeigen und Auswerten der Daten. Entwickelt wurde direkt auf dem Server.

Als Basis für die Hardware-Clients wurde ein kleiner und kostengünstiger Mikrocontroller mit integriertem WLAN-Modul verwendet. Die Sensoren und Schalter wurden zuerst auf einer steckbaren Entwicklungsplatine mit den Mikroprozessoren verbunden. Auf diese Weise konnte der Aufbau rasch und einfach angepasst werden. Ausserdem waren die Schaltungen für Messungen und zur Fehlersuche gut zugänglich. Gleichzeitig wurde die Software für die Client-Module entwickelt. Später wurden die einzelnen Bauteile auf einer Platine fest verlötet.

Ergebnisse

Es war interessant, die Wechselwirkung zwischen Hard- und Software zu beobachten. Auf einem Mikroprozessor mit begrenzten Ressourcen muss ganz anderes programmiert werden, als auf grossen und leistungsstarken Computern. Schlussendlich waren folgende Komponenten bereit zum Einsatz und zum Dauertest:

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

Der Showcase lässt sich natürlich beliebig erweitern. So könnte beispielsweise mit einem weiteren Modul ein Display angesteuert werden, um die aktuellen Sensordaten auch ohne Dashboard einfach ablesen zu können.

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: