设备注册状态事件 - Amazon IoT Core
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

设备注册状态事件

当设备注册状态发生变化时,设备注册状态事件会发布事件通知。发布通知,例如在配置或注册了 Sidewalk 设备时。这些事件为您提供有关设备从配置到注册所经历的状态的信息。

设备注册状态事件的工作原理

当您使用 Amazon Sidewalk 和 Amazon IoT Wireless 登录 Sidewalk 设备时, Amazon IoT Wireless 会执行一项操作。create然后,它会将你的 Sidewalk 设备添加到你的 Amazon Web Services 账户。然后,您的设备进入预调配状态,然后 eventType变成 provisioned。有关搭载您的设备的更多消息,请参阅 入门 适用于 Amazon Sidewalk 的 Amazon IoT Core

在您的设备运行完毕后provisioned,Amazon Sidewalk 会执行一项register操作。然后,它会将你的 Sidewalk 设备注册为 Amazon IoT 无线。注册过程开始,在此处设置加密和会话密钥 Amazon IoT。注册设备后,eventType 变成 registered,并且您的设备已能够使用。

设备启动后registered,Sidewalk 可以向deregister您的设备发送请求。 Amazon IoT 然后,Wireless 会满足请求并将设备状态更改回。provisioned有关设备状态的更多信息,请参阅DeviceState

启用设备注册状态事件的通知

在设备注册状态保留主题的订阅方可以接收消息之前,必须从 Amazon Web Services Management Console 或使用 API 或 CLI 为其启用事件通知。您可以为自己的所有 Sidewalk 资源 Amazon Web Services 账户 或特定资源启用这些事件。有关如何启用这些事件的更多信息,请参阅 启用无线资源的事件

设备注册状态事件的 MQTT 主题格式

要通知设备注册状态事件,您可以订阅以美元 ($) 符号开头的 MQTT 保留主题。有关更多信息,请参阅MQTT 主题

Sidewalk 设备注册状态事件的保留 MQTT 主题使用以下格式:

  • 对于资源级主题:

    $aws/iotwireless/events/{eventName}/{eventType}/sidewalk/wireless_devices

  • 对于标识符主题:

    $aws/iotwireless/events/{eventName}/{eventType}/sidewalk/{resourceType}/{resourceID}/{id}

其中:

{eventName}

{eventName} 必须是 device_registration_state

{eventType}

{eventType} 可以是 provisionedregistered

{resourceType}

{resourceType} 可以是 sidewalk_accountswireless_devices

{resourceID}

{resourceID} 对于 {resourceType} sidewalk_accountsamazon_id,对于 {resourceType} wireless_deviceswireless_device_id

您还可以使用 + 通配符同时订阅多个主题。+ 通配符匹配级别中包含字符的任何字符串。例如,如果您希望收到所有可能的事件类型(provisionedregistered)的通知以及注册到特定 Amazon ID 的所有设备通知,可以使用以下主题筛选条件:

$aws/iotwireless/events/device_registration_state/+/sidewalk/sidewalk_accounts/amazon_id/+

注意

您不能使用通配符 # 订阅保留主题。有关主题筛选条件的更多信息,请参阅 主题筛选条件

设备注册状态事件的消息负载

启用设备注册状态事件的通知后,事件通知将通过 MQTT 随 JSON 负载一起发布。事件包含以下负载示例:

{ "eventId": "string", "eventType": "provisioned|registered", "WirelessDeviceId": "string", "timestamp": "timestamp", // Event-specific fields "operation": "create|deregister|register", "Sidewalk": { "AmazonId": "string", "SidewalkManufacturingSn": "string" } }

负载包含以下属性:

eventId

唯一事件 ID (字符串)。

eventType

发生的事件类型。可以是 provisionedregistered

wirelessDeviceId

无线设备的标识符。

timestamp

事件发生时的 Unix 时间戳。

操作

触发事件的操作。有效值包括 createregisterderegister

sidewalk

您要接收其事件通知的 Sidewalk Amazon ID 或 SidewalkManufacturingSn