Partager via


Apporter des modifications à un appareil après sa fabrication

Important

Il s’agit de la documentation Azure Sphere (héritée). Azure Sphere (hérité) prend sa retraite le 27 septembre 2027 et les utilisateurs doivent migrer vers Azure Sphere (intégré) pour l’instant. Utilisez le sélecteur de version situé au-dessus du TOC pour afficher la documentation Azure Sphere (intégrée).

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 locataire 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 azsphere device capability download . Vous devez avoir accès au locataire 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. Connectez-vous au locataire Azure Sphere dans lequel l’appareil est déclaré.

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

    azsphere device capability download --type fieldServicing --destination <capability-file>
    

    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. Connectez-vous au locataire Azure Sphere dans lequel l’appareil est déclaré.

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

    azsphere device capability download --device <deviceID> --type fieldServicing --destination <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 azsphere 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 azsphere device capability select avec le paramètre --capability-file< capability-file>. 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 commande azsphere est exécutée pendant la session, les informations de fonctionnalité 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 commandes azsphere 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 azsphere select --none , commande

Quand cette commande réussit, les informations de capacité ne sont plus passées à l’appareil. Si vous ne mettez pas fin à la session, la prochaine fois que vous émettez une commande azsphere depuis cet ordinateur, la fonctionnalité actuelle de l’appareil sera passée en même temps que la commande : la commande échouera donc si vous utilisez 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.