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
Dies ist der allgemeine Redaktions-User von Dr. Windows. Wird verwendet für allgemeine Ankündigungen und Gastartikel

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.



Kommentare
  1. Vielen Dank für den Beitrag, gerne mehr davon in der Richtung. Ich beschäftige mich selber seit über zwei Jahren intensiv mit Windows IoT Core (Anfangs RPi, dann Dragonboard 410c wegen GPU Beschleunigung). Etwas in Richtung eigenes FFU Image erstellen wäre vlt. etwas für die Zukunft. Aktuell bin ich dabei zu schauen, wie ich mein Produkt am besten kommerziell anbieten kann, allerdings ist mir zur Zeit nicht genau bekannt, wohin MS mit Win IoT Core gehen will...
    Man sollte dazu sagen, dass die Core Edition zwar kostenlos, im Gegenzug aber keinerlei Kontrolle über das Windows Update zulässt. Soll heißen: Windows 10 IoT bootet (immerhin nachts) einfach mal durch, wenn ein Update ansteht. Damit wird zugleich sichergestellt, dass man hiermit wirklich nur Bastler adressiert.
    Abseits davon: Ich habe irgendwo gelesen, dass Microsoft gerade bei IoT an "vielen tollen Features" arbeitet, daher Pi 4 vorerst nicht im Auge hat. Verwundert insofern kaum, als dass die B+ Auflage vom Pi3 auch schon nicht explizit unterstützt wird und nicht wirklich funktioniert.
    Übrigens macht mich stutzig, dass man eben bis heute auf 1809 hängt. In der Vergangenheit haben alle meine Raspberry ziemlich kurz nach dem Feature Update ihre Zwangsbeglückung mit dem Upgrade bekommen. Diesmal sind schon verdächtig viele Wochen (Monate?) ins Land gegangen.
    Irgendwie könnte ich mir vorstellen, dass hierauf gar kein 1903 folgt... vielleicht lässt man es direkt eine Weile brachliegen bis man den neuen OneCore-Unterbau hat. Denn was ist bei IoT schon groß anders als beim kommenden Lite; kann beides im Grunde nur UWP und Web Apps.
    Naja hatte Meine Technikerarbeit teilweise mit IoT Core und nem RPI realisiert. Hdmi Tochdisplay kann man vergessen, da es MS bis heute nicht hinbekommen hat für die GPU einen Treiber zu schreiben und alles per CPU gerendert werden muss, was die App auf dem RPi eigentlich die ganze Zeit dahin ruckeln lässt sobald ein paar Kurven angezeigt werden sollen. Hardware PWM haben sie ebenfalls noch nicht reinbekommen.
    Abgesehen davon dass wir unsere Kiosk-Anwendungen weder kurz- noch mittelfristig von Windows auf Windows IoT portieren könnten steige ich bei der Update und Lizensierungsgeschichte auch noch nicht durch. Es ist großartig was einem zum basteln für Türen offen stehen, aber das wirklich "in echt" auszuliefern würde ich mich nicht trauen - Das sind noch so viele Fragezeichen. Selbst IoT Enterprise wäre eigentlich genau das richtige für uns, aber da war schon die Lizensierung so kompliziert dass wir irgendwann aufgegeben haben, obwohl es deutlich billiger wäre...
    Hi ihr, vielen Dank für eure warmen und postiven Worte! Meine Finger haben doch bisschen gezittert als ich gesehen habe, dass Martin den Beitrag akzeptiert und freigegeben hat.
    @andydev
    Ja, ich hoffe einfach einmal, dass IoT Core nicht für Azure Sphere geopfert wird.
    @DonRonaldo
    Hm, auf die Idee mit dem "Lite" OS bin ich noch gar nicht gekommen. Klingt natürlich nicht zu verkehrt. Ist nur die Frage ob Windows in ARM generell das "Lite" wird, oder nicht.
    @ÜberDaniel
    Jap, kann dir was das betrifft nur zu stimmen. Deswegen hoffte ich ja auf den Raspberry Pi das es wenigstens durch mehr Leistung etwas flüssiger wird. Mal sehen was noch kommt.
    @Baloonicorn
    Das stimmt. Windows 10 wird hier wohl weiterhin der Standard (leider) bleiben. Wenn ich es richtig verstanden habe, darf man mit der Core-Variante eh kein Geld verdienen und die Enterprise Variante hat ganz spezielle und nur für OEM gedachte Lizensierungen.
    Viele Grüße,
    - Tobi
    Spannend - sehr spannend
    Ich finde diesen einen Screenshot sehr informativ.. Ist dieses Windows IoT eigentlich auch Core OS? Oder wird es das? Oder ist es sogar der pure Kern?
    Ich finde die Zielgruppe von dieser Windows IoT Version sehr klein. Warum sollte ich mich als Bastler mit den ganzen Einschränkungen rumplagen, die W10IoT sowohl auf technischer, wie auch auf lizenzrechtlicher Seite hat, wenn ich auch einfach ein Rasbian/OpenSuse o.ä. konfigurieren kann. Nicht falsch verstehen, Win10IoT ist bestimmt ein tollen OS, das auch seine Anwendungsfelder hat, nur halte ich die für selten. Schön, dass es die Wahlmöglichkeit gibt, ich behalte sie im Hinterkopf, allerdings bleibt sie wohl auch da.
    PS: Trotz meiner Skepsis gegenüber dem Thema, Danke für den gut geschriebenen Text.
    @tmayr
    Wenn ich ehrlich bin kann ich dir die Frage nicht beantworten. JEdoch gehe ich nicht davon aus das hier Spuren des Core OS enthalten sind. Ich gehe eher davon aus, dass es sich aus der Phone Variante heraus entwickelt hat. wer mehr Infos hat auf was IoT Core genau basiert, bitte nur her damit.
    36Creech
    Nichts zu danken - und jeder Texte sollte ja kritisch hinterfragt werden. Für mich ersetzt ein Windows 10 IoT Core kein Raspbian - zu mindestens nicht auf meinen Systemen. Ich habe etliche Service-RasperryPis mit PiHole und Co im Einsatz, hier käme ich nie auf die Idee auf Windows 10 IoT Core zu setzen. Wenn man aber genau mit den Techniken was man eh kann, oder lernen will und diese auch noch super verknüpft sind im Microsoft-Ökosystem, dann wäre für mich als privater Bastler IoT Core wohl die erste Variante. Im Business-Umfeld gelten eh ganz andere KPIs. :)
    @03Baerschke
    Nein, ausser du findest eine entsprechende, quelloffene App die du selber bauen und installieren kannst.
    Aber auch dann dürftest du auf dem Pi nicht mit einer flüssigen Wiedergabe rechnen können. Andere Boards schneiden hier besser ab.
    Würde aber sagen für dein Usecase ist so ein Atom-HDMI-Stick-PC besser geeignet. :)
    Dass man in C#/XAML auf UWP Basis schreiben kann, finde ich den Grund, dass ich mich für diese Plattform entschieden habe, im Vergleich zu den Linux Distros.
    Bzgl. Kommerzialisierung, die normale, kostenlose Windows IoT Core Version darf explizit dafür verwendet werden, dies wurde mir jedenfalls von einem MS Mitarbeiter so bestätigt, es muss dafür nicht einmal zwangsweise ein eigenes Image kompiliert werden, auch wenn dies natürlich empfohlen wird.
    Die Updategeschichte ist je nach Anwendungszweck auch nicht soo ein Problem, sehe hier eher den Vorteil, dass die Geräte wirklich Up2Date bleiben und man die jeweilige App immer schön an die aktuellsten APIs anpassen kann.
    @tobonaut: Quelloffen und selber bauen ist gar nicht notwendig. Es genügt ein ARM Package. (Das wiederum könnte man sich sogar "irgendwie" besorgen... :))
    Aber wie Du bereits im Artikel geschrieben hast, ohne richtige GPU Treiber macht das aufm Pi sowieso keinen Spaß. Bei SD Content kommt man vielleicht auf einen Frame pro Sekunde... hab selbst schon mal erfolglos probiert ein Video über das MediaElement abzuspielen. :D
    Bzgl. der fehlenden GPU-Beschleunigung auf dem RPi, habe ich auf ein Dragonboard 410c gewechselt, da funktioniert das perfekt und die UI läuft sehr flüssig.
Nach oben