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.
- Thinkspeak - Cloudplattform zur
Datensammlung und Visualisierung
https://thingspeak.com/ -
https://data.sparkfun.com/
Das Backend hierzu ist auf ITHUB verfügbar -
Stream Sensor Data to Microsoft Power BI
https://temboo.com/hardware/microsoft-power-bi-getting-started -
ThingLabs
http://thinglabs.io/
Beispielseite für IoT Projekte mit Arduino und Co gegen Azure -
https://conradconnect.de/
Auch der Elektronik-Versender CONRAD steigt in das Hosting von
Für eigene Projekte kann man als MSDN-Kunde aber z.B. eine Azure-Umgebung nutzen:
- Host 10 ASP.NET websites für free with Azure
http://azure.microsoft.com/en-us/develop/net/aspnet/ - Azure IoT Hub
https://azure.microsoft.com/de-de/services/iot-hub/ - ESP8266 NodeMCU integrated
with Mobile Services #IoT #Azure
https://www.hackster.io/waltercoan/esp8266-nodemcu-integrated-with-mobile-services-iot-azure-4bf52a - Microsoft IoT
https://www.microsoft.com/en-us/server-cloud/internet-of-things/default.aspx - Amazon WS
https://aws.amazon.com/de/iot/ - jeder anderer Hoster
Sie bekommen heute für wenige Euro/Monat ein Shared-Hosting bei 1und1 und Co samt PHP und MySQL. Da sollte es ein Einfaches sein, einen WebService z.B. in PHP zu bauen, der "Form Posts" annimmt und in eine MySQL-DB schreibt und mit einem anderen Tool wieder ausgibt.
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.
-
Bastelbude
Der Bereich auf der MSXFAQ zum Thema Basteln -
RaspberryPI
Kleiner Linux-Computer mit vielen GPIO-Schnittstellen, umfangreichen Werkzeugen und für diverse Basteleien wunderbar nutzbar. -
Arduino Ethernet
Arduino und S0
Die Arduino-Plattform eignet sich vorzüglich für erste Bastelideen, da Sie sehr viele Eingänge und Ausgänge mitbringt, und verschiedene Hersteller (primär aus China/Hongkong) auch sehr günstig liefern. -
ESP8266 SoC
Interessanter Chip mit WiFi on Board und unter 5 Euro -
1-Wire Bus
Einfacher Bus für verschiedenste Sensoren -
Connect tiny devices to
Microsoft Azure services to
build IoT solutions
http://connectthedots.io
https://GitHub.com/Azure/connectthedots
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.
- Azure IoT Suite
https://www.azureiotsuite.com/ - IoT Hub Pricing
https://azure.microsoft.com/en-us/pricing/details/iot-hub/ - Microsoft Azure IoT Starter Kits
https://azure.microsoft.com/en-us/develop/iot/starter-kits/ - Microsoft Azure IoT Starter Kit w/
Adafruit Feather HUZZAH
https://www.adafruit.com/products/3032 - Build 2016: Microsoft stellt IoT-Starterkits
vor
http://www.heise.de/newsticker/meldung/Build-2016-Microsoft-stellt-IoT-Starterkits-vor-3160882.html - Build an IoT Service in an Hour
https://channel9.msdn.com/Events/TechDaysOnline/UK-TechDays-Online-2016/Build-an-IoT-Service-in-an-Hour
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".
- The Maker Show: Episode 1 - Intro to Electronics
https://channel9.msdn.com/Shows/themakershow/1 - The Maker Show: Episode 2 - Blinking
LED...Now What?
https://channel9.msdn.com/Shows/themakershow/2 - The Maker Show: Episode 3 - Arduino and Servos
https://channel9.msdn.com/Shows/themakershow/3 - The Maker Show: Episode 4 - Building and
Printing a 3D Model to Fit a Real Component
https://channel9.msdn.com/Shows/themakershow/4 - The Maker Show: Episode 5 - Installing
Windows 10 on a Raspberry Pi
https://channel9.msdn.com/Shows/themakershow/5 - The Maker Show: Episode 6 - Soldering Basics
https://channel9.msdn.com/Shows/themakershow/6 - The Maker Show: Episode 7 - The Photon Awakens
https://channel9.msdn.com/Shows/themakershow/7 - The Maker Show: Episode 8 - Driving Your
Stepper Motor with an Arduino
https://channel9.msdn.com/Shows/themakershow/8 - The Maker Show: Episode 9 - An
Introduction to Wearables
https://channel9.msdn.com/Shows/themakershow/9 - The Maker Show: Episode 10 - Adding a
Coin Acceptor to Your Arduino Project
https://channel9.msdn.com/Shows/themakershow/10 - The Maker Show: Episode 11 - Getting
Started with AllJoyn Proximity Networks
https://channel9.msdn.com/Shows/themakershow/11 - The Maker Show: Episode 12 - Connecting
Particle Photon to Cloud Services
https://channel9.msdn.com/Shows/themakershow/The-Maker-Show-Episode-12-Connecting-Particle-Photon-to-Cloud-Services
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
- Controllino Mini
https://controllino.biz/controllino/maxi/
https://www.youtube.com/watch?v=71LsC-rPHn4
http://www.elektronikpraxis.vogel.de/sps-ipc/articles/500862/
Andere bauen Adapter um einen RaspPI oder andere Arduino-Systeme auf eine Hutschiene (DIN-Rail) zu packen.
Profitechnik auf der Hutschiene z.B. Siemens Logo
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.
- Josef Ploch - der Mann hinter der LOGO!
http://w3.siemens.com/mcms/programmable-logic-controller/de/logikmodul-logo/Seiten/man-behind-logo.aspx - Web Based training
https://sitrain.automation.siemens.com/sitrain/open_wbt/logo/index.html - Reichelt LOGO8 230 RCE
(150€)
http://www.reichelt.de/index.html?ARTICLE=149836
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.
- Analysiert: Die Lego-Roboter greifen an
http://www.heise.de/security/artikel/Analysiert-Lego-Mindstorms-fuer-Cyber-Angriffe-missbraucht-3055305.html
Weitere Links
- Cloud - Abruptes Ende
- PRTG Edimax SP2101W
- https://allseenalliance.org/
-
The Internet of your things
https://dev.windows.com/en-us/iot -
That 'Internet of Things' Thing
http://www.rfidjournal.com/articles/view?4986 -
Node.RED - Eine grafische
Entwicklungsumgebung basierend
auf Node.JS
https://jaxenter.de/baukasten-fuer-das-internet-dinge-13532 -
Office 365 und IoT?
http://sharepointsocial.de/office-365-und-iot/ -
https://www.mysensors.org/
Eigenes Sensor-Netzwerk auf Basis von RF