MQTT
AWS IoT Core
注記
デバイスは内蔵の GPS などを通じて自分の位置を知ることができます。AWS IoT はサードパーティのデバイスの位置追跡もサポートしています。詳細については、AWS IoT 開発者ガイド (デベロッパーガイド) の「AWS IoT コアデバイスのデータ」を参照してください。
以下のウォークスルーでは、AWS IoT Core ルールを使ったトラッキングについて説明します。Amazon Location に送信する前に処理する必要がある場合は、デバイス情報を独自の AWS Lambda 機能に送信することもできます。Lambda を使用してデバイスの位置を処理する方法の詳細については、「チュートリアル: MQTT で AWS Lambda を使用する」を参照してください。
トピック
前提条件
追跡を開始する前に、以下の前提条件を完了する必要があります。
-
デバイスの位置データを送信するトラッカーリソースを作成します。
-
トラッカーへの AWS IoT Core アクセスを許可する IAM ロールを作成します。
これらの手順を実行するときは、以下のポリシーを使用してトラッカーへのアクセスを許可してください。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "WriteDevicePosition", "Effect": "Allow", "Action": "geo:BatchUpdateDevicePosition", "Resource": "arn:aws:geo:*:*:tracker/*" } ] }
AWS IoT Core ルールを作成します
次に、デバイスの位置テレメトリを Amazon Location Service に転送する AWS IoT Core ルールを作成します。Lambda 関数 URL の詳細については、AWS IoT Core デベロッパーガイドの以下のトピックを参照してください。
-
「AWS IoT ルールの作成」には、新しいルールの作成に関する情報が記載されています。
-
Amazon Location に公開するためのルール作成に固有のロケーションアクション
チュートリアル: コンソールで AWS IoT Core ルールをテストする
現在位置情報を含むテレメトリを公開しているデバイスがない場合は、AWS IoT Core コンソールを使用してルールをテストすることができます。コンソールにはテストクライアントがあり、サンプルメッセージを公開してソリューションの結果を検証することができます。
-
AWS IoT Core コンソール (https://console.aws.amazon.com/iot/
) にサインインします。 -
左側のナビゲーションメニューの [テスト] で、[MQTT テストクライアント] を選択します。
-
トピックに公開で、トピック名を
iot/topic
(異なる場合は AWS IoT Core ルールで設定したトピックの名前) に設定し、メッセージペイロードには次のように入力します。{ "payload": { "deviceid": "thing123", "timestamp":
1604940328
, "location": { "lat": 49.2819, "long": -123.1187 }, "accuracy": { "Horizontal": 20.5 }, "positionProperties": { "field1": "value1", "field2": "value2" } } } -
テストメッセージを送信するには、[発行] を選択します。
-
メッセージが Amazon Location Service によって受信されたことを確認するには、次の AWS CLI コマンドを使用します。セットアップ中に変更した場合は、トラッカー名を使用していたものに置き換えてください。
aws location batch-get-device-position --tracker-name
MyTracker
--device-ids thing123