IoT -Einführung

Industrie 4.0 war ein Schlagwort auf der CeBit 2015 und soll die nächste Revolution im produzierenden Gewerbe beschreiben, bei der viele Geräte über offene Schnittstellen miteinander kommunizieren und damit Produktivitätsgewinne versprechen. Aber auch im Privatbereich tut sich einiges unter dem Begriff "Internet of Things". Immer mehr Geräte nutzen eine "Internet Verbindung" um Daten zu veröffentlichen und sich zu verbinden.

Laut Heise hat ein gewisser  Kevin Ashton den Begriff schon im Jahr 1999 verwendet
http://www.rfidjournal.com/articles/view?4986

Was verstehen Sie unter IoT bzw. Industrie 4.0?

Der Begriff IoT wird von verschiedenen Personen auch ganz unterschiedlich interpretiert, z.B.:

  • Jedes Gerät hat eine IP-Adresse
    Ein Teil definiert "Internet of Things" sehr eng und versteht darunter erst einmal, dass jedes "Ding" eben mit dem Internet irgendwie verbunden ist. Das kann ein Micro-System sein, ein Stromzähler, Waschmaschinen, die eine Störung melden, Alarmanlagen und WebCams, die über Internet erreichbar sind oder natürlich auch irgendwann jeder einzelne Lichtschalter, Deckenleuchte und sonstige Verbraucher
  • Gerät + Backend
    Mit IPv6 könnte zwar jedes Gerät auch eine eigene routbare IP-Adresse erhalten, aber die meisten Geräte werden sicher hinter NAT-Routern versteckt sein und ihrerseits eine Verbindung zu einem Service aufbauen. Der Nutzer spricht dann ebenfalls "über Bande" durch diesen Service mit seinen Geräten. So funktionieren die meisten WebCams oder auch Solaranlagen (SMA Sunny Portal, Kostal Portal etc), Temperatursysteme (z.B. Netamo)  und Co.
  • IoT aus Sicht der Daten
    Wieder andere Menschen interessiert gar nicht das einzelne Gerät, sondern die riesigen Daten, die dabei anpassen. So sind die öffentlichen Temperaturdaten von z.B. Netamo ein gutes Beispiel und auch die Betreiber von Solaranlagenportalen können wohl anhand der Einspeiseleistung und dem hinterlegten Standort den Zug von Wolkenfeldern erkennen und sogar die Windrichtung vorhersagen.
  • Automatisierung
    Erst wenige Personen denken aber noch abstrakter, dass nämlich diese IoT-Geräte nicht nur Daten erfassen und melden, sondern direkt miteinander kommunizieren. Ein Lichtschalter kann ja direkt seiner Deckenleuchte bescheid sagen. Aber das muss nicht auf einen Raum oder ein Grundstück beschränkt sein. ein Auto könnte über seinen Standort dem Haus bescheid sagen, wie es sich "vorbereiten" kann, welches natürlich andere Quelle in die Bewertung mit einbezieht.

Irgendwie hat jeder auf seine Weise recht aber die unterschiedlichen Ansichten führen auch schnell zu Missverständnissen. In der "Maker-Szene" ist aktuell wohl ehe noch die Sichtweise verbreitet, Geräte irgendwie mit dem Internet zu verbinden. Firmen und gewerbliche Anwender schauen eher auf Kosten und suchen durch ein Einsatz effektiver, schnell oder günstiger zu arbeiten. Die Visionäre sehen ungeahnte Möglichkeiten beim Verknüpfen der Daten und entsprechenden Schlussfolgerungen für anstehende Entscheidungen.

Einfache Beispiele

Es gibt schon sehr lange Solarzellen auf Hausdächern, Hallen und Feldern und die meisten neueren Installationen haben einen Wechselrichter, der auch Betriebsdaten bereit stellt. Meinen Wechselrichter habe ich z.B. auf PRTG Kostal beschrieben. Die meisten Installationen werden aber diese Daten zu zu einem Server in der Cloud hochladen und damit erreichbar machen. Auch andere Hersteller haben solche Daten und mir hat ein Hersteller mal gesagt, dass er auf seinen Servern den Zug von Wolken, Regengebieten anhand der gemeldeten Leistung fast besser als ein Wetteramt sehen und vorhersagen kann.

Andere Produkte sind einfache Thermometer, die aber ebenfalls über das hauseigene WLAN das Internet erreichen können, uns so ihre Daten veröffentlichen. Mittlerweile gibt es auch Heizungssteuerungen, die per Funk die Raumtemperatur müssen und anhand des Temperaturabfalls z.B. geöffnete Fenster erkennen. Darauf kann man dann die Heizkörper regeln.

Da die meisten dieser Lösungen natürlich heute über eine App auf dem Smartphone (statt Webbrowser oder Skripte) angesprochen werden, liefern die Hersteller natürlich entsprechende Apps zur Einrichtung, Anzeige und Steuerung mit. Allerdings verbergen oder verhindern Sie damit oft den Einsatz ohne diese App. Im schlimmsten Fall haben sie in einigen Jahren unbrauchbaren "Elektro-Schrott" zu Hause. Das gilt auch, wenn für die Kommunikation die Daten über eine Cloud gehen und dieser Anbieter einfach nicht mehr da ist. Siehe auch Cloud - Abruptes Ende.

Backend in der Cloud

Das stellt sich natürlich die Frage, warum denn eine Cloud überhaupt erforderlich ist?. Die schneller Antwort: Weil Sie als Anwender dann z.B. von überall  mit dem Smartphone auf das Gerät zugreifen können. Ohne "Relay" in der Cloud geht das in der Regel nicht, da sich die Geräte in der Regel hinter einem NAT-Router befinden und daher zum Glück aus dem Internet nicht einfach so zu erreichen sind. Da ist es für Sie aber auch den Anbieter einfacher, wenn das Gerät mit einem Service in der Cloud spricht und ihr Smartphone ebenfalls diesen Service nutzt. Wenn es aber dann zumindest im LAN keinen parallelen Weg gibt, dann ist die Funktion natürlich auch zwingend an die Verfügbarkeit der Cloud gebunden. Da die wenigsten Geräte aber über einen "Wartungsvertrag" für laufende Einnahmen sorgen, kann das nur solange funktionieren, wie der Anbieter immer mehr Geräte verkauft um die laufenden Betriebskosten zu bestreiten. Man könnte das fast als Schneeball-Prinzip bezeichnen.

Kritischer ist aber zumindest für den produktiven Einsatz, dass damit der Betreiber schon einmal die Daten selbst bekommt und anderweitig weiter verarbeiten kann. Gefährlich wird es, wenn die Geräte selbst auch aktiv schalten können (Siehe auch PRTG Edimax SP2101W) oder vielleicht sogar Sicherheitslücken aufweisen. Die wenigsten der Geräte haben eine ausgefeilte Benutzer und Rechteverwaltung. Oft ist der "Schlüssel" nur ein Einfachkennwort oder die MAC-Adresse. Ohne DoS-Schutz sind diese Daten schnell ermitteln oder immer noch die Standardwerte. Erschreckend wenig Geräte erzwingen eine Änderung des Default-Kennworts.

Natürlich ist ein "Relay" im Internet der einfachste Weg, diese Geräte auch von unterwegs zu verwalten. Aber wünschenswert wäre, wenn der Anwender dies erst bewusst freischalten müsste. Eine Heizungssteuerung, die nur intern arbeitet, muss vielleicht nicht mit der Cloud verbunden sein. Genau das machen aber verschiedene Anbieter, die vor Ort nur die Sensoren und eine Basislogik verkaufen, aber über deine Webseite in der Cloud die komplette Verwaltung und Konfiguration abbilden. Das ist erst mal Vorteil, wenn der Anwender so per Browser auf einer schnellen Plattform seine Konfiguration erstellen kann und diese dann auf die lokale Box herunter geladen wird. Sollte die Box ausfallen, ist in der Cloud immer noch das Backup. Sollte aber die Cloud mangels Kostendeckung einfach eingestellt werden, dann kann das ein Problem werden. Dennoch gibt es einige interessante kostenfreie Plattformen.

Für eigene Projekte kann man als MSDN-Kunde aber z.B. eine Azure-Umgebung nutzen:

Damit sollte man dann zumindest eigene Projekte nicht von einem anderen Anbieter abhängig und das kleine Gerät nicht direkt per DynDNS aus dem Internet erreichbar machen müssen. Zudem kann damit der Code auf dem IoT-Device auf das Mindestmaß reduziert und die Speicherung, Aufbereitung und Darstellung auf einen ausgewachsenen WebService ausgelagert werden.

IoT Devices

Ich bastle schon länger mit verschiedenen Geräten herum und bin gegenüber der Cloud sicher nicht abweisend. Mich stört nur die Unsicherheit, wenn die Geschäftsmodelle einen langfristigen Betrieb quasi nicht sicherstellen wollen. Daher stelle ich auf dieser Seite einige Geräte und Links vor, mit denen Sie vielleicht selbst ein Gerät mit IP-Stack bauen wollen, welches gerne mit der Cloud kommunizieren kann aber auch nicht muss. Wie Sie auf der Seite Bastelbude und Unterseiten lesen können, gibt es schon einige interessante Optionen.

Anstatt einer Cloud tendiere ich bei unkritischen Systemen aber eher dazu, dass diese Daten über einen kleinen Webserver oder TCP-Port bereit stellen oder per UDP einfach ins Subnetz senden. Die Anbindung an das Ethernet muss nicht immer drahtgebunden sein. Wer nicht gleich mit dem ESP8266 alleine arbeitet, kann dieses Modul auch als WiFi-Anschluss verbauen oder per Bluetooth eine Anbindung erreichen. Aber auch ein Ethernet-Anschluss hat, insbesondere mit PoE-Versorgung, seine Vorteile. Sollte es am Einbauort kein Ethernet geben, kann immer noch ein Power-LAN-Adapter oder eine externe WiFi-Bridge helfen.

Microsoft und IoT

Microsoft ist natürlich auch mit auf den Zug aufgesprungen. Dazu gehört aber nicht nur ein Windows 10 "IoT", welches auf einem Raspberry Pi 2 läuft. Eine ganze Menge von Boards werden von Microsoft bereit gestellt, die natürlich alle gegen die IoT-Dienste in der Azure-Cloud arbeiten können.

Für einen echten Bastler sind die Boards natürlich schon wieder zu "teuer". Warum sollte man für ein ESP8266-Board unter dem Namen "Microsoft Azure IoT Starter Kit w/ Adafruit Feather HUZZAH" knapp 54 US-$ bezahlen, wenn man all die beigepackten Sensoren und Motoren, Kabel und Breadboards erst mal nicht braucht. Aber wer in die Thematik einsteigen will, dann so auch mit Azure IoT und passenden Geräten arbeiten.

Channel 9 - Maker Show

Microsoft betreibt mit Channel 9 eine umfangreiche Plattform mit Präsentationen und Videos. Hier gibt es sogar einen ganz eigenen Bereich "Maker Show". 

Arduino auf Hutschiene

Der Erfolg der Arduino Serien hat natürlich auch Wege für OEM-Hersteller geöffnet, die fertige Module für die Hutschiene verkaufen. Als ein Beispiel sei hier der Controllino genannt, den es aber der Maxi-Version (ca. 200€) sogar mit eingebautem Ethernet gibt.

Alle haben SPS-Bausteine in unterschiedlicher Form und auch für die Arduino-Freunde gibt es Lösungen für die Hutschiene

Andere bauen Adapter um einen RaspPI oder andere Arduino-Systeme auf eine Hutschiene (DIN-Rail) zu packen.

Wer hingegen ungern lötet und bastelt, kann natürlich auch auf fertige Komponenten zurück greifen. Ein schon viele Jahre gerne eingesetzte Steuerung sind hier z.B. die Siemens LOGO-Bausteine. Sie sind schon immer "fertig" aufgebaut und passen auf eine Hutschiene im Verteilerschrank. Bei der aktuellen Serie (Logo 8, Stand 2015) hat jedes Modul schon einen LAN-Anschluss, ein Display, Steuertasten, Astro-Uhr und natürlich 8 digitale-Eingänge und 4 Digitalausgänge.

Über Zusatzmodule können bis zu 24/16 digital In/Out und 8/2 analoge In/Out-Ports und zusätzlich Temperaturfühler (PT100/PT1000 Sensoren) angeschlossen werden. Damit lassen sich recht einfach kompakte Steuerungsaufgaben lösen.

Bitte den Hinweis auf eine Logo hier nicht als "Empfehlung" verstehen. Es gibt noch sehr viele andere SPS Hersteller und ich kann nicht alle aufführen. Alleine in OWL gibt es im Umkreis von 50 km bei mir folgende Hersteller

  • Phoenix Contact in Detmold
  • Beckhoff in Verl
  • WAGO in Minden

IoT und Sicherheit

Wenn ihre IoT Systeme nicht sehr proprietäre speicherprogrammierte Steuerungen (SPS) oder Micro-Systeme auf Basis von Arduino und Co sind, dann läuft auf vielen moderneren Systemen heute ein Linux. Das muss nicht immer ein RaspberryPI sein. Der Preisverfall macht es möglich, dass auch noch günstigere Systeme im Herzen doch ein Linux sind. Solange dieses Gerät selbst nur per NAT in das Internet geht, könnte man glauben, dass so ein Gerät "sicher" ist. Das ist aber ein Trugschluss denn gerade IoT-Geräte, die 24h laufen und Online sind, sind natürlich geniale Bots für verteilte Angriffe. Viele kleine Bots können auch ne Menge Verkehr produzieren.

NAT ist nämlich keine Firewall sondern "nur" eine Adressumsetzung. Wenn das Gerät von innen einen Kanal zum Hostserver aufbaut, kann dieser natürlich innerhalb dieser Verbindung auch Daten zurück senden. Es ist aber nicht so einfach, aus dem Internet auf so ein IoT-Device hinter einem NAT-Router zu kommen. Aber zum einen gibt es schon IoT-Devices, die per uPNP genau den eingehenden Weg beim Router öffnen wollen.

Dann gibt es wohl wirklich Zeitgenossen, die ihr IoT-Device mit eine öffentlichen IP-Adresse versehen oder eingehendes NAT aktivieren. Andere installieren jede Library oder Modul, die ihnen auf dem IoT-Gerät eine Arbeitserleichterung verspricht. Aber schauen Sie wirklich mal selbst in den Code?

Zuletzt bleibt natürlich die Infektion des IoT-Device durch andere Gerät im gleichen Subnetz. Es ist ja nicht unüblich, dass ein PC im LAN vielleicht durch einen Schadcode erwischt wird, der gezielt nach IoT-Geräten sucht. Dazu muss der PC-Anwender nicht einmal Administrator sein. Es ist also nur eine Frage der Zeit, bis auch diese Geräte zu Bots werden. Allerdings erwarte ich nicht, dass die üblichen Hersteller von Antiviren-Produkten auch für diese Geräte Produkte anbieten. Die Produkte für Smartphones sind ja eher ein Feigenblatt. Insofern sollten Sie bei IoT genau hinschauen, mit welchen Systemen im Internet ihr Gerät kommuniziert und dieser Ziele dann explizit nur freigeben.

Weitere Links