Sidewalk デバイスのオンボーディングの概要
このセクションでは、Sidewalk エンドデバイスを AWS IoT Core for Amazon Sidewalk にオンボードする方法について説明します。デバイスをオンボードするには、まず Sidewalk デバイスを追加し、次にデバイスをプロビジョニングして登録し、ハードウェアをクラウドアプリケーションに接続します。このチュートリアルを実行する前に、Python および AWS CLI のインストール を確認して完了してください。
以下の手順は、Sidewalk のエンドデバイスを AWS IoT Core for Amazon Sidewalk にオンボードして接続する方法を示しています。AWS CLI を使用してデバイスをオンボードする場合は、このセクションに記載されているサンプルコマンドを参照してください。AWS IoT コンソールを使用してデバイスをオンボードする方法については、「AWS IoT Core for Amazon Sidewalk への接続」を参照してください。
重要
オンボーディングワークフロー全体を実行するには、エンドデバイスをプロビジョニングして登録し、Hardware Development Kit (HDK) を接続します。詳細については、「Amazon Sidewalk ドキュメント」の「エンドデバイスのプロビジョニングと登録
トピック
ステップ 1: AWS IoT Core for Amazon Sidewalk に Sidewalk デバイスを追加する
Sidewalk エンドデバイスを AWS IoT Core for Amazon Sidewalk に追加するために実行する手順の概要を次に示します。デバイスプロファイルと作成したワイヤレスデバイスについて取得した情報を保存します。この情報を使用して、エンドデバイスのプロビジョニングと登録を行います。これらのステップの詳細については、AWS IoT Core for Amazon Sidewalk にデバイスを追加するを参照してください。
-
デバイスプロファイルの作成
Sidewalk デバイスの共有設定を含むデバイスプロファイルを作成します。プロファイルを作成するときは、プロファイルの
を英数字の文字列で指定します。プロファイルを作成するには、AWS IoT コンソールの [プロファイル] ハブの Sidewalk] タブname
に移動して [プロファイルを作成] を選択するか、この例に示すように CreateDeviceProfile
API オペレーションまたはcreate-device-profile
CLI コマンドを使用します。// Add your device profile using a name and the sidewalk object. aws iotwireless create-device-profile --name
sidewalk_profile
--sidewalk {} -
Sidewalk のエンドデバイスの作成
AWS IoT Core for Amazon Sidewalk で Sidewalk のエンドデバイスを作成します。送信先名と、前の手順で取得したデバイスプロファイルの ID を指定します。デバイスを追加するには、AWS IoT コンソールの [デバイス] ハブの Sidewalk タブ
に移動して [デバイスをプロビジョニング] を選択するか、この例に示すように CreateWirelessDevice
API オペレーションまたはcreate-wireless-device
CLI コマンドを使用します。注記
送信先には、AWS アカウント と AWS リージョン に固有の名前を指定してください。AWS IoT Core for Amazon Sidewalk に送信先を追加するときには、同じ送信先名を使用します。
// Add your Sidewalk device by using the device profile ID. aws iotwireless create-wireless-device --type "Sidewalk" --name
sidewalk_device
\ --destination-nameSidewalkDestination
\ --sidewalk DeviceProfileId="12345678-234a-45bc-67de-e8901234f0a1"
-
デバイスプロファイルとワイヤレスデバイス情報を取得する
デバイスプロファイルとワイヤレスデバイス情報を JSON として取得します。JSON には、デバイスの詳細、デバイス証明書、プライベートキー、
DeviceTypeId
、および Sidewalk 製造シリアル番号 (SMSN) に関する情報が含まれます。-
AWS IoT コンソールを使用している場合は、[デバイス] ハブの [Sidewalk] タブ
を使用して、Sidewalk エンドデバイス用の結合された JSON ファイルをダウンロードできます。 -
API オペレーションを使用している場合は、API オペレーション
GetDeviceProfile
やGetWirelessDevice
から取得したレスポンスを、
やdevice_profile.json
などの個別の JSON ファイルとして保存します。wireless_device.json
// Store device profile information as a JSON file. aws iotwireless get-device-profile \ --id
"12345678-a1b2-3c45-67d8-e90fa1b2c34d"
>device_profile.json
// Store wireless device information as a JSON file. aws iotwireless get-wireless-device --identifier-type WirelessDeviceId \ --identifier"23456789-abcd-0123-bcde-fabc012345678"
>wireless_device.json
-
ステップ 2: Sidewalk エンドデバイスの送信先の作成
AWS IoT Core for Amazon Sidewalk に送信先を追加するために実行する手順の概要は次のとおりです。AWS Management Console、または AWS IoT Wireless API オペレーション、もしくは AWS CLI を使用して、次の手順を実行して AWS IoT ルールと送信先を作成します。その後、ハードウェアプラットフォームに接続し、メッセージを表示および交換できます。このセクションの AWS CLI の例で使用されている IAM ロールと AWS IoT ルールのサンプルについては、「送信先の IAM ロールと IoT ルールを作成する」を参照してください。
-
IAM ロールの作成
データを AWS IoT ルールに送信するための AWS IoT Core for Amazon Sidewalk アクセス許可を付与する IAM ロールを作成します。このロールを作成するには、
CreateRole
API オペレーションまたはcreate-role
CLI コマンドを使用します。ロールには
という名前を付けることができます。SidewalkRole
aws iam create-role --role-name lambda-ex \ --assume-role-policy-document
file://lambda-trust-policy.json
-
送信先のルールを作成する
デバイスのデータを処理し、メッセージを公開するトピックを指定する AWS IoT ルールを作成します。ハードウェアプラットフォームに接続すると、このトピックに関するメッセージが表示されます。AWS IoT Core API オペレーション
CreateTopicRule
、または AWS CLI コマンドcreate-topic-rule
を使用して、送信先のルールを作成します。aws iot create-topic-rule --rule-name
Sidewalkrule
\ --topic-rule-payloadfile://myrule.json
-
送信先を作成する
Sidewalk デバイスを、他の AWS サービス で使用できるように処理する IoT ルールに関連付ける送信先を作成します。AWS IoT コンソールの [送信先] ハブ
、 CreateDestination
API オペレーション、またはcreate-destination
CLI コマンドを使用して送信先を追加できます。aws iotwireless create-destination --name
SidewalkDestination
\ --expression-type RuleName --expressionSidewalkRule
\ --role-arn arn:aws:iam::123456789012
:role/SidewalkRole
ステップ 3: エンドデバイスのプロビジョニングと登録
Python コマンドを使用して、エンドデバイスをプロビジョニングして登録できます。プロビジョニングスクリプトは、取得したデバイスの JSON データを使用して製造用バイナリイメージを生成し、ハードウェアボードにフラッシュします。次に、ハードウェアプラットフォームに接続するためのエンドデバイスを登録します。詳細については、「Amazon Sidewalk ドキュメント」の「エンドデバイスのプロビジョニングと登録
注記
Sidewalk エンドデバイスを登録する際には、ゲートウェイが Amazon Sidewalk にオプトインしていて、ゲートウェイとデバイスがお互いの通信範囲内にある必要があります。
ステップ 4: Sidewalk デバイスへの接続とメッセージの交換
エンドデバイスを登録したら、エンドデバイスを接続してメッセージやデバイスデータの交換を開始できます。
-
Sidewalk エンドデバイスの接続
HDK をコンピュータに接続し、ベンダーのマニュアルに記載されている指示に従って HDK に接続します。詳細については、「Amazon Sidewalk ドキュメント」の「エンドデバイスのプロビジョニングと登録
」を参照してください。 -
メッセージの表示と交換
MQTT クライアントを使用して、ルールで指定されたトピックをサブスクライブし、受信したメッセージを表示します。
SendDataToWirelessDevice
API オペレーションまたはsend-data-to-wireless-device
CLI コマンドを使用して、デバイスにダウンリンクメッセージを送信し、接続ステータスを確認することもできます。(オプション) メッセージ配信ステータスイベントを有効にして、ダウンリンクメッセージが正常に受信されたかどうかを確認できます。
aws iotwireless send-data-to-wireless-device \ --id
"<Wireless_Device_ID>"
\ --payload-data"SGVsbG8gVG8gRGV2c2lt"
\ --wireless-metadata Sidewalk={Seq=1,AckModeRetryDurationSecs=10}