近接イベント - AWS IoT Wireless

近接イベント

近接イベントは、AWS IoT が Sidewalk デバイスからビーコンを受信したときにイベント通知を発行します。Sidewalk デバイスが Amazon Sidewalk に近づくと、デバイスから送信されるビーコンは Amazon Sidewalk によって定期的にフィルターされ、AWS IoT Wireless に送信されます。次に、ビーコンが受信されると、AWS IoT Wireless はこれらのイベントを通知します。

近接イベントの仕組み

近接イベントは AWS IoT がビーコンを受信すると通知されます。Sidewalk デバイスはいつでもビーコンを出力する可能性があります。デバイスが Amazon Sidewalk の近くにある場合、Sidewalk はビーコンを受信し、ビーコンを AWS IoT Wireless に一定の時間間隔で転送します。Amazon Sidewalk はこの時間間隔を 10 分に設定しています。AWS IoT Wireless が Sidewalk からビーコンを受信すると、イベントの通知が届きます。

近接イベントは、ビーコンが検出されたとき、またはビーコンが消失したときに通知されます。近接イベントが通知される間隔を設定できます。

近接イベントの通知を有効にする

Sidewalk 近接の予約済みトピックのサブスクライバーがメッセージを受信できるようにするには、AWS Management Console から、あるいは API または CLI を使用して、イベント通知を有効にする必要があります。これらのイベントは、AWS アカウント 内のすべての Sidewalk リソース、または選択したリソースに対して有効にできます。これらのイベントを有効にする方法の詳細については、「ワイヤレスリソースのイベントを有効にする」を参照してください。

近接イベントの MQTT トピックの形式

近接イベントの通知を受けるには、ドル ($) 記号で始まる MQTT 予約トピックをサブスクライブします。詳細については、AWS IoT デベロッパーガイドの「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_discovered または beacon_lost のいずれかになります。

{resourceType}

{resourceType} は、sidewalk_accounts または wireless_devices のいずれかになります。

{resourceID}

{resourceID} は sidewalk_accounts{resourceType} の amazon_id で、wireless_devices{resourceType} の wireless_device_id です。

また、ワイルドカード文字 + を使用して、複数のトピックを同時にサブスクライブできます。ワイルドカード文字 + は、その文字を含むレベル内の任意の文字列に一致します。例えば、可能なすべてのイベントタイプ (beacon_discovered および beacon_lost) について、特定の Amazon ID に登録されているすべてのデバイス関する通知を受ける場合、次のトピックフィルターを使用できます。

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

注記

予約済みトピックをサブスクライブするには、ワイルドカード文字 # を使用できません。トピックの詳細については、AWS IoT デベロッパーガイドの「MQTT トピックフィルター」を参照してください。

近接イベントのメッセージペイロード

近接イベントの通知を有効にすると、イベントメッセージは 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_discovered または beacon_lost のいずれかを設定できます。

WirelessDeviceId

ワイヤレスデバイスの識別子。

timestamp

イベントが発生したときの Unix タイムスタンプ。

sidewalk

イベント通知を受け取る Sidewalk Amazon ID または SidewalkManufacturingSn