Ein Großteil der Infrastruktur in Anwendungen wie Automatisierung und Gesundheitswesen beruht auf Windows. Für die Entwicklung dafür geeigneter stromsparender und kostengünstiger Edge-Geräte ist »Windows-on-Arm« eine gute Wahl, weil es die Windows-Plattform in die effiziente Arm-Architektur einfügt.
Eine große Herausforderung bei der Entwicklung von Systemen mit Windows-on-Arm war bisher der Mangel an geeigneten Entwicklungskits. Obwohl das Betriebssystem seit langem in verschiedenen IoT- und Embedded-Computersystemen auf Boardebene verfügbar ist, erfordern diese Angebote meist eine umfangreiche Hardware-Entwicklung, bevor mit der Codierung begonnen werden kann.
Benötigt wird eine Lösung im Stil eines Box-PCs, in dem Windows-on-Arm vorinstalliert ist und der alle Komponenten enthält, die für die Anwendungsentwicklung erforderlich sind. Dies würde die Einrichtungszeit und -komplexität verringern und es ermöglichen, sich auf die Entwicklung und das Testen von Anwendungen zu konzentrieren, ohne sich um die anfängliche Softwareinstallation und -konfiguration kümmern zu müssen. Im Folgenden werden die Kriterien für die Auswahl des Betriebssystems erläutert, die zur Verwendung von Windows-on-Arm führen, und es werden die verschiedenen Windows-Versionen vorgestellt, die in Frage kommen. Anschließend wird das Windows-on-Arm-Entwicklungskit EPC-R3720IQ-AWA12 von Advantech vorgestellt und beschrieben, inwiefern es eine nahtlose Umgebung zur Beschleunigung der Entwicklung bietet. Zudem enthält der Beitrag Tipps für die ersten Schritte und verweist auf Microsoft-Tools, die sich mit dem Kit verwenden lassen.
Bei der Wahl des Betriebssystems gibt es viele Möglichkeiten, darunter Linux und verschiedene Echtzeit-Betriebssysteme. Ein häufiger Grund für die Wahl von Windows gegenüber diesen Alternativen ist das umfangreiche Angebot an Software und Bibliotheken. Dies ist ein wichtiger Aspekt für Umgebungen mit einer älteren Windows-Infrastruktur.
Windows bietet außerdem ein ausgereiftes Entwicklungssystem mit umfassenden Tools und Application Programming Interfaces (APIs) wie Visual Studio und dem .NET-Framework. Programmierer können aus einer breiten Palette von Programmiersprachen wie C++, Python und Node.js wählen und auf verschiedene Microsoft-Azure-Dienste zugreifen, um anspruchsvolle Funktionen rasch zu entwickeln.
Linux hat einige dieser Vorteile, aber die Konfiguration und Wartung eines Linux-Builds kann einen erheblichen Aufwand erfordern. Außerdem können die Linux-Distributionen sehr unterschiedlich sein, was zu Herausforderungen im Entwicklungsprozess führt.
Im Gegensatz zu Windows und Linux steht bei Echtzeit-Betriebssystemen die Effizienz im Vordergrund. Ihnen fehlen oft Funktionen wie etwa reichhaltige grafische Benutzeroberflächen (GUIs) und das breite Ecosystem, das voll ausgestattete Betriebssysteme bieten.
Wenn ein robustes, funktionsreiches und sicheres Betriebssystem mit einem ausgereiften Entwicklungs-Ecosystem gesucht wird, ist Windows eine überzeugende Option. Windows gibt es jedoch in vielen Formen, und es ist wichtig, die Unterschiede zu kennen.
Microsoft bietet mehrere Varianten von Windows an. Tabelle 1 zeigt einige der Hauptunterschiede zwischen den verschiedenen Ausgaben. Für das EPC-R3720IQ-AWA12 wählte Advantech Windows IoT Enterprise. Einer der Vorteile von Windows IoT Enterprise ist die Kompatibilität mit der Touchpanel-freundlichen Universal Windows Platform (UWP) und herkömmlichen Win32-Anwendungen. Diese Flexibilität ermöglicht es, das am besten geeignete App-Modell zu wählen.
Windows IoT Enterprise bietet außerdem erweiterte Sicherheitsfunktionen, die die Zuverlässigkeit verbessern:
Das Betriebssystem bietet außerdem Management-Tools, die einen zentralen Support für die bereitgestellten Geräte ermöglichen. Die Tools vereinfachen die Wartung und Sicherheit groß angelegter IoT-Implementierungen.
Viele dieser Funktionen werden von dem kompakteren Betriebssystem Windows IoT Core nicht unterstützt. Das Betriebssystem ist für leichte Einzweck-Geräte mit begrenzten Ressourcen gedacht. Es verzichtet auf Funktionen wie eine grafische Benutzeroberfläche und Unterstützung für herkömmliche Win32-Anwendungen, wodurch es sich besser als Begleitbetriebssystem für komplexe Geräte eignet.
Umgekehrt bietet das standardmäßige Windows Pro einen umfangreichen Funktionsumfang, lässt sich aber nicht für IoT-Bereitstellungen anpassen. Es ist auch nicht mit LTSC-Unterstützung für langlebige Geräte verfügbar.
In der Vergangenheit war das Windows-Betriebssystem an die x86-Architektur gebunden. Heutzutage läuft das Betriebssystem auch in Arm-Prozessoren, und diese Option eröffnet neue Möglichkeiten.
Der Hauptvorteil von Windows-on-Arm ist die Effizienz. Arm-Prozessoren sind für ihren geringen Stromverbrauch bekannt und eignen sich daher gut für batteriebetriebene Geräte und Anwendungen, bei denen das Wärmemanagement eine Rolle spielt. Arm-basierte Systeme zeichnen sich außerdem durch ihre Kosteneffizienz aus, was sie zu einer attraktiven Option für groß angelegte IoT-Implementierungen macht.
Wie erwähnt, war einer der Nachteile von Windows-on-Arm der Mangel an einsatzbereiter Hardware. Das EPC-R3720IQ-AWA12 löst das Problem mittels eines Box-PCs mit vorinstalliertem Windows 10 IoT. Wie in Bild 1 dargestellt, ist das Entwicklungskit in einem robusten 174 mm x 108 mm x 25 mm großen Gehäuse untergebracht. Dieses verfügt über Halterungen und lässt sich auf Wunsch auch im Feld einsetzen.
Das Herzstück des Entwicklungskits ist das System-on-Chip MIMX8ML8DVNLZAB von NXP Semiconductors, das auf einem Quad-Core-Arm-Cortex-A53-Prozessor beruht, der mit 1,8 GHz läuft (auf dem EPC-R3720IQ-AWA12 läuft er mit 1,6 GHz). Das SoC verfügt über eine Neural Processing Unit (NPU) mit 2,3 Tera-Operationen pro Sekunde (TOPS) und eignet sich damit für künstliche Intelligenz (KI) und Machine Learning (ML) an der Edge.
Das Entwicklungskit verfügt über 6 GB Arbeitsspeicher, 16 GB Speicherplatz und Erweiterungsmöglichkeiten über Steckplätze für Mini-PCIe, M.2, Micro SD und Nano SIM. Zur Vernetzung bietet das Entwicklungskit zwei Gigabit-Ethernet-Anschlüsse, einen USB-2.0-Anschluss, einen USB-3.2-Gen-1-Anschluss, einen HDMI-Anschluss und einen seriellen Anschluss, der CAN FD unterstützt.
Die Einrichtung des Entwicklungskits EPC-R3720IQ-AWA12 ist ein unkomplizierter Prozess. In den folgenden Punkten werden die wichtigsten Schritte erläutert, beginnend mit der Grundeinstellung:
1. Ein Monitor, eine Tastatur und ein Netzwerk sollten über die HDMI-, USB- oder Ethernet-Anschlüsse angeschlossen werden.
2. Das Entwicklungskit führt beim ersten Start automatisch den Setup-Prozess für Windows 10 IoT aus. Sobald er abgeschlossen ist, wird die Windows-Desktop-Umgebung angezeigt.
3. Dann muss Visual Studio von der Microsoft-Website heruntergeladen und installiert werden, um die Entwicklungsumgebung einzurichten. Während der Installation muss der Nutzer die Komponenten, die für die Entwicklung von Windows-IoT-Anwendungen notwendig sind, und andere erforderliche Workloads wie .NET oder UWP (Universal Windows Platform) auswählen.
4. Alle nötigen Software-Entwicklungskits (SDKs) und Runtimes sollten installiert sein. Wenn beispielsweise .NET 6 oder .NET 7 vonnöten ist, sollten die entsprechenden Runtimes vom Microsoft-Entwicklerportal oder über das Installationsprogramm von Visual Studio heruntergeladen werden.
5. Nach der Installation der erforderlichen Tools sollte Visual Studio für die Windows-IoT-Entwicklung konfiguriert werden, um sicherzustellen, dass die richtigen Versionen des Windows SDK und der Tools installiert sind.
Je nach den Anforderungen der Anwendung können zusätzliche Konfigurationen erforderlich sein:
1. Wenn ein drahtloses Netzwerk notwendig ist, sollte eine Antenne an die integrierte Schnittstelle des Entwicklungskits angeschlossen werden. Für eine Mobilfunkverbindung muss eine SIM-Karte bereitgestellt und installiert werden.
2. Alle Peripheriegeräte, die über den M.2-Steckplatz oder andere I/O-Ports angeschlossen sind, sollten getestet werden, um sicherzustellen, dass die erforderlichen Treiber und Software für diese Peripheriegeräte installiert sind.
3. Der entsprechende Azure IoT Hub oder andere Cloud-Dienste müssen konfiguriert werden, wenn die Anwendung eine Cloud-Vernetzung erfordert. Dazu gehört das Einrichten eines Azure-Kontos, das Erstellen von Ressourcen mit Azure und das Konfigurieren des Entwicklungskits für die Kommunikation mit diesen Ressourcen.
Nun kann mit der Anwendungsentwicklung und -bereitstellung fortgefahren werden. Die Entwicklung lässt sich durch Erstellen eines neuen Projekts oder Öffnen eines bestehenden Projekts in Visual Studio beginnen. Anwendungen lassen sich direkt im Gerät entwickeln, ausführen und testen.
Wenn Anwendungen stattdessen von einem Entwicklungs-PC aus debugged werden sollen, sollte Remote-Debugging eingerichtet werden. Dazu müssen die Remote-Debugging-Tools sowohl im Entwicklungskit als auch im PC konfiguriert werden.
Windows-on-Arm bietet viele überzeugende Vorteile für komplexe IoT-Geräte. Das Entwicklungskit EPC-R3720IQ-AWA12 bietet einen schnellen Weg zur Erstellung von Anwendungen für das Betriebssystem, und die Hardware lässt sich in einigen Fällen auch direkt für den Einsatz verwenden. Wie gezeigt, ist der Einstieg in das Entwicklungskit ein einfacher Prozess, der es ermöglicht, die Anwendungsentwicklung mit minimaler Einrichtung zu beginnen.
DigiKey auf der embedded world: Halle 4A, Stand 633