Am Puls von Microsoft

Windows 10 IoT Core: Perfekt für Maker und Hobbyisten

Windows 10 IoT Core: Perfekt für Maker und Hobbyisten

Ein Gastbeitrag von Tobias Scholze

Windows 10 ist allgegenwärtig. Auf hunderten Millionen von Desktops, Laptops, Convertibles, Server und vielen mehr läuft das aktuellste Betriebssystem aus Redmond. In der Version Windows 10 IoT Core ist es seit einigen Jahren nun auch erfolgreich auf so genannten, auf ARM-Prozessoren basierenden, Einplatinenrechnern installierbar. Der Raspberry Pi gilt als einer der bekanntesten und am weitesten verbreiteten Rechner dieser Art. Alternativ läuft Windows 10 IoT Core zusätzlich noch auf dem DragonBoard 410c oder dem MinnowBoard Turbot/Max.

Windows 10 IoT Core

Zusätzlich zur „Core“ Version gibt es noch das auf x86-Prozessoren laufende Windows 10 IoT Enterprise, welches der defacto Nachfolger der Windows Embedded Reihe ist, als auch den Windows 10 IoT Server, welcher eine speziell angepasste und lizenzierte Variante aus der Windows Server 2019 Produktfamilie ist.

Dieser Beitrag beschäftigt sich ausschließlich mit der Windows 10 IoT Core Variante, welche auf einem Raspberry Pi installiert werden kann.

Unterschied zum Desktop Windows 10

Im Unterschied zu Windows Home, Pro oder Enterprise als auch zu Windows on ARM, ist Windows 10 IoT Core darauf ausgelegt, ausschließlich eine Anwendung im Vollbild zur selben Zeit auszuführen. Hierbei kann es sich beispielsweise um eine UWP-Applikation mit oder ohne Programmoberfläche handeln. Hintergrundprozesse verschiedener Prioritäten sind ebenfalls möglich.

Dies bedeutet unter anderem, dass auf einen Desktop verzichtet wurde und beim Start des Geräts eine vordefinierte Applikation startet. Somit ideal für den „Kiosk“-Betrieb beispielsweise an Getränkeautomaten.

Windows 10 IoT Core

Des Weiteren gibt es Unterschiede im Umfang der CmdLets für PowerShell als auch im Set der inkludierten Treiber. Für einen Hobbyisten sollten diese Einschränkungen für den angedachten Zweck von Windows 10 IoT Core keinerlei Rolle spielen. Eine detaillierte Auflistung der Unterschiede findet ihr auf docs.microsoft.com.

Beziehen und Verwalten von Windows 10 IoT Core

Im Gegensatz zu anderen Betriebssystemen für den Raspberry Pi kann man Windows 10 IoT Core nicht als Image herunterladen. Microsoft bietet hierzu das, nur auf Windows 10 lauffähige, Programm Windows 10 IoT Core Dashboard an. Dieses hilft nicht nur beim Erstellen der SD-Karte mit IoT Core für den Raspberry Pi, sondern im späteren Verlauf auch bei der Fernverwaltung des installierten Betriebssystems.

Windows 10 IoT Core

Um eine Installation auch ohne angeschlossenen Monitor zu verwalten, kann das in Windows 10 IoT Core inkludierte Device Portal genutzt werden. Zu den Funktionen des Portals zählen neben dem Taskmanager auch das Einstellen von Betriebssystemeigenschaften wie Zugängen, Lokalisierung und Bildschirmrotation sowie das Verwalten installierter Applikationen und das Anfertigen von Bildschirmaufnahmen.

Eigene Apps entwickeln

Für die Entwicklung von Apps für Windows 10 IoT Core kann man auf eine große Anzahl an allgemein gültigen Tutorials und Beispielen rund um C#, XAML, UWP und Co zurückgreifen. Dies macht den Einstieg in die Welt der Programmierung für IoT einfach und schnell.

Benötigte Software

Zur Entwicklung von Software für Windows 10 IoT Core kann Visual Studio (2019) oder Visual Studio Code mit installierter IoT Erweiterung benutzt werden. Generell können für die Entwicklung von Apps und Diensten für Windows 10 IoT Core C#, C++, Visual Basic, Python und Node.js verwendet werden, wobei mit letzteren beiden nur Hintergrundprozesse möglich sind. Im Allgemeinen beschränken sich viele Anleitungen auf die Sprachen C# und C++.

Beispiele

Microsoft liefert bereits mit dem Abbild für das Betriebssystem einige Beispielapplikationen, deren Quelltexte auf GitHub frei einsehbar sind. So ist neben einem Programm zum Zeichnen auch eine Wetter- und eine Zeichen-Applikation zur Inspiration vorinstalliert. Dies ermöglicht einen leichten Einstieg in die (UWP-) Entwicklung, falls man bereits erste Sprachkenntnisse besitzt.

Windows 10 IoT Core

Neben den bereits vorhandenen Beispielen bietet Microsoft auf GitHub unzählige weitere Beispielprojekte in den Sprachen C# und C++ an. Hierbei werden auch IoT-spezifische Themen wie der Umgang mit GPIO- und I2C-Controllern behandelt.

Auf hackster.io findet man weitere Hobby-Projekte auf Basis von Raspberry Pi und Windows 10 IoT Core. So ist eines der beliebtesten Projekte auf der beschriebenen Basis die „Facial Recognition Door“, welche auch noch Azure in den Maker’schen Spielbetrieb mit einfließen lässt.

Der Spaß kommt mit zusätzlicher Hardware

Der Erfolg des Raspberry Pis liegt maßgeblich in dessen Erweiterbarkeit. Neben der integrierten Display-Schnittstelle (DSI) können via dem 40-Pin-Connector so genannte HAT (Hardware attached on top) -Platinen kinderleicht angeschlossen als auch angesprochen werden. Hierfür gibt es neben verschiedenen Sensoren auch LEDs, Roboter- sowie Motorensteuerungen und vieles mehr.

Die meisten besitzen Softwarebibliotheken, welche in Python geschrieben sind. Mit etwas Arbeit und Spaß an der Sache lassen diese sich auch nach C# portieren, um diese schlussendlich auch mit Windows 10 IoT Core benutzen zu können. Als Beispiel hierfür hat der Gastautor dieses Artikels den preiswerten Blinkt!-HAT (hackster.io) als auch den RainbowHAT (hackster.io) von Pimoroni in eine Windows 10 IoT Core App portiert.

Windows 10 IoT Core

Der Tüftler-Spaß kennt bei Windows 10 IoT Core keine Grenzen. Mit so genannten Breadboards, auch Steckbretter genannt, kann man auch ganz ohne Löt-Kenntnisse komplett eigene Schaltungen mit dem Raspberry bauen und steuern. Ideal, um einmal die Grundprinzipien moderner Technik anfassbar nachzustellen.

Leider unterstützt das aktuelle Windows 10 IoT Core nicht die integrierte Kameraschnittstelle (CSI). Somit ist die offizielle Kamera des Raspberry Pis nicht funktionsfähig. Alternativ hierzu können via USB angeschlossene Webcams verwendet werden.

Zukunft

Windows 10 IoT Core befindet sich gerade bei Build 17763, also Version 1809 (am Desktop als Oktober Update bekannt). Leider werden zum Zeitpunkt der Veröffentlichung dieses Beitrages weder der Raspberry Pi A+ noch der kürzlich erschienene Raspberry Pi 4 unterstützt. Eine Aussage seitens Microsofts, ob diese Einplatinenrechner auf der kurz- oder mittelfristigen Roadmap stehen, habe ich nicht erhalten.

Fazit

Windows 10 IoT Core kann für interessierte Prosumer ein idealer Ausgangspunkt sein, um in die IoT- beziehungsweise Maker-Szene einzutauchen. Alle benötigten Werkzeuge und Ressourcen sind hierfür kostenfrei beziehbar und dank der Verbreitung der darunter liegenden Technologien wie C#, XAML und Co lassen sich sehr schnell Erfolge erziehen – also somit perfekt für ein Wochenendprojekt geeignet!

Über den Autor

Dr. Windows

Dr. Windows

Dies ist der allgemeine Redaktions-User von Dr. Windows. Wird verwendet für allgemeine Ankündigungen, Anzeigen- und Gastartikel

Anzeige