为组播和 FUOTA 配置准备设备 - AWS IoT Wireless

为组播和 FUOTA 配置准备设备

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

GenAppKey 和 FPort

添加无线设备时,请先配置下列参数,然后再将您的设备添加到多播组或执行 FUOTA。在配置这些参数之前,请确保您的设备支持 FUOTA 和组播,并且无线设备规格为 OTAA v1.1OTAAv1.0.x

  • GenAppKey:对于支持 LoRaWAN 1.0.x 版本的设备以及要使用多播组的设备,GenAppKey 是具体设备的根密钥,从中派生多播组的会话密钥。

    注意

    对于使用无线规格 OTAA v1.1 的 LoRaWAN 设备,AppKey 的用途和 GenAppKey 相同。

    要设置参数来启动数据传输,适用于 LoRaWAN 的 AWS IoT Core 与终端设备一起分发会话密钥。有关 LoRaWAN 版本的更多信息,请参阅 LoRaWAN 版本

    注意

    适用于 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 的设备配置文件

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

有关设备配置文件的更多信息,请参阅 将配置文件添加到 适用于 LoRaWAN 的 AWS IoT Core

使用控制台为多播和 FUOTA 做好设备准备

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

  1. 导航到 AWS IoT 控制台的设备中心然后选择添加无线设备

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

  3. 输入无线设备的 EUI(扩展唯一标识符)参数。

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

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

注意

要指定 FUOTA 配置参数,您必须使用 AWS IoT 控制台的设备中心。如果您使用 AWS IoT 控制台的简介页面来登记设备,则不会出现这些参数。

有关无线设备规格和登记设备的更多信息,请参阅 将您的无线设备添加到 适用于 LoRaWAN 的 AWS IoT Core

注意

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

使用 API 操作为多播和 FUOTA 准备设备

要使用多播组或执行 FUOTA,请使用 CreateWirelessDevice API 操作或 create-wireless-device 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 参考

注意

指定这些参数的值之后,无法通过 UpdateWirelessDevice API 操作进行更新。相反,您可以使用参数 GenAppKeyFPorts 的值创建新的设备。

要获取这些参数指定值的信息,可以使用 GetWirelessDevice API 操作或 get-wireless-device CLI 命令。

后续步骤

配置参数后,您可以创建多播组和 FUOTA 任务来发送下行链路有效负载或更新 LoRaWAN 设备的固件。