chevron_left
chevron_right

Eine Windows App für IoT-Geräte

«Internet of Things» (IoT) ist das Schlagwort schlechthin, was der Gartner Hype Cycle auch bestätigt. Dieser Artikel zeigt, was man benötigt, um eine universelle Windows Plattform App zu erstellen, die man auf einem IoT-Gerät installieren kann.

 

Um eine App für die universelle Windows Plattform (UWP) zu erstellen – welche auf allen Geräten (vom IoT-Gerät, Phone, Tablet, Desktops bis Xbox) läuft – benötigt man Windows 10 (Version 10.0.10240 oder höher). Falls Windows 10 bereits installiert ist und man die Versionsnummer kontrollieren möchte, muss man auf den Startbutton klicken und «winver» eintippen, gefolgt von der «Enter»-Taste. Bemerkung am Rande: Bis 29. Juli 2016 können Interessierte kostenlos auf Windows 10 upgraden (1) – Voraussetzung ist Windows 7 oder höher.

Entwicklermodus muss auf dem PC aktiviert sein

Als Entwicklungsumgebung benötigt man Visual Studio 2015 (2), welches man kostenlos (Visual Studio Community) herunterladen kann. Wer bereits eine kostenpflichtige Edition (z.B. Professional oder Enterprise) besitzt, kann natürlich diese verwenden. Unter «Help | About Visual Studio», sollte man kontrollieren, ob Update 1 und die Universal-Windows-App-Development-Tools (beide Version 14.0.24720.00) installiert sind. Damit sich Projekte für IoT-Geräte entwickeln lassen, benötigt man die Windows IoT Core Projekt Templates (3), die von der Visual Studio Galerie heruntergeladen werden können.

Um eigene Apps auf IoT-Geräten installieren, ausführen oder testen zu können, muss auf dem entsprechenden PC der Entwicklermodus (Einstellungen | Update und Sicherheit | Für Entwickler) aktiviert sein. Eine detaillierte (englische) Anleitung gibt es unter http://bit.ly/1LDWztj.

Raspberry Pi

Windows 10 IoT Core ist für Raspberry Pi, Minnowboard Max und Dragonbard erhältlich – siehe Übersichtstabelle (4). Ich habe mich für den leistungsärmsten, dafür kostengünstigsten Raspberry Pi 2 Model B (5) entschieden, welcher im Pi-Shop für 44 Franken erhältlich ist. Zwischenzeitlich ist der Rasp­berry Pi 3 Model B (6) auf den Markt gekommen. Im Vergleich zu seinem Vorgänger verfügt dieser über eine höhere Prozessorgeschwindigkeit und ist mit einer Chipantenne sowie 802.11 b/g/n WLAN und Bluetooth Classic & Low Energy (BLE) ausgestattet. Preislich ist er nur minim teurer und deshalb für den Kauf zu empfehlen.

Zusätzlich habe ich mir das Microsoft IoT Pack (7) für den Raspberry Pi 2 von Adafruit gekauft. Für rund 90 Franken bekommt man diverse Elektrokomponenten, Steckplatinen, Kabel, SD Card, WLAN Dongle usw. sowie einen Schweizer Netzstecker. Auf der Webseite von Microsoft (8) finden sich ausreichend Dokumentationen und Beispielprojekte, von denen die meisten mit den Komponenten aus dem IoT Pack nachgebaut werden können.

Auf der im Microsoft IoT Pack enthaltene SD Card, ist das Betriebssystem.bereits vorinstalliert. Es muss nur die MicroSD Card in den Slot (A) des Pi 2 geschoben werden. Der WLAN Dongle kommt in einen USB Port (B) oder man verbindet den Raspberry Pi mit einem LAN-Kabel (C). In den microUSB-Anschluss (D) steckt man den Netzadapter für die Stromversorgung. Ich empfehle ausserdem einen externen Monitor an die HDMI-Buchse sowie Tastatur und Maus per USB anzuschliessen. Windows 10 IoT Core bootet automatisch nachdem man die Stromversorgung angeschlossen hat. Sobald der Bootvorgang abgeschlossen ist – dies kann das erste Mal einige Minuten dauern – wird die Standard-App gestartet und nebst weiteren Informationen die IP-Adresse auf dem externen Monitor angezeigt.

Windows 10 IoT Core Dashboard

Windows 10 IoT Core Dashboard (9) sucht nach allen IoT-Core-Geräten innerhalb des lokalen Netzwerkes und listet diese mit gerätespezifischen Informationen wie Name, Gerätetyp, IP-Adresse usw. auf. Falls das Gerät nach der Installation nicht gefunden werden sollte, empfiehlt sich ein «Reboot». Man kann auch direkt auf das «Device Portal» zugreifen, indem man die IP-Adresse mit dem Port 8080, z. B. http://10.125.152.196:8080/ aufruft.

Wenn man das Betriebssystem auf eine neue SD Card installieren will – oder nicht das IoT Pack mit der vorinstallierten SD Card gekauft hat –, hilft das Dashboard. Es braucht dazu einen (externen) SD Card Reader. Man klickt auf der linken Seite auf «Neues Gerät einrichten» und wählt den Gerätetyp aus. Sobald die SD Card eingesteckt ist, muss man diese als Ziellaufwerk angeben. Mit «Herunterladen und installieren» wird der Prozess gestartet. Wenn Windows 10 IoT Core auf mehrere SD Cards installiert werden soll, ist das Dashboard nicht ideal, weil das Image jedes Mal heruntergeladen wird. Alternativ kann ein Release-Image oder die «Insider Preview for Windows 10 IoT Core» manuell installiert werden. Zweitgenannte ist eine unveröffentlichte Vorabversion, die noch Fehler enthalten kann. Die ISO-Datei und die Installationsanleitung (10) findet man auf der Microsoft-Site.

Device Portal

Wenn man das Device Portal aufruft, muss man sich zuerst authentifizieren (Standard- login: Benutzername «Administrator» und Kennwort «p@ssw0rd»). Beim ersten Login wird man aufgefordert, das Kennwort zu ändern. Im Device Portal lassen sich Grundeinstellungen vornehmen und Apps direkt in­stallieren. Unter «Processes» befindet sich eine Auflistung aller Prozesse, die aktuell ausgeführt werden – analog Task Manager. Weiter findet man unter «Performance» eine grafische Darstellung der CPU-Last und der I/O-Zugriffe. Falls man mit einer App Probleme hat, kann man für die Analyse unter «Debugging» einen Kernel-Dump herunterladen. Wie man es von Windows kennt, gibt es auch einen Gerätemanager und die Netzwerkverbindungen.

Eine blinkende LED ist auf einem IoT-Gerät das neumodische «Hello World». Wie man eine App schreibt, die eine LED blinken lässt, findet man in Beispiel (11). Ich habe bewusst auf die Programmierung verzichtet und den Fokus auf das «Darumherum» gelegt, damit interessierte Leser einen möglichst einfachen Einstieg finden. Ich hoffe, dass nun einige Leser motiviert sind, auch eine App zu schreiben. Auf GitHub (12) und der Microsoft-Webseite (13) gibt es genügend Beispielprojekte.

Interessante Informationen findet man auch unter RaspberryPiGuid.de (14). Jetzt möchte ich noch das Video «Creating real Internet of Things solutions today using Microsoft Technology» (15) von Sacha Corti empfehlen. Es zeigt, wie ein Raspberry Pi Temperatur- und Luftfeuchtewerte erfasst und die Daten in der Cloud speichert. Ich wünsche allen Lesern «Happy Coding». 

Infoservice

Hardware + Software ingenieurbüro Giger
Kirchgasse 13, 8880 Walenstadt
Tel. 081 733 17 77, Fax 081 733 17 88
info@hsig.chwww.hsig.ch