Home Instrumentierung Windows 10 IoT Core zum Leben erwecken

Windows 10 IoT Core zum Leben erwecken

Der Bereich der Entwicklung von IoT-verbundenen Sensoren und Steuerungen wurde schon immer von traditionellen eingebetteten Designtechniken dominiert, aber es scheint, dass Microsofts jüngste Ankündigung von Windows 10 IoT Core eine praktikable Alternative bietet. Die Märkte für Desktop- und Servertechnologie waren lange Zeit die Domäne von Microsofts Windows-Betriebssystem, daher ist es interessant, dass das Unternehmen damit begonnen hat, ein gewisses Maß an Kompatibilität für kleine Computerplatinen wie Raspberry Pi, Arduino und MinnowBoard MAX bereitzustellen.

 

Im Kern ist Windows 10 IoT Core eine kleinere, kompaktere Version des Betriebssystems Windows 10, die speziell für diese kompakten, vergleichsweise ressourcenbeschränkten Einplatinencomputer entwickelt wurde. Es ist für ARM-basierte und x400-Plattformen ohne Display mit mindestens 86 MHz und mindestens 256 MB RAM oder für Windows-Geräte mit einem Display mit mindestens 512 MB RAM ausgelegt; Außerdem benötigen Sie mindestens 2 GB Speicherplatz.

In Verbindung mit umfassender Toolchain-Unterstützung in Form von Visual Studio und verschiedenen Board-Support-Paketen bietet Windows 10 IoT Core eine tragfähige Umgebung, auf der Sie Ihre IoT-Designs aufbauen können. Da kompatible Boards bei der Bauherren-Community so beliebt sind, finden Sie online eine Fülle von Tipps, Tricks und praktischen Designbeispielen. Egal, ob Sie ein professioneller interner Entwickler oder ein Hersteller sind, Sie können sicher sein, dass mehr Menschen wie Sie Windows IoT Core verwenden.

Auf Board-Ebene bietet Microsoft die Möglichkeit, ein benutzerdefiniertes Image zu erstellen, das so viele Plattformfunktionen wie nötig unterstützt. Beispielsweise ist es für viele IoT-Sensoranwendungen nicht erforderlich, Audio- oder Videoressourcen bereitzustellen. Um die Bereitstellung auf gängigen Plattformen zu beschleunigen, bietet Microsoft jedoch spezielle Board-Images zur Installation an. Dazu gehören Boards ohne HDMI- oder Composite-Video-Ausgang, für die Windows Shell ebenfalls nicht erforderlich wäre.

Es wird empfohlen, dass Entwickler, die Windows 10 IoT Core verwenden möchten, zuerst die IoT-Seite im Windows Dev Center besuchen. Diese hilfreiche Ressource enthält Dokumente und Links zu unterstützten Boards, bietet Informationen zur Bereitstellung von IoT-Konnektivität und hebt eine Reihe von Projekten hervor, die auf der beliebten Entwickler-Community-Website Hackster.io gehostet werden.

Derzeit gibt es drei Entwicklungsboards, die Microsoft Windows 10 IoT Core vollständig unterstützen: das Raspberry Pi 2, das MinnowBoard MAX und das Intel Galileo. Auch wenn es nicht in der Lage ist, das IoT Core-Betriebssystem auszuführen, wird die Unterstützung für die Schnittstelle mit Arduino-basierten Anwendungen durch zwei Bibliothekskomponenten bereitgestellt. Wir werden später über die Funktionen von Bibliotheken sprechen.

Unabhängig davon, welches Board Sie für Ihre Entwicklung wählen, besteht der erste Schritt bei der Installation von Windows 10 IoT Core darin, einen PC für die Portierung und anschließende Entwicklung vorzubereiten. Die neueste Version von Microsoft Windows 10 muss auf dem PC ausgeführt werden, zusammen mit der kostenlosen Version von Visual Studio Community oder den Professional- oder Enterprise-Versionen von Visual Studio 2015. Die installierte Version von Visual Studio muss ebenfalls validiert werden; Einzelheiten dazu finden Sie auf der oben genannten Dev Center-Website.

Nachdem diese Schritte abgeschlossen sind, müssen die Windows IoT Core-Projektvorlagen über die Visual Studio Gallery hinzugefügt werden. Das Open-Source-MinnowBoard (siehe Abbildung 1) bietet beispielsweise einen Intel Atom E64xx 38-Bit-SoC, 2 GB DDR3-RAM und ist mit umfassender Peripherieunterstützung ausgestattet, einschließlich HDMI, SATA2, USB3 und USB2, 10/100/ 1000 Ethernet und 8 GPIO-Pins. Dieses kompakte Board, das nur 5 V Gleichstrom benötigt und 99 x 74 mm misst, ist ideal für eine Vielzahl von IoT-Anwendungen.

Sobald der PC vorbereitet ist, kann das ausgewählte Board für die Ausführung des IoT Core-Betriebssystems vorbereitet werden. Der Prozess ist für jedes der drei unterstützten Boards ähnlich und besteht aus der Installation der neuesten Version der Board-Firmware, dem Herunterladen des vorbereiteten ISO-Images für das ausgewählte Board aus dem Microsoft Download Center, dem Übertragen des Images auf eine SD-Karte und dem anschließenden Laden auf das von Ihnen gewählte Board. Das Brett kann dann abgerissen werden. Siehe Abbildung 2.

Nachdem Sie das Board mit Windows 10 IoT Core hochgefahren haben, können Sie mit Ihrem ersten Design fortfahren, aber bevor wir uns einige Beispiele ansehen, lassen Sie uns kurz die Funktionen der oben erwähnten Arduino-Bibliotheken besprechen.

Bis heute werden die Boards der Arduino-Serie nicht als bootfähige Boards unterstützt, aber Sie können trotzdem von der Leistung und Einfachheit profitieren, die sie bieten. Die Windows Remote Arduino Library ist eine Open-Source-Windows-Runtime-Komponente, mit der Entwickler ein Arduino über eine USB- oder Bluetooth-Verbindung steuern können. Windows-Runtime-Sprachen wie C++, C# und JavaScript können auf die Bibliothek zugreifen, wenn Sie an der Entwicklung in Visual Studio arbeiten. Eine Beispielanwendung könnte die Verwendung eines Arduino zum Sammeln von Umgebungsdaten von einer Reihe von Sensoren sein, wobei die Desktop-Anwendung diese Daten zur regelmäßigen Analyse und Überwachung sammeln würde. Die andere Bibliothek ist Windows Virtual Shields für Arduino. Es ist in erster Linie für die Verwendung mit dem Arduino UNO-Board konzipiert und für universelle Open-Source-Windows-Anwendungen vorgesehen, die auf jedem Windows 10-Gerät, wie z. B. einem Windows Lumia-Telefon, ausgeführt werden können, um die Kommunikation zwischen dem Gerät und dem Arduino bereitzustellen. Auf diese Weise können die Sensoren des Telefons aus einem Arduino-Sketch gelesen und interpretiert werden.

Kehren wir zu dem mit IoT Core gebooteten Board zurück. Ein guter erster Schritt, um zu überprüfen, ob die Platine ordnungsgemäß funktioniert, ist die Verwendung der LED-Blink-Beispielanwendung, die im Microsoft Dev Center dokumentiert ist. Durch die Verwendung des bereitgestellten Codes in Visual Studio wird das gesamte Setup überprüft, bevor ein komplizierteres Projekt gestartet wird.

Visual Studio bietet auch verschiedene Sprachoptionen für diese Art von Apps, sodass Entwickler für ihr Design zwischen C++, C#, Python oder node.js wählen können. Visual Basic, C# und HTML/JavaScript werden ebenfalls unterstützt. Die zu verwendende Sprache kann basierend darauf bestimmt werden, welche für die Anwendung am besten geeignet ist, oder einfach basierend auf den Vorlieben des Entwicklers.

Die Cloud-Plattform Azure von Microsoft ergänzt Windows 10 IoT Core. Es wurde für eine Vielzahl von Cloud-basierten Computing-, Speicher- und Analyseanwendungen entwickelt und eignet sich auch ideal als Repository für die Speicherung und Analyse von IoT-Sensordaten.

Die Plattform kann Daten von einer unbegrenzten Anzahl registrierter Sensoren und Geräte empfangen und kann auch so konfiguriert werden, dass sie die Daten analysiert, auf Datenänderungen reagiert und Nachrichten und Steueranweisungen für andere angeschlossene Geräte und Aktoren auslöst.

Das Open-Source-Projekt ConnectTheDots.io von Microsoft (siehe Abbildung 4) bietet eine Reihe von Bibliotheken, Codebeispielen und Konfigurationsskripts, um die Kommunikation zwischen Ihrer Windows 10 IoT Core-Anwendung und dem Microsoft Azure-Dienst herzustellen.

Bei der Auswahl eines Einplatinen-Embedded-Computers gibt es eine schier endlose Liste möglicher IoT-Anwendungen, die realisiert werden können. Für den Entwickler ist der Zugriff auf bewährte Entwicklungswerkzeuge ebenso wichtig wie das Auffinden einer breiten Palette von Foren und Communities, an die er sich wenden kann, wenn die gewählte Software oder Plattform nicht wie gewünscht reagiert. Online-Communities wie Hackster.io bieten zahlreiche Beispiele für Windows IoT Core mit Raspberry Pi 2, MinnowBoard MAX und Arduino.