IoT通信プラットフォーム「SORACOM」とクラウドGISプラットフォーム「ArcGIS Online」の連携 ~第3回 「SORACOM Funnel」 の設定~

Document created by hiromu_nakamuraesrij-esridist Employee on Nov 12, 2018Last modified by yuki_ozawaesrij-esridist on Nov 13, 2018
Version 13Show Document
  • View in full screen mode

はじめに

2018年10月17日から、クラウド連携をサポートするSORACOM FunnelPartner Hosted Adapterが、ESRIジャパン株式会社のArcGIS Onlineに連携を開始しました。

それに伴いまして、「IoT通信プラットフォーム「SORACOM」とクラウドGISプラットフォーム「ArcGIS Online」の連携シリーズで、3回にわたり連携手順をお伝えしています(1回目2回目)。

 

SORACOMとArcGIS Onlineの連携イメージ

参考:「位置情報をマップ上で可視化・分析できるArcGIS Online が株式会社ソラコムのSORACOM Funnelと連携開始」

 

SORACOMのSORACOM Funnelアダプターを使用して、SORACOM 対応デバイスからArcGIS Onlineフィーチャ サービス(フーチャ レイヤー)へのデータ転送が可能になりました。転送されたセンシングデータは、ArcGIS Onlineにて可視化・共有・解析することができます。

 

3回、いよいよ最終回となる今回は、デバイスからGISへのクラウド連携を完了させます。「第2 ArcGIS Online の設定」の完了が前提です。下図のステップ1~3を行っていきます。

オレンジの丸部分が今回の設定箇所

 

デバイスの購入とデバイス設定

SORACOM を使った通信を始めるにあたり、手っ取り早いのは、SORACOM認定デバイス一覧から、要件にマッチする、あるいは十分に近いデバイスを探すことです。見つからない場合は調達からし直すことになります。

デバイス側にしなければならない設定としては、データ送信先を SORACOM Funnel のエドポイントに固定することです。エンドポイントのアドレスは「funnel.soracom.io:23080」です。具体的な設定方法は各デバイスのマニュアルに記載されているはずです。

 

 

  送信先エンドポイントの設定例

 

ここで、デバイスが送信するデータの形式を確認しておいてください。マニュアルに記載されているはずです。重要な確認項目は下記の3点です。

  • 通信プロトコル(HTTPTCPMQTT?)
  • 送信データ圧縮形式(RAW=無圧縮/Base64/…?)
  • 具体的な送信内容(CSVJSON?何番目にデバイスID?)

 

グループの作成とデバイスの割り当て

デバイスを購入したら、そのデバイスが SORACOM にデータを送信したのち、そこからどうするのか、を設定することになります。SORACOM ではデバイスの設定を一括で行えるよう、グループを作成して設定を適用します。各基地局や交換局から SORACOM までセキュアに集まった情報が、SORAOCM のグループに振り分けられて、グループ設定毎にクラウドやサーバーに転送されるという仕組みです。

 

 

  デバイスからのデータ転送イメージ

 

実際にはグループはSIMLoRaSigfox3種類それぞれに存在するため、通信種類が異なるグループに所属することはできません(201810月現在)。グループの作成方法とデバイスの割り当て方法は、株式会社ソラコムのWebサイト「ユーザーコンソールの使い方」に掲載されています。新しいグループを1つ作成し、ArcGIS Online 向けと分かるような名前を付けます。

 

 

  グループの作成画面

 

なお、SORACOM Air設定時に既にグループ割り当てがされている場合、新たにグループ作成する必要はありません。Air の設定と Funnel の設定は同居可能です。

 

グループの SORACOM Funnel 設定

グループを作成し、SIM または デバイス(SORACOM Air for ○○)をグループに割り当て終わったら、そのグループの Funnel 設定を行います。

SORACOM ユーザーコンソールでメニューから設定したいグループを選択し、グループ一覧のなかから作成したグループ名をクリックし、グループ設定画面を開きます。開いた設定画面の中の [SORACOM Funnel 設定] を選択し、パネルを開いた状態にします。

左上の [OFF] 部分をクリックし、[ON] に切り替えると、転送先サービスが選択可能になります。転送先サービスのドロップダウン リストのなかから「Esri Japan ArcGIS Online」を選択します。

 

 

  SORACOM Funnel の設定画面

 

選択すると設定可能な箇所が増えるので、設定箇所を埋めていきます。[転送先URL] には前回作成した2つ目のフィーチャ サービスのURLを貼り付けます。

 

 

  SORACOM Funnel の設定画面

 

[転送データ設定] にはJSONの設定情報を貼り付ける必要があります。デバイスから送信されるデータと、ArcGIS Online のフィーチャ サービスのフィールドを紐づける設定になります。まずは、下記のJSON文字列をメモ帳などのテキスト エディタに貼り付けて編集します。

 

{
   "sendType": "",
   "delimiter": "",
   "encode": "",
   "d_id": "",
   "lat": "",
   "lng": "",
   "D_TIME": "",
   "v_dbl_1": "",
   "v_dbl_2": "",
   "v_dbl_3": "",
   "v_dbl_4": "",
   "v_int_1": "",
   "v_int_2": "",
   "v_str_1": "",
   "v_str_2": ""
}

 

それぞれの項目の内容と、フィーチャ サービスの転送先フィールドとの対応表は下記になります。(*)は必須設定です。

設定項目設定値転送先フィーチャサービスのフィールド名

sendType(*)

“json: デコード後の内容がJSON形式

“text”: デコード後の内容が区切り形式

delimiter

“text”の場合のみ有効の区切り文字を指定

,: CSVということ

“”: JSON形式の場合未設定

encode

“base64”: 送信されてくるデータがBase64エンコードされている場合に設定するとデコードする

“”: エンコードされていない場合は空に設定

d_id(*)

デバイス固有のID情報を設定

ABCDE: JSONの場合はKey名称を設定

“1”: CSV等のText形式の場合、分割後の位置を指定、数値は0からカウントアップ

“#imei”: 固有IDを送信しない場合、IMEI番号を利用可能

“#imsi”: 固有IDを送信しない場合、IMSI番号を利用可能

device_id

(String)

lat

GPSなどで位置が取れるデバイスは、緯度(Latitude, Breite)が送信されてくる場合はここに設定する。

逆に位置が無い、静止デバイスの場合は、ここは未設定。

NMEA文字列を飛ばす場合は、lat, lng の両方にNMEA文字列をセットすること

lng

GPSなどで位置が取れるデバイスは、経度(Longitude, Lange)が送信されてくる場合はここに設定する。

逆に位置が無い、静止デバイスの場合は、ここは未設定。

NMEA文字列を飛ばす場合は、lat, lng の両方にNMEA文字列をセットすること

D_TIME

送信したいデータのKey名称 or 区切った際のデータ格納位置

ABCDE: JSONの場合はKey名称を設定

“1”: CSV等のText形式の場合、分割後の位置を指定、数値は0からカウントアップ

“”: ない場合は空のまま

UNIXTIMEか文字列型に対応、エラーが出る場合はいったんv_str_1 or 2に格納してから加工すること

device_time

(DateTime)
v_dbl_14

送信したいデータのKey名称 or 区切った際のデータ格納位置

ABCDE: JSONの場合はKey名称を設定

“1”: CSV等のText形式の場合、分割後の位置を指定、数値は0からカウントアップ

“”: ない場合は空のまま

“#imei”: IMEI番号を格納したい場合

“#imsi”: IMSI番号を格納したい場合

value_double_14

(Double)
v_int_12

送信したいデータのKey名称 or 区切った際のデータ格納位置

ABCDE: JSONの場合はKey名称を設定

“1”: CSV等のText形式の場合、分割後の位置を指定、数値は0からカウントアップ

“”: ない場合は空のまま

value_integer_12

(Integer)

v_str_12

送信したいデータのKey名称 or 区切った際のデータ格納位置

ABCDE: JSONの場合はKey名称を設定

“1”: CSV等のText形式の場合、分割後の位置を指定、数値は0からカウントアップ

“”: ない場合は空のまま

“#imei”: IMEI番号を格納したい場合

“#imsi”: IMSI番号を格納したい場合

value_string_12

(String)

 

 

設定サンプルは下記のとおりです。

1.TR313Jからの情報登録 (移動体)

 

{
   "sendType": "text",
   "delimiter": ",",
   "encode": "base64",
   "d_id": "1",
   "lat": "10",
   "lng": "9",
   "D_TIME": "",
   "v_dbl_1": "11",
   "v_dbl_2": "12",
   "v_dbl_3": "13",
   "v_dbl_4": "",
   "v_int_1": "",
   "v_int_2": "",
   "v_str_1": "",
   "v_str_2": ""
}

 

2.Sens’it (Sigfox) からの情報登録 (静止デバイス)

 

{
   "sendType": "json",
   "delimiter": "",
   "encode": "",
   "d_id": "device",
   "lat": "",
   "lng": "",
   "D_TIME": "time",
   "v_dbl_1": "tempC",
   "v_dbl_2": "humidity",
   "v_dbl_3": "battery",
   "v_dbl_4": "rssi",
   "v_int_1": "mode",
   "v_int_2": "",
   "v_str_1": "station",
   "v_str_2": "modeText"
}

 

デバイスに応じたJSONの設定ができあがったら、SORACOM Funnel 設定画面上の [転送データ設定] ブロックに貼り付けます。

 

次に、認証情報を設定します。前回のブログでフィーチャ サービス(プロキシ サービス)に設定した、リファラ―URLを設定します。

 

 

  前回設定したリファラ―URL

 

SORACOM Funnel 設定画面の [認証情報] 一覧から選択するか、ドロップダウンリスト横の+ボタンをクリックして、新たにリファラ―URLを設定します。

 

 

 

[登録] ボタンで認証情報を登録すると、SORACOM Funnel 設定画面に戻ります。

最後に [送信データ形式] を設定します。[転送データ設定] に設定済みの JSON 内で “encode” を指定する場合は「バイナリ」を、それ以外は「JSON」か「テキスト」を、設定内容にあわせて選択します。

 

 

すべての設定が終わったら、SORACOM Funnel 設定パネルの左下にある [保存] ボタンをクリックして設定は終了です。

 

 

設定の保存後はすぐに SORACOM Funnel が動き出し、デバイスからの転送にあわせて ArcGIS Online 上のフィーチャ サービスにデータが格納されます。これで IoT デバイスから GIS へのクラウド連携が完了となります。

 

データがフィーチャ サービスに到達したかどうか、また、データをマップ上でどのように表現するか、などについては、「ArcGIS Online 逆引きガイド」に掲載されています。

 

3回にわたりお伝えしてきた “IoT通信プラットフォーム「SORACOM」とクラウドGISプラットフォーム「ArcGIS Online」の連携” ですが、連携方法をお伝えしたのみです。

ダッシュボードによる可視化、Web アプリケーションによる可視化、そしてマップ ビューアーが備える強力な解析機能を使って、はじめて IoTGIS の連携に価値が出てきます。ダッシュボードの設定方法については、また別の機会にお伝えしたいと思います。

 

お急ぎの方はぜひ、下記のオンライン ラーニング サイトや、ダッシュボードの作成にチャレンジして、ArcGIS Online の機能に触れてみてください。

 

はじめての ArcGIS Online

人口学的分析による子どもの貧困

到達圏分析による宅配の効率化

ダッシュボード オンライン

 

関連リンク

1 person found this helpful

Attachments

    Outcomes