はじめに
この記事では、【第2回】 Azure接続編で接続したIoTデバイス(Acty-G3)から送られてくるGPSデータ(位置情報)を地図上に表示する方法を解説します。
Azure IoT CentralでGPS(位置情報)を可視化
Azure IoT Centralアプリケーションは、下記の緯度・経度を含む位置情報データフォーマット(geopointスキーマ型)のテレメトリデータを受信することで、MAP上に現在地や移動履歴をプロットすることができます。*1
"[データ名]": {
"lat": [緯度の値],
"lon": [経度の値],
"alt": [数値] }
}
|
しかし、IoTプラグアンドプレイ認定デバイスのモデル定義に使用されているDTDL仕様*2はgeopointスキーマ型が使用できないため、【第2回】 Azure接続編でIoTプラグアンドプレイ認定デバイス(CAT-G3)を使用してAzure IoT Centralアプリケーションの雛形として登録したデバイステンプレートにはgeopointスキーマ型のデータは存在せず、そのままでは位置情報の可視化を行うことができません。
でも、大丈夫!!
IoTデバイス(Acty-G3)はモデル定義に含まれるテレメトリデータの他に位置情報をgeopointスキーマ型で送信していますので、そのgeopointスキーマ型のデータをデバイステンプレートの通信インターフェース定義に追加することで、MAP上にプロットできる位置情報として受信することができます。
上述の内容は、現時点(2021/08/25)のAzure IoT Centralの制限で、GPS(位置情報)を可視化する際の設定手順が増える要因となっているので、今後IoTプラグアンドプレイ認定デバイスのモデル定義とAzure IoT Centralアプリケーションで共通に扱える位置情報のデータ型が定義されるともっと使いやすくなるかもしれません。
*1: 詳細は『Azure IoT Central ソリューションで位置データを使用する』をご確認ください。
*2: 詳細は『IoT プラグ アンド プレイのデジタル ツインを理解する』、および『Digital Twins Definition Language (DTDL)仕様』をご確認ください。
位置情報の可視化はどうやるの?
Azure IoT Centralで位置情報を可視化する手順を下記の順番で説明していきます。
-
位置情報を受信できるようにしよう
-
現在地を可視化してみよう
-
移動履歴を可視化してみよう
~ 位置情報を受信できるようにしよう ~
先に説明した通り、【第2回】 Azure接続編の設定完了時点ではAzure IoT Centralで位置情報の可視化を行うことができませんので、IoTデバイス(Acty-G3)が送信したテレメトリデータをMAP上にプロットできる位置情報として受信できるように設定しましょう。
- 「デバイステンプレート」をクリックします。 「CAT-G3」をクリックします。
- モデルから「CAT-G3」をクリックします。 「+機能の追加」をクリックします。
- 以下の情報を入力、及び選択し、最後に「保存」をクリックします。
- 表示名 : Tracking (任意の名前で構いません)
- 名前 : tracking (任意の名前で構いません)
- 機能の種類 : Telemetry
- セマンティックの種類 : Location
- スキーマ : Geopoint
以降の手順は、ついにデータを可視化する設定に入ります。
GPS衛星の電波を受信できる位置(屋内の場合は窓際)にIoTデバイス(Acty-G3)を設置しましょう。
~ 現在地を可視化してみよう ~
IoTデバイス(Acty-G3)から送られてくるGPSデータ(位置情報)を地図上に表示する手順を説明します。
- 「デバイステンプレート」をクリックします。 「CAT-G3」をクリックします。
- 「ビュー」をクリックします。
- 「デバイスの視覚化」をクリックします。
- ビューの設定をします。
- ビュー名 : 位置情報 (任意の名前でも構いません)
- タイルを追加します。ビジュアルから始めるを使います。
- 「マップ(テレメトリ)」を選択し、「タイルの追加」をクリックします。
- 「設定」をクリックします。
- マップの構成を設定します。最後に「更新」をクリックします。
- タイトル : 現在地 (任意の名前でも構いません)
- 時間の範囲 : 最新の値
- 場所 : Tracking (「~ 位置情報を受信できるようにしよう ~」で追加したテレメトリーの名前です)
- 「保存」をクリックします。
- 作成したビューを公開します。「公開」をクリックします。
- 「デバイス」 > 「CAT-G3」から【第2回】 Azure接続編で接続したIoTデバイス(Acty-G3)をクリックします。
- 「位置情報」タブを選択します。IoTデバイス(Acty-G3)から送られてきた位置情報がマップ上に表示されていることが確認できます。
マップ上に現在地がプロットされましたか?
現在地がプロットされている場合は、IoTデバイス(Acty-G3)から送られてくるGPSデータ(位置情報)を可視化できています。
もし現在地がプロットされていない場合は、
- IoTデバイス(Acty-G3)がAzureに接続できていない(Acty-G3の電源オフを含む)
- IoTデバイス(Acty-G3)がGPS衛星の電波を受信できない環境に設置されている
が原因として考えられます。
画面上部に表示されているデバイス接続状態が”Disconnected”の場合は、IoTデバイス(Acty-G3)がネットワーク接続できる環境であることを確認してください。”Connected”の場合は、GPS衛星の電波を受信できる位置(屋内の場合は窓際)までIoTデバイス(Acty-G3)を動かしてみてください。
それでもプロットされない場合は、本記事の『~ 位置情報を受信できるようにしよう ~』の手順に誤りがある可能性がありますので、設定を見直してみてください。
~ 移動履歴を可視化してみよう ~
IoTデバイス(Acty-G3)から送られてくるGPSデータ(位置情報)の移動履歴を地図上に表示する手順を説明します。
- 「デバイステンプレート」をクリックします。 「CAT-G3」をクリックします。
- ビューから現在地を可視化してみようで作成した「位置情報」をクリックします。
- タイルを追加します。ビジュアルから始めるを使います。
- 「マップ(テレメトリ)」を選択し、「タイルの追加」をクリックします。
- 「設定」をクリックします。
- マップの構成を設定します。最後に「更新」をクリックします。
- タイトル : 移動履歴 (任意の名前でも構いません)
- 時間の範囲 : 過去1日 (最新の値以外の任意の範囲で構いません)
- 場所 : Tracking (「~ 位置情報を受信できるようにしよう ~」で追加したテレメトリーの名前です)
- 「保存」をクリックします。
- 作成したビューを公開します。「公開」をクリックします。
- 「デバイス」 > 「CAT-G3」から【第2回】 Azure接続編で接続したIoTデバイス(Acty-G3)をクリックします。
- 「位置情報」タブを選択します。IoTデバイス(Acty-G3)から送られてきた位置情報がマップ上に表示されていることが確認できます。
マップ上に移動履歴がプロットされましたか?
移動履歴がプロットされている場合は、IoTデバイス(Acty-G3)から送られてくるGPSデータ(位置情報)を可視化できています。
もし移動履歴がプロットされていない場合は、
- IoTデバイス(Acty-G3)が手順6の「時間の範囲」で選択した範囲よりも長い期間Azureに接続できていない(Acty-G3の電源オフを含む)
- IoTデバイス(Acty-G3)がGPS衛星の電波を受信できない環境に設置されている
が原因として考えられます。
画面上部に表示されているデバイス接続状態が”Disconnected”の場合は、IoTデバイス(Acty-G3)がネットワーク接続できる環境であることを確認してください。”Connected”の場合は、GPS衛星の電波を受信できる位置(屋内の場合は窓際)までIoTデバイス(Acty-G3)を動かしてみてください。
次回の記事について
ここまでの手順でIoTデバイス(Acty-G3)位置情報を可視化することまで出来ました。次回の記事はAzure PnPのプロパティ設定やリモートコマンドの実行について解説していきます。
~~ 連載記事一覧 ~~