Partage via


Apporter des modifications à un appareil après sa fabrication

L’une des dernières étapes de la fabrication d’un appareil Azure Sphere consiste à placer l’appareil dans l’état DeviceComplete, ce qui sécurise l’appareil contre la modification. Toutefois, il existe des situations dans lesquelles les appareils qui ont été placés dans l’état DeviceComplete doivent être modifiés.

Le mécanisme sécurisé utilisé pour ces scénarios consiste à utiliser une fonctionnalité d’appareil. Il existe deux types de fonctionnalités d’appareil, fieldServicing et appDevelopment, et vous devez utiliser celui qui a l’ensemble minimal de fonctionnalités requises. Autrement dit, si la fonctionnalité fieldServicing répond à vos besoins, vous devez l’utiliser, mais si une plus grande flexibilité est requise, utilisez plutôt la fonctionnalité appDevelopment . Bien que les fonctionnalités aient été conçues pour les deux scénarios après lesquels elles sont nommées, vous devez vérifier les fonctionnalités réelles activées plutôt que de s’appuyer sur ce nom. Seul le propriétaire du catalogue de l’appareil peut acquérir des fonctionnalités pour cet appareil, et chaque fonctionnalité est limitée à un seul appareil.

Lorsque vous apportez des modifications à un appareil DeviceComplete, vous ne devez pas charger ces fonctionnalités. Cela permet d’éliminer le risque de laisser accidentellement la fonctionnalité présente, et de laisser ainsi l’appareil dans un état non sécurisé. Au lieu de cela, vous devez utiliser une session de maintenance.

Il existe trois étapes pour utiliser des fonctionnalités pour les appareils de service : le téléchargement des fonctionnalités, l’application d’une mise à jour de magasin de clés approuvée (si nécessaire), puis la création d’une session de maintenance.

Télécharger une fonctionnalité

Vous pouvez télécharger une fonctionnalité à l’aide de la commande az sphere device capability download . Vous devez avoir accès au catalogue propriétaire de l’appareil et de l’accès Internet pour télécharger une fonctionnalité. Par défaut, l’appareil actuellement attaché est utilisé. Lorsque plusieurs appareils sont attachés, spécifiez l’adresse IP, l’ID d’appareil ou l’ID de connexion locale d’un appareil attaché dans le --device paramètre. Lors du téléchargement d’une fonctionnalité pour un appareil non attaché, fournissez un ID d’appareil dans le --device paramètre.

Pour télécharger la fonctionnalité pour un appareil connecté :

  1. Utilisez la commande suivante avec les paramètres et --output-file les --type paramètres pour télécharger un fichier de capacité pour l’appareil attaché. Par exemple :

    az sphere device capability download --resource-group MyResourceGroup --catalog MyCatalog --device <DeviceIdValue> --type ApplicationDevelopment --output-file myCapabilities.cap
    

    Remplacez <le fichier> de fonctionnalité par l’emplacement sur votre ordinateur dans lequel stocker le fichier de capacité.

Pour télécharger la fonctionnalité pour un appareil non attaché :

  1. Utilisez la commande suivante avec les paramètres et ----output-file les --device--typeparamètres pour télécharger un fichier de fonctionnalité pour l’appareil non attaché. Par exemple :

    az sphere device capability download --resource-group <resource-group> --catalog <catalog> --device <deviceID> --type fieldServicing ----output-file <capability-file>
    

    Indiquez l’ID d’appareil de l’appareil pour lequel vous avez besoin de la fonctionnalité et remplacez <le fichier> de capacité par l’emplacement sur votre ordinateur dans lequel stocker le fichier de capacité.

Mettre à jour le magasin de clés approuvé si nécessaire

Si un appareil n’est pas connecté à Internet, il est possible que l’appareil ne approuve pas la fonctionnalité. Cela se produit lorsque AS3 a mis à jour sa clé de signature d’image avec laquelle elle signe toutes les images, y compris les images de fonctionnalité, mais que l’appareil n’a pas cette clé mise à jour dans son magasin de clés approuvé. Tout appareil connecté met automatiquement à jour son magasin de clés approuvé, mais si l’appareil n’est pas connecté, cela peut ne pas se produire.

Pour résoudre ce problème, consultez des instructions détaillées ici.

Créer une session de maintenance

Pour traiter un appareil, vous créez une session de maintenance en sélectionnant une fonctionnalité. Chaque fois que la commande « az sphere » est émise pendant la session, la fonctionnalité sélectionnée est transmise à l’appareil, ce qui permet à l’appareil d’effectuer la commande malgré son état verrouillé. Le fichier de capacité n’est pas stocké de manière permanente sur l’appareil, de sorte que l’appareil reste verrouillé et sécurisé. Si un autre ordinateur est ultérieurement attaché à l’appareil sans accéder au fichier de capacité, il ne pourra pas modifier l’appareil.

Pour créer une session de maintenance :

  1. Connectez l’appareil au PC à l’aide de l’interface de programmation et de débogage.

  2. Utilisez la commande az sphere device apply command with the --capability-file< capability-file file parameter>. Remplacez <le fichier de fonctionnalité par le chemin d’accès au fichier> que vous avez spécifié lorsque vous avez téléchargé la fonctionnalité.

    Une fois que vous avez sélectionné le fichier, votre session démarre. Chaque fois que la az sphere commande est exécutée pendant la session, les informations de capacité sont transmises à l’appareil, ce qui déverrouille la communication. La fonctionnalité est stockée sur votre ordinateur et est associée à vos données de connexion Windows ou Linux, et non pas à votre connexion Azure Sphere. La session de maintenance s’applique à toutes les az sphere commandes dirigées vers l’appareil à partir de votre ordinateur, pas seulement celles exécutées à partir de l’invite de commandes actuelle.

Pour mettre fin à la session de maintenance, utilisez la fonctionnalité d’appareil az sphere apply --none

Quand cette commande réussit, les informations de capacité ne sont plus passées à l’appareil. Si vous ne terminez pas la session, la prochaine fois que vous émettez une commande « az sphere » à partir de cet ordinateur, la fonctionnalité actuelle de l’appareil sera transmise avec la commande et la commande échouera donc si vous travaillez avec un autre appareil. Si vous supprimez le fichier de fonctionnalité sans mettre fin à la session de maintenance, la commande suivante vous avertit que le fichier de fonctionnalité sélectionné est manquant et efface la sélection pour toutes les autres commandes.