

# 为组播和 FUOTA 配置准备设备
<a name="lorawan-prepare-devices-multicast"></a>

将无线设备添加到 适用于 LoRaWAN 的 AWS IoT Core 时，您可以使用控制台或 CLI 准备无线设备进行多播设置和 FUOTA 配置。如果您是第一次执行这一配置，我们建议您使用控制台。要管理多播组并从组中添加或删除多个设备，我们建议使用 CLI 管理大量资源。

## GenAppKey 和 FPort
<a name="lorawan-prepare-devices-parameters"></a>

添加无线设备时，请先配置下列参数，然后再将您的设备添加到多播组或执行 FUOTA。在配置这些参数之前，请确保您的设备支持 FUOTA 和组播，并且无线设备规格为 `OTAA v1.1` 或 `OTAAv1.0.x`。
+ `GenAppKey`：对于支持 LoRaWAN 1.0.x 版本的设备以及要使用多播组的设备，`GenAppKey` 是具体设备的根密钥，从中派生多播组的会话密钥。
**注意**  
对于使用无线规格 `OTAA v1.1` 的 LoRaWAN 设备，`AppKey` 的用途和 `GenAppKey` 相同。

  要设置参数来启动数据传输，适用于 LoRaWAN 的 AWS IoT Core 与终端设备一起分发会话密钥。有关 LoRaWAN 版本的更多信息，请参阅 [LoRaWAN 版本](lorawan-manage-end-devices.md#lorawan-lorawan-version)。
**注意**  
适用于 LoRaWAN 的 AWS IoT Core 存储了您以加密格式提供的 `GenAppKey` 信息。
+ `FPorts`：根据对 FUOTA 和多播组的 LoRaWAN 规范，适用于 LoRaWAN 的 AWS IoT Core 为 `FPorts` 参数的以下字段分配默认值。如果您已经分配了下列任意 `FPort` 值，您可以选择一个不同的可用值，从 1 到 223。
  + `Multicast`：200

    该 `FPort` 值用于多播组。
  + `FUOTA`：201

    该 `FPort` 值用于 FUOTA。
  + `ClockSync`：202

    该 `FPort` 值用于时钟同步。

## 多播和 FUOTA 的设备配置文件
<a name="lorawan-prepare-devices-profiles"></a>

在多播会话开始时，使用 B 类或 C 类分发窗口向组中的设备发送下行链路消息。为多播和 FUOTA 添加的设备必须支持 B 类或 C 类操作模式。根据您的设备支持的设备类别，选择启用 B 类或 C 类模式之一或两种模式的设备配置文件。

有关设备配置文件的更多信息，请参阅 [将配置文件添加到 适用于 LoRaWAN 的 AWS IoT Core](lorawan-define-profiles.md)。

## 使用控制台为多播和 FUOTA 做好设备准备
<a name="lorawan-prepare-devices-multicast-console"></a>

要使用控制台指定多播设置的 FPort 和 GenAppKey 参数和 FUOTA，请执行以下操作：

1. 导航到 [AWS IoT 控制台的设备中心](https://console.aws.amazon.com/iot/home#/wireless/devices)然后选择**添加无线设备**。

1. 选择**无线设备规格**。您的设备必须使用 OTAA 进行激活。选择 OTAA v1.0.x 或 OTAA v1.1 时，出现 **FUOTA 配置-可选**。

1. 输入无线设备的 EUI（扩展唯一标识符）参数。

1. 展开**FUOTA 配置-可选**部分然后选择**该设备支持无线固件更新 (FUOTA)**。现在，您可以输入多播、FUOTA 和时钟同步的 **FPort** 值。如果针对无线设备规格您选择了 `OTAA v1.0.x`，请输入 **GenAppKey**。

1. 通过选择您的个人资料和路由消息目标，将您的设备添加到 适用于 LoRaWAN 的 AWS IoT Core。对于链接到设备的设备配置文件，请确保选择**支持 B 类**或**支持 C 类**模式，或选择两种模式。

**注意**  
要指定 FUOTA 配置参数，您必须使用 [AWS IoT 控制台的设备中心](https://console.aws.amazon.com/iot/home#/wireless/devices)。如果您使用 AWS IoT 控制台的**简介**页面来登记设备，则不会出现这些参数。

有关无线设备规格和登记设备的更多信息，请参阅 [将您的无线设备添加到 适用于 LoRaWAN 的 AWS IoT Core](lorawan-end-devices-add.md)。

**注意**  
您只能在创建无线设备时指定这些参数。更新现有设备时无法更改或指定参数。

## 使用 API 操作为多播和 FUOTA 准备设备
<a name="lorawan-prepare-devices-multicast-api"></a>

要使用多播组或执行 FUOTA，请使用 [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateWirelessDevice.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateWirelessDevice.html) API 操作或 [https://docs.aws.amazon.com/cli/latest/reference/iotwireless/create-wireless-device.html](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/create-wireless-device.html) CLI 命令确认这些参数。除了指定应用程序密钥和 FPort 参数之外，请确保链接到设备的设备配置文件支持 B 类或 C 类模式或两者都支持。

您可以将 `input.json` 文件作为 `create-wireless-device` 命令的输入。

```
aws iotwireless create-wireless-device \
    --cli-input-json file://input.json
```

其中：

**input.json 的内容**

```
{
    "Description": "My LoRaWAN wireless device"
    "DestinationName": "IoTWirelessDestination"
    "LoRaWAN": {
        "DeviceProfileId": "ab0c23d3-b001-45ef-6a01-2bc3de4f5333",
        "ServiceProfileId": "fe98dc76-cd12-001e-2d34-5550432da100",
        "FPorts": { 
            "ClockSync": 202,
            "Fuota": 201,
            "Multicast": 200
      },
        "OtaaV1_0_x": {
            "AppKey": "3f4ca100e2fc675ea123f4eb12c4a012",
            "AppEui": "b4c231a359bc2e3d",
            "GenAppKey": "01c3f004a2d6efffe32c4eda14bcd2b4"
        },
        "DevEui": "ac12efc654d23fc2"
    },
    "Name": "SampleIoTWirelessThing"
    "Type": LoRaWAN
}
```

有关您可以使用的 CLI 的信息，请参阅 [AWS CLI 参考](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/index.html)。

**注意**  
指定这些参数的值之后，无法通过 `UpdateWirelessDevice` API 操作进行更新。相反，您可以使用参数 `GenAppKey` 和 `FPorts` 的值创建新的设备。

要获取这些参数指定值的信息，可以使用 [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetWirelessDevice.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetWirelessDevice.html) API 操作或 [https://docs.aws.amazon.com/cli/latest/reference/iotwireless/get-wireless-device.html](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/get-wireless-device.html) CLI 命令。

## 后续步骤
<a name="lorawan-prepare-devices-next"></a>

配置参数后，您可以创建多播组和 FUOTA 任务来发送下行链路有效负载或更新 LoRaWAN 设备的固件。
+ 有关创建多播组的更多信息，请参阅 [创建多播组并将设备添加到组](lorawan-create-multicast-groups.md)。
+ 有关创建 FUOTA 任务的更多信息，请参阅 [创建 FUOTA 任务并提供固件映像](lorawan-fuota-create-task.md)。