EUR | USD

Comment une nouvelle génération de modules et de microcontrôleurs sans fil permet de concevoir des applications IoT connectées

Par Rédacteurs européens

Avec la contribution de Rédacteurs européens de Digi-Key

Tout modèle d'entreprise basé sur l'Internet des objets (IoT) dépend de communications sans fil fiables et sécurisées, qu'il s'agisse de nœuds périphériques, d'analyses basées sur le cloud ou d'applications de commande. En matière de conception de capteurs et d'actionneurs basés sur des microcontrôleurs, le développeur est bien équipé grâce aux nombreuses plateformes et chaînes d'outils de développement de microcontrôleurs. La configuration de la communication sans fil n'était pas une tâche simple à effectuer. Compte tenu des approbations réglementaires régionales en matière de solutions sans fil, de la nécessité d'utiliser ou de concevoir des piles de protocole sans fil validées et de la complexité de tout ce qui concerne la technologie RF, l'ingénieur de conception adopte souvent un module sans fil pré-approuvé, plutôt que d'affronter les difficultés de la création d'une conception discrète.

Cette nouvelle génération de modules et de microcontrôleurs sans fil, pour laquelle aucun hôte de microcontrôleur supplémentaire n'est requis, répond aux besoins de connectivité sans fil et aux exigences de calcul relativement faibles des capteurs et nœuds périphériques IoT. Ces dispositifs et modules sans hôte, ou autonomes, permettent d'accélérer et de simplifier l'ensemble du processus de conception. Cependant, il ne s'agit pas simplement de la disponibilité d'un module adapté, qui permet de répondre aux besoins du développeur. Dans l'environnement de produit actuel, les ingénieurs de systèmes embarqués n'ont pas le temps de découvrir toute la capacité du module en partant de zéro. La disponibilité des pilotes logiciels, des fragments de code et des plateformes d'évaluation devient progressivement aussi importante que la capacité du dispositif. Plus vite un dispositif peut communiquer avec le cloud, plus ses chances de disponibilité sur le marché et de succès commercial sont élevées.

Un exemple de microcontrôleur qui répond à toutes les attentes est le dispositif de la série CC3200 SimpleLink™ de Texas Instruments. Un écosystème complet composé de cartes d'évaluation, d'exemples de code et d'un SDK complet vient s'ajouter aux dispositifs SimpleLink. Disponible dans différents boîtiers, le modèle CC3200 comprend un microcontrôleur d'application ARM® Cortex®-M4 fonctionnant à une fréquence de 80 MHz avec un sous-système de processeur réseau Wi-Fi 802.11 b/g/n. Ce deuxième sous-système possède son propre noyau de microcontrôleur ARM qui est utilisé pour permettre le déchargement de toutes les piles de communication Wi-Fi du microcontrôleur d'application.

Schéma fonctionnel de la vue d'ensemble du CC3200 de Texas Instruments

Figure 1 : Schéma fonctionnel de la vue d'ensemble du CC3200.

Optimisé pour des conceptions IoT basées sur batteries, le CC3200 est doté de nombreuses autres fonctionnalités, telles que des fonctions de gestion des batteries et un ensemble complet d'interfaces périphériques, y compris GPIO, UART, SPI, PWM et un CAN 12 bits 4 canaux. Le principal ensemble de fonctionnalités est illustré dans la Figure 1. Doté d'une mémoire RAM de 256 Ko, le CC3200 est également équipé d'un moteur cryptographique matériel de 256 bits pour un cryptage AES, DES et 3DES rapide, avec des capacités d'authentification SHA2 et MD5. Doté de son propre sous-système de gestion de l'alimentation avec des convertisseurs CC/CC intégrés, il peut non seulement s'adapter à une vaste plage de tensions d'alimentation, mais est également capable de contrôler les modes basse consommation ; le plus faible niveau permettant au dispositif d'entrer en mode veille prolongée tout en maintenant l'horloge temps réel en marche. Dans ce mode, il consomme moins de 4 μA.

Image de l'aperçu du logiciel intégré CC3200 de Texas Instruments

Figure 2 : Aperçu du logiciel intégré CC3200.

Une autre perspective du CC3200 est présentée dans la Figure 2 et illustre les capacités du logiciel intégré des dispositifs. Le sous-système Wi-Fi prend en charge les modes Station, Point d'accès et Wi-Fi Direct avec un niveau de sécurité WPA2 Personal et Enterprise et WPS 2.0. Piles de serveurs TCP/IP, TLS/SSL et HTTP embarquées sur puce.

Toute l'étendue des capacités du CC3200 est présentée dans la Figure 3, en mettant l'accent sur les interfaces périphériques et GPIO, la gestion de l'alimentation et le nombre relativement faible de composants passifs supplémentaires nécessaires.

Schéma fonctionnel du CC3200 de Texas Instruments (cliquez pour agrandir)

Figure 3 : Schéma fonctionnel du CC3200.

La réflexion à la base de la conception du CC3200 est compréhensible après une analyse des capacités de multiplexage de broches de ce dispositif. Le multiplexage de broches est un moyen populaire permettant d'adapter un grand nombre de fonctions d'interfaces périphériques dans le boîtier le plus petit possible, et grâce auquel il est possible d'effectuer le mappage de l'ensemble périphérique à des broches spécifiques. Le multiplexage de broches peut être réalisé à l'aide d'une combinaison de configuration matérielle et de contrôle de registre. Tous les détails de ce processus et les options de mappage disponibles sont fournis dans la fiche technique TI CC3200. Pour aider dans le processus de conception, TI a créé un tableau répertoriant les configurations de multiplexage de broches recommandées pour différentes utilisations (Figure 4). Cette approche permet de définir la conception à un stade précoce pour une vaste gamme d'applications, pour utiliser pleinement l'ensemble de périphériques et le brochage disponible.

Utilisation du groupement de broches recommandé pour le CC3200 – Exemples(1)
  Sécurité domestique, jouets haut de gamme Wi-Fi Audio ++, industriel Sensor-Tag Sécurité domestique, jouets Wi-Fi Audio ++, industriel Wi-Fi à distance avec clavier 7x7 et audio Capteur, verrouillage de porte, alarme incendie, jouets sans caméra Appareils ménagers et industriels Appareils ménagers et industriels, Smart-Plug Appareils ménagers et industriels GPIO
Externe 32 kHz(2) Externe 32 kHz(2) <e>              TCXO externe 40 MHz (-40°C à 85°C)  
Cam + I2S (Tx ou Rx) + I2C + SPI + SWD + UART-Tx + (App Logger) 2 GPIO + 1 PWM + *4 activations appliquées après hibernation I2S (Tx ou Rx) + CAN à 1 canal + 1 UART 4 fils + 1 UART 2 fils + carte SD 1 bit + SPI + I2C + SWD + 3 GPIO + 1 PWM + 1 GPIO avec activation après hibernation I2S (Tx ou Rx) + CAN 2 canaux + UART 2 fils + SPI + I2C + SWD + 2 PMW + 6 GPIO + 3 GPIO avec activation après hibernation Cam + I2S (Tx ou RX) + I2C + SWD + UART-Tx + (App Logger) 4 GPIO + 1 PWM + *4 activations appliquées après hibernation I2S (Tx et Rx) + CAN 1 canal + 2 UART 2 fils + carte SD 1 bit + SPI + I2C + SWD + 4 GPIO + 1 PWM + 1 GPIO avec activation après hibernation I2S (Tx et Rx) + CAN 1 canal + UART (Tx uniquement) I2C + SWD + 15 GPIO + 1 PWM + 1 GPIO avec activation après hibernation I2S (Tx et Rx) + CAN 2 canaux + UART 2 fils + SPI + I2C + 3 PMW + 3 GPIO avec activation après hibernation + 5 GPIO SWD + CAN 4 canaux + 1 UART 4 fils + 1 UART 2 fils + SPI + I2C + SWD + 1 PWM + 6 GPIO + 1 GPIO avec activation après hibernation pour TCXO 40 MHz ext. CAN 3 canaux + UART 2 fils + SPI + I2C + SWD + 3 PWM + 9 GPIO + 2 GPIO avec activation après hibernation CAN 2 canaux + UART 2 fils + I2C + SWD + 3 PWM + 11 GPIO + 5 GPIO avec activation après hibernation  
Numéro de broche Brochage nº11 Brochage nº10 Brochage nº9 Brochage nº8 Brochage nº7 Brochage nº6 Brochage nº5 Brochage nº4 Brochage nº3 Brochage nº2 Brochage nº1

Figure 4 : Configurations de multiplexage de broches recommandées pour le CC3200.

Si vous souhaitez intégrer le dispositif CC3200 dans votre application, plusieurs options de développement sont à votre disposition. Outre la possibilité de concevoir votre propre circuit imprimé pour l'application, vous pouvez choisir d'utiliser le module CC3200 comprenant un CC3200 blindé, des composants passifs de support, des quartz et une antenne monopuce dans un module compact mesurant seulement 20,5 mm x 17,5 mm x 1,5 mm.

La carte d'évaluation CC3200 LaunchPad XL aide à prototyper le module CC3200 (Figure 5). Dotée d'une option de connexion directe à un ordinateur via USB, avec une émulation JTAG pour la programmation Flash, la carte est équipée de DEL utilisateur, de boutons-poussoirs, d'un accéléromètre et d'un capteur de température.

Image de la carte d'évaluation CC3200 LaunchPad XL de Texas Instruments

Figure 5 : Carte d'évaluation CC3200 LaunchPad XL.

TI offre de nombreuses ressources dédiées à la gamme SimpleLink, y compris des pages sur les produits, un site Wiki de développement logiciel et des pages dédiées aux partenaires d'écosystèmes cloud. Le SDK SimpleLink peut être téléchargé à partir du site Wiki et fournit de nombreux exemples d'applications, de codes sources d'applications et d'informations techniques. TI recommande l'utilisation de nombreux environnements IDE reconnus avec le SDK, notamment ses propres outils Code Composer Studio et IAR Workbench. Des fichiers d'en-tête et d'inclusion sont également fournis, avec des scripts Make et GCC et d'autres fonctions de bibliothèque. Les exemples de codes sont documentés avec une description écrite de l'application, les paramètres configurables essentiels et leur mode de fonctionnement. Pour chacun de ces éléments, l'ensemble complet de code source et de fichiers d'en-tête est inclus en langage C. Un exemple montre le CC3200 qui communique avec le site 'openweathermap.org' pour demander les détails de la météo d'une ville spécifique, puis l'affiche sur un hyperterminal connecté.  Consultez le résultat de cette opération dans la Figure 6.

Image de l'application CC3200 Get Weather

Figure 6 : Résultat de l'application CC3200 Get Weather.

D'autres exemples de codes couvrent l'implémentation de l'application client/serveur MQTT, un e-mail de démonstration et une conception basée sur capteur utilisant le mode d'hibernation.

Si les exemples d'application fournis dans le SDK CC3200 mettent l'accent sur l'utilisation de C/C++, de nombreuses autres options sont disponibles. Une autre alternative est MicroPython. Basé sur le langage de programmation d'interprétation Python 3, MicroPython est le résultat d'une campagne réussie financée par Kickstarter et qui est optimisé pour une utilisation sur des microcontrôleurs. Une version compatible réseau de MicroPython prend entièrement en charge le dispositif CC3200 et peut être téléchargée à partir de ce site.

L'approche du CC3200 SimpleLink pour fournir une communication Wi-Fi et un processeur d'application a obtenu un soutien massif sur le marché IoT. Citons l'exemple d'IBM qui a connecté un CC3200 LaunchPad à Watson IoT Foundation Platform d'IBM en utilisant MQTT. D'autres partenaires d'écosystèmes de plateforme cloud sont Temboo et Xively.

La série Bluegiga WF121 de Silicon Labs (Figure 7) est une autre gamme de modules Wi-Fi autonomes pré-certifiés. À l'instar du CC3200, ce modèle comprend deux composants principaux, un microcontrôleur d'application, qui utilise un microcontrôleur Microchip PIC32 32 bits fonctionnant à 80 MHz et une radio 2,4 GHz 802.11 b/g/n. Cliquez ici pour plus d'informations, des guides de référence et des exemples d'application pour cette série.  

Image du Bluegiga WF121 de Silicon Labs

Figure 7 : Bluegiga WF121 de Silicon Labs.

La communication entre l'hôte et l'émetteur-récepteur s'effectue via UART, USB ou SPI, comme indiqué dans la Figure 8, qui illustre également l'architecture logicielle. S'il est possible d'utiliser la bibliothèque hôte BGLib ANSI C pour programmer des applications pour le microcontrôleur, il est également possible d'utiliser le langage de script BGScript de Bluegiga. Basé sur une structure de programmation de type BASIC, ce langage fournit un moyen facile à apprendre pour créer des applications assez complexes et puissantes. Ce langage fournit des commandes et des fonctions pour configurer et gérer les liaisons sans fil, la sécurité, le transfert de données et l'interaction avec les périphériques disponibles, GPIO, SPI, I2C, etc.

Image de l'environnement logiciel Bluegiga de Silicon Labs

Figure 8 : Environnement logiciel Bluegiga.

BGScript peut également être utilisé sur l'ensemble de la gamme de modules autonomes Bluegiga, y compris ceux fournissant une connectivité Bluetooth. La Figure 9 illustre un court exemple de code BGScript pour lire le CAN du module.

Image de l'exemple BGScript pour la lecture CAN

Figure 9 : Exemple BGScript pour la lecture du CAN.

Le Bluegiga DKWF121 est une carte d'évaluation pour le prototypage de conceptions Wi-Fi autonomes utilisant le module WF121. La carte héberge tous les brochages disponibles du module, ce qui simplifie sa connexion avec les conceptions d'essai. Toutes les broches GPIO sont présentées sur des pastilles autour d'une grande zone de prototypage. Une page du catalogue en ligne fournissant toutes les informations nécessaires pour démarrer avec le DKWF121 est disponible sur le site de Digi-Key.

Comme mentionné précédemment, la gamme Bluegiga comprend également des modules Bluetooth autonomes, tels que le BLE113. Destiné à de petits accessoires et applications alimentés par batterie, le développement d'application utilisant BGScript représente un moyen extrêmement pratique et facile à utiliser pour établir une liaison et transférer des données. La ligne de produits Bluegiga bénéficie d'un soutien important des développeurs IoT et de la communauté pro-maker, ce qui a permis la mise à disposition de bibliothèques pouvant prendre en charge d'autres langages de développement, tels que bglib pour Node.js et bgapi_py pour Python. La Figure 10 montre la simplicité d'utilisation de la bibliothèque Node.js pour décomposer les données Bluetooth entrantes en ses variables distinctes.

Image de la décomposition des données Bluetooth entrantes

Figure 10 : Décomposition des données Bluetooth entrantes à l'aide de la bibliothèque Node.js BGLib sur un module Bluegiga BLE113.

L'utilisation d'un module sans fil pré-certifié augmente considérablement la vitesse de conception d'une application IoT, mais l'utilisation d'un module sans fil autonome simplifie davantage tout le processus de conception, tout en réduisant la nomenclature (BOM) globale. Lorsque des ingénieurs de systèmes embarqués envisagent d'utiliser cette approche, il leur est recommandé de considérer non seulement les capacités matérielles, mais également le nombre d'outils logiciels, la flexibilité du langage de programmation et les exemples d'application disponibles. Avec cette approche, les dispositifs IoT autonomes peuvent être rapidement commercialisés, ce qui permet des économies précieuses en termes de ressources de conception et de budget.

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

Rédacteurs européens

À propos de l'éditeur

Rédacteurs européens de Digi-Key