MEGAZONE

MEGAZONEブログ

Asset tracking using location-based services and Amazon Sidewalk
IoT re:Invent 2023

Asset tracking using location-based services and Amazon Sidewalk

Pulisher : Cloud Technology Center チュ・ジェビン
Description:Amazon Sidewalkの実践セッションで、Sidewalkプロファイルでデバイスをオンボーディングした後、Sidewalkネットワークを経由してそのデバイスが実際にクラウドに接続される過程を確認するWorkshopセッション

通常、位置追跡をアプリケーションというと、モバイル端末のGPS情報とGoogleマップAPIを利用するアプリケーションが多かったと思いますが、AWSが提供するサービスでもこのような位置追跡機能を実装することができます。あえてGPS位置情報を利用しなくてもね。 (WIFIスキャンやGNSSについて確認してみてください。)

Amazon Sidewalk、AWS IoT DeviceLocation、Amazon Location Serviceを組み合わせて簡単な位置追跡システムを今回の実習で構成するそうですが、AWSネイティブに位置追跡ソリューションを作ってみるということで、申し込まずにはいられないワークショップセッションでした。

(本セッションはUSリージョンで実施可能な内容です。)

一旦セッション会場に入ると、席ごとに一つずつ赤いボードが置かれています。この機器はWioTracker WM1110 Dev Boardと呼ばれるもので、WM1110モジュールはWiFIスキャンやGNSSで位置データを収集し、BLEもしくはLoRa電波を使ってSideWalkネットワークブリッジと通信する機能を備えています。

ボードの横の部分には追加センサーを追加しやすいように拡張ポートを保有している様子です。 今回のハンズオンでは位置データを収集してAWS IoT Coreに送信する部分を担当することになります(そして、家に持ち帰ることができます)。

会場にはビーコンが一定間隔で設置されていますが、これがSideWalkネットワークを構成するビーコンです。

実習に入る前に、選手理論学習がありました。

Amazon Sidewalkとは?

・数百万台のデバイスをゲートウェイとして、AWSクラウドでモノの接続を可能にするコミュニティネットワークです。
・米国人口の90%をカバーすることができます。
・低消費電力のIoTデバイスがBluetoothとLoRaプロトコルでAWSクラウドに接続できるようにします。

Amazon Location Serviceとは?

・Amazon Location Serviceは、あなたのアプリケーションに地図/地形サービスを追加することができる完全に管理されたサービスです。

・地図、地形、地点、住所、座標系、経路計算、経路追跡、ジオフェンシング、アラームなど、地図アプリケーションで期待される様々な機能をカバーします。

・今回のセッションを進めると、Webページを開いてAmazon Location Serviceの地図が表示されますが、Amazon SideWalkで把握されたWM1110 Dev Boardの位置がポイントとして表示されます。

WM1110 Dev Boardに関する仕様は、下表をご参照ください。

実践アーキテクチャ

1.WM1110 Dev BoardをAWS IoT LPWANモノとして登録します。
2.ボードはAmazon SideWalk Networkと接続され、アップリンクメッセージがAWS IoT Coreに伝達されます。

3.AWS IoT Rulesで定義されたようにAWS Lambda関数を経由してAmazon RDSに保存されます。 だけでなく、Amazon Location Serviceに地点を表示するための関数も呼び出されます。
4.Amazon Location ServiceはReactで作成されたAWS AppSyncフロントエンドページで地図の形で表示されます。
5.一方、Amazon Location Serviceのジオフェンス範囲を外れるイベントがAmazon EventBridgeで検出されることがありますが、これを基にイベントベースの後処理をすることができます。

デバイスのオンボーディング

デバイスにアプリケーションをアップロードする予定ですが、特別な手順で「ブートローダーモード」に変更します。

RESTダブルタップ – USERボタンホールド状態でRESETボタンをタップ

すると、オペレーティングシステムがデバイスを検出します。セッションの内容に従い、AssetTrackerDeviceApp.uf2ファイルをビルドし、そのファイルをデバイスに移動して、アセットトラッカーアプリとアイデンティティをアップロードする準備が整いました。

この過程で、デバイスをブートローダーモードに変更してもOSで検出されないという問題を経験しました。 この場合、周辺を歩き回っていたアシスタントの方に説明をして、その方のパソコンにデバイスを接続し、アプリケーションをロードする過程を実行しました。

AWS IoT> Manage> LPWAN> devices Profilesメニューで確認できるプロトタイプ用プロファイルは、セッションで提供されたprovision_sidewalk_asset_tracker.pyスクリプトを利用してデバイスに構成します。

ハンズオンセッションはCloudFrontに配布されたシリアルコンソールを提供します。シリアルコンソールに接続し、コンピュータと接続されたデバイスを確認することができました。

今回はデバイスで発生したLPWANメッセージをAWS ioT Coreトピックで受信するようにします。

AWS IoT> LPWAN devices> DestinationsでAssetTrackerUplinkを選択して保存します。

これで、AWS IoT CoreテストMQTTクライアントからLPWANアップリンクメッセージの形でデータが受信されます。

今後、PayloadDataの部分にAWS IoT Core Device Locationが活用できる位置データを含める予定です。

マップの構成

アセットトラッカーのためのマップを構成する過程を簡単に説明します。Amazon Location Serviceコンソールでマップを1つ作成し、ルート計算機、ジオフェンス、トラッカーを作成し、位置の更新時に反応するEventBridgeイベントルールを設定しました。

イベントパターン

{
“source”: [“aws.geo”],
“detail-type”: [“Location Geofence Event”]
}

ウェブアプリケーション確認

今まで構成したAmazon Location Serviceマップはセッションが提供したReactベースのフロントエンドページで表示可能です。

PayloadDataにインプットされた位置データはIoT Core Device Locationに取り込まれ、必要に応じて照会されます。

CloudFrontに配備されたWebアプリケーションの地図画面です。

WM1110デバイスの位置が表示されます。セッション場所が横x縦50メートル前後なので、その場所でMacBookと噛まれたデバイスを持ち歩きながら、微弱なマーカーの変化を検出することができました。

米国でのみ実施できるAmazon Sidewalkの実践体験でした。Sidewalkプロファイルでデバイスをオンボーディングした後、Sidewalkネットワークを経由して当該デバイスが実際にクラウドに接続される過程を確認することができました。

また、PayloadDataにAWS IoT Device Locationが利用可能な位置データを含め、位置変化イベントを基にAmazon EventBridgeルールを設定し、Web上に表現されたAmazon Location Serviceマーカーを変更してみることで構成を確認しました。

これは、完全にAWSネイティブなソリューションで物体の位置を継続的に追跡し、地図上に可視化することが可能であることを示しています。

Wi-Fiと比較すると、LoRaを利用するAmazon Sidewalkははるかに少ない帯域幅要求量を持ちます。 そのため、アカウント当たりSidewalkのデータ使用量は500MBしかないそうですが、この容量は10分間の映像の長さなので、低帯域幅レベルを実感することができます。 したがって、低電力、低性能デバイスをAWS IoTまで連動させるために十分に活用する余地があるソリューションだと考えられます。

ブログ一覧

この記事の読者はこんな記事も読んでいます