近似事件 - Amazon IoT Core
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

近似事件

Amazon IoT 从 Sidewalk 设备接收信标时近似事件发布事件通知。当您的 Sidewalk 设备接近 Amazon Sidewalk 时,Amazon Sidewalk 会按定期间隔筛选从您的设备发送的信标,并通过 Amazon IoT Wireless 接收信标。然后,在收到信标时,Amazon IoT Wireless 通知您这些事件。

近似事件的工作原理

近似事件会在 Amazon IoT 收到信标时通知您,您的 Sidewalk 设备可以随时发射信标。当您的设备靠近 Amazon Sidewalk 时,Sidewalk 将接收信标,并按定期时间间隔将信标转发给 Amazon IoT Wireless。Amazon Sidewalk 已将此时间间隔配置为 10 分钟。当 Amazon IoT Wireless 从 Sidewalk 接收到信标时,您将收到事件通知。

近似事件将在发现信标或信标丢失时通知您。您可以配置近似事件通知的时间间隔。

启用近似事件的通知

在 Sidewalk 近似保留主题的订阅方可以接收消息之前,必须从 Amazon Web Services Management Console 或使用 API 或 CLI 为订阅方启用事件通知。您可以为 Amazon Web Services 账户 中的所有 Sidewalk 资源或所选资源启用这些事件。有关如何启用这些事件的更多信息,请参阅 启用无线资源的事件

近似事件的 MQTT 主题的格式

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

Sidewalk 近似事件的保留 MQTT 主题使用以下格式:

  • 对于资源级主题:

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

  • 对于标识符主题:

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

其中:

{eventName}

{eventName} 必须是 proximity

{eventType}

{eventType} 可以是 beacon_discoveredbeacon_lost

{resourceType}

{resourceType} 可以是 sidewalk_accountswireless_devices

{resourceID}

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

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

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

注意

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

近似事件的消息负载

启用近似事件通知后,将通过 MQTT 随 JSON 负载一起发布事件消息。事件包含以下负载示例:

{ "eventId": "string", "eventType": "beacon_discovered|beacon_lost", "WirelessDeviceId": "string", "timestamp": "1234567890123", // Event-specific fields "Sidewalk": { "AmazonId": "string", "SidewalkManufacturingSn": "string" } }

负载包含以下属性:

eventId

唯一的事件 ID,字符串。

eventType

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

WirelessDeviceId

无线设备的标识符。

timestamp

事件发生时的 Unix 时间戳。

sidewalk

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