L’année 2022 restera une année compliquée pour le développement en système embarqué et IoT avec la crise des matières premières qui a fait augmenter le prix des cartes de prototypage.
A l’heure de l’IoT, beaucoup de monde recherche des solutions de prototypage pour concevoir, mettre au point et évaluer des solutions IoT avec des cartes faciles à prendre en main.
Si on regarde la liste des cartes ou objets IoT disponibles, ils et elles sont nombreux et il est assez compliqué de s’y retrouver et de faire un choix approprié pour un prototypage. Voici quelques pistes avec mes coups de cœurs actuels :

1 - La Raspberry PI

Elle a toujours le vent en poupe mais les problèmes du marché des microcontrôleurs gène considérablement son approvisionnement et a vu son prix atteindre des sommets (près de 200€ sur les première PI4 en 2022). Elle reste la solution de référence, bien que les dernières versions s’approchent de plus en plus du micro-ordinateur. La PI 4 à 8 Go vient de sortir mais aux alentours de 190€.

Avec les différentes versions, il est toujours possible de trouver une solution à un besoin spécifique avec un prix abordable. La plupart des projets peuvent facilement se contenter d'une PI3 voire d'une PI0 dans les cas les plus simples.

art carte iot 0

Raspberry Pi 3A+, 3B+, Pi Zero, Pi 3B

Même si Linux Rasbian reste privilégié avec un développement en C ou en Python, il existe d’autres OS plus ou moins génériques (Umbutu, Apertis) ou spécifiques comme Home Assistant par exemple pour la domotique.

Pour ceux qui développent avec Visual Studio, je leur conseille d’aller jeter un œil du côté de Visual GDB qui est un PlugIn additionnel à Visual et qui permet de développer en C avec Cross-Compilation débuggage distant pour différents OS, très bonne solution. (https://visualgdb.com/ essai gratuit 30j)

Pour ceux qui viennent du monde de la programmation .Net, la PI3 (ou 3b) avec Windows 10 IoT Standard reste une bonne solution alternative intéressante. L’installation du système est facile et celui-ci se comporte très bien sur la PI. L’ensemble des bus sont supportés. Le développement se fait sous Visual Studio en Xaml/C# avec UWP avec Cross-Compilation et débuggage distant. L’API UWP est très complète et permet d’accéder assez simplement à de nombreuses fonctionnalités.

2 – Les Arduinos :

Les cartes Arduino ont sérieusement évoluées. On trouve maintenant toute une gamme très complète avec de nombreuses options. De la classique Uno, en passant par la Micro, la Lenoardo ou la MKR 1010 avec le Kit Opla, il est possible d'adapter son choix au besoin du projet envisagé.

art carte iot 6

Arduino Uno, Arduino Lenoardo

 

Le développement se fait toujours en langage C sur l’IDE Arduino qui a enfin évoluer (version 2 en 2022). Arduino s’est même mis au Cloud en proposant son Arduino Cloud (https://cloud.arduino.cc/) avec les nombreux Kits disponibles.

art carte iot 7

Kit Arduino Opla IoT Kit avec une carte MKR 1010

3 - Les cartes Nucléo :

Depuis le temps, ARM sort enfin du bois avec ses séries de cartes Nucléos, son OS mBed et son Cloud. Ces solutions sont devenues de sérieuses concurrentes face notamment à Arduino. Les cartes Nucléo sont très abordables avec de très nombreuses déclinaisons. Dotées d'un microcontrôleur STM32 (ARM Cortex 32 bits) et de tous les connecteurs classiques, elles associent rapidité et faible consommation et présentent de nombreux de communications comme Wi-Fi, Bluetooth, Ethernet et même Lora.

art carte iot 2               art carte iot 3         art carte iot 1
Carte Nucléo F446,      Nucléo-F303K8,       Nucléo-WL55JC1 compatible Lora,

La programmation se fait en langage C. ARM fournit une interface de développement en ligne (http://www.mbed.org) qui est très simple, très pratique et gratuit. Il suffit de se créer un compte, de connecter la carte via USB et d’écrire son programme pour ensuite le tester sur la carte. L’IDE Arduino peut aussi être utilisée au même titre qu’une chaîne de Cross-Compilation gcc, ou de l’IDE Eclipse.

4 - Les modules M5Stack :

Les M5Stack sont des petits modules de prototypage IoT. Equipé d’un ESP32, d’une batterie LiPo rechargeable via le port USB, d’interface Bluetooth et WiFi, d’une mémoire FLASH de 16 MB, d’un mini haut-parleur, et suivant les modèles, d’un afficheur, de boutons poussoirs, d’un buzzer, de Leds, d’un lecteur de carte micro-SD autorisant la lecture de fichiers, d’un connecteur Grove I2C, d’aimants intégrés pour le fixer, … Bref, un objet complet pour prototyper en IoT.

Il est possible de programmer en C avec l'IDE Arduino, ou avec l'IDE en ligne UIFlow avec le langage de bloc Blockly ou avec Micropython. M5Stack fournit de nombreuses librairies et des exemples de programmes leur GitHub. A noter que la version Core2 est équipée d’une puce de Crypto-Authentification ATECC608 recommandée par exemple pour sécuriser ses échanges avec AWS.

art carte iot 4

M5Stack Core2, M5Stack v26 et Core 2 AWS, M5StickC PLUS

5 - Le module Wio de Seeed Studio :

Mon coup de cœur va pour le module Wio de Seeed Studio. Avec un processeur ARM Cortex-M7 600 MHz, un écran LCD 2,4, capteur de lumière, émetteur IR, accéléromètre, boutons programmables, interrupteur 5 positions, microphone et sonnette, ports compatibles Grove, Gpio, carte SD, Wifi et Bluetooth, pour environ 40€ c’est une véritable petite bombe dans le monde des cartes IoT. 

art carte iot 5

Il est possible de l’utiliser avec une PI. La programmation peut se faire en C sur IDE Arduino ou MicroPython avec ArduPy. Documentation et exemples fournis sur https://wiki.seeedstudio.com/Wio-Terminal-Getting-Started/.

B. Chervy (2023)