Prototyper rapidement des dispositifs IoT avec le kit de découverte B-L4S5I-IOT01A pour nœud IoT

Par Jacob Beningo

Avec la contribution de Rédacteurs nord-américains de Digi-Key

Alors que les dispositifs sont de plus en plus connectés à l'Internet des objets (IoT), les développeurs qui démarrent de zéro se rendent compte que ce n'est toujours pas aussi simple qu'ils le pensaient, surtout si les délais sont serrés et les coûts limités. Du choix d'un environnement de développement fiable, sécurisé et bien pris en charge à la sélection de logiciels et de matériels compatibles, il s'avère que la conception et la construction d'un dispositif IoT exigent un large éventail de compétences.

Ce dont les développeurs ont de plus en plus besoin, c'est d'un accès immédiat à des solutions sécurisées, à des bibliothèques de connectivité cloud, à un système d'exploitation en temps réel (RTOS) et à une plateforme de développement matériel et logiciel compatible qui fournit des capteurs facilement intégrés, et ce, dans une solution évolutive.

Cet article explique comment les concepteurs IoT peuvent rapidement prototyper leurs produits en utilisant le kit de découverte B-L4S5I-IOT01A pour nœud IoT de STMicroelectronics. Il explore les capacités du microcontrôleur embarqué, la pléthore de capteurs et d'options de configuration, ainsi que la connexion à Amazon Web Services (AWS) pour commencer rapidement à créer un prototype et un produit final.

Présentation du kit de découverte B-L4S5I-IOT01A pour nœud IoT

La carte de découverte B-L4S5I-IOT01A est une carte de développement complète qui peut être utilisée pour prototyper la plupart des dispositifs IoT embarqués (Figure 1). La carte dispose d'une puissance de traitement, de capacités d'extension et de capteurs suffisants pour faire rêver n'importe quel développeur de système embarqué quant aux applications qu'il pourrait créer. La carte B-L4S5I-IOT01A est basée sur le processeur Arm® Cortex®-M4 basse consommation STM32L4S5VIT6 fonctionnant à 120 mégahertz (MHz), soutenu par 2 méga-octets (Mo) de mémoire programme Flash et 640 kilo-octets (Ko) de SRAM. Le STM32L4S5VIT6 est également doté de fonctionnalités idéales pour les applications IoT, notamment :

  • Unité en virgule flottante (FPU)
  • Contrôleur d'accès dynamique à la mémoire (DMA) à 14 canaux
  • Accélérateur matériel pour le cryptage AES et HASH
  • Fonctions graphiques avancées
  • Score de référence énergétique ULPMark-CP de 233

Image du B-L4S5I-IOT01A de Texas Instruments basé sur un processeur Arm Cortex-M4Figure 1 : Le B-L4S5I-IOT01A est basé sur un processeur Arm Cortex-M4 fonctionnant jusqu'à 120 MHz avec 2 Mo de mémoire Flash, 640 Ko de RAM, une connectivité sans fil et de multiples capteurs. (Source de l'image : STMicroelectronics)

La puissance de traitement et le rendement énergétique à eux seuls ne suffisent pas à offrir une excellente plateforme de prototypage rapide. La carte de découverte est également dotée d'une connectivité sans fil sous la forme d'un module Wi-Fi conforme 802.11b/g/n (ISM43362-M3G-L44) d'Inventek Systems et d'un module Bluetooth 4.1 de STMicroelectronics, ainsi que d'une série de capteurs. Sont notamment inclus deux microphones omnidirectionnels numériques MP34DT01, un capteur numérique capacitif HTS221 pour l'humidité relative et la température, et un magnétomètre à trois axes hautes performances LIS3MDL.

La liste ci-dessus n'est en aucun cas exhaustive : vous trouverez une description plus détaillée ici. Ensuite, il est important d'étudier les piles et les outils logiciels disponibles pour accélérer le développement.

L'écosystème STM32

L'écosystème entourant une carte de développement détermine si une équipe peut créer un prototype rapide ou non. Par exemple, pour prototyper un dispositif IoT avec le B-L4S5I-IOT01A, les développeurs doivent avoir accès à un compilateur, à un environnement de développement intégré (IDE), à des bibliothèques de pilotes, à des outils de configuration et à un logiciel pour les mises à jour du micrologiciel. La carte de découverte B-L4S5I-IOT01A répond à toutes ces exigences.

De nombreux développeurs utilisent Eclipse et le compilateur GNU C pour leur environnement de développement. STMicroelectronics fournit un outil gratuit, STM32CubeIDE (Figure 2), permettant aux développeurs d'écrire et de créer leurs projets logiciels. STM32CubeIDE permet d'accéder, à travers différentes perspectives, à un environnement de développement logiciel, un outil de configuration de microcontrôleur et un environnement de débogage.

Image de l'IDE STM32CubeIDE pour créer, configurer et gérer les logiciels embarqués IoT (cliquez pour agrandir)Figure 2 : STM32CubeIDE fournit aux développeurs un environnement de développement intégré pour créer, configurer et gérer le logiciel embarqué de leur dispositif IoT. (Source de l'image : Beningo Embedded Group)

STM32CubeIDE ne fournit pas seulement un moyen de créer, de développer et de gérer des projets logiciels, il offre également une interface avec STM32CubeMx. STM32CubeMx est un outil de configuration de microcontrôleur qui permet aux développeurs de configurer les arbres d'horloge, les périphériques, les capteurs et les intergiciels. Les développeurs configurent leurs paramètres, puis la chaîne d'outils génère les pilotes et les fichiers de configuration, ce qui réduit considérablement le temps de développement et permet au développeur de se concentrer sur le code de son application plutôt que sur le code de l'infrastructure standard.

En plus de la configuration et du déploiement d'une base de code, l'écosystème STM32 est fourni avec plusieurs outils utiles pour les développeurs travaillant à la pointe de la technologie. Par exemple, les développeurs qui cherchent à exploiter l'apprentissage automatique dans leurs applications peuvent utiliser l'extension STM32Cube.AI X-CUBE-AI, qui fournit aux équipes une structure rationalisée pour convertir, valider et exécuter des inférences sur le STM32. Les développeurs peuvent par exemple entraîner un modèle à l'aide de TensorFlow Lite, puis convertir ce modèle en quelques minutes en code C qui s'exécute sur le microcontrôleur. De plus, il existe des packs d'extension avec des logiciels prêts à l'emploi, notamment :

Chaque dispositif IoT doit prendre en compte la sécurité, même pendant la phase de prototypage rapide. Le Web actuel regorge d'attaques incessantes, de failles de sécurité et d'exploitation des données d'entreprises et de clients. Par conséquent, toute plateforme de prototypage rapide doit avoir la capacité d'évoluer efficacement vers un système de production. La carte de découverte peut exploiter les piles logicielles Secure Boot Secure Firmware Update (SBSFU) de STMicroelectronics pour offrir cette capacité aux développeurs. SBSFU est disponible dans le pack de fonctions X-CUBE-SBSFU, qui fournit les éléments suivants :

  • Services de racine de confiance (RoT)
  • Services de gestion sécurisée des clés
  • Schémas cryptographiques
  • Services sécurisés de mise à jour des micrologiciels

L'écosystème entourant la carte de découverte B-L4S5I-IOT01A est riche, avec de nombreux packs de fonctions et outils disponibles pour aider le développeur à démarrer rapidement. De nombreux développeurs IoT s'intéressent au pack X-CUBE-AWS qui fournit tout ce qui est nécessaire pour se connecter au cloud lorsqu'on utilise AWS. Voyons comment un développeur pourrait s'y prendre.

Connexion au cloud

Pour commencer à utiliser le cloud, un développeur doit télécharger X-CUBE-AWS. Le progiciel se présente sous la forme d'un fichier zip contenant plusieurs projets conçus pour être exécutés sur le B-L4S5I-IOT01A, comme par exemple :

  • Bootloader_KMS
  • Bootloader_STSAFE
  • Cloud

Ces projets sont situés sous :

Projects/B-L4S5I-IOT01A/Applications/

Avec le projet cloud AWS se trouvant sous :

Cloud/aws_demos

Le projet cloud est disponible pour STM32CubeIDE, Keil et IAR. Bien sûr, un développeur pourrait les porter sur d'autres IDE, mais ces trois-là sont les plus utilisés dans le secteur.

Les développeurs n'ont pas besoin de savoir comment gérer le projet de manière indépendante. Il existe plusieurs documents de valeur pouvant les aider à démarrer rapidement. Tout d'abord, un fichier Release_Notes.html est disponible dans le répertoire principal du projet. Ce fichier contient des informations générales sur le projet ainsi que des limitations et des références utiles.

Un guide de démarrage qui décrit comment se connecter à AWS en utilisant le projet est également disponible. Ce document explique comment se connecter à AWS et fournit des informations sur la pile et le logiciel (Figure 3). Le document décrit également les piles logicielles en détail permettant à un développeur de comprendre comment elles sont organisées, et les changements qui seront nécessaires pour connecter le dispositif au cloud.

Schéma du X-CUBE-AWS de STMicroelectronics qui fournit des exemples de micrologiciels et d'applicationsFigure 3 : X-CUBE-AWS fournit les exemples de micrologiciels et d'applications nécessaires pour se connecter à AWS et développer un objet IoT capable de se connecter à AWS. (Source de l'image : STMicroelectronics)

La façon la plus simple de se connecter au cloud est de parcourir le le guide de démarrage et de suivre le tutoriel. En plus du tutoriel, il existe plusieurs sources de référence supplémentaires que les développeurs peuvent utiliser pour se familiariser avec le progiciel, notamment :

Grâce à ces documents, les développeurs peuvent rapidement être opérationnels avec une application cloud qui peut être utilisée comme base pour leur propre application de dispositif IoT.

Conseils et astuces sur l'utilisation de la carte de découverte B-L4S5I-IOT01A

La carte de découverte B-L4S5I-IOT01A offre de nombreuses fonctionnalités et capacités que les développeurs peuvent exploiter pour prototyper rapidement leur produit embarqué. Voici plusieurs conseils et astuces que les développeurs peuvent prendre en compte pour simplifier et accélérer leur développement, par exemple :

  • Tirez pleinement parti du X-CUBE-AWS pour vous connecter facilement à AWS. Le progiciel est fourni avec FreeRTOS déjà sur la carte de développement ; les développeurs n'ont plus qu'à provisionner le dispositif pour se connecter au cloud.
  • Lisez attentivement la documentation de mise en route. La documentation décrit les étapes nécessaires pour effectuer une mise à jour du micrologiciel et se connecter à AWS.
  • Expérimentez les capacités de mise à jour OTA d'exemple. La nécessité de corriger et de mettre à jour les dispositifs IoT sur le terrain est essentielle. Les développeurs doivent connaître les capacités et les éventuelles limitations des mises à jour micrologicielles sécurisées.
  • Évitez de démarrer de zéro en tirant parti des packs de fonctions de STMicroelectronics, qui fournissent aux développeurs un point de départ pour les capacités et les fonctionnalités du dispositif. Ces packs de fonctions peuvent accélérer considérablement le développement.
  • Prenez le temps de lire la documentation STSAFE et de comprendre comment les éléments sécurisés peuvent améliorer la sécurité des dispositifs. La sécurité doit être intégrée dans un dispositif dès le départ, et il est donc indispensable de le faire pendant la phase de prototypage rapide.

Les développeurs qui suivent ces « conseils et astuces » constateront qu'ils économisent beaucoup de temps et d'efforts lors du prototypage de leur application.

Conclusion

Le développement d'un dispositif connecté IoT à partir de zéro comporte encore de nombreux obstacles et pièges qui peuvent retarder les calendriers et entraîner des dépassements de coûts. Pour éviter ces problèmes, les développeurs peuvent s'appuyer sur la carte de découverte B-L4S5I-IOT01A pour prototyper rapidement leurs applications connectées. Les piles logicielles, les packs d'extension et l'écosystème de STMicroelectronics offrent aux développeurs un point d'entrée unique pour intégrer facilement les logiciels et accélérer la mise en œuvre. Le B-L4S5I-IOT01A est également capable de répondre aux besoins des dispositifs modernes tels que la connectivité cloud, l'amorçage micrologiciel sécurisé avec OTA, et même l'exécution d'applications basiques d'apprentissage automatique.

Avertissement : les opinions, convictions et points de vue exprimés par les divers auteurs et/ou participants au forum sur ce site Web ne reflètent pas nécessairement ceux de Digi-Key Electronics ni les politiques officielles de la société.

À propos de l'auteur

Jacob Beningo

Jacob Beningo est un consultant en logiciels embarqués, et il travaille actuellement avec des clients dans plus d'une douzaine de pays pour transformer radicalement leurs activités en améliorant la qualité, les coûts et les délais de commercialisation des produits. Il a publié plus de 200 articles sur les techniques de développement de logiciels embarqués. Jacob Beningo est un conférencier et un formateur technique recherché, et il est titulaire de trois diplômes, dont un master en ingénierie de l'Université du Michigan. N'hésitez pas à le contacter à l'adresse jacob@beningo.com et sur son site Web www.beningo.com, et abonnez-vous à sa newsletter mensuelle Embedded Bytes.

À propos de l'éditeur

Rédacteurs nord-américains de Digi-Key