

# 将设备和多播组添加到 FUOTA 任务并调度 FUOTA 会话
<a name="lorawan-fuota-add-devices"></a>

创建 FUOTA 任务后，您可以将设备添加到要更新固件的任务中。将设备成功添加到 FUOTA 任务后，您可以调度 FUOTA 会话更新设备固件。
+ 如果您只有少数设备，可以将这些设备直接添加到 FUOTA 任务中。
+ 如果有大量设备 要更新固件 ，您可以将这些设备添加到多播组中，然后将多播组添加到 FUOTA 任务中。有关创建和使用多播组的信息，请参阅 [创建多播组向多台设备发送下行链路有效负载](lorawan-multicast-groups.md)。

**注意**  
您可以将单个设备或多播组添加到 FUOTA 任务中。您不能将设备和多播组添加到任务中。

添加设备或多播组后，您可以启动固件更新会话。适用于 LoRaWAN 的 AWS IoT Core 收集固件映像，对映像进行碎片化，然后以加密格式存储碎片。您的终端设备收集碎片并应用新的固件映像。固件更新所需的时间取决于映像的大小和碎片方式。固件更新完成后，适用于 LoRaWAN 的 AWS IoT Core 存储的固件映像的加密片段已删除。您仍然可以在 S3 存储桶中找到固件映像。

## 先决条件
<a name="lorawan-fuota-devices-prereq"></a>

在将设备或多播组添加到 FUOTA 任务之前，请执行以下操作。
+ 您必须已创建 FUOTA 任务并提供固件映像。有关更多信息，请参阅[创建 FUOTA 任务并提供固件映像](lorawan-fuota-create-task.md)。
+ 配置要更新设备固件的无线设备。有关登记设备的更多消息，请参阅 [将您的设备登记到 适用于 LoRaWAN 的 AWS IoT Core](lorawan-onboard-end-devices.md)。
+ 要更新多台设备的固件，您可以将它们添加到多播组。有关更多信息，请参阅[创建多播组向多台设备发送下行链路有效负载](lorawan-multicast-groups.md)。
+ 您将设备登记到 适用于 LoRaWAN 的 AWS IoT Core 时，指定 FUOTA 配置参数 `FPorts`。如果您使用的是 LoRaWan v1.0.x 设备，您还必须指定 `GenAppKey`。有关 FUOTA 配置参数的更多信息，请参阅 [为组播和 FUOTA 配置准备设备](lorawan-prepare-devices-multicast.md)。

## 将设备添加到 FUOTA 任务并使用控制台调度 FUOTA 会话
<a name="lorawan-fuota-devices-console"></a>

要使用控制台添加设备或多播组并调度 FUOTA 会话，请转到控制台的 [FUOTA 任务](https://console.aws.amazon.com/iot/home#/wireless/fuotaTasks)选项卡。然后，选择要向其添加设备的 FUOTA 任务并执行固件更新。

**添加设备和多播组**

1. 您可以将单个设备或多播组添加到 FUOTA 任务中。但是，您不能将单个设备和多播组添加到同一个 FUOTA 任务中。要使用控制台添加设备，请执行以下操作。

   1. 在**FUOTA 任务详细信息**中，选择 **Add device**（添加设备）。

   1. 选择您添加到任务中的设备频段或 **RFRegion**。此值必须与您为 FUOTA 任务选择的**RFRegion** 匹配。

   1. 选择是否要将单个设备或多播组添加到任务。
      + 要添加单个设备，请选择 **Add individual devices** （添加单个设备），然后输入要添加到 FUOTA 任务中的设备 ID。
      + 要添加多播组，请选择 **Add multicast groups**（添加多播组），然后将多播组添加到任务中。您可以使用设备配置文件或标签筛选要添加到任务中的多播组。按设备配置文件进行筛选时，可以选择带配置文件设备的多播组，已启用**支持 B 类**或**支持 C 类**。

1. 

**调度 FUOTA 会话**

   成功添加设备或多播组后，您可以调度 FUOTA 会话。要调度会话，请执行以下操作。

   1. 选择要更新其设备固件的 FUOTA 任务，然后选择 **Schedule FUOTA session**.（调度 FUOTA 会话）

   1. 为您的 FUOTA 会话指定**开始日期**和**开始时间**。确保开始时间是当前时间 30 分钟之后。

## 将设备添加到 FUOTA 任务并使用 API 调度 FUOTA 会话
<a name="lorawan-fuota-devices-api"></a>

您可以使用 AWS IoT Wireless API 或 CLI 将无线设备或多播组添加到 FUOTA 任务中。然后，您可以调度 FUOTA 会话。

1. 

**添加设备和多播组**

   您可以将无线设备或多播组与 FUOTA 任务关联起来。
   + 要将各单台设备与 FUOTA 任务关联，请使用 [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) API 操作或 [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) CLI 命令，然后将 `WirelessDeviceID` 作为输入。

     ```
     aws iotwireless associate-wireless-device-with-fuota-task \
         --id "01a23cde-5678-4a5b-ab1d-33456808ecb2"
         --wireless-device-id "ab0c23d3-b001-45ef-6a01-2bc3de4f5333"
     ```
   + 要将多播组与 FUOTA 任务关联，请使用 [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) API 操作或 [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) CLI 命令，然后将 `MulticastGroupID` 作为输入。

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

   将无线设备或多播组与 FUOTA 任务关联后，请使用以下 API 操作或 CLI 命令列出您的设备或多播组或将它们与任务取消关联。
   + [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) 或 [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) 或 [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) 或 [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) 或 [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) 
**注意**  
API：  
`MulticastGroupID` 作为筛选条件时，`ListWirelessDevices` 可以列出一般无线设备以及与多播组关联的设备。`FuotaTaskID` 作为筛选条件时，API 列出了与 FUOTA 任务关联的无线设备。
`FuotaTaskID` 作为筛选条件时，`ListMulticastGroups` 可以在下列情况下列出一般多播组和与 FUOTA 任务关联的多播组。

1. 

**调度 FUOTA 会话**

   设备或多播组成功添加到 FUOTA 任务后，您可以启动 FUOTA 会话更新设备固件。开始时间离当前时间必须至少有 30 分钟。要使用 API 或 CLI 调度 FUOTA 会话，请使用[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) API 操作或 [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)CLI 命令。

   启动 FUOTA 会话后，您无法再向任务添加设备或多播组。您可以使用 [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) API 操作或 [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)CLI 命令来获取有关 FUOTA 会话状态的信息。