Schnelles Prototyping von IoT-Geräten mit dem B-L4S5I-IOT01A Discovery Kit IoT Node

Von Jacob Beningo

Zur Verfügung gestellt von Nordamerikanische Fachredakteure von DigiKey

Da immer mehr Geräte mit dem Internet der Dinge (IoT) verbunden werden, stellen Entwickler, die bei Null anfangen, fest, dass es immer noch nicht so einfach ist, wie sie es erwarten würden, insbesondere wenn der Zeitplan eng und die Kosten begrenzt sind. Von der Auswahl einer vertrauenswürdigen, sicheren und gut unterstützten Entwicklungsumgebung bis hin zur Auswahl kompatibler Software und Hardware - es zeigt sich, dass die Entwicklung und der Aufbau eines IoT-Geräts immer noch ein breites Spektrum an Fähigkeiten erfordert.

Was Entwickler zunehmend benötigen, ist ein einfacher Zugang zu sicheren Lösungen, Cloud-Netzwerkbibliotheken, einem RTOS und einer kompatiblen Hardware- und Software-Entwicklungsplattform, die einfach zu integrierende Sensoren bietet - alles in einem skalierbaren Paket.

Dieser Artikel beschreibt, wie IoT-Designer ihre Produkte mit dem B-L4S5I-IOT01A Discovery Kit IoT Node von STMicroelectronics schnell prototypisieren können. Er untersucht die Fähigkeiten des integrierten Mikrocontrollers, die Vielzahl von Sensoren und Konfigurationsoptionen sowie die Verbindung zu Amazon Web Services (AWS), um schnell mit dem Aufbau des Prototyps und des Endprodukts beginnen zu können.

Einführung zum B-L4S5I-IOT01A Discovery Kit IoT Node

Das B-L4S5I-IOT01A Discovery Board ist ein One-Stop-Shop-Entwicklungsboard, das zum Prototyping nahezu aller eingebetteten IoT-Geräte verwendet werden kann (Abbildung 1). Das Board verfügt über genügend Rechenleistung, Sensoren und Erweiterungsmöglichkeiten, um jeden Embedded-Entwickler von den Anwendungen träumen zu lassen, die er erstellen könnte. Das Board B-L4S5I-IOT01A basiert auf dem energiesparenden Arm®-Cortex®-M4-Prozessor STM32L4S5VIT6, der mit 120 Megahertz (MHz) getaktet wird und von 2 Megabyte (Mbyte) Programm-Flash und 640 Kilobyte (Kbyte) SRAM unterstützt wird. Der STM32L4S5VIT6 verfügt außerdem über Merkmale, die sich ideal für IoT-Anwendungen eignen, wie z. B:

  • Eine Gleitkommaeinheit (FPU)
  • Ein 14-Kanal-Controller für dynamischen Speicherzugriff (DMA)
  • Ein Hardware-Beschleuniger für AES- und HASH-Verschlüsselung
  • Erweiterte Grafikfunktionen
  • Ein 233 ULPMark CP Energie-Benchmark-Ergebnis

Bild: Das B-L4S5I-IOT01A von Texas Instruments basiert auf einem Arm-Cortex-M4-ProzessorAbbildung 1: Das B-L4S5I-IOT01A basiert auf einem Arm-Cortex-M4-Prozessor mit einer Taktfrequenz von bis zu 120 MHz, einem 2-MByte-Flash-Speicher, 640 KByte RAM, drahtloser Vernetzung und mehreren Sensoren. (Bildquelle: STMicroelectronics)

Rechenleistung und Energieeffizienz allein reichen nicht aus, um eine hervorragende Plattform für schnelle Prototypen zu schaffen. Das Discovery Board verfügt außerdem über drahtlose Vernetzung in Form eines 802.11b/g/n-konformen Wi-Fi-Moduls (ISM43362-M3G-L44) von Inventek Systems und eines Bluetooth-4.1-Moduls von STMicroelectronics sowie über eine Reihe von Sensoren. Dazu gehören zwei digitale omnidirektionale Mikrofone MP34DT01, ein kapazitiver Digitalsensor HTS221 für relative Luftfeuchtigkeit und Temperatur sowie ein leistungsstarkes Drei-Achsen-Magnetometer LIS3MDL.

Die obige Liste ist keineswegs vollständig: eine ausführlichere Beschreibung finden Sie hier. Als nächstes ist es wichtig, die verfügbaren Software-Tools und -Stacks zu untersuchen, um die Entwicklung zu beschleunigen.

Das STM32-Ökosystem

Das Ökosystem, das eine Entwicklungsplatine umgibt, entscheidet darüber, ob ein Team einen schnellen Prototyp erstellen kann oder nicht. Für den Prototyp eines IoT-Geräts mit dem B-L4S5I-IOT01A benötigen Entwickler beispielsweise Zugang zu einem Compiler, einer integrierten Entwicklungsumgebung (IDE), Treiberbibliotheken, Konfigurationstools und Software für Firmware-Updates. Das B-L4S5I-IOT01A Discovery Board unterstützt alle diese Anforderungen.

Viele Entwickler verwenden Eclipse und den GNU-C-Compiler für ihre Entwicklungsumgebung. STMicroelectronics bietet ein kostenloses Tool, STM32CubeIDE (Abbildung 2), mit dem Entwickler ihre Software-Projekte schreiben und erstellen können. STM32CubeIDE ermöglicht aus verschiedenen Perspektiven den Zugriff auf eine Software-Entwicklungsumgebung, ein Mikrocontroller-Konfigurationswerkzeug und eine Debugging-Umgebung.

Bild der IDE STM32CubeIDE zum Erstellen, Konfigurieren und Verwalten von IoT-Embedded-Software (zum Vergrößern klicken)Abbildung 2: STM32CubeIDE bietet Entwicklern eine IDE zum Erstellen, Konfigurieren und Verwalten der Embedded-Software ihres IoT-Geräts. (Bildquelle: Beningo Embedded Group)

STM32CubeIDE bietet nicht nur die Möglichkeit, Softwareprojekte zu erstellen, zu erstellen und zu verwalten, sondern verfügt auch über eine Schnittstelle zu STM32CubeMx. STM32CubeMx ist ein Mikrocontroller-Konfigurationswerkzeug, mit dem Entwickler Taktbäume, Peripheriegeräte, Sensoren und Middleware konfigurieren können. Die Entwickler konfigurieren ihre Einstellungen, und die Toolchain generiert dann die Treiber und Konfigurationsdateien, was die Entwicklungszeit drastisch verkürzt und dem Entwickler hilft, sich auf seinen Anwendungscode und nicht auf den Standardinfrastrukturcode zu konzentrieren

Neben der Konfiguration und Bereitstellung einer Codebasis bietet das STM32-Ökosystem verschiedene nützliche Tools für Entwickler, die mit Spitzentechnologien arbeiten. Entwickler, die maschinelles Lernen in ihren Anwendungen nutzen möchten, können beispielsweise die STM32Cube.AI-Erweiterung X-CUBE-AI einsetzen, die Teams ein optimiertes Framework für die Konvertierung, Validierung und Ausführung von Inferenzen auf dem STM32 bietet. Zum Beispiel können Entwickler ein Modell mit TensorFlow Lite trainieren und dann das Modell in nur wenigen Minuten in C-Code umwandeln, der auf dem Mikrocontroller läuft. Darüber hinaus gibt es Erweiterungspakete mit betriebsbereiter Software, die Folgendes umfasst:

Jedes IoT-Gerät sollte Sicherheitsaspekte berücksichtigen, selbst in der Phase des Rapid Prototyping. Im heutigen Internet wimmelt es nur so von Angriffen, Sicherheitsverletzungen und der Ausbeutung von Geschäfts- und Kundendaten. Daher sollte jede schnelle Prototyping-Plattform die Fähigkeit besitzen, effizient in ein Produktionssystem überzugehen. Das Discovery Board kann die Software-Stacks Secure Boot Secure Firmware Update (SBSFU) von STMicroelectronics nutzen, um Entwicklern diese Möglichkeit zu bieten. SBSFU ist im Funktionspaket X-CUBE-SBSFU erhältlich, das folgende Funktionen bietet:

  • Root-of-Trust-Dienste (RoT)
  • Sichere Schlüsselverwaltungsdienste
  • Kryptografische Verfahren
  • Sichere Firmware-Update-Dienste

Das Ökosystem rund um das B-L4S5I-IOT01A Discovery Board ist reichhaltig, mit vielen verfügbaren Funktionspaketen und Tools, die dem Entwickler einen schnellen Einstieg ermöglichen. Viele IoT-Entwickler interessieren sich für das X-CUBE-AWS-Paket, das alles Notwendige für die Verbindung mit der Cloud bei der Nutzung von AWS bietet. Schauen wir uns an, wie ein Entwickler dabei vorgehen würde.

Anbindung an die Cloud

Um eine Cloud-Anwendung zu erstellen, muss ein Entwickler X-CUBE-AWS herunterladen. Das Softwarepaket wird als Zip-Datei mit mehreren Projekten geliefert, die für das B-L4S5I-IOT01A entwickelt wurden, z. B:

  • Bootloader_KMS
  • Bootloader_STSAFE
  • Cloud

Diese Projekte befinden sich unter:

Projects/B-L4S5I-IOT01A/Applications/

Das AWS-Cloud-Projekt findet sich unter:

Cloud/aws_demos

Das Cloud-Projekt ist für STM32Cube IDE, Keil und IAR verfügbar. Natürlich kann ein Entwickler diese auf andere IDEs portieren, aber diese drei sind in der Branche weit verbreitet.

Ein Entwickler muss nicht selbst herausfinden, wie er das Projekt zum Laufen bringen kann. Es gibt mehrere wertvolle Dokumente, die ihnen helfen können, schnell loszulegen. Zunächst gibt es im Hauptprojektverzeichnis eine Datei Release_Notes.html. Diese Datei enthält allgemeine Informationen über das Projekt sowie Einschränkungen und wertvolle Hinweise.

Als Nächstes gibt es eine Anleitung für den Einstieg, in der beschrieben wird, wie man mit dem Projekt eine Verbindung zu AWS herstellt. In diesem Dokument wird beschrieben, wie Sie eine Verbindung zu AWS herstellen, und es werden Informationen zum Stack und zur Software gegeben (Abbildung 3). Das Dokument beschreibt auch die Software-Stacks im Detail, was einem Entwickler helfen kann zu verstehen, wie sie organisiert sind und welche Änderungen notwendig sind, um das Gerät mit der Cloud zu verbinden.

Diagramm: X-CUBE-AWS von STMicroelectronics bietet Firmware und AnwendungsbeispieleAbbildung 3: X-CUBE-AWS bietet die Firmware und die Anwendungsbeispiele, die für die Verbindung mit AWS und die Entwicklung eines IoT-Geräts, das sich mit AWS verbinden kann, erforderlich sind. (Bildquelle: STMicroelectronics)

Der einfachste Weg, sich mit der Cloud zu verbinden, ist, das Dokument „Getting Started“ („Erste Schritte“) durchzugehen und dem Tutorial zu folgen. Neben dem Tutorial gibt es mehrere zusätzliche Referenzquellen, die Entwickler nutzen können, um sich mit dem Softwarepaket vertraut zu machen, darunter:

Mit diesen Dokumenten können Entwickler schnell eine Cloud-Anwendung erstellen, die als Grundlage für ihre eigene IoT-Geräteanwendung dienen kann.

Tipps und Tricks zur Verwendung des B-L4S5I-IOT01A Discovery Board

Das B-L4S5I-IOT01A Discovery Board verfügt über viele Funktionen und Möglichkeiten, die Entwickler nutzen können, um ihr Embedded-Produkt schnell zu prototypisieren. Im Folgenden finden Sie einige „Tipps und Tricks“, die Entwickler beachten sollten, um ihre Entwicklung zu vereinfachen und zu beschleunigen, z. B:

  • Nutzen Sie die Vorteile des X-CUBE-AWS für eine einfache Verbindung zu AWS. Das Softwarepaket wird mit FreeRTOS geliefert, das bereits auf die Entwicklungsplatine portiert ist; Entwickler müssen das Gerät nur noch für die Verbindung mit der Cloud bereitstellen.
  • Lesen Sie die Dokumentation zu den ersten Schritten sorgfältig durch. Die Dokumentation enthält die notwendigen Schritte zur Durchführung eines Firmware-Updates und zur Verbindung mit AWS.
  • Experimentieren Sie mit dem Beispiel der Over-the-Air(OTA)-Update-Funktionen. Die Notwendigkeit, IoT-Geräte im Feld zu patchen und zu aktualisieren, ist von entscheidender Bedeutung. Die Entwickler sollten sich über die Möglichkeiten und eventuellen Einschränkungen sicherer Firmware-Updates im Klaren sein.
  • Vermeiden Sie es, bei Null anzufangen, indem Sie die Funktionspakete von STMicroelectronic nutzen, die Entwicklern eine Starthilfe für Fähigkeiten und Gerätefunktionen bieten. Diese Funktionspakete können die Entwicklung drastisch beschleunigen.
  • Nehmen Sie sich die Zeit, die STSAFE-Dokumentation durchzulesen und zu verstehen, wie sichere Elemente die Gerätesicherheit verbessern können. Die Sicherheit muss von Anfang an in ein Gerät eingebaut werden, daher ist es ein Muss, dies während der Rapid-Prototyping-Phase zu tun.

Entwickler, die diese „Tipps und Tricks“ befolgen, werden feststellen, dass sie beim Prototyping ihrer Anwendung eine Menge Zeit und Ärger sparen.

Fazit

Die Entwicklung eines mit dem Internet der Dinge verbundenen Geräts von Grund auf birgt immer noch viele Hindernisse und Fallstricke, die den Zeitplan verzögern und zu Kostenüberschreitungen führen können. Um diese Probleme zu vermeiden, können Entwickler das B-L4S5I-IOT01A Discovery Board nutzen, um ihre vernetzten Anwendungen schnell zu prototypisieren. Die Software-Stacks, Erweiterungspakete und das Ökosystem von STMicroelectronics bieten Entwicklern einen One-Stop-Shop zur einfachen Integration von Software und zur Beschleunigung der Implementierung. Der B-L4S5I-IOT01A erfüllt außerdem alle Anforderungen moderner Geräte wie Cloud-Vernetzung, sicheres Booten der Firmware über OTA und sogar die Ausführung grundlegender Anwendungen zum maschinellen Lernen.

DigiKey logo

Haftungsausschluss: Die Meinungen, Überzeugungen und Standpunkte der verschiedenen Autoren und/oder Forumsteilnehmer dieser Website spiegeln nicht notwendigerweise die Meinungen, Überzeugungen und Standpunkte der DigiKey oder offiziellen Politik der DigiKey wider.

Über den Autor

Image of Jacob Beningo

Jacob Beningo

Jacob Beningo ist ein Berater für eingebettete Software, der derzeit mit Kunden in mehr als einem Dutzend Ländern zusammenarbeitet, um ihr Unternehmen durch die Verbesserung von Produktqualität, Kosten und Markteinführungszeit dramatisch zu transformieren. Er hat mehr als 200 Artikel über Entwicklungstechniken für eingebettete Software veröffentlicht, ist ein gefragter Redner und technischer Trainer und verfügt über drei Abschlüsse, darunter einen Masters of Engineering der University of Michigan. Bei Interesse können Sie ihn unter jacob@beningo.com kontaktieren oder besuchen Sie seine Website www.beningo.com und melden Sie sich für seinen monatlichen Embedded Bytes Newsletter an.

Über den Verlag

Nordamerikanische Fachredakteure von DigiKey