Une approche modulaire au développement d'applications IoT - 1re partie : choix matériels
Avec la contribution de Rédacteurs nord-américains de DigiKey
2017-08-30
Note de l'éditeur : les applications IoT présentent une convergence particulièrement étroite entre les composants matériels et logiciels, ce qui oblige les développeurs à prendre en compte de nombreux détails dans chaque domaine. Cette série en deux parties étudie une plateforme unique utilisant une approche modulaire conçue pour simplifier cette convergence. La 1re partie étudie la manière dont les options matérielles de la plateforme simplifient la mise en œuvre des dispositifs IoT, tandis que la 2e partie examine l'architecture logicielle de la plateforme et son rôle dans l'accélération du développement de bout en bout des applications IoT.
Les applications IoT à grande échelle requièrent typiquement plusieurs options de connectivité et services logiciels pour mettre en œuvre leurs capacités fonctionnelles sous-jacentes. Pour répondre aux exigences croissantes, les développeurs doivent combiner de plus nombreuses solutions diversifiées de multiples sources et environnements d'exploitation.
Cependant, la satisfaction des exigences de chaque solution nécessite une transformation de l'approche de développement. Les développeurs font face non seulement aux exigences primaires de l'application, mais également aux défis relatifs à la combinaison de différentes solutions dans une application transparente. Grâce à la plateforme ARTIK de Samsung, les développeurs bénéficient d'une approche simplifiée combinant des modules matériels et des services logiciels compatibles dans une seule plateforme uniforme pour le développement et le déploiement des applications IoT.
Problèmes liés au développement des applications IoT
La multiplicité des exigences relatives aux applications IoT peut s'avérer décourageante pour les développeurs. Les systèmes de capteurs doivent fournir une mise en forme des signaux exacte et une conversion de données précise avec un minimum de bruit et une bande passante optimale. Les dispositifs sans fil doivent facilement s'intégrer à l'infrastructure de communications existante de l'application pour fournir une puissance de transmission RF suffisante tout en économisant la consommation énergétique globale.
À un niveau plus avancé, les dispositifs IoT doivent fournir une connectivité efficace sur le cloud par le biais d'un hôte intermédiaire comme un smartphone ou par le biais un dispositif de passerelle locale. En outre, les développeurs doivent s'assurer que les mesures de sécurité de bout en bout sont capables de réduire les menaces pouvant attaquer l'application IoT sur l'ensemble de la chaîne d'informations IoT.
À mesure que les développeurs s'efforcent de gérer ces domaines de problèmes ponctuels, ils risquent de développer une certaine forme d'obsession : ils perdent de vue les besoins généraux de l'application en se concentrant uniquement sur chaque ensemble vertical d'exigences. Cela risque de les entraîner dans une direction de conception qu'ils devront peut-être abandonner par la suite.
Les plateformes de bout en bout comme la solution ARTIK de Samsung permettent aux développeurs IoT d'éviter cette vision trop étroite et ses conséquences, en fournissant un ensemble complet de composants matériels et logiciels qui peuvent facilement se combiner dans des applications IoT complètes.
Une plateforme unifiée de composants et de services
L'écosystème ARTIK de Samsung fournit une plateforme unifiée de composants et de services, conçue pour traiter la hiérarchie complète des applications IoT. Dans les couches inférieures de la hiérarchie IoT, les modules matériels prennent en charge l'acquisition des données et le traitement de signaux hautes performances tout en fournissant plusieurs options de connectivité sans fil.
Dans les couches supérieures, le cloud ARTIK fournit une vaste offre de services natifs et tiers. Un modèle de sécurité unifié et appliqué à l'ensemble de la plateforme fournit aux développeurs un ensemble cohérent de services pour vérifier que seuls les dispositifs, services et utilisateurs autorisés ont accès à l'application IoT en elle-même ou aux ressources sous-jacentes.
Modules intégrés
Base de l'écosystème ARTIK, une série de modules matériels interchangeables fournit des solutions prêtes à l'emploi pour les nœuds de capteurs sans fil et les passerelles. Par exemple, le module ARTIK 053 combine un processeur ARM® Cortex®-R4, une mémoire et des interfaces périphériques avec des sous-systèmes dédiés à la connectivité Wi-Fi et à la sécurité. Les développeurs bénéficient d'un accès aux sous-systèmes du module par le biais d'un complément intégral d'interfaces série et de broches de dispositif, y compris GPIO, PWM, interfaces série, et d'un convertisseur analogique-numérique (CAN) 12 bits à 4 canaux prenant en charge des taux de conversion de plus de 1 Méch./s (Figure 1).
Figure 1 : Comme pour les autres modules de la gamme ARTIK, le module ARTIK 053 fournit un système sans fil complet intégrant un processeur, une mémoire, des interfaces, et des sous-systèmes dédiés à la sécurité et à la connectivité sans fil. (Source de l'image : Samsung Semiconductor)
Dans ses modules ARTIK, Samsung combine de nombreux systèmes dédiés, notamment ceux pour les communications et la sécurité, dans une conception entièrement intégrée et architecturée autour d'un processeur ARM Cortex convenant à une classe particulière de dispositifs IoT. Par exemple, le module 053 est destiné à une utilisation en tant que nœud IoT terminal pour l'acquisition et le contrôle de données en temps réel. C'est pourquoi le module 053 utilise un processeur ARM Cortex-R4. Il s'agit de l'un des plus petits processeurs de la série Cortex-R d'ARM, une série spécialement conçue pour les applications basse consommation en temps réel.
S'exécutant à 320 MHz, l'ARM Cortex-R4 exploite des caches de données et d'instructions distincts pour optimiser les performances des conceptions exigeant une réponse rapide. Comme pour les autres modules ARTIK, le 053 augmente la mémoire intégrée du processeur grâce à une mémoire sur module. Ainsi, une mémoire Flash de 8 Mo et une mémoire RAM de 1280 Ko sont disponibles pour un usage général.
Outre les modules 053 avec Wi-Fi, les développeurs peuvent trouver d'autres modules ARTIK fournissant les capacités de traitement de classe 053, mais avec des options de connectivité sans fil différentes. Par exemple, le module ARTIK-020-AV2R fournit un sous-système Bluetooth Low-Energy complet pour les nœuds IoT terminaux conçus pour interagir avec les smartphones et d'autres dispositifs mobiles.
Quels que soient leur méthode de connectivité et leur niveau hiérarchique, les dispositifs IoT doivent prendre en charge une politique de sécurité fiable pouvant réduire les nombreuses sources de menaces qui existent dans les applications IoT. Samsung base ses politiques de sécurité de bout en bout sur des mécanismes de sécurité matérielle dans chacun de ses modules ARTIK. Par exemple, le module 053 intègre un sous-système de sécurité complet contenant des moteurs de cryptage, un générateur de nombres aléatoires, un stockage de clés sécurisé et un environnement d'exécution protégé.
Le module 053 contient également une unité PUF (fonctions physiques inclonables), qui prend en charge une empreinte numérique conçue pour protéger contre les falsifications et prévenir les attaques de l'intercepteur (MITM) pouvant résulter de dispositifs falsifiés.
Solution prête à l'emploi
Grâce à toutes les capacités fonctionnelles du modèle 053 et des autres modules ARTIK, les développeurs peuvent facilement appliquer ces systèmes sans fil complets à leur conception. Le module ARTIK 053 ne nécessite que quelques composants supplémentaires pour compléter l'interface matérielle. En fait, les GPIO du module peuvent commander jusqu'à 12 milliampères (mA) directement, sans mise en tampon supplémentaire. Du côté entrée, les GPIO et les ports I2C, SPI et de débogage du module fournissent des entrées à impédance relativement élevée en consommant seulement 3 microampères (µA) (maximum, sans résistances d'excursion basse). Les développeurs peuvent commander les canaux CAN du module directement à partir de sources de tension, mais ils devront peut-être ajouter des amplificateurs opérationnels à faible bruit pour amplifier ou atténuer les signaux de ces sources pour les adapter à la plage de tensions d'entrée de 0 à 1,8 V du CAN.
Pour la conception physique des cartes à circuit imprimé, les ingénieurs soudent le module de 15 mm x 40 mm à 79 broches directement sur la carte à circuit imprimé cible ou sur une carte de support placée entre le module et la carte cible. En raison du sous-système RF intégré, le positionnement du module est un point essentiel. Cependant, Samsung fournit des spécifications mécaniques détaillées pour optimiser les performances RF lors du placement du module 053 sur la carte (Figure 2).
Figure 2 : Les développeurs peuvent rapidement intégrer les modules ARTIK dans leur conception à l'aide des schémas et des instructions de conception de Samsung, par exemple cette recommandation de routage pour garantir des performances RF optimales dans les configurations de carte à circuit imprimé. (Source de l'image : Samsung Semiconductor)
Bien avant la conception et la production de cartes à circuit imprimé personnalisées, les développeurs peuvent utiliser les kits de développement ARTIK associés pour évaluer leurs conceptions IoT basées sur ces modules. Par exemple, la carte de développement du kit de démarrage ARTIK 053 (SIP-KITNXF001) héberge le module 053 via une carte d'interposeur et fournit des LED de test, des boutons, une connexion USB, des connecteurs d'interface de shield Arduino et des connecteurs de dérivation E/S (Figure 3).
Figure 3 : Les développeurs peuvent rapidement commencer l'évaluation du module ARTIK 053 à l'aide de la carte de développement du kit de démarrage ARTIK 053, qui combine un module 053 avec une alimentation, des connecteurs E/S, des LED et des boutons. (Source de l'image : Samsung Semiconductor)
Outre l'alimentation de la carte via son interface USB lors du développement, les ingénieurs peuvent alimenter séparément une carte autonome à l'aide d'un jack d'alimentation de 5 à 12 VCC ou d'une connexion à une batterie externe de 5,6 à 6,4 V.
Pour le développement matériel, Samsung inclut une nomenclature et des schémas complets pour donner aux développeurs une longueur d'avance sur leurs conceptions personnalisées. Comme indiqué plus tôt, les exigences de l'interface matérielle du module sont très simples. La conception de référence du kit de démarrage spécifiée dans les schémas transmet les signaux numériques sans tampon, des connecteurs de carte au module. Pour les entrées CAN, le schéma illustre l'utilisation d'un réseau de résistances simple pour fournir la source de tension nécessaire (Figure 4).
Figure 4 : Les schémas du kit de démarrage ARTIK 053 illustrent les exigences simplifiées de l'interface du module 053, notamment un réseau de résistances de base pour fournir une source de tension aux quatre canaux d'entrée CAN du module. (Source de l'image : Samsung Semiconductor)
Passerelles IoT
Les modules tels que 053 Wi-Fi et 052 Bluetooth fournissent des solutions pour les conceptions de nœuds terminaux IoT. Cependant, dans les hiérarchies IoT plus complexes, les développeurs IoT ajoutent souvent des nœuds de traitement hautes performances dans la couche juste au-dessus des nœuds terminaux. Ces nœuds intermédiaires servent de passerelles vers le cloud en regroupant et en pré-traitant souvent les données au niveau local, en garantissant des boucles à latence brève entre les nœuds terminaux, ou en permettant la mise en tampon de nœuds terminaux à partir de déconnexions périodiques du cloud.
Samsung répond à ces exigences avec un ensemble de modules basés sur des processeurs d'application ARM-Cortex-A plus puissants. Par exemple, le module ARTIK 520 (SIP-005AYS001) est architecturé sur un processeur ARM Cortex-A7 double cœur de 32 bits, l'ARTIK 530 (SIP-005AFS301) offre un processeur ARM Cortex-A9 à quatre cœurs de 32 bits et l'ARTIK 710 (SIP-007AFS001) fournit un processeur ARM Cortex-A53 à huit cœurs de 64 bits. Grâce à leur conception commune, les développeurs peuvent mélanger et associer les modules selon les charges de traitement et les exigences de performances cibles spécifiques.
En plus des capacités de traitement de puissance, chaque module fournit un vaste choix de périphériques et d'interfaces nécessaires à la satisfaction des exigences générales des dispositifs de passerelle. Par exemple, outre l'augmentation du nombre de canaux CAN et GPIO, l'ARTIK 530 fournit une prise en charge de l'interface utilisateur avec une interface de caméra MIPI à 4 voies gérant jusqu'à 1920 x 1080 à 30 images par seconde (fps), une interface de caméra MIPI à 4 voies gérant jusqu'à 1920 x 1080 à 60 fps, et deux canaux E/S audio.
En plus du support périphérique étendu, les modules ARTIK 520/530/710 répondent à une autre exigence clé des conceptions de passerelle. Les dispositifs de passerelle IoT requièrent typiquement une communication avec de nombreux types de dispositifs IoT. Ces modules de passerelle prennent donc en charge de nombreuses options sans fil, notamment Wi-Fi, Bluetooth, ZigBee, Thread et Ethernet.
Comme ils prennent en charge les exigences générales des conceptions de passerelle, les modules ARTIK 520/530/710 demandent généralement davantage d'efforts de conception. Cependant, pour aider les développeurs, Samsung prend en charge chaque module de passerelle grâce à une carte de développement associée, notamment le kit ARTIK 520 (SIP-KITNXB001), le kit 530 (SIP-KITNXD001) et le kit 710 (SIP-KITNXE001). En plus des cartes de développement des kits individuels, Samsung fournit des conceptions de référence complètes incluant un schéma, la nomenclature et la configuration physique de la carte à circuit imprimé.
Ces kits illustrent des conceptions d'interfaces de module plus complexes avec des composants additionnels dont les développeurs pourraient avoir besoin pour les dispositifs de passerelle. Contrairement à la conception simple de la carte de plateforme et de la carte d'interposeur 053, ces kits incluent une liste considérable de pièces nécessaires pour prendre en charge les fonctionnalités étendues des modules de passerelle.
Par exemple, la carte de développement ARTIK 530 ajoute un codec audio, des contrôleurs USB, un chargeur de batterie, un indicateur du niveau de charge et même un microcontrôleur AVR ATMEGA48PB-M de Microchip Technology pour les canaux CAN et GPIO supplémentaires (Figure 5).
Figure 5 : La carte de développement ARTIK 530 illustre la conception d'un dispositif de passerelle sophistiqué qui combine le module ARTIK 530 à un microcontrôleur externe ATMEGA48PB-M de Microchip Technology, un codec audio, des composants Ethernet et USB, et des circuits de gestion de batterie. (Source de l'image : Samsung Semiconductor)
Contrairement à la conception simple de la carte de développement 053, le kit 530 inclut une carte de plateforme, une carte d'interposeur retenant le module 530 et une carte d'interface (IF) pour une extension supplémentaire. Si l'interposeur 053 sert simplement de carte de support pour le module 053, la carte d'interposeur 530 prend directement en charge la totalité des fonctionnalités du module 530. Par conséquent, la carte d'interposeur 530 joue un rôle plus actif pour l'intégration du module dans une conception de système de passerelle, car elle offre des fonctionnalités comme la translation de niveau nécessaire à la prise en charge des différents domaines de puissance relatifs aux différents composants de conception.
Le kit de développement et les schémas associés démontrent les solutions de conception spécifiques nécessaires à la satisfaction des exigences générales de l'interface. Par exemple, la conception de référence illustre comment les concepteurs peuvent intégrer les translateurs de niveau NLSX4373MUTAG 2 bits et NLSX5014MUTAG 4 bits d'ON Semiconductor pour interfacer de manière fiable avec les lignes critiques dans la conception (Figure 6).
Figure 6 : Les développeurs peuvent bénéficier des conceptions de référence de passerelle ARTIK pour obtenir des détails sur l'interfaçage des modules ARTIK 520/530/710 avec des translateurs de niveau prêts à l'emploi conçus pour les lignes de commande numérique. (Source de l'image : Samsung Semiconductor)
Conclusion
Auparavant, pour répondre aux exigences complexes des applications IoT, les développeurs devaient travailler avec des composants disparates de nombreuses sources et gérer les défis d'intégration qui en découlaient. Désormais, grâce à l'écosystème ARTIK, les développeurs peuvent combiner des modules matériels compatibles, conçus pour répondre aux exigences spécifiques relatives à la connectivité sans fil, aux fonctionnalités et aux performances des passerelles et des nœuds terminaux IoT.
Conçus pour fournir des solutions IoT complètes, les modules ARTIK intègrent tous les composants requis pour mettre en œuvre des nœuds terminaux IoT ou pour fournir les fondations de l'implémentation de conceptions de passerelles plus complexes. En se basant sur les kits de développement et les schémas ARTIK, les développeurs peuvent rapidement mettre en œuvre les dispositifs servant de base matérielle aux applications IoT. Comme le démontre la 2e partie, les développeurs peuvent en plus bénéficier de l'architecture logicielle de l'écosystème ARTIK pour terminer rapidement la conception de bout en bout et l'implémentation de leurs applications IoT.

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é.