Comment sélectionner et utiliser le module Wi-Fi/Bluetooth ESP32 approprié pour une application IoT industrielle

Par Jacob Beningo

Avec la contribution de Rédacteurs nord-américains de DigiKey

Tandis que l'automatisation industrielle s'accélère, les ingénieurs en usine s'efforcent de connecter les systèmes à l'IoT, qui a délaissé à bien des égards les usines plus anciennes. Cependant, pour les nouveaux systèmes comme pour les systèmes existants, la connectivité sans fil à l'IoT à l'aide des technologies Wi-Fi ou Bluetooth est relativement simple grâce aux modules et aux kits ESP32.

Créée et développée par Espressif Systems, la série ESP32 — série de microcontrôleurs sur puce économiques, basse consommation intégrant Wi-Fi et Bluetooth double mode — représente une véritable révolution pour les ingénieurs en automatisation qui ne veulent pas se laisser prendre aux nuances de la conception sans fil et radiofréquence (RF). En tant que système radio combiné Wi-Fi/Bluetooth à faible coût, cette série a gagné en popularité non seulement auprès des amateurs, mais également auprès des développeurs IoT. Grâce à sa faible consommation énergétique, ses nombreux environnements de développement open-source et ses bibliothèques, elle est idéale pour tous les développeurs.

Cependant, la série ESP32 se présente sous la forme de tant de modules et de cartes de développement différents qu'il peut être difficile de faire le bon choix.

Cet article présente les solutions ESP32 et montre comment les développeurs peuvent identifier la carte de développement et le module appropriés pour commencer à connecter leur application à l'IoT.

Le module ESP32

Le module ESP32 est une solution Wi-Fi/Bluetooth tout-en-un intégrée et certifiée, qui fournit non seulement une radio sans fil, mais également un processeur embarqué doté d'interfaces pour permettre la connexion à divers périphériques. Le processeur offre en fait deux cœurs de traitement dont les fréquences de fonctionnement peuvent être contrôlées de manière indépendante entre 80 mégahertz (MHz) et 240 MHz. Les périphériques du processeur simplifient la connexion à un large éventail d'interfaces externes, notamment :

  • SPI
  • I2C
  • UART
  • I2S
  • Ethernet
  • Cartes SD
  • Technologie tactile capacitive

Il existe plusieurs modules ESP32 différents parmi lesquels un développeur peut choisir en fonction des besoins de son application. Le premier module ESP32, qui est aussi le plus populaire, est l'ESP32-WROOM-32D, qui fonctionne jusqu'à 240 MHz (Figure 1). Le module inclut une antenne à piste de circuit imprimé qui simplifie l'implémentation. Il évite également l'ajout de matériel supplémentaire et la complexité de configuration associés à une antenne à connexion IPEX. Cependant, si l'option de connecteur IPEX est sélectionnée, il existe de nombreuses antennes adéquates, comme le modèle W24P-U d'Inventek Systems.

Image du module ESP32-WROOM-32D d'Espressif SystemsFigure 1 : Le module ESP32-WROOM-32D fonctionne à des vitesses jusqu'à 240 MHz et inclut 8 Mo de mémoire Flash SPI embarquée. (Source de l'image : Espressif Systems)

Le module inclut 4 mégaoctets (Mo) de mémoire Flash et 38 broches qui sont disposées de manière à réduire la taille du module, ce qui lui confère une forme presque carrée. Le WROOM-32D présente un brochage intégralement compatible avec l'ESP-WROOM-32U (Figure 2). Le WROOM-32U remplace l'antenne embarquée à piste de circuit imprimé par un connecteur IPEX, basé sur la conception U.FL de Hirose. Le WROOM-32U permet ainsi d'économiser de l'espace carte et permet aux concepteurs de connecter une antenne externe qu'ils peuvent intégrer à leur produit pour obtenir des caractéristiques RF optimales.

Image du module ESP32-WROOM-32U d'Espressif SystemsFigure 2 : L'ESP32-WROOM-32U présente un brochage compatible avec le WROOM-32D, mais remplace l'antenne embarquée à piste de circuit imprimé de ce dernier par un connecteur IPEX pour une antenne externe, permettant des caractéristiques RF optimisées. (Source de l'image : Espressif Systems)

Un point intéressant concernant les modules WROOM-32D est qu'ils sont également disponibles en différentes tailles de mémoire Flash. Les modules sont fournis avec des variantes de support mémoire supplémentaires, comme l'ESP32-WROOM-32D avec 8 Mo et l'ESP-WROOM-32D avec 16 Mo.

Sélection d'une carte de développement ESP32 pour le contrôle industriel

Les modules ESP32 constituent un excellent choix lors de la conception d'une carte qui sera utilisée en production ou dans des projets où ils seront installés sur une carte qui sera utilisée à haut volume. Pour le développement d'équipements à faible volume en usine de fabrication, les développeurs peuvent utiliser une carte de développement ESP32. Ces cartes s'étendent des cartes de « démarrage » très basiques aux cartes sophistiquées qui incluent des écrans LCD et des processeurs secondaires. Certains modèles sont également adaptés aux applications d'automatisation industrielle, à condition que la simplicité du développement soit une exigence clé.

Un exemple est l'ESP32-DEVKITC-32D-F (Figure 3). Il s'agit d'une carte Breakout simple pour le WROOM-32D, qui inclut tous les circuits de programmation et de conditionnement de puissance dont un concepteur ou un développeur a besoin pour démarrer. La carte est alimentée via un connecteur micro-USB embarqué ou via une embase de dérivation V-IN. Des cavaliers ou des fils de raccordement peuvent ensuite être utilisés pour connecter divers composants au WROOM-32D.

Image de la carte de développement ESP32-DEVKITC-32D-F d'Espressif SystemsFigure 3 : La carte de développement ESP32-DEVKITC-32D-F inclut des embases de dérivation pour la connexion à n'importe laquelle des broches du WROOM-32D, et elle peut être alimentée via USB à des fins de développement. (Source de l'image : Espressif Systems)

Le shield Airlift ESP32 d'Adafruit Industries est un autre exemple. Il inclut non seulement le WROOM-32D, mais fournit également un espace de prototypage supplémentaire (Figure 4). Cet espace de prototypage peut être utilisé pour ajouter des connexions à d'autres shields en plus des circuits personnalisés. Un développeur peut utiliser cet espace pour créer des circuits d'entrée et de sortie pour des applications d'automatisation industrielle basse tension. Le connecteur de carte SD embarqué simplifie davantage le développement d'une application d'enregistrement de données.

Image du shield Airlift ESP32 d'AdafruitFigure 4 : Le shield Airlift ESP32 d'Adafruit permet aux concepteurs de réaliser le prototypage de leur conception ou de créer des circuits uniques qui peuvent être utilisés dans des applications d'automatisation industrielle. Le shield Airlift inclut un espace de prototypage qui peut être utilisé pour des circuits dédiés. (Source de l'image : Adafruit Industries)

Certaines applications d'automatisation industrielle peuvent nécessiter l'utilisation d'une carte de développement avec un processeur supplémentaire. Dans ce cas, la série ESP32 ne sert qu'à fournir la connectivité plutôt qu'à gérer toute la charge de l'application. Dans ces applications, la carte ou le produit de développement peut embarquer des connecteurs PMOD d'extension.

Plutôt que de concevoir une carte PMOD pour la série ESP32, les développeurs peuvent exploiter la carte Breakout ESP32 PMOD de Digilent (Figure 5).

L'ESP32 PMOD fournit un connecteur PMOD standard avec les éléments suivants :

  • Un voyant LED d'alimentation
  • Un bouton utilisateur embarqué
  • Une extension E/S à quatre broches
  • Des cavaliers pour la configuration d'amorçage

Image de la carte ESP32 PMOD de DigilentFigure 5 : La carte ESP32 PMOD de Digilent fournit le module ESP32 dans un format d'extension facile à connecter, pour une utilisation avec d'autres processeurs et cartes de développement. (Source de l'image : Digilent)

L'ESP-WROVER-KIT d'Espressif Systems fournit une solution de développement ESP32 complète avec tout ce dont les concepteurs ont besoin pour développer une application basée sur l'ESP32 (Figure 6). Par exemple, la carte WROVER inclut un convertisseur USB-série FT2232HL de FTDI qui simplifie la programmation du module ESP32 sans avoir besoin d'outils de programmation personnalisés. La carte inclut également un écran LCD embarqué de 3,2 pouces, un connecteur microSD, une LED RVB et une interface de caméra. Toutes les E/S de la carte de développement sont également alignées et facilement accessibles via des embases mâles.

Schéma de la carte ESP-WROVER-KIT d'EspressifFigure 6 : La carte ESP-WROVER-KIT d'Espressif fournit aux développeurs en automatisation industrielle un module ESP32 qui a accès à une LED RVB, un connecteur de carte microSD, une caméra, un écran LCD et une extension E/S facilement accessible. (Source de l'image : Espressif Systems)

Une fois qu'un concepteur a choisi le module et la carte de développement convenant le mieux à son application, il doit passer un peu de temps à rechercher l'environnement de développement le mieux adapté pour l'ESP32.

Sélection d'un environnement de développement ESP32

L'ESP32 est devenue si populaire qu'il existe plusieurs environnements de développement différents parmi lesquels choisir pour développer et programmer le dispositif. Les outils de développement les plus populaires incluent :

  • IoT Development Framework (IDF) d'Espressif
  • IDE Arduino
  • MicroPython

Le premier environnement, l'IDF d'Espressif, est une chaîne d'outils de développement pour les développeurs de logiciels embarqués expérimentés. La chaîne d'outils inclut plusieurs éléments utiles comme un IDE pour développer l'application, un compilateur, des bibliothèques et des exemples. L'IDF utilise FreeRTOS en tant que système d'exploitation en temps réel (RTOS) de base, avec la pile lwIP TCP/IP et TLS 1.2 pour Wi-Fi.

Pour les développeurs qui ont une expérience limitée en programmation, l'IDE Arduino populaire peut également être utilisé pour développer une application et la déployer vers ESP32. Bien que l'IDE Arduino soit un peu plus lent et poussif qu'un environnement de développement professionnel, il offre de nombreux exemples et un support pour la série ESP32, ce qui peut simplifier le développement pour un débutant.

Enfin, pour les développeurs qui souhaitent développer leur application dans Python, la série ESP32 est prise en charge par le noyau MicroPython open-source. Les développeurs peuvent charger MicroPython sur l'ESP32, puis développer des scripts Python pour leur application. Cela permet de mettre à jour facilement l'application à la volée dans un environnement industriel et de se lancer même sans le niveau d'expertise normalement requis pour le développement de solutions embarquées.

Conseils et astuces pour travailler avec l'ESP32

Il n'est pas difficile de se lancer avec l'ESP32. Des recherches sur Internet vous permettront de trouver des descriptions détaillées concernant la configuration des divers environnements logiciels. Cela étant, les développeurs qui travaillent avec l'ESP32 pour la première fois doivent savoir analyser les nuances et prendre des décisions. Voici quelques « conseils et astuces » pour commencer :

  • Identifiez et configurez soigneusement les broches d'amorçage du module — MTDI, GPIO0, GPIO2, MTDO et GPIO5 — pour charger une application à partir de la source mémoire correcte (Flash interne, QSPI, téléchargement, messages de débogage d'activation/de désactivation).
  • Définissez le débit en bauds de sortie série au même niveau que celui du micrologiciel d'amorçage de l'ESP32. Cela permet de surveiller les messages d'amorçage de l'ESP32 et les messages de débogage de l'application, sans avoir à reconfigurer le débit en bauds.
  • Les utilisateurs qui n'ont pas d'expérience en programmation embarquée doivent intégrer MicroPython à l'ESP32 de sorte que le code d'application puisse être écrit dans le langage de script Python facile à apprendre.
  • Pour l'application, cherchez sur Internet des bibliothèques et des exemples ESP32 pour accélérer le développement et l'intégration de l'application (de nombreux exemples très intéressants sont déjà disponibles).
  • Dans la conception, assurez-vous que les broches d'amorçage peuvent être utilisées pour démarrer en mode de mise à jour. Il sera ainsi très facile de mettre à jour le micrologiciel sur le terrain.

Les développeurs qui suivent ces « conseils et astuces » constateront qu'ils peuvent économiser pas mal de temps et d'efforts lorsqu'ils utilisent l'ESP32 pour la première fois.

Conclusion

Comme indiqué ici, l'ESP32 dispose de plusieurs cartes de développement et de modules différents que les développeurs peuvent exploiter pour commencer à concevoir leur application IoT industrielle. L'utilisation de la série ESP32 dans ce but est qu'elle simplifie le développement en éliminant le besoin de comprendre les circuits RF et de certifier le récepteur sans fil. L'ESP32 est également largement pris en charge, non seulement par les fabricants de modules, mais aussi dans les cercles de professionnels et d'amateurs. Les développeurs qui ne sont pas familiers avec les logiciels embarqués peuvent facilement utiliser l'IDE Arduino ou programmer leur application sans fil à l'aide de MicroPython.

En résumé, l'ESP32 constitue un excellent choix pour connecter des équipements d'automatisation industrielle rapidement et efficacement.

DigiKey logo

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 DigiKey ni les politiques officielles de la société.

À propos de l'auteur

Image of Jacob Beningo

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 DigiKey