

# Mises à jour du micrologiciel par liaison radio (FUOTA) pour les appareils AWS IoT Core for LoRaWAN
<a name="lorawan-mc-fuota-overview"></a>

Utilisez les mises à jour du micrologiciel en direct/ Firmware Updates-Over-The-Air (FUOTA) pour déployer en toute sécurité les mises à jour du micrologiciel sur les appareils AWS IoT Core for LoRaWAN.

À l'aide de FUOTA, vous pouvez envoyer des mises à jour du micrologiciel à des appareils individuels ou à un groupe d'appareils. Vous pouvez également envoyer des mises à jour du microprogramme à plusieurs appareils en créant un groupe multicast. Ajoutez d'abord vos appareils au groupe multicast, puis envoyez l'image de mise à jour du microprogramme à tous ces appareils. Nous vous recommandons de signer numériquement les images du microprogramme afin que les appareils recevant les images puissent vérifier qu'elles proviennent de la bonne source.

Grâce au processus FUOTA d’AWS IoT Core for LoRaWAN, vous pouvez :
+ Déployez de nouvelles images de micrologiciel ou des images delta sur un seul appareil ou un groupe d'appareils.
+ Vérifier l'authenticité et l'intégrité du nouveau microprogramme après qu'il a été déployé sur les appareils.
+ Surveillez la progression d'un déploiement et corrigez les problèmes en cas d'échec.

Le support AWS IoT Core for LoRaWAN du FUOTA et des groupes multicast est basé sur les spécifications suivantes de la [LoRa Alliance](https://lora-alliance.org/about-lorawan) :
+ Spécification de configuration multicast à distance LoRaWAN, TS005-2.0.0
+ Spécification de transport de blocs de données fragmentés LoRaWAN, TS004-2.0.0
+ Spécification de synchronisation de l’horloge de la couche d’application LoRaWAN, TS003-2.0.0

**Note**  
AWS IoT Core for LoRaWAN effectue automatiquement la synchronisation de l'horloge conformément à la spécification LoRa Alliance. Il utilise la fonction `AppTimeReq` pour répondre à l'heure côté serveur aux appareils qui en font la demande à l'aide de la signalisation ClockSync.

 La vidéo suivante décrit la création de tâches FUOTA AWS IoT Core for LoRaWAN et vous guide lors du processus d’ajout d’appareils à la tâche et de planification d’une tâche FUOTA.

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/0Yd6PFwL-IM/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/0Yd6PFwL-IM)


**Topics**
+ [Présentation du processus FUOTA](lorawan-fuota-mc-process.md)
+ [Créer une tâche FUOTA et fournir une image du microprogramme](lorawan-fuota-create-task.md)
+ [Ajoutez des appareils et des groupes multicast à une tâche FUOTA et planifiez une session FUOTA](lorawan-fuota-add-devices.md)
+ [Surveille et corrige l'état de votre tâche FUOTA et des appareils ajoutés à la tâche](lorawan-fuota-status.md)

# Présentation du processus FUOTA
<a name="lorawan-fuota-mc-process"></a>

Le schéma suivant montre comment AWS IoT Core for LoRaWAN exécute le processus FUOTA pour vos appareils finaux. Si vous ajoutez des appareils individuels à votre session FUOTA, vous pouvez ignorer les étapes de création et de configuration de votre groupe multicast. Vous pouvez ajouter vos appareils directement à une session FUOTA, puis AWS IoT Core for LoRaWAN lancer le processus de mise à jour du microprogramme. 

![\[Image montrant comment AWS IoT Core for LoRaWAN effectue une mise à jour FUOTA pour vos terminaux.\]](http://docs.aws.amazon.com/fr_fr/iot-wireless/latest/developerguide/images/iot-lorawan-fuota-flow.png)


Pour effectuer une mise à jour FUOTA pour vos appareils, commencez par créer votre image de micrologiciel signée numériquement et configurez les appareils et les groupes multicast que vous souhaitez ajouter à votre tâche FUOTA. Après avoir démarré une session FUOTA, vos appareils finaux collectent tous les fragments, reconstruisent l'image à partir des fragments, signalent l'état àAWS IoT Core for LoRaWAN, puis appliquent la nouvelle image du microprogramme.

Ce qui suit illustre les différentes étapes du processus FUOTA :

1. 

**Création d'une image du microprogramme ou d'une image delta avec une signature numérique**

   Pour permettre à AWS IoT Core for LoRaWAN d’effectuer une mise à jour FUOTA pour vos appareils LoRaWAN, nous vous recommandons de signer numériquement l’image de micrologiciel ou l’image delta lorsque vous envoyez des mises à jour du micrologiciel par liaison radio. Les appareils qui reçoivent les images peuvent ensuite vérifier qu'elles proviennent de la bonne source.

   La taille de l'image du microprogramme ne doit pas dépasser 1 mégaoctet. Plus la taille de votre microprogramme est grande, plus le processus de mise à jour peut prendre du temps. Pour un transfert de données plus rapide ou si votre nouvelle image fait plus de 1 Mo, utilisez une image delta, qui est la partie de votre nouvelle image qui représente le delta entre votre nouvelle image de micrologiciel et l'image précédente.
**Note**  
AWS IoT Core for LoRaWAN ne fournit pas l'outil de génération de signature numérique ni le système de gestion des versions du microprogramme. Vous pouvez utiliser n'importe quel outil tiers pour générer la signature numérique de l'image de votre microprogramme. Nous vous recommandons d'utiliser un outil de signature numérique tel que celui intégré au référentiel [GitHub ARM Mbed](https://github.com/armmbed/mbed-os-example-lorawan-fuota), qui inclut également des outils permettant de générer l'image delta et aux appareils d'utiliser cette image.

1. 

**Identifier et configurer les appareils pour FUOTA**

   Après avoir identifié les appareils pour FUOTA, envoyez les mises à jour du microprogramme à un ou plusieurs appareils.
   + Pour envoyer les mises à jour du microprogramme à plusieurs appareils, créez un groupe multicast et configurez le avec les appareils finaux. Pour en savoir plus, consultez [Créez des groupes multicast pour envoyer une charge utile de liaison descendante à plusieurs appareils](lorawan-multicast-groups.md).
   + Pour envoyer des mises à jour du microprogramme à des appareils individuels, ajoutez ces appareils à votre session FUOTA, puis effectuez la mise à jour du micrologiciel.

1. 

**Planifier une fenêtre de distribution et configurer une session de fragmentation**

   Si vous avez créé un groupe multicast, vous pouvez spécifier la fenêtre de distribution de classe B ou de classe C afin de déterminer à quel moment les appareils peuvent recevoir les fragments AWS IoT Core for LoRaWAN. Vos appareils fonctionnent peut-être en classe A avant de passer en mode classe B ou classe C. Vous devez également spécifier l'heure de début de la session.

   Les appareils de classe B ou de classe C se mettent en marche à la fenêtre de distribution spécifiée et commencent à recevoir les paquets de liaison descendante. Les appareils fonctionnant en mode classe C peuvent consommer plus d'énergie que les appareils de classe B. Pour en savoir plus, consultez [Classes d'appareils](lorawan-manage-end-devices.md#lorawan-device-classes).

1. 

**Les terminaux signalent l'état de l'image du microprogramme AWS IoT Core for LoRaWAN et la mettent à jour**

   Après avoir configuré une session de fragmentation, vos appareils finaux et AWS IoT Core for LoRaWAN effectuez les étapes suivantes pour mettre à jour le microprogramme de vos appareils.

   1. Étant donné que les appareils LoRaWAN ont un faible débit de données, pour démarrer le processus FUOTA, AWS IoT Core for LoRaWAN configure une session de fragmentation afin de fragmenter l'image du microprogramme. Il envoie ensuite ces fragments aux appareils finaux.

   1. Une fois que AWS IoT Core for LoRaWAN a envoyé les fragments d'image, vos appareils finaux LoRaWAN effectuent les tâches suivantes.

      1. Collectez les fragments, puis reconstruisez l'image binaire à partir de ces fragments.

      1. Vérifiez la signature numérique de l'image reconstruite pour l’authentifier et vérifier qu'elle provient de la bonne source.

      1. Comparez la version du microprogramme AWS IoT Core for LoRaWAN à la version actuelle.

      1. Indiquez l'état des images fragmentées vers lesquelles vous avez été transféréesAWS IoT Core for LoRaWAN, puis appliquez la nouvelle image du microprogramme.
**Note**  
Dans certains cas, les terminaux signalent l'état des images fragmentées vers lesquelles elles ont été transférées AWS IoT Core for LoRaWAN avant de vérifier la signature numérique de l'image du microprogramme.

Maintenant que vous avez appris le processus FUOTA, vous pouvez créer votre tâche FUOTA et ajouter des appareils à la tâche de mise à jour de leur microprogramme. Pour en savoir plus, consultez [Créer une tâche FUOTA et fournir une image du microprogramme](lorawan-fuota-create-task.md).

# Créer une tâche FUOTA et fournir une image du microprogramme
<a name="lorawan-fuota-create-task"></a>

Pour mettre à jour le micrologiciel de vos appareils LoRaWAN, créez d'abord une tâche FUOTA et fournissez l'image du microprogramme signée numériquement que vous souhaitez utiliser pour la mise à jour. Vous pouvez ensuite ajouter vos appareils et vos groupes multicast à la tâche et planifier une session FUOTA. Lorsque la session démarre, AWS IoT Core for LoRaWAN configure une session de fragmentation et vos appareils finaux collectent les fragments, reconstruisent l'image et appliquent le nouveau microprogramme. Pour plus d'informations sur le processus FUOTA, consultez [Présentation du processus FUOTA](lorawan-fuota-mc-process.md).

Ce qui suit montre comment créer une tâche FUOTA et télécharger l'image du microprogramme ou l'image delta que vous allez stocker dans un compartiment S3.

## Prérequis
<a name="lorawan-fuota-task-prereq"></a>

Avant de pouvoir effectuer une mise à jour FUOTA, l’image du micrologiciel doit être signée numériquement afin que vos appareils puissent vérifier l’authenticité de l’image lors de son application. Vous pouvez utiliser n'importe quel outil tiers pour générer la signature numérique de l'image de votre microprogramme. Nous vous recommandons d'utiliser un outil de signature numérique tel que celui intégré au référentiel [GitHub ARM Mbed](https://github.com/armmbed/mbed-os-example-lorawan-fuota), qui inclut également des outils permettant de générer l'image delta et aux appareils d'utiliser cette image.

## Créez une tâche FUOTA et téléchargez l'image du microprogramme à l'aide de la console
<a name="lorawan-fuota-task-console"></a>

Pour créer une tâche FUOTA et télécharger l'image de votre microprogramme à l'aide de la console, accédez à l'onglet des [tâches FUOTA](https://console.aws.amazon.com/iot/home#/wireless/fuotaTasks) de la console, puis choisissez **Créer une tâche FUOTA**.

1. 

**Création d'une tâche FUOTA**

   Pour créer votre tâche FUOTA, spécifiez les propriétés et les balises de la tâche.

   1. 

**Spécifier les propriétés FUOTA**  
Pour définir les propriétés de la tâche FUOTA, entrez les informations suivantes pour votre tâche FUOTA.
      + **Nom** : saisissez un nom unique pour votre tâche FUOTA. Le nom ne doit contenir que des lettres, des chiffres, des traits d'union et des traits de soulignement. Il ne doit pas contenir d'espace.
      + **Description** : vous pouvez fournir une description facultative pour votre groupe multicast. Le champ de description peut contenir jusqu’à 2 048 caractères.
      + **RFRegion** : définissez la bande de fréquence pour votre tâche FUOTA. La bande de fréquence doit correspondre à celle que vous avez utilisée pour approvisionner vos appareils sans fil ou vos groupes multicast.

   1. 

**Balises pour la tâche FUOTA**  
Vous pouvez éventuellement fournir des paires clé-valeur sous forme de **balises** pour votre tâche FUOTA. Choisissez **Suivant** pour continuer à créer votre tâche.

1. 

**Télécharger l'image du microprogramme**

   Choisissez le fichier image du microprogramme que vous souhaitez utiliser pour mettre à jour le microprogramme des appareils que vous ajoutez à la tâche FUOTA. Le fichier image du microprogramme est stocké dans un compartiment S3. Vous pouvez fournir les autorisations AWS IoT Core for LoRaWAN nécessaires pour accéder à l'image du microprogramme en votre nom. Nous vous recommandons de signer numériquement les images du microprogramme afin que son authenticité soit vérifiée lors de la mise à jour du microprogramme.

   1. 

**Choisissez le fichier image du microprogramme**  
Vous pouvez soit télécharger un nouveau fichier image du microprogramme dans un compartiment S3, soit choisir une image existante qui a déjà été téléchargée dans un compartiment S3.
**Note**  
La taille du fichier image du micrologiciel ne doit pas dépasser 1 mégaoctet. Plus la taille de votre microprogramme est grande, plus le processus de mise à jour peut prendre du temps.
      + Pour utiliser une image existante, choisissez **Sélectionner une image de microprogramme existante**, choisissez **Parcourir S3**, puis choisissez le fichier image de microprogramme que vous souhaitez utiliser.

        AWS IoT Core for LoRaWAN renseigne l'URL S3, qui est le chemin d'accès à votre fichier image du microprogramme dans le compartiment S3. Le format du chemin est `s3://bucket_name/file_name`. Pour afficher le fichier dans la console [Amazon Simple Storage Service](https://console.aws.amazon.com/s3/), choisissez **Afficher**.
      + Pour télécharger une nouvelle image de microprogramme.

        1. Choisissez **Télécharger une nouvelle image de microprogramme**, puis  téléchargez l'image de votre microprogramme. Le fichier image ne doit pas dépasser 1 mégaoctet. 

        1. Pour créer un compartiment S3 et saisir un **nom de compartiment** pour stocker le fichier image du microprogramme, choisissez **Créer un compartiment S3**.

   1. 

**Autorisations pour accéder au compartiment**  
Vous pouvez créer une nouvelle fonction du service ou choisir un rôle existant pour autoriser AWS IoT Core for LoRaWAN à accéder au fichier image du microprogramme dans le compartiment S3 en votre nom. Choisissez **Suivant**.

      Pour créer un nouveau rôle, vous pouvez saisir un nom de rôle ou le laisser vide pour qu'un nom aléatoire soit généré automatiquement. Pour consulter les autorisations de politique qui accordent l'accès au compartiment S3, choisissez **Afficher les autorisations de politique**.

   Pour plus d'informations sur l'utilisation d'un compartiment S3 pour stocker votre image et sur l'octroi d'autorisations AWS IoT Core for LoRaWAN pour y accéder, consultez [Téléchargement du fichier du micrologiciel vers un compartiment S3 et ajout d’un rôle IAM](lorawan-upload-firmware-s3bucket.md). 

1. 

**Vérifier et créer**

   Pour créer votre tâche FUOTA, passez en revue la tâche FUOTA et les détails de configuration que vous avez spécifiés, puis choisissez **Créer une tâche**.

## Créez une tâche FUOTA et téléchargez l'image du micrologiciel à l'aide de l'API
<a name="lorawan-fuota-task-api"></a>

Pour créer une tâche FUOTA et spécifier le fichier image du microprogramme à l'aide de l'API, utilisez l'opération API [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateFuotaTask.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateFuotaTask.html) ou la commande CLI [https://docs.aws.amazon.com/cli/latest/reference/iotwireless/create-fuota-task.html](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/create-fuota-task.html). Vous pouvez fournir un fichier `input.json` comme entrée pour la commande `create-fuota-task`. Lorsque vous utilisez l'API ou la CLI, le fichier image du microprogramme que vous fournissez en entrée doit déjà être chargé dans un compartiment S3. Vous spécifiez également le rôle IAM qui donne à AWS IoT Core for LoRaWAN l’accès à l'image du microprogramme dans le compartiment S3.

```
aws iotwireless create-fuota-task \
    --cli-input-json file://input.json
```

où :

**Contenu de input.json**

```
{   
   "Description": "FUOTA task to update firmware of devices in multicast group.",
   "FirmwareUpdateImage": "S3:/firmware_bucket/firmware_image
   "FirmwareUpdateRole": "arn:aws:iam::123456789012:role/service-role/ACF1zBEI"
   "LoRaWAN": { 
      "RfRegion": "US915"
   },
   "Name": "FUOTA_Task_MC"  
}
```

Après avoir créé votre tâche FUOTA, vous pouvez utiliser les opérations API ou commandes CLI suivantes pour mettre à jour, supprimer ou obtenir des informations sur votre tâche FUOTA.
+ [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_UpdateFuotaTask](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_UpdateFuotaTask) ou [https://docs.aws.amazon.com/cli/latest/reference/iotwireless/update-fuota-task.html](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/update-fuota-task.html) 
+ [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetFuotaTask](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetFuotaTask) ou [https://docs.aws.amazon.com/cli/latest/reference/iotwireless/get-fuota-task.html](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/get-fuota-task.html) 
+ [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_ListFuotaTasks](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_ListFuotaTasks) ou [https://docs.aws.amazon.com/cli/latest/reference/iotwireless/list-fuota-tasks.html](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/list-fuota-tasks.html) 
+ [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_DeleteFuotaTask](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_DeleteFuotaTask) ou [https://docs.aws.amazon.com/cli/latest/reference/iotwireless/delete-fuota-task.html](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/delete-fuota-task.html) 

## Étapes suivantes
<a name="lorawan-fuota-next-steps"></a>

Maintenant que vous avez créé une tâche FUOTA et que vous avez fourni l'image du microprogramme, vous pouvez ajouter des appareils à la tâche de mise à jour de leur microprogramme. Vous pouvez ajouter des appareils individuels ou des groupes multicast à la tâche. Pour en savoir plus, consultez [Ajoutez des appareils et des groupes multicast à une tâche FUOTA et planifiez une session FUOTA](lorawan-fuota-add-devices.md).

# Ajoutez des appareils et des groupes multicast à une tâche FUOTA et planifiez une session FUOTA
<a name="lorawan-fuota-add-devices"></a>

Après avoir créé une tâche FUOTA, vous pouvez ajouter à votre tâche des appareils dont vous souhaitez mettre à jour le microprogramme. Une fois que vos appareils ont été ajoutés avec succès à la tâche FUOTA, vous pouvez planifier une session FUOTA pour mettre à jour le microprogramme de l'appareil. 
+ Si vous ne disposez que d'un petit nombre d'appareils, vous pouvez les ajouter directement à votre tâche FUOTA.
+ Si vous souhaitez mettre à jour le microprogramme pour un grand nombre d'appareils, vous pouvez ajouter ces appareils à vos groupes multicast, puis ajouter les groupes multicast à votre tâche FUOTA. Pour plus d'informations sur la création et l'utilisation de groupes multicast, consultez [Créez des groupes multicast pour envoyer une charge utile de liaison descendante à plusieurs appareils](lorawan-multicast-groups.md).

**Note**  
Vous pouvez ajouter des appareils individuels ou des groupes multicast à la tâche FUOTA. Vous ne pouvez pas ajouter à la fois des appareils et des groupes multicast à la tâche.

Après avoir ajouté vos appareils ou groupes multicast, vous pouvez démarrer une session de mise à jour du microprogramme. AWS IoT Core for LoRaWAN collecte l'image du microprogramme, les fragmente, puis stocke les fragments dans un format crypté. Vos appareils finaux collectent les fragments et appliquent la nouvelle image du microprogramme. Le temps nécessaire à la mise à jour du microprogramme dépend de la taille de l'image et de la façon dont les images ont été fragmentées. Une fois la mise à jour du microprogramme terminée, les fragments chiffrés de l'image du microprogramme enregistrés par AWS IoT Core for LoRaWAN sont supprimés. Vous pouvez toujours trouver l'image du microprogramme dans le compartiment S3.

## Prérequis
<a name="lorawan-fuota-devices-prereq"></a>

Avant de pouvoir ajouter des appareils ou des groupes multicast à votre tâche FUOTA, procédez comme suit.
+ Vous devez déjà avoir créé la tâche FUOTA et fourni l'image du microprogramme. Pour en savoir plus, consultez [Créer une tâche FUOTA et fournir une image du microprogramme](lorawan-fuota-create-task.md).
+ Provisionnez les périphériques sans fil pour lesquels vous souhaitez mettre à jour le microprogramme de l'appareil. Pour plus d'informations sur l'intégration de votre appareil, veuillez consulter [Intégrez vos appareils à AWS IoT Core for LoRaWAN](lorawan-onboard-end-devices.md).
+ Pour mettre à jour le microprogramme de plusieurs appareils, vous pouvez les ajouter à un groupe multicast. Pour en savoir plus, consultez [Créez des groupes multicast pour envoyer une charge utile de liaison descendante à plusieurs appareils](lorawan-multicast-groups.md).
+ Lorsque vous intégrez les appareils à AWS IoT Core for LoRaWAN, spécifiez le paramètre `FPorts` de configuration FUOTA. Si vous utilisez un appareil LoRaWAN v1.0.x, vous devez également spécifier le `GenAppKey`. Pour plus d'informations sur l'attribution de noms aux paramètres de connexion, consultez [Préparer les appareils pour la multicast et la configuration FUOTA](lorawan-prepare-devices-multicast.md).

## Ajoutez des appareils à une tâche FUOTA et planifiez une session FUOTA à l'aide de la console
<a name="lorawan-fuota-devices-console"></a>

Pour ajouter des appareils ou des groupes multicast et planifier une session FUOTA à l'aide de la console, accédez à l'onglet des [tâches FUOTA](https://console.aws.amazon.com/iot/home#/wireless/fuotaTasks) de la console. Choisissez ensuite la tâche FUOTA à laquelle vous souhaitez ajouter des appareils et effectuez la mise à jour du microprogramme.

**Ajout d'appareils et groupes multicast**

1. Vous pouvez ajouter des appareils individuels ou des groupes multicast à la tâche FUOTA. Cependant, vous ne pouvez pas ajouter à la fois des appareils individuels et des groupes multicast à la même tâche FUOTA. Pour ajouter des appareils à l’aide de la console, procédez comme suit.

   1. Dans **Détails de la tâche FUOTA**, choisissez **Ajouter un appareil**.

   1. Choisissez la bande de fréquence ou **RFRegion** pour les appareils que vous ajoutez à la tâche. Cette valeur doit correspondre à la **RFRegion** que vous avez choisie pour la tâche FUOTA.

   1. Choisissez si vous souhaitez ajouter des appareils individuels ou des groupes multicast à la tâche.
      + Pour ajouter des appareils individuels, choisissez **Ajouter des appareils individuels** et entrez l'ID de chaque appareil que vous souhaitez ajouter à votre tâche FUOTA.
      + Pour ajouter des groupes multicast, choisissez **Ajouter des groupes multicast** et ajoutez vos groupes multicast à la tâche. Vous pouvez filtrer les groupes multicast que vous souhaitez ajouter à la tâche à l'aide du profil ou des balises de l'appareil. Lorsque vous filtrez par profil d'appareil, vous pouvez choisir des groupes multicast dont les appareils ont un profil avec prise **en charge de classe B** ou de **classe C** activée.

1. 

**Planifier une session FUOTA**

   Une fois que vos appareils ou groupes multicast ont été ajoutés avec succès, vous pouvez planifier une session FUOTA. Pour planifier une session, procédez comme suit.

   1. Choisissez la tâche FUOTA pour laquelle vous souhaitez mettre à jour le microprogramme de l'appareil, puis choisissez **Planifier une session FUOTA**.

   1. Spécifiez une **date** et une **heure de début** pour votre session FUOTA. Assurez-vous que l'heure de début est inférieure ou égale à 30 minutes par rapport à l'heure actuelle.

## Ajoutez des appareils à une tâche FUOTA et planifiez une session FUOTA à l'aide de l’API
<a name="lorawan-fuota-devices-api"></a>

Vous pouvez utiliser l'API AWS IoT Wireless ou la CLI pour ajouter vos appareils sans fil ou vos groupes multicast à votre tâche FUOTA. Vous pouvez ensuite planifier une session FUOTA. 

1. 

**Ajout d'appareils et groupes multicast**

   Vous pouvez associer des appareils sans fil ou des groupes multicast à votre tâche FUOTA.
   + Pour associer des appareils individuels à votre tâche FUOTA, utilisez l'opération API [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_AssociateWirelessDeviceWithFuotaTask.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_AssociateWirelessDeviceWithFuotaTask.html) ou la commande CLI [https://docs.aws.amazon.com/cli/latest/reference/iotwireless/associate-wireless-device-with-fuota-task.html](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/associate-wireless-device-with-fuota-task.html) et fournissez-les `WirelessDeviceID` en entrée.

     ```
     aws iotwireless associate-wireless-device-with-fuota-task \
         --id "01a23cde-5678-4a5b-ab1d-33456808ecb2"
         --wireless-device-id "ab0c23d3-b001-45ef-6a01-2bc3de4f5333"
     ```
   + Pour associer des groupes multicast à votre tâche FUOTA, utilisez l'opération API [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_AssociateMulticastGroupWithFuotaTask.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_AssociateMulticastGroupWithFuotaTask.html) ou la commande CLI [https://docs.aws.amazon.com/cli/latest/reference/iotwireless/associate-multicast-group-with-fuota-task.html](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/associate-multicast-group-with-fuota-task.html) et fournissez `MulticastGroupID` comme entrée.

     ```
     aws iotwireless associate-multicast-group-with-FUOTA-task \
         --id 01a23cde-5678-4a5b-ab1d-33456808ecb2"
         --multicast-group-id
     ```

   Après avoir associé vos appareils sans fil ou votre groupe multicast à votre tâche FUOTA, utilisez les opérations d'API ou les commandes CLI suivantes pour répertorier vos appareils ou groupes multicast ou pour les dissocier de votre tâche.
   + [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_DisassociateWirelessDeviceFromFuotaTask.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_DisassociateWirelessDeviceFromFuotaTask.html) ou [https://docs.aws.amazon.com/cli/latest/reference/iotwireless/disassociate-wireless-device-from-fuota-task.html](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/disassociate-wireless-device-from-fuota-task.html) 
   + [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_DisassociateMulticastGroupFromFuotaTask.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_DisassociateMulticastGroupFromFuotaTask.html) ou [https://docs.aws.amazon.com/cli/latest/reference/iotwireless/disassociate-multicast-group-from-fuota-task.html](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/disassociate-multicast-group-from-fuota-task.html) 
   + [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_ListWirelessDevices.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_ListWirelessDevices.html) ou [https://docs.aws.amazon.com/cli/latest/reference/iotwireless/delete-multicast-group.html](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/delete-multicast-group.html) 
   + [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_ListMulticastGroups.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_ListMulticastGroups.html) ou [https://docs.aws.amazon.com/cli/latest/reference/iotwireless/list-multicast-groups.html](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/list-multicast-groups.html) 
**Note**  
L'API :  
`ListWirelessDevices` peut répertorier les périphériques sans fil en général, et les appareils associés à un groupe multicast, lorsque `MulticastGroupID` est utilisé comme filtre. L'API répertorie les appareils sans fil associés à une tâche FUOTA lorsque `FuotaTaskID` est utilisée comme filtre.
`ListMulticastGroups` peut répertorier les groupes multicast en général et les groupes de multicast associés à une tâche FUOTA lorsque `FuotaTaskID` est utilisée comme filtre.

1. 

**Planifier une session FUOTA**

   Une fois que vos appareils ou groupes multicast ont été ajoutés avec succès à la tâche FUOTA, vous pouvez démarrer une session FUOTA pour mettre à jour le micrologiciel de l'appareil. L'heure de début doit être située à 30 minutes ou plus de l'heure actuelle. Pour planifier une session FUOTA à l'aide de l'API ou de la CLI, utilisez l'opération API [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_StartFuotaTask.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_StartFuotaTask.html) ou la commande CLI [https://docs.aws.amazon.com/cli/latest/reference/iotwireless/start-fuota-task.html](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/start-fuota-task.html).

   Après avoir démarré une session FUOTA, vous ne pouvez plus ajouter d'appareils ou de groupes multicast à la tâche. Vous pouvez obtenir des informations sur l'état de votre session FUOTA à l'aide de l'opération API [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GettFuotaTask.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GettFuotaTask.html) ou de la commande CLI [https://docs.aws.amazon.com/cli/latest/reference/iotwireless/get-fuota-task.html](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/get-fuota-task.html).

# Surveille et corrige l'état de votre tâche FUOTA et des appareils ajoutés à la tâche
<a name="lorawan-fuota-status"></a>

Après avoir provisionné les appareils sans fil et créé les groupes multicast que vous souhaiterez peut-être utiliser, vous pouvez démarrer une session FUOTA en effectuant les étapes suivantes.

## Statut de la tâche FUOTA
<a name="lorawan-fuota-task-status"></a>

Votre tâche FUOTA peut afficher l'un des messages d'état suivants dans le fichier AWS Management Console. 
+ 

**En attente**  
Ce statut indique que vous avez créé une tâche FUOTA, mais qu'il n'y a pas encore de session de mise à jour du microprogramme. Ce message de statut s'affichera lorsque votre tâche aura été créé. Pendant ce temps, vous pouvez mettre à jour votre tâche FUOTA et associer ou dissocier des appareils ou des groupes multicast à votre tâche. Une fois que le statut est passé de **En attente**, aucun appareil supplémentaire ne peut être ajouté à la tâche.
+ 

**Session FUOTA en attente**  
Une fois que vos appareils ont été ajoutés avec succès à la tâche FUOTA, lorsque votre tâche a une session de mise à jour du micrologiciel planifiée, ce message d'état s'affiche. Pendant ce temps, vous ne pouvez pas mettre à jour ou ajouter des appareils à votre session FUOTA. Si vous annulez votre session FUOTA, le statut du groupe passe à **En attente**. 
+ 

**Dans la session FUOTA**  
Lorsque votre session FUOTA commence, vous verrez ce message d'état s'afficher. La session de fragmentation démarre et vos appareils finaux collectent les fragments, reconstruisent l'image du microprogramme, comparent la nouvelle version du microprogramme avec la version d'origine et appliquent la nouvelle image.
+ 

**FUOTA terminé**  
Une fois que vos terminaux AWS IoT Core for LoRaWAN ont signalé que la nouvelle image du microprogramme a été appliquée, ou lorsque la session expire, la session FUOTA est marquée comme terminée et vous verrez cet état s'afficher.

  Cet état s'affichera également dans les cas suivants. Assurez-vous donc de vérifier si la mise à jour du microprogramme a été correctement appliquée aux appareils.
  + Lorsque le statut de la tâche FUOTA était **Session FUOTA en attente** et qu'une erreur se produit dans le compartiment S3, par exemple si le lien vers le fichier image dans le compartiment S3 est incorrect ou si les autorisations nécessaires pour accéder au fichier du compartiment AWS IoT Core for LoRaWAN ne sont pas suffisantes.
  + Lorsque le statut de la tâche FUOTA était **Session FUOTA en attente** et qu'une demande de démarrage d'une session FUOTA est envoyée, mais qu'aucune réponse n'est reçue des appareils ou des groupes multicast de votre tâche FUOTA.
  + Lorsque le statut de la tâche FUOTA était **En session FUOTA** et que les appareils ou les groupes multicast n'ont envoyé aucun fragment pendant un certain temps, la session expire.
+ 

**Suppression en cours**  
Si vous supprimez votre tâche FUOTA qui se trouve dans l'un des autres états, ce statut s'affichera. Une action de suppression est permanente et ne peut être annulée. Cette action peut prendre du temps et le statut de la tâche sera **Suppression en cours** jusqu'à ce que le tâche multicast soit supprimé. Une fois que votre tâche FUOTA entre dans cet état, elle ne peut pas passer à l'un des autres états.

## État des appareils dans une tâche FUOTA
<a name="lorawan-fuota-device-status"></a>

Les appareils de votre tâche FUOTA peuvent afficher l'un des messages d'état suivants dans le fichier AWS Management Console. Vous pouvez survoler chaque message de statut pour obtenir plus d'informations sur ce qu'il indique.
+ 

**Initial**  
Lorsque c'est l'heure de début de votre session FUOTA, AWS IoT Core for LoRaWAN vérifie si votre appareil dispose du package compatible pour la mise à jour du microprogramme. Si votre appareil dispose du package compatible, la session FUOTA de l'appareil démarre. L'image du microprogramme est fragmentée et les fragments sont envoyés à votre appareil. Lorsque cet état s'affiche, cela indique que la session FUOTA de l'appareil n'a pas encore démarré.
+ 

**Package non pris en charge**  
Si l'appareil n'est pas doté du package FUOTA compatible, cet état s'affichera. Si le package de mise à jour du microprogramme n'est pas pris en charge, la session FUOTA de votre appareil ne peut pas démarrer. Pour corriger cette erreur, vérifiez si le microprogramme de votre appareil peut recevoir des mises à jour à l'aide de FUOTA.
+ 

**Algorithme de fragmentation non pris en charge**  
Au début de votre session FUOTA, AWS IoT Core for LoRaWAN configure une session de fragmentation pour votre appareil. Si cet état s'affiche, cela signifie que le type d'algorithme de fragmentation utilisé ne peut pas être appliqué à la mise à jour du microprogramme de votre appareil. L'erreur se produit car votre appareil ne dispose pas du package FUOTA compatible. Pour corriger cette erreur, vérifiez si le microprogramme de votre appareil peut recevoir des mises à jour à l'aide de FUOTA.
+ 

**Mémoire insuffisante**  
Une fois que AWS IoT Core for LoRaWAN a envoyé les fragments d'image, vos appareils finaux collectent les fragments d'image et reconstruisent l'image binaire à partir de ces fragments. Cet état s'affiche lorsque votre appareil ne dispose pas de suffisamment de mémoire pour assembler les fragments entrants de l'image du micrologiciel, ce qui peut entraîner la fin prématurée de votre session de mise à jour du micrologiciel. Pour corriger l'erreur, vérifiez si le matériel de votre appareil peut recevoir cette mise à jour. Si votre appareil ne peut pas recevoir cette mise à jour, utilisez une image delta pour mettre à jour le microprogramme.
+ 

**Indice de fragmentation non pris en charge**  
L'indice de fragmentation identifie l'une des quatre sessions de fragmentation possibles simultanément. Si votre appareil ne prend pas en charge la valeur d'indice de fragmentation indiquée, cet état s'affiche. Pour résoudre cette erreur, effectuez une ou plusieurs des opérations suivantes. 
  + Lancez une nouvelle tâche FUOTA pour l'appareil. 
  + Si vous obtenez toujours la même erreur, passez du mode unicast au mode multicast.
  + Si l'erreur n'est toujours pas résolue, vérifiez le microprogramme de votre appareil.
+ 

**Erreur de mémoire**  
Cet état indique que votre appareil a rencontré une erreur de mémoire lors de la réception des fragments entrants de AWS IoT Core for LoRaWAN. Si cette erreur se produit, il est possible que votre appareil ne soit pas en mesure de recevoir cette mise à jour. Pour corriger l'erreur, vérifiez si le matériel de votre appareil peut recevoir cette mise à jour. Si nécessaire, utilisez une image delta pour mettre à jour le microprogramme de l'appareil.
+ 

**Mauvais descripteur**  
Votre appareil ne prend pas en charge le descripteur indiqué. Le descripteur est un champ qui décrit le fichier qui sera transporté pendant la session de fragmentation. Si cette erreur s'affiche, contactez le [AWS SupportCentre](https://console.aws.amazon.com/support/home#/).
+ 

**Rediffusion du nombre de sessions**  
Ce statut indique que votre appareil a déjà utilisé ce nombre de sessions. Pour corriger l'erreur, démarrez une nouvelle tâche FUOTA pour l'appareil.
+ 

**Fragments manquants**  
Au fur et à mesure que votre appareil collecte les fragments d'image AWS IoT Core for LoRaWAN, il reconstruit la nouvelle image du microprogramme à partir des fragments codés indépendants. Si votre appareil n'a pas reçu tous les fragments, la nouvelle image ne peut pas être reconstruite et vous verrez ce statut. Pour corriger l'erreur, démarrez une nouvelle tâche FUOTA pour l'appareil.
+ 

**Erreur MIC**  
Lorsque votre appareil reconstruit la nouvelle image du microprogramme à partir des fragments collectés, il effectue un MIC (Vérification de l’intégrité des messages) pour vérifier l'authenticité de votre image et vérifier si elle provient de la bonne source. Si votre appareil détecte une incompatibilité dans le micro après avoir réassemblé les fragments, cet état s'affiche. Pour corriger l'erreur, démarrez une nouvelle tâche FUOTA pour l'appareil.
+ 

**Réussite**  
La session FUOTA de votre appareil a réussi.
**Note**  
Bien que ce message d'état indique que les appareils ont reconstruit l'image à partir des fragments et l'ont vérifiée, le microprogramme de l'appareil n'a peut-être pas été mis à jour lorsque l'appareil signale l'état à AWS IoT Core for LoRaWAN. Vérifiez si vous avez mis à jour le micrologiciel de votre appareil.

## Étapes suivantes
<a name="lorawan-fuota-device-next"></a>

Vous avez découvert les différents statuts de la tâche FUOTA et de ses appareils, ainsi que la manière de résoudre les problèmes éventuels. Pour plus d'informations sur chacun de ces statuts, consultez la [spécification de transport de blocs de données fragmentés LoRaWAN, TS004-1.0.0](https://lora-alliance.org/wp-content/uploads/2020/11/fragmented_data_block_transport_v1.0.0.pdf).