Bild 1: Das IoT-Modul Edison von Intel unterstützt sowohl die Anbindung über WLAN als auch Bluetooth 4.0.

Bild 1: Das IoT-Modul Edison von Intel unterstützt sowohl die Anbindung über WLAN als auch Bluetooth 4.0. Intel

Beim Internet der Dinge geht es darum, (nicht-menschliche) Dinge mit dem Internet zu verbinden. Diese Dinge verwenden oder erzeugen Daten – Daten, die als Bestandteil eines übergeordneten Systems gemessen werden müssen. Die Daten werden von einem kleinen internetfähigen Embedded-System erfasst, von denen einige sogar im Briefmarkenformat daherkommen.

Diese internetfähigen eingebetteten Systeme sind auf Mikrocontroller aufsetzende Geräte ohne Bedienoberfläche. Statt dessen verwenden diese Systeme Sensoren oder andere Detektionsvorrichtungen, um Daten zu erfassen, Daten, die von Wert für das übergeordnete System sind. Diese Daten werden über das Internet an einen übergeordneten, größeren Computer übermittelt. Dieser Computer erfasst und analysiert diese Daten, speichert sie ab und trifft häufig systembezogene Sofortentscheidungen auf Grundlage der Datenauswertung.

Welche Arten von Kits gibt es?

Wie bei jedem anderen Embedded-System ist es auch hier wichtig, mit dem richtigen Entwicklungskit anzufangen. Die Wahl des richtigen Entwicklerkits setzt das Verständnis für die Anforderungen des IoT-Projekts voraus. Im Allgemeinen gibt es drei Arten von IoT-Entwicklungsprojekten.

Projekte mit Cloud-Anbindung: Diese können so riesig wie ein ganzes Netzwerk an Systemen sein, die über die ganze Welt verstreut und alle über die Cloud-Infrastruktur verbunden sind. Diese Cloud-Infrastrukur kann aus einem oder mehreren Servern bestehen, auf denen Serveranwendungen laufen, die die gesammelten Daten auswerten und verarbeiten.
Lokal vernetzte Projekte: Kleine Embedded-Systeme, die als abgesetzte Sensoren für ein übergeordnetes System fungieren – häufig in einem Intranet.
Projekte mit Gateways: Dies sind Systeme, die ältere Anwendungen mit dem Internet verbinden.

Entwicklungskits mit Cloud-Anbindung

Eckdaten

Für die meisten Entwickler erfordert die Neuentwicklung eines IoT-vernetzten Systems die Kenntnis vieler verschiedener Technologien, zu denen die drahtgebundene und -lose Vernetzung sowie die Entwicklung von Embedded-Code und Gerätetreibern gehören. Vielleicht sind viele erfahrene Entwickler mit diesen Techniken bereits vertraut, aber zusätzlich erforderliche Fähigkeiten wie das Schreiben von Mobilgeräte-Apps und die Entwicklung von Cloud-Code sind doch recht neu. Die neuen Entwicklungskits für das Internet der Dinge verkürzen beispielsweise die Markteinführungszeiten und können der Weiterbildung der Entwickler dienen.

Dies ist die Kategorie, die sich im Vergleich zu den konventionellen Embedded-Systemen deutlich am besten für das IoT eignet. Die „Cloud“ ist ein Webserver, der so konfiguriert ist, dass er Speicherplatz und Dienste zur Verfügung stellen kann. IoT-Knoten sorgen für die Anbindung an die Cloud und ermöglichen nicht nur das Senden, sondern auch das Empfangen von Daten und Befehlen. Auf einem Cloud-Server laufen eine oder mehrere Softwareanwendungen, die vom Erfassen und Speichern von Informationen für die spätere Auswertung bis zum Entscheiden in Echtzeit und dem Senden von Befehlen zu den vernetzten IoT-Knoten so ziemlich alles können.

Ein IoT-Projekt mit Cloud-Anbindung komplett neu zu entwickeln, kann sehr zeitaufwendig sein. Der Entwickler würde die Hardware- und Softwareumgebung für den Cloud-Server erstellen müssen, Treiber- und Programmcode sowohl für den IoT-Knoten als auch für den Cloud-Server schreiben und dann die Anbindung zwischen den beiden Systemen debuggen, bevor die Endanwendung überhaupt fertig ist. Um dieses Verfahren zu vereinfachen, bieten Cloud-Entwicklungstools ein gebrauchsfertiges „Connectivity Ecosystem“ mit geprüftem Anwendungscode, mit dem ein funktionierender Prototyp in weniger als einem Tag konstruiert werden kann.

Intel hat momentan zwei Entwicklungsboards im Angebot, die die Cloud-Entwicklung unterstützen und als Endgeräte fungieren. Zum einen das Intel Edison (Bild 1), ein kleines Board, das in etwa die Abmessungen einer größeren Briefmarke aufweist. Dieses Board setzt auf ein Atom-SoC von Intel in 22-nm-Technik auf, das mit einer Dual-Core/Dual-Thread-CPU und einem 32-Bit-Quark-Mikrocontroller ausgestattet ist, die mit 500 MHz beziehungsweise 100 MHz getaktet sind. Zum integrierten Speicher gehören 4 GB Flash und 1 GB RAM. Es werden sowohl die Anbindung über WLAN als auch Bluetooth 4.0 unterstützt. Das Board macht die WLAN-Anbindung vom Gerät zur Cloud über den Intel-IoT-Analytics-Cloud-Server möglich. Dieser Cloud-Dienst ermöglicht das Erfassen und Auswerten von IoT-Daten, ohne extra einen eigenen Cloud-Server schaffen zu müssen. Kurz gesagt: Intel gibt dem Entwickler einen Cloud-Server an die Hand, der für sich schon ein Cloud-Entwicklungstool ist. Intel hat aber auch eine Arduino-Entwicklungsumgebung, die mit dem Edison für Programmierungs- und Debugging-Zwecke verbunden werden kann.

Bild 2. Das Galileo 2 von Intel ist eine komplexere Entwicklungsplattform mit Arduino-Zertifizierung.

Bild 2. Das Galileo 2 von Intel ist eine komplexere Entwicklungsplattform mit Arduino-Zertifizierung. Intel

Das Intel Galileo Gen 2 (Bild 2) ist ein größeres und komplexeres Board mit Arduino-Zertifizierung. Das Galileo 2 setzt auf den SoC Quark X1000 von Intel mit 400 MHz und 32 Bit auf. Die Verbindung zum Internet wird über 10/100-Ethernet hergestellt. Darüber hinaus wird eine Vielzahl an gängigen Embedded-Anbindungsmöglichkeiten wie SPI und UARTs unterstützt. Die Entwickler können auch das Galileo 2 mit dem Intel-IoT-Analytics-Cloud-Server verbinden und weitaus komplexere Aufgaben als mit dem Edison durchführen.

Die Entwicklungskits Intel Edison und Intel Galileo 2 sind Grundausführungen einer Cloud-Entwicklungsumgebung. Ein Entwickler kann diese Boards so programmieren, dass sie Daten aus der Umgebung erfassen und diese dann über das Internet an einen Cloud-Server übermitteln, wo sie weiterverarbeitet werden.

Einen Schritt weiter gegangen ist Microchip und hat eine einfache Cloud-Entwicklungsplattform entwickelt, die die Verbindung zur Amazon Elastic Compute Cloud (EC2) ermöglicht. Die Entwicklungsplattform von Microchip sendet nicht nur Daten zur Amazon EC2, sondern die EC2 kann sogar Daten zurücksenden und darüber die Entwicklungsplattform von Microchip ansteuern. Dies ist die nächste Stufe im Bereich der technischen Möglichkeiten von Entwicklungsumgebungen und zeigt, wie ein Cloud-Server einen IoT-Knoten ohne menschliche Beteiligung ansteuern kann.

Lokal vernetzte IoT-Entwicklungskits

Bild 3: Das IoT-Kit Sensortag von Texas Instruments verbindet sich über Bluetooth mit einer Android- oder iOS-Mobilgeräte-App.

Bild 3: Das IoT-Kit Sensortag von Texas Instruments verbindet sich über Bluetooth mit einer Android- oder iOS-Mobilgeräte-App. Texas Instruments

Ein lokal vernetzter IoT-Knoten muss nicht unbedingt ein TCP/IP-Protokoll wie für WLAN oder Ethernet unterstützen. Das System könnte sich auch über Nicht-IP-Protokolle wie  Zigbee oder Bluetooth vernetzen, wie das IoT-Kit SensorTag CC2650STK aus der SimpleLink-Reihe von Texas Instruments (TI) mit Bluetooth Smart (Bild 3). Zu diesem Kit gehören nicht weniger als zehn Sensoren, mit denen die Temperatur, Beschleunigung, Umgebungslichtstärke und vieles mehr erfasst werden können. Das IoT-Kit SensorTag von TI verbindet sich über Bluetooth mit einer Android- oder iOS-Mobilgeräte-App. Die mobile App kann die Sensorwerte überwachen und anzeigen, eine einfache, grafisch aufbereitete Datenauswertung bieten und sogar die SensorTag-Sensoren ein- und ausschalten.

Der Silicon Labs Sensor Puck wartet mit ähnlichen Funktionen auf. Der Sensor Puck misst Umgebungslicht, UV-Index, Umgebungstemperatur und Feuchte, die alle über Bluetooth Low Energy (BLE) an ein iOS- oder Android-Mobilgerät mit Sensor-Puck-App übertragen werden können. Der Sensor Puck unterstützt den reinen BLE-Sendebetrieb „Advertising“, wodurch ein Mobilgerät die Daten von mehreren Pucks erfassen und darstellen kann, weil keine Verbindung aufgebaut werden muss. Ein erfahrener Entwickler von Mobilgeräten kann den Code für die Analyse und Auswertung dieser Daten schreiben.

IoT-Entwicklungskits für Gateways

Bild 4: Das Zigbee Cloud-Kit namens XBee von Digi tauscht Daten mit der Cloud-Server-Anwendung aus.

Bild 4: Das Zigbee Cloud-Kit namens XBee von Digi tauscht Daten mit der Cloud-Server-Anwendung aus. Digi

Ein IoT-Gateway übernimmt die Daten eines nicht internetfähigen Geräts und versendet diese über WLAN oder Ethernet. Zigbee ist ein weit verbreiteter Standard für drahtlose Maschennetze, der TCP/IP nicht unterstützt und daher auch keine IP-Adresse zugewiesen bekommen kann. Das Digi XBee Zigbee-Cloud Kit (Bild 4) übernimmt die Gateway-Umcodierung von Zigbee auf Ethernet und WLAN. Das spart Zeit und Kosten für die Entwicklung von Code für die Umwandlung von Zigbee-Daten in TCP/IP-Pakete. Mit erfolgter Anbindung an das Internet stellt dieses XBee Cloud-Kit die Verbindung zu einem Digi-gesponsorten Cloud-Account her. Der Entwickler kann dann mit jedem Browser über die Cloud-Bedientafel online mit dem XBee Cloud-Kit interagieren.

Für die Entwicklung komplexer High-End-Gateway-Anwendungen bietet Intel die Gateway-Lösung aus der Reihe DK300. Das DK300-Kit unterstützt die Gateway-Entwicklung mit Anbindung über 2G/3G/4G-Mobilfunk, 10/100/1000-Ethernet und WLAN. Daten können erfasst und über das Internet versendet werden – von Bluetooth, USB, seriellen Ports, Zigbee und mehr.