Des fournisseurs de microcontrôleurs rendent les connexions IoT vers le cloud pratiquement plug-and-play

Par Jack Shandle

Avec la contribution de Electronic Products


La terminologie Internet a toujours été aussi vague que le petit nuage souvent utilisé pour le représenter. Nous savons intuitivement que le cloud et l'Internet des objets (IoT) sont des expressions différentes pour le même concept général. Lors de la conception de systèmes embarqués, il est essentiel d'établir une distinction plus claire et d'en comprendre les conséquences.

L'Internet des objets est un sous-ensemble du cloud. D'un point de vue matériel, il comprend des systèmes embarqués et d'autres périphériques tels que des téléphones mobiles, tandis que la panoplie complète de matériels cloud inclut des serveurs Web, des serveurs d'application, des serveurs de base de données, des routeurs, des passerelles, des ressources informatiques et des périphériques.

Il est facile pour les concepteurs de systèmes embarqués de simplement considérer le cloud comme un moyen de fournir des ressources de connectivité, pour transférer des données entre un périphérique et un serveur, un ordinateur ou une base de données. Inévitablement, ils découvrent que si Internet peut être considéré comme un « simple canal » entre le système embarqué et un serveur, ce n'est pas le cas du cloud. Si cette révélation se produit à la fin du processus de conception, elle peut coûter cher. Voilà pourquoi les ingénieurs ou les responsables de projets doivent s'assurer d'impliquer les parties compétentes en ce qui concerne la technologie de l'information ou les opérations informatiques lors de l'évaluation de leurs projets.

La connexion de produits vers le cloud oblige les concepteurs de systèmes embarqués à fournir des efforts supplémentaires en termes de conception, particulièrement pour les questions de sécurité et de confidentialité. En plus des efforts déployés par les architectes du cloud pour créer un système informatique virtuel solide et universel, il y a de plus en plus de lois dictant des exigences en termes de sécurité et de confidentialité. Les raisons sont probablement plus liées aux réseaux sociaux qu'aux systèmes embarqués, mais les mêmes règles s'appliquent à toutes les données.

D'un autre côté, même si les données transférées via l'Internet des objets peuvent être dérisoires par rapport aux pétaoctets qui circulent quotidiennement entre les data centers, les données de l'Internet des objets sont plus vulnérables aux failles de sécurité étant donné que, en les regroupant, elles peuvent finalement contrôler un très grand nombre de dispositifs embarqués dans des maisons, des usines et des bureaux.

Connexions sécurisées

Les temps ont changé pour les concepteurs de systèmes embarqués, de même que leurs références de conception. Considérons, par exemple, le phénomène relativement nouveau des dispositifs embarqués corporels, par exemple les systèmes de surveillance de santé et de fitness sans fil, qui sont fréquemment utilisés, comme des montres de sport intégrant des capteurs du rythme cardiaque ou des compteurs de pas, afin de mesurer des paramètres liés à la forme.

Les dispositifs corporels de la génération actuelle communiquent principalement en Bluetooth vers un téléphone mobile ou une tablette, puis vers un ordinateur. Les connexions vers le cloud sont en grande partie gérées par l'ordinateur, qui présente déjà un bon niveau de sécurité. Il est important que la sécurité, par exemple un certificat SSL/TLS, soit prise en charge et implémentée aux deux extrémités d'une connexion.

La ratification de la spécification principale Bluetooth 4.1 va changer cette configuration en permettant une connexion directe du capteur vers le cloud sans l'intervention d'un ordinateur ou d'un smartphone comme intermédiaire. Cela permettra notamment aux concepteurs de systèmes embarqués de regrouper les données de plusieurs capteurs, pour calculer sur le cloud un rapport complet sur l'état de forme et le partager sur des sites de réseaux sociaux avec d'autres utilisateurs, à des fins de motivation.

Des dispositifs installés dans des maisons intelligentes, des usines, des emplacements de surveillance à distance et des voitures connectées au cloud sont d'autres exemples de systèmes embarqués qui doivent fournir au moins le même niveau de sécurité que les ordinateurs. Internet exige que les systèmes embarqués prêtent attention aux implications du dimensionnement de la sécurité et de la confidentialité.

Le choc des cultures

Au même moment où la nature de la connexion entre un système embarqué et Internet change, l'Internet lui-même évolue. Il y a une dizaine d'années, le petit nuage qui représentait Internet faisait référence à une infrastructure matérielle qui était connectée, sans être réellement intégrée.

Dans les schémas actuels, le cloud fait référence à une infrastructure dans laquelle les ressources sont partagées au point de pouvoir être considérées comme une seule machine virtuelle. C'est possible grâce à la magie des logiciels cloud, ce qui nous amène au sujet des clouds publics, privés, hybrides et communautaires, tous définis et implémentés par le logiciel cloud qui les engendre.

Il n'est pas justifié de donner des définitions détaillées du cloud dans cet article, mais le concept du choix d'un service cloud repose sur le fait qu'il s'agit du point de départ d'une conception connectée au cloud.

En raison de la complexité des logiciels cloud, la connexion à Internet par l'intermédiaire du cloud est gérée par des tiers. Par exemple, grâce à ses 25 % de part de marché, Amazon est le fournisseur principal de services cloud IaaS/PaaS (Infrastructure sous forme de service/Plateforme sous forme de service).

La Figure 1 illustre la part de marché relative des entreprises qui proposent des infrastructures cloud.

Image des parts de marché du cloud computing par chiffre d'affaires
Figure 1 : Parts de marché du cloud computing par chiffre d'affaires au premier trimestre 2013 (avec l'autorisation de Microchip Technology).

Bien sûr, un système embarqué permet de passer outre les fournisseurs de services cloud. Il peut établir une connexion à Internet via un serveur Web libre de droits servant des sites Web dynamiques capables de traiter des dizaines de milliers de demandes plus ou moins simultanément. Le LAMP fait partie des choix évidents. LAMP signifie Linux (système d'exploitation), Apache (serveur http), MySQL (gestion de base de données) et PHP (langage de script).

Cependant, il est difficile de penser à un système embarqué qui ne serait pas exposé à des activités illégales, illicites ou simplement perturbatrices. La vulnérabilité d'une commande de porte de garage, souvent citée comme exemple d'un système embarqué Web simple mais utile, est évidente. Les dispositifs dans une maison intelligente sont peut-être moins évidents. Par exemple, des criminels experts du Web pourraient surveiller les réglages de thermostat pour localiser les maisons des familles qui sont en vacances. Les milliards de périphériques de l'Internet des objets non surveillés peuvent être utiles dans des attaques par déni de service (DoS).

De ce point de vue, le manque de renforcement de sécurité d'un serveur LAMP est un mauvais choix pour un serveur de production même si cela s'avère être un excellent choix pour un développement côté serveur.

Connexions facilitées avec les fournisseurs de microcontrôleurs

Les fournisseurs de microcontrôleurs proposent des moyens moins pénibles et considérablement plus rapides d'obtenir une connexion cloud robuste et sécurisée, grâce à l'exploitation des plateformes informatiques offertes par des fournisseurs de services cloud. C'est là que se rencontrent les mondes de la conception embarquée et de l'informatique.

Par exemple, l'unité de base des services cloud d'Amazon est l'AMI (Amazon Machine Image). L'AMI est un dispositif virtuel qui permet de créer une machine virtuelle dans le cloud EC2 (Elastic Compute Cloud) d'Amazon. Les fournisseurs de microcontrôleurs créent un pont de leurs produits spécifiques vers l'AMI avec une couche d'intergiciel. Des cartes de démonstration et des kits de développement sont disponibles pour gérer toute la complexité des communications cloud-vers-microcontrôleur.

Une fois que l'on a reconnu la sagesse d'effectuer la connexion via un service cloud sécurisé, d'autres complexités plus familières comme l'établissement de connexions en aval du cloud entrent en jeu. La Figure 2 illustre les quatre chemins de données les plus utilisés entre les dispositifs embarqués et le cloud. Il est souhaitable pour une conception embarquée d'utiliser plusieurs d'entre eux.

Quand il s'agit de plus particulièrement créer une interface AMI spécifique à un fournisseur de microcontrôleurs, la technologie Wi-Fi est celle qui convient le mieux, étant donné que la conception embarquée devient essentiellement un coordinateur centralisé du réseau. Cette configuration est en quelque sorte semblable à un point d'accès (AP), ce qui signifie que la topologie est à la fois basée sur une norme et familière.

Par exemple, dans le kit de développement WCM 1 (DM182020) de Microchip Technology, le micrologiciel programmé dans le microcontrôleur 32 bits PIC32MX695F512H intégré peut être configuré de manière à se connecter à une image AMI de Microchip à l'aide du module Wi-Fi MRF24WG0MA intégré de Microchip.

Cependant, la technologie Wi-Fi n'est pas l'unique choix au moment d'implémenter une nouvelle conception de produit. Chacune des options de la Figure 2 présente des avantages et des inconvénients. Voici quelques exemples.

Image des options de configuration pour connecter un système embarqué au cloud
Figure 2 : Options de configuration pour connecter un système embarqué au cloud (avec l'autorisation de Microchip Technology).
  • La technologie Wi-Fi est quasi omniprésente et facile à configurer, mais elle est relativement gourmande en énergie. Le Bluetooth présente une sécurité native et une faible consommation énergétique. À mesure que les smartphones se multiplient, le Bluetooth affiche une disponibilité de plus en plus étendue. Cependant, cette technologie présente une portée limitée et nécessite généralement des paiements de droits.
  • Les technologies ZigBee (IEEE 802.15) et inférieures à 1 GHz propriétaires offrent des avantages tels que des piles légères, une plage et une pénétration excellentes, de faibles coûts et parfois une consommation ultrafaible. D'un autre côté, elles requièrent généralement l'inclusion d'un projet supplémentaire, un concentrateur, dans la conception.
  • Ethernet est une technologie rentable qui présente une conception flexible, une connectivité plug-and-play, une bande passante élevée et une immunité au trafic RF intense. Il présente cependant aussi tous les inconvénients d'un système câblé.
Implications pour les microcontrôleurs

Sans surprise, la planification d'une connexion cloud a une influence significative lors du choix d'un microcontrôleur pour un système embarqué. La consommation énergétique, la fréquence d'horloge, la mémoire et les coûts par unité sont, comme toujours, des points importants à prendre en compte. La connexion au cloud ajoute quelques complexités importantes, dont la plupart concernent la sécurité.

Particulièrement, lorsque le commerce électronique fait partie de l'application, l'accélération matérielle pour l'exécution AES, DES et CRC peut être nécessaire, et ces fonctions peuvent nécessiter des mots de jeux d'instructions plus longs. De manière similaire, des fonctions d'empreinte numérique telles que l'algorithme SHA (Secure Hash Algorithm) et l'algorithme MD5 (Message Digest Algorithm-5) peuvent également être utilisées avec des microcontrôleurs 32 bits.

Des fonctions de sécurité peuvent être exécutées sur un microcontrôleur avec des périphériques intégrés dans des lignes de produits, comme la gamme PIC32MZ EC de Microchip Technology. Microchip propose également des piles logicielles pour les ingénieurs de systèmes embarqués, qui prennent en charge des protocoles de sécurité tels que SSL/TLS dans la pile TCP/IP.

Texas Instruments propose son kit de développement Connected LaunchPad série Tiva C (EK-TM4C1294XL), qui intègre une connectivité Internet prête à l'emploi pour les applications cloud. La conception Connected LaunchPad de TI, une plateforme d'évaluation économique pour des microcontrôleurs basés sur ARM Cortex-M4, met en évidence le microcontrôleur TM4C1294NCPDT avec ses couches MAC et PHY Ethernet 10/100 sur puce, sa connectivité USB 2.0, son module d'hibernation, sa modulation de largeur d'impulsion de contrôle de mouvement et ses différents périphériques de communications série.

Généralement, ces lignes de produits, et celles d'autres fournisseurs de microcontrôleurs, intègrent des périphériques de communications tels que USB 2.0 haute vitesse, des contrôleurs Ethernet 10/100 Mbps, des modules de contrôle CAN 2.0b, des UART, des interfaces série SPI/I²S, plusieurs interfaces de communication I²C et des interfaces SQI (Serial Quad Interfaces) 4 bits. Des convertisseurs analogique-numérique (CAN) intégrés sont généralement utilisés dans des applications industrielles.

Kits de développement

Comme indiqué précédemment, il est inutile de réinventer tous les processus et codes qui ont déjà été développés par des experts du cloud.

Les fournisseurs de microcontrôleurs capturent ce savoir collectif, ainsi que les capacités de leurs propres puces et logiciels, dans des kits de développement. Par exemple, Microchip Technology propose le kit de développement 1 WCM précédemment cité. L'utilisation du kit de développement et de l'image AMI de Microchip par les services techniques et informatiques peut leur permettre de connaître les étapes de base nécessaires pour lancer une solution cloud.

Le kit permet à l'utilisateur de configurer un compte Amazon AWS (Amazon Web Services) et d'alimenter le dispositif inclus dans le kit. Voici quatre étapes de base pour commencer :
  1. Rechercher l'AMI de Microchip sur le marché AWS d'Amazon.
  2. Lancer une instance EC2 (Amazon Elastic Compute Cloud) depuis l'AMI.
  3. Configurer la démonstration pour accéder au routeur local ou au point d'accès.
  4. Exécuter la démonstration.
Il existe plusieurs options de personnalisation, mais la démonstration n'en requiert que deux : la sélection d'un groupe de sécurité, qui fournit les noms des ports qui doivent être ouverts pour continuer ; et la paire de clés pour le cryptage.

L'acceptation des conditions d'utilisation d'Amazon constitue le démarrage de l'instance EC2 basée sur l'AMI de Microchip. Lorsque l'instance est prête (l'opération dure quelques minutes), la console AMI devient accessible. Même s'il existe un volume considérable d'informations sur la nouvelle page, la démonstration requiert uniquement de rechercher l'adresse IP publique.

Ouvrez une nouvelle page de navigateur et saisissez l'adresse IP publique. Une interface Web du serveur s'affiche à l'écran.

La connexion de la carte de démonstration au Web implique de définir la carte en mode AP afin de pouvoir la configurer. Le kit de démonstration envoie des invites à l'utilisateur tout au long de la configuration, notamment pour choisir l'option de sécurité adéquate. L'utilisateur n'a qu'à saisir l'adresse IP et le mot de passe publics pour configurer la carte de démonstration et l'utiliser.

La Figure 3 présente une fenêtre de navigateur de la démonstration avec la page Web à gauche et la carte à droite. Il est possible d'appuyer sur les boutons de la carte pour illuminer des DEL virtuelles sur la page Web. Les réglages apportés à un potentiomètre sur la carte sont quant à eux répercutés sur la page Web par un numéro qui change au bas de l'écran du navigateur.

Image de la carte et de la page de démonstration de Microchip Technology
Figure 3 : Carte et page Web de démonstration de Microchip Technology (avec l'autorisation de Microchip Technology).

Même si la fonctionnalité réalisée par la carte de démonstration et le logiciel est très simple, l'aspect vraiment essentiel de la démonstration est qu'un dispositif entièrement connecté peut être utilisé avec une AMI Amazon prédéfinie spécifique à un microcontrôleur Microchip, qu'il est possible de configurer en quelques minutes seulement.

Conclusion

Bénéficier d'un produit qui utilise un stockage ou un traitement à distance et qui peut se connecter au cloud est un concept nouveau et attractif, mais vous devez faire attention aux problèmes de sécurité et de confidentialité. Le logiciel côté serveur est cependant complexe et non-intuitif pour les ingénieurs de systèmes embarqués. Ainsi, les fournisseurs de microcontrôleurs commencent à établir des partenariats fournissant des connexions presque plug-and-play au cloud. L'utilisation de ces kits de développement permet de gagner du temps et de déployer moins d'efforts pour les équipes de conception qui sont plus intéressées à fournir une fonctionnalité de pointe dans leurs produits que de devenir des experts en informatique.

Cet article est basé sur un cours proposé par Stephen Porter, Responsable des applications pour le groupe de solutions d'appareils électroménagers chez Microchip Technology, et qui a été initialement présenté lors de la conférence 2014 Worldwide MASTERs organisée par Microchip.

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

Jack Shandle

Article authored by Jack Shandle of e-ContentWorks.

À propos de l'éditeur

Electronic Products

Le magazine Electronic Products et le site ElectronicProducts.com s'adressent aux ingénieurs et aux directeurs de l'ingénierie responsables de la conception de systèmes et d'équipements électroniques.