Infineon »Xensiv«

IoT-Sensorkit im Praxistest

9. Januar 2020, 9:00 Uhr | Klaus Dembowski
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 1

Der Praxistest

Der Quick Start Guide [2] liefert eine ausführliche Beschreibung des Kits und Hinweise wie die notwendigen Bibliotheken sowie Programmbeispiele für die mitgelieferten Boards installiert und ausgeführt werden können. Die Module werden meist über I2C angesteuert, einige über SPI und der Barometerchip DPS310 bietet beide Möglichkeiten, wie es in der obigen Aufzählung angegeben ist. Das digitale MEMS-Mikrofon IM69D130 verfügt über eine PCM-Schnittstelle, die bei näherer Betrachtung dem üblichen I2S-Interface entspricht und beispielsweise auch standardmäßig beim Raspberry Pi verfügbar ist.

Zunächst ist der erforderliche Adapter, der bis zu drei S2Go-Boards aufnehmen kann, auf das µC-Board (Bild 5) zu stecken und das Board per USB mit einem PC zu verbinden. Anschließend wird das µC-Board in der Arduino-IDE (Version 1.8.3) über Werkzeuge – Board – Boardverwalter integriert und der virtuelle COM-Port für USB bestimmt (Bild 6). Dieser grundlegende Vorgang ist unabhängig vom zu verwendenden S2Go-Board stets der gleiche.

Für die Mikrofon-Platine sind die Bibliotheken bereits vorinstalliert. Für das Beispielprogramm (SoundPressureLevel, Bild 7), das sich über Datei – Beispiele – I2S laden lässt, wird lediglich die Datei I2S.h benötigt. Im Bild 8 ist die Ausgabe des Programms im seriellen Plotter der Arduino-IDE zu erkennen.

TU Hamburg
Bild 6: Aufruf Boardverwalter und Festlegung der USB-Schnittstelle.
© Infineon

Ausführliche Dokumentation

Durch die zahlreichen Verweise im Quick Start Guide auf weiterführende Dokumentationen und aktuelle Links zur Software kommt man relativ schnell zu ersten Ergebnissen, solange man die S2Go-Boards mit dem XMC 1110 Boot-Kit verwendet. Auch die einzelnen Dokumente zu den S2Go-Boards sind technisch fundiert, ausführlich und gut verständlich, sodass man den Infineon-Support für das Kit nicht bemühen muss, denn es funktioniert genau so, wie es in den Infineon-Dokumentationen beschrieben ist. Wie es vorhergehende Tests von Kits anderer Hersteller oftmals gezeigt haben, ist eine gewissenhaft angefertigte Dokumentation keineswegs selbstverständlich, genauso wenig wie das zur Verfügungstellen der passenden Software, was interessanterweise unabhängig vom Preis des jeweiligen Kits ist.

TU Hamburg
Bild 7: Der Beispielcode für das MEMS-Mikrofon.
© Infineon

Die erwähnte Einschränkung, dass die Inbetriebnahme und Programmierung der Boards nur mit dem XMC 1110 Boot-Kit unmittelbar funktioniert, ist dem Umstand geschuldet, dass bei den beiden XMC 2Go-Mikrocontroller-Boards (Bild 2) für die Kontaktierung der Boards zwei achtpolige Male/Male-Steckerleisten zu montieren sind.

Laut Anleitung reicht hier ein einfaches Aufeinanderstecken, was jedoch eine wackelige Konstruktion aber keine verlässlich wirkenden Signalverbindungen ergibt. Ohne Lötarbeiten geht es deshalb eigentlich nicht, was aber kein Problem sein sollte. Allerdings werden lediglich zwei Leisten mitgeliefert, obwohl für zwei XMC 2Go-Mikrocontroller-Boards logischerweise vier davon benötigt werden. Das dritte Mikrocontroller-Board, das S2Go-Boards aufnehmen kann, ist ein ESP-WROOM-32, das noch etwas näher erläutert werden muss.

Funkschnittstellen mit ESP-WROOM-32

Wie eingangs erwähnt, ist für viele IoT-Anwendungen eine Funkschnittstelle essentiell. Leider ist hierfür kein S2Go-Board in der Xensiv Sensor Box (Bild 1) zu finden, sondern stattdessen ein sogenanntes ESP32 Minikit, also ein ESP32-basiertes System [3] der chinesischen Firma Espressif. Das darauf befindliche Modul ist ein ESP-WROOM-32 (2× Tensilica Xtensa LX6) mit WLAN (IEEE 802.11 b/g/n) und Bluetooth (BLE 4.2). Es wird über einen MicroUSB-Anschluss mit Spannung versorgt und nimmt über zwei achtpolige Steckpfosten eine Adapterplatine auf, die zwei S2Go-Sockel enthält, sodass hier zwei S2Go-Boards bestückt werden können.

TU Hamburg
Bild 8: Ausgabe der mit dem MEMS-Mikrofon gemessenen Lautstärke im zeitlichen Verlauf.
© Infineon

Diese Adapterplatine (Shield2Go Dual Adapter for Wemos D1 mini + TrustX) enthält unter dem Socket 2 (Bild 9) einen Kryptographie-Chip (Optiga Trust X) von Infineon, der über I2C mit dem ESP-WROOM-32 verbunden ist und die verbreiteten Verschlüsselungsstandards nebst Zufallszahlenerzeugung beherrscht.

Die Adapterplatine wird als kompatibel zum Wemos-Formfaktor bezeichnet, der von der gleichnamigen chinesischen Firma definiert wurde und die Größe und Belegung der Steckerleiste auf der ESP-WROOM-32-Platine beschreibt. Letztendlich ist dies die gleiche Belegung wie die der S2Go-Boards (Bild 4), nur der Abstand der Leisten voneinander ist unterschiedlich. Beide Varianten verhindern im Übrigen nicht, dass ein Modul aus Versehen nicht auch falsch herum aufgesteckt werden kann.

Die genaue Bezeichnung des Boards lautet MH-ET Live ESP32 Minikit, und auf der ESP-WROOM-32-Platine ist der Firmenname Wemos sowie Mini 32 aufgedruckt. Das ESP32 Minikit ist ebenfalls arduino-kompatibel und demnach auch wieder in der Arduino-IDE programmierbar, wofür die entsprechende Software vom Hersteller notwendig ist, deren Beschaffung etwas undurchsichtig ist, denn die Software von Wemos für die Mini-Serie funktioniert nicht mit der Arduino-IDE. Das mitgelieferte Board ist entgegen der Benennung WeMos Mini32 V1.0.0 weder ein Produkt der Firma Wemos, noch Bestandteil der D1 Mini-Serie. Stattdessen wird das Modul von der Firma Lilygo hergestellt und ist ein Clone des MH-ET Live MiniKit ESP32 [4].

TU Hamburg
Bild 9: ESP32 Minikit (links) und Adapterplatine.
© Aliexpress/Infineon

Nachdem die richtige Quelle für die Software geklärt ist, gelingt auch die Integration der Software in der Arduino-IDE wie üblich über Werkzeuge – Boards – Boardverwalter und der nachfolgenden Auswahl über Werkzeuge – Board ESP32 Dev Module, sodass das erste Beispiel WiFi-Scan, das die verfügbaren WLANs detektiert und anzeigt, ohne Probleme funktioniert hat.

Als nächster Schritt wäre dann die Ankopplung von bis zu zwei S2Go-Boards über den Shield2Go Dual-Adapter möglich, womit man von der (professionellen) Infineon XMC 1000-Plattform auf die teilweise etwas undurchsichtig erscheinende chinesische ESP32-Plattform gewechselt ist.

Professionalität trifft Improvisation

Das Kit XensivSensors Started Box IoT hinterlässt einen zwiespältigen Eindruck. Einerseits ist der professionelle Anspruch von Infineon zu erkennen, ausgehend von der Industrial-Controller-Familie XMC1000. Andererseits konzentriert man sich auf die alles verbindende Arduino-Plattform und überlässt die Funkkommunikation der S2Go-Boards einem ESP32-Modul, sodass die eigentliche Zielgruppe dieses Kits nicht deutlich wird. Vom Preis her gesehen wird eher der professionelle Schaltungsentwickler und nicht der engagierte Bastler angesprochen.

Statt die Funkkommunikation auf die ESP32-Plattform zu verlagern, die halbherzig »angeflickt« wirkt, sollte Infineon stattdessen konsequent auf die XMC-Mikrocontrollerfamilie und die S2Go-Boards setzen, denn mit der Dave-Tool-Chain steht ein entsprechend leistungsfähiges und etabliertes Entwicklungswerkzeug zur Verfügung. (jk)

LITERATUR
[1] Download DAVE Tool Chain https://www.infineon.com/cms/en/product/microcontroller/32-bit-industrial-microcontroller-based-on-arm-cortex-m/, siehe hier Sektion »Tools and Software«

[2] Dokumentation Infineon XENSIV Getting Started Box IoT https://www.infineon.com/cms/en/product/evaluation-boards/get-start-box-iot/#documents, siehe »Getting Started»

[3] Klaus Dembowski, Wrover-Development-Kit für IoT-Anwendungen, Design&Elektronik 4/2019

[4] Dokumentation MH-ET Live MiniKit ESP32 http://mh.nodebb.com/topic/5/mh-et-live-esp-32-devkit-mini-kit-user-guide-updating


  1. IoT-Sensorkit im Praxistest
  2. Der Praxistest

Lesen Sie mehr zum Thema


Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu TU Hamburg-Harburg Inst. Für Mikrosystemtechnik

Weitere Artikel zu Infineon Technologies AG

Weitere Artikel zu Betriebssysteme

Weitere Artikel zu Sensoren & -systeme

Weitere Artikel zu IIoT-Protokolle (OPCUA, MQTT, ...)