DesignSpark Electrical Logolinkedin
Menu Suche
Ask a Question

Intel Joule bringt Laptopleistung in winzigem Modul unter

Mit ernst zu nehmender Leistung und modernen Funktionen in einem ultrakleinen Formfaktor schaltet das Intel Joule 570x bei der IoT-Entwicklung einen Gang höher – oder auch drei.

Das Intel Edison hat mit einer Intel Atom-Dual-Core-CPU, 1 GB RAM und 4 GB Flash-Speicher sowie Bluetooth und WiFi bei beeindruckend kleinem Platzbedarf neue Maßstäbe für IoT-Entwicklungsplattformen gesetzt. 2 Jahre später hat Intel jetzt nachgelegt – dieses Mal mit einem ähnlich winzigen Joule mit Spezifikationen, die man eher von einem Laptop erwartet.

Hardwareübersicht zum Joule 570x

Abbildungsquelle: intel.com

  • 1,7 GHz (Burst: 2,4 GHz) Intel Atom-Quad-Core 64 Bit mit 4 MB L1-Cache
  • 4 GB RAM
  • 16 GB integrierter Flash sowie Unterstützung für externen Speicher (SDIO)
  • Intel HD-GPU (18 Ausführungseinheiten) und HDMI v1.4b
  • Unterstützung für Hardwarecodierung und -decodierung einschließlich H.264, MVC, VP8 und VP9
  • Integriertes IEEE 802.11agn + ac sowie BT 4.2 Wireless
  • 2 100-polige Erweiterungen mit bis zu 48 GPIO (4 PWM)
  • USB 3.0
  • 48 x 24 x 3,5 mm!

Das Joule ist unterfordert, wenn es nur an Temperatur- oder Feuchtigkeitssensoren angeschlossen wird – auch wenn ihm das leichtfallen würde. Für welche Anwendungen wurde es also konzipiert? Zunächst einmal für alle Anwendungen, die sich bisher nur mit einem Desktop, Laptop oder eventuell einem wesentlich größeren SBC betreiben ließen und großzügige Leistung, Konnektivität und möglichst einen Videoeingang/-ausgang erforderten.

Beispiele von Intel sind ein Erdbebenmelder, der zugleich einen digitalen Beschleunigungsmesser und Live-Onlinedaten nutzt, ein Linienfolger-Roboter, ein Entfernungsmesser und TI SensorTag-Demos. Man muss jedoch sagen, dass alle diese Anwendungen das Potenzial des Joule nicht annähernd ausschöpfen, sondern bloß an der Oberfläche der Möglichkeiten kratzen, die eine Plattform wie diese eröffnet.

Schon interessanter wird es bei der integrierten Unterstützung für die RealSense-Tiefenmesskameras von Intel. Diese Kombination ergibt mit USB 3.0-Schnittstellen auf beiden Seiten und der mühelosen Unterstützung von Anwendungen mit integriertem maschinellen Sehen durch das Joule schon mehr Sinn.

Expansion Board

Abbildungsquelle: intel.com

Wie auch beim Edison erlauben Feinraster-Hochgeschwindigkeitsanschlüsse die Integration in benutzerdefinierte Lösungen. Beim Joule handelt es sich dabei um ein Paar 2x50-polige Hirose-Anschlüsse. Günstigerweise umfasst das 570x-Entwicklerkit eine Erweiterungs-/Breakout-Platine mit zwei wesentlich besser für das Prototyping geeigneten 20-poligen 0,1-Zoll-Stiftleisten für den Anschluss an SPI, I2C, I2S, UARTs, PWM, GPIO, Strom und mehr.

Die Erweiterungsplatine bietet außerdem:

  • Stromversorgung, Pegelumschaltung und Filterung
  • Batteriehalter für die Echtzeituhr
  • Anschluss für ein MIPI-Display
  • Tasten zum Ein-/Ausschalten und für benutzerdefinierte und allgemeine Zwecke
  • USB C (Firmware-Update)
  • USB 3.0-Host
  • Micro USB (UART-Konsole)
  • Micro-HDMI

Hallo, Ostro

Im Rahmen des Ostro-Projekts wird Linux unterstützt und ich kann nur sagen, dass das für mich komplett neu war, obwohl ich mich als Linux- und Open-Source-Verfechter betrachte. Außerdem machte ich mir Sorgen angesichts der Aussicht auf eine benutzerdefinierte Linux-Verteilung mit selbst entwickelten Tools usw., in die man sich erst einarbeiten müsste. Aber das war unbegründet. Ostro hat sich als Bezugsverteilungsentwicklung herausgestellt, die Tools der Linux Foundation-Arbeitsgruppe (dem Yocto-Projekt) nutzt – und Intel ist eines der Mitglieder.

Das Yocto-Projekt stellt eine eigene Linux-Bezugsverteilung namens Poky bereit, die relativ erfolgreich und in vielen Entwicklungsplattformen enthalten ist, unter anderem bei Intel Edison und Galileo. Während Poky jedoch auf allgemeine Embedded-Anwendungen ausgerichtet ist, liegt der Schwerpunkt von Ostro ganz klar auf dem IoT und ist für Sicherheit bei der Kommunikation zwischen Geräten und Software-Updates optimiert. Das IoTivity-Framework umfasst außerdem eine Vielzahl weiterer moderner Funktionen.

Ostro gibt es praktischerweise in zwei Versionen: das einfachere Ostro OS für monitorlose Geräte und Ostro OS XT für Geräte, die Grafik und Medien unterstützen. Ostro wird zusammen mit MinnowBoard Turbot, BeagleBone Black und einem kompakten Gigabyte-PC auch von Edison und Galileo unterstützt.

Einrichtung

Intel liefert erwartungsgemäß eine umfangreiche, detaillierte Dokumentation mit und das Joule-Modul-Benutzerhandbuch behandelt alle Themen von den Voraussetzungen und dem Laden eines BS über WiFi-Konfiguration und Entwicklungsoptionen bis zur Fehlerbehebung.

Zuerst wird das neueste Ostro-Image heruntergeladen. Anschließend kann es wie folgt auf einem Linux-PC ausgeschrieben werden:

$ unxz ostro-xt-image-swupd-intel-corei7-64.dsk.xz

$ sudo dd if=ostro-xt-image-swupd-intel-corei7-64.dsk of=/dev/mmcblk0 bs=4M

Das dd-„of“-Argument muss für andere Distributionen und Hardware allerdings geändert werden!

Sobald die Micro SD-Karte in die Erweiterungsplatine eingesetzt ist, kann über den Hohlstecker 12 V DC zugeführt werden, um das Joule-Modul zu booten. Über Micro-USB ist eine serielle Konsole verfügbar.

Bei Verbindung über die serielle Konsole wird statt einer Anmeldeaufforderung direkt eine Root-Shell von Busybox aufgerufen. In der Abbildung oben ist das top-Dienstprogramm zu sehen, das Details zu den ausgeführten Prozessen und zur Ressourcenauslastung anzeigt.

ConnMan is used for managing network interfaces and this is not something I personally have much experience with. I was a little confused by the section in the User Guide concerned with configuring the wireless interface and after a little reading up, I used the following sequence of commands to configure the Joule module to connect to our WPA2 secured office network:

# connmanctl

connmanctl> scan wifi

connmanctl> services

connmanctl> agent on

connmanctl> connect wifi__managed_psk

An dieser Stelle muss bei Aufforderung das Kennwort (vorinstallierter Schlüssel, Pre-Shared Key) eingegeben werden.

Danach habe ich mich für die Konfiguration des SSH-Zugriffs an die Anweisungen im Benutzerhandbuch gehalten. Damit konnte ich über SSH auf das Modul zugreifen und die Middleware-Bibliotheken aktualisieren.

Entwicklung

Neues Projekt erstellen in Intel System Studio IoT

Das Joule bietet eine Fülle an Entwicklungsoptionen und es werden zwei offizielle IDEs bereitgestellt: Intel System Studio IoT für C/C++- und Intel XDK für node.js-Anwendungen. Ebenso einfach kann man jedoch auch über node.js/JavaScript, C++ und Python direkt am Joule entwickeln. Der Zugriff auf GPIO und Sensoren mit integrierter Unterstützung wird in allen Fällen durch MRAA erleichtert, das auch für die Anwendungsportierbarkeit für Edison, Galileo, MinnowBoard und weitere Plattformen sorgt.

Natürlich können Anwendungen auch in anderen Sprachen entwickelt werden. Fehlen die entsprechenden Pakete, kann einfach ausgehend von der Quelle entwickelt und optional für Ostro paketiert werden.

RealSense

Intel RealSense ist eine ultrakompakte Lösung mit 1080p-RGB und Infrarotkameras sowie einem Infrarotprojektor, der in vorder- und rückseitigen Ausführungen verfügbar ist. Die vorderseitige Kamera hat eine kurze Reichweite und ist für die Gesichtserkennung, die gestenbasierte Interaktion, Videokonferenzen usw. vorgesehen. Die rückseitige Kamera hat eine größere Reichweite und ist für Anwendungsbereiche wie das Objektscanning und Augmented Reality vorgesehen.

Oben ist eine Prototyping-Lösung abgebildet, die wir mit dem Intel Joule 570x-Entwicklerkit und einem Intel RealSense SR200 größerer Reichweite, einem einfachen Acrylfuß und einer Kamerahalterung sowie einer kleinen Steckplatine zur Verwendung mit GPIO über die Erweiterungsplatine entworfen haben.

Ein geplanter weiterer Beitrag wird sich um das RealSense SDK und Beispielanwendungen zusammen mit dem Intel Joule 570x drehen.

Erste Eindrücke

Dass Intel es geschafft hat, die Leistung des Joule 570x in einem Gehäuse kleiner als das Speichermodul eines Laptops unterzubringen, ist schier unglaublich. Die Integration einer GPU mit HDMI-Schnittstelle, WiFi, Bluetooth und USB 3.0 zeigt, dass dieses Modul keine übliche IoT-Plattform ist, sondern für komplexere Anwendungen weit jenseits von Sensoren, Anzeigen und Auslösern konzipiert wurde.

Das Ostro-Projekt lässt sich interessant an. Es ist beruhigend, dass es auf standardmäßigen integrierten Linux-Tools und -Metadaten basiert und den Schwerpunkt dabei klar beim IoT setzt. Das werden alle begrüßen, die im Bereich von Massenmarktprodukten mit Skalierbarkeitsbedarf arbeiten.

Ich freue mich schon darauf, das Joule 570x mit dem RealSense SR200 und den bereitgestellten Beispielen zu testen!

Andrew Back

Open source (hardware and software!) advocate, Treasurer and Director of the Free and Open Source Silicon Foundation, organiser of Wuthering Bytes technology festival and founder of the Open Source Hardware User Group.

4 Nov 2016, 13:37

Kommentare