Modules Guardian
Un module guardian est un matériel complémentaire qui incorpore une puce Azure Sphere et s’attache physiquement à un port sur un appareil « brownfield », c’est-à-dire un appareil existant qui peut déjà être utilisé.
À l’aide d’un module guardian, vous pouvez ajouter des fonctionnalités IoT sécurisées à des équipements qui ne prennent pas en charge la connectivité Internet ou qui ne la prennent pas en charge en toute sécurité. En bref, un module guardian permet d’implémenter une connectivité sécurisée dans les appareils existants sans exposer ces appareils à Internet. Étant donné qu’il s’agit d’un appareil Azure Sphere, toutes les fonctionnalités de sécurité et de connectivité d’Azure Sphere sont disponibles : toutes les données sont chiffrées, les mises à jour du système d’exploitation et des applications sont fournies en toute sécurité, et l’authentification garantit que le module communique uniquement avec des hôtes approuvés.
Voici comment fonctionne un module guardian :
Le module guardian se connecte à un appareil brownfield, comme décrit dans la section Connectivité de cette rubrique. L’appareil brownfield lui-même n’est pas connecté au réseau.
Le système d’exploitation Azure Sphere s’exécute sur le module guardian, ainsi qu’une application de haut niveau personnalisée et toutes les autres applications Azure Sphere requises par votre scénario.
Le module guardian utilise le service de sécurité Azure Sphere pour l’authentification basée sur les certificats, les rapports de défaillance et les mises à jour logicielles ota.
L’appareil brownfield communique avec le module guardian, qui peut répondre en effectuant une action locale ou en signalant à une présence cloud telle qu’Azure IoT Central.
Vous pouvez acheter des modules guardian auprès d’un fournisseur et les personnaliser davantage pour votre scénario d’utilisation, ou vous pouvez concevoir votre propre module guardian, éventuellement en collaboration avec un partenaire matériel. Pour plus d’informations sur les fournisseurs de matériel, consultez le site web Azure Sphere .
Utilise pour un module guardian
Un module guardian peut faire tout ce que tout autre appareil Azure Sphere peut faire, tout en agissant comme une interface sécurisée entre l’équipement existant et un réseau externe. Les utilisations possibles d’un module guardian sont les suivantes :
- Collecte de données à partir de l’appareil brownfield, traitement des données et transmission sécurisée des données à un point de terminaison cloud
- Envoi de données à plusieurs points de terminaison, à condition qu’il puisse authentifier chaque point de terminaison
- Collecte de données supplémentaires qui ne sont pas disponibles à partir de l’appareil brownfield ; par exemple, les capteurs du module guardian peuvent fournir des données environnementales à utiliser avec les données d’exploitation de l’appareil brownfield
- Enregistrement des données à partir de l’appareil brownfield en cas de perte de connectivité
Le référentiel d’exemples Azure Sphere comprend deux exemples qui montrent comment un appareil Azure Sphere peut être utilisé comme module guardian :
- Device to Cloud montre comment un appareil Azure Sphere peut être utilisé pour la collecte de données tout en fournissant un accès Internet sécurisé à un appareil brownfield qui y est connecté via une interface série.
- Les services de réseau privé montrent comment un appareil Azure Sphere peut fournir un accès Internet sécurisé à un appareil brownfield qui y est connecté via une interface TCP/IP.
Connectivité
Il existe plusieurs mécanismes de connectivité pris en charge entre le module guardian et le réseau, et entre le module guardian et l’appareil brownfield. Pour obtenir des informations générales sur les solutions de connectivité Azure Sphere, consultez Vue d’ensemble de la connectivité et Exigences de mise en réseau.
L’application de haut niveau d’un module guardian communique amont avec le réseau, y compris le service de sécurité Azure Sphere et d’autres services cloud, et en aval avec l’appareil brownfield :
Pour amont connexions entre le module guardian et le réseau, vous pouvez utiliser Ethernet, Wi-Fi ou cellulaire.
Pour les connexions en aval entre le module guardian et l’équipement brownfield, vous pouvez utiliser les éléments suivants :
- Toute interface série, telle que UART, RS-485 ou SPI, que l’appareil brownfield expose
- Ethernet privé, qui n’expose pas l’appareil brownfield au réseau public
- Sans fil, par exemple Bluetooth ou ZigBee
Développement et déploiement d’applications
Le développement et le déploiement d’une application pour un module guardian ne sont pas différents du développement et du déploiement d’une application pour tout autre appareil Azure Sphere. Pour plus d’informations, consultez Vue d’ensemble des applications Azure Sphere et Notions de base du déploiement . Comme avec n’importe quel appareil Azure Sphere, un module guardian doit avoir au moins une application Azure Sphere de haut niveau et peut également avoir des applications en temps réel.
Vous devez accéder au service UART, qui est l’interface de programmation et de débogage main entre le MT3620 et l’environnement de développement s’exécutant sur un ordinateur hôte. Si vous concevez votre propre module guardian, vous devez vous assurer que les signaux UART du service sont exposés et que vous prenez en charge un moyen d’interface avec le service UART sur le module guardian lui-même ou sur un élément matériel distinct. Si vous achetez des modules auprès d’un fournisseur, celui-ci doit fournir une solution qui active cette connexion.
Si votre fournisseur ou un autre tiers crée l’application, vous devrez peut-être fournir l’accès à votre catalogue Azure Sphere afin que le développeur de l’application puisse charger et tester l’application et créer un déploiement.
Applications de haut niveau
Une application de haut niveau de module guardian doit être écrite sur mesure pour les appareils brownfield de chaque organization. Si votre fournisseur de module guardian fournit une application, veillez à recevoir le code source et les bibliothèques d’application de haut niveau afin de pouvoir modifier ou mettre à jour l’application si nécessaire.
Comme pour toute application d’appareil Azure Sphere, les détails spécifiques à l’appareil et à l’application doivent être répertoriés dans le manifeste de l’application. Par exemple, les connexions du module guardian sont des détails spécifiques à l’appareil qui doivent être inclus dans le manifeste.
Une application de haut niveau qui s’exécute sur un module guardian est responsable des éléments suivants :
- Établir et maintenir la connectivité avec l’équipement brownfield
- Établissement et maintenance de la connectivité avec Internet, y compris le service de sécurité Azure Sphere et d’autres services cloud
- Gestion des données reçues de l’appareil brownfield : décompresser et stocker les données, si nécessaire, et communiquer avec les hôtes Internet le cas échéant
- Gestion des données reçues d’un hôte Internet : décompresser et stocker les données, si nécessaire, et communiquer avec l’équipement brownfield le cas échéant
Les données envoyées amont peuvent inclure des rapports d’erreurs, des paramètres d’exploitation ou des données de télémétrie globales. Azure Sphere garantit que toutes ces données sont chiffrées. L’application peut se connecter à des services web et utiliser l’authentification mutuelle pour ces connexions.
Les données envoyées en aval peuvent inclure des logiciels mis à jour ou des modifications apportées aux paramètres ou paramètres de l’appareil brownfield. Pour éviter les violations de sécurité potentielles, l’application doit valider les données entrantes avant de les transmettre en aval à l’appareil brownfield.
Considérations relatives à l’application
Lors de la création d’une application, vous devez prendre en compte les périphériques disponibles, les besoins en stockage et la consommation d’énergie.
Périphériques
Comme les autres appareils Azure Sphere, les modules guardian diffèrent dans les périphériques qu’ils exposent. Choisissez un module guardian qui fournit les fonctionnalités de connectivité et de détection requises par votre scénario.
En fonction de l’architecture matérielle du module guardian (autrement dit, de la façon dont il expose les fonctionnalités de la puce Azure Sphere), vous pouvez déterminer si le logiciel permettant d’accéder à des fonctionnalités individuelles doit être implémenté en tant qu’application de haut niveau ou en temps réel.
Exigences de stockage
Azure Sphere ayant un stockage limité, réfléchissez soigneusement à la quantité de mémoire nécessaire pour les applications et les données. Pour plus d’informations , consultez Mémoire disponible .
Lorsque vous envoyez des données en aval du cloud vers l’appareil brownfield, vérifiez que le module guardian dispose de suffisamment d’espace pour contenir les données. Vous devrez peut-être envoyer des données en blocs, comme le montre l’exemple HTTPS_Curl_Multi dans le référentiel d’exemples GitHub Azure Sphere.
Lorsque vous envoyez des données amont de l’appareil brownfield au module guardian, assurez-vous que votre application peut gérer amont échecs de connectivité. Si l’appareil brownfield fournit des données de télémétrie continues, vous devez prendre en compte les données à conserver et à envoyer ultérieurement au cloud lors de la restauration de la connectivité. Consultez l’exemple de galerie de stockage et de transfert, qui montre comment utiliser le stockage local pour mettre en cache temporairement les données avant leur chargement.
Consommation d’énergie
Il existe de nombreuses applications dans lesquelles le module guardian est la plupart du temps inactif. Prenons l’exemple d’un appareil Azure Sphere qui collecte toutes les heures des données à partir d’un réseau de capteurs et charge ces données dans le cloud, une opération qui peut prendre une minute ou deux. Dans ce cas, la majeure partie de l’énergie consommée par l’appareil est gaspillent.
Vous pouvez réduire considérablement la consommation d’énergie et ainsi augmenter l’autonomie de la batterie en plaçant l’appareil sous tension lorsqu’il est inactif ou en définissant un profil d’alimentation. Pour plus d’informations, consultez Gérer l’état de mise sous tension et Définir des profils d’alimentation .