Internet der Dinge Windows 10 für alles

Eine einheitliche Plattform für alle Windows-Geräte, aber durch extrem unterschiedliche Leistungen der Prozessoren sind Unterschiede zwischen Windows 10 und Windows 10 IoT.
Eine einheitliche Plattform für alle Windows-Geräte, aber durch extrem unterschiedliche Leistungen der Prozessoren sind Unterschiede zwischen Windows 10 und Windows 10 IoT.

Mit Windows 10 gibt es eine einheitliche Plattform für alle Windows-Geräte: vom Superrechner bis zum Mikrocontroller-Board. Aber weil die Leistung der Prozessoren extrem unterschiedlich ist, muss es Unterschiede zwischen Windows 10 und Windows 10 IoT geben. Und was ist eigentlich mit der Echtzeit?

Am 29. Juli 2015 wurde Windows 10 für Endanwender freigegeben; es bringt viele Neuerungen mit. Dazu zählen beispielsweise die Integration von Cortana, Microsofts persönlichem Assistent, oder die verbesserte Maus- und Tastatursteuerung im Vergleich zu Windows 8.1. Es wird auch wieder neue Versionen für die Industrie geben, allerdings nicht mehr unter dem Namen Windows Embedded.

Im Zusammenhang mit Windows 10 wird sehr oft über das Internet der Dinge (Internet of Things) gesprochen. Also viele kleine Geräte, die Daten sammeln und diese über das Internet an ein zentrales Rechenzentrum bzw. zu einem Cloud Service schicken. Dazu zählen z.B. Sensoren, Messgeräte und anderes. Für diese kleinen Geräte kann nun die neue Embedded-Version eingesetzt werden, allerdings unter dem neuen Namen Windows 10 IoT. Der Name IoT ist nun auch der neue Name der Embedded-Gruppe bei Microsoft. Die neuen IoT-Lizenzen sowie alle anderen bisherigen Embedded-Lizenzen können ca. ab August bei Microsoft-Embedded-Distributoren wie Elbacom bestellt werden. Elbacom bietet auch Beratung bei der korrekten Auswahl der Lizenz und Unterstützung bei der Erstellung und Konfiguration der Embedded- und IoT-Systeme an.

Universal Apps: einmal entwickeln, überall ausführen

Wie bei den Embedded-Vorgängerversionen gibt es auch bei Windows 10 IoT verschiedene Editionen. Die wichtigste Neuerung ist, dass nun alle Produkte auf dem gleichen Windows-10-Kern basieren und die neue Universal App Platform und Universal Windows Drivers unterstützen. Dies hat den großen Vorteil, dass eine Windows-10-App nur einmal für eine Vielzahl von verschiedenen Größen mit unterschiedlichen Eingabemethoden programmiert werden muss. Ebenso können universelle Treiber auf den verschiedenen Gerätetypen problemlos verwendet werden. Eine App kann somit auf regulären Windows-Geräten laufen, auf Tablets, Smartphones, auf der Xbox One oder auch auf Kleinstgeräten wie einem Raspberry Pi 2. Je nach Einsatzzweck können verschiedene Windows-10-IoT-Versionen interessant sein (Bild 1).

Windows 10 IoT Enterprise wird der direkte Nachfolger von Windows Embedded 8.1 Industry Pro. Es basiert auf der vollen Windows-10-Version, enthält aber weiterhin alle bekannten Embedded Lockdown Features. Dazu zählen z.B. der Unified Write Filter, eine Art Schreibschutz, um das System vor unerwünschten Änderungen zu schützen, oder der USB-Filter, um nur bestimmte USB-Geräte bzw. -Gerätetypen zuzulassen. Da die volle Windows-10-Version als Basis dient, laufen alle Applikationen (auch klassische Win32-Desktop-Applikationen) und Treiber ohne Modifikation auch auf der IoT-Variante. Diese Variante kann beispielsweise auf Kassensystemen, Spielautomaten, industriellen Controllern und einer Vielzahl an weiteren Geräten eingesetzt werden.

Eine wichtige Änderung im Vergleich zur Version Windows Embedded 8.1 Industry ist, dass die Windows-Aktivierung nun nicht mehr zwingend erforderlich ist. Ist ein Gerät nie online und wird nicht aktiviert, hat dies keine Auswirkungen. Es gibt weder Reminder noch andere Einschränkungen. Sollte jedoch eine Windows-Aktivierung gewünscht werden, kann dies ebenfalls problemlos wie bei einer normalen Windows-Version durchgeführt werden.

Windows 10 IoT Mobile ist eine spezielle Version für mobile Point-of-Sales- oder Handheld-Geräte. Hier bildet Windows 10 Mobile die Grundlage, was zur Folge hat, dass es nicht nur auf x86-, sondern auch auf ARM-Prozessoren läuft.

Nur für eine einzige App

Windows 10 IoT Core wurde speziell für Low-Cost-Geräte entwickelt und kann unter anderem auf dem Raspberry Pi 2 oder dem MinnowBoard Max (Bild 1) ausgeführt werden. Das System ist die kompakteste Version von Windows 10 und besitzt daher weder die bekannte Windows-Oberfläche (Desktop) noch andere Standardapplikationen. Das System ist für den Betrieb einer einzigen App ausgelegt – kann aber mehrere Hintergrund-Tasks gleichzeitig ausführen. Die aktuelle Testversion von Windows 10 IoT Core kann unter www.windows­ondevices.com heruntergeladen werden.

Windows 10 IoT Core steht indirekt in Konkurrenz zu Windows Embedded Compact. Beide Versionen sind für kompakte Gerätetypen gedacht, welche nicht zwingend auf x86 basieren müssen. Die Compact-Version wird nach wie vor weiterentwickelt und verbessert. Sie bietet auch eine breite Auswahl an unterstützten Architekturen an. Allerdings kann die Arbeit mit Windows 10 IoT Core wesentlich einfacher sein, vor allem im Hinblick auf die Universal Apps und die Treiberplattform. Einzig bei Anwendungen, die harte Echtzeit oder ein schlankes Betriebssystem benötigen, wird Windows Embedded Compact weiterhin ungeschlagen sein, da die IoT-Version nicht echtzeitfähig ist und aufgrund der Kompatibilität einen etwas größeren Footprint besitzt.

Für die Entwicklung aller Anwendungen kann Visual Studio 2015 eingesetzt werden. Die neue Version unterstützt das Erstellen von Anwendungen, welche auf allen oben genannten IoT-Systemen ausgeführt werden können. Bei der Erstellung muss nur zwischen Apps mit grafischer Oberfläche und zwischen Hintergrunddiensten unterschieden werden. Dies ist vor allem für Windows 10 IoT Core wichtig, da dies auf eine aktive grafische App beschränkt ist. Die IoT-Versionen besitzen eine zusätzliche Berechtigungsstufe für die erstellten Apps, mit der ein direkterer Zugriff auf die Hardware bzw. auf das System freigeschaltet werden kann. Bei den regulären Windows-Versionen ist dies aufgrund der Sandbox nicht möglich.

Visual Studio 2015 unterstützt das Remote Debugging der Apps auf allen Devices. Dadurch wird die Entwicklung von Anwendungen, die beispielsweise auf einem Raspberry Pi 2 oder MinnowBoard Max laufen und die I/O-Boards für Zusatz-Hardware verwenden, wesentlich vereinfacht. All dies funktioniert ohne viel Zusatzaufwand. Sobald die IP-Adresse bzw. der Computername des entsprechenden Geräts eingetragen wurde, kann die Debugging Session (oder das Deployment) gestartet werden.

Die Installation des Windows-10-IoT-Core-Systems ist relativ einfach. Es werden nur wenige Befehle benötigt.