1 © NEC Corporation 2019
データ流通プラットフォームの使い方
2019年9月
NEC
NECxさくらインターネット データ流通実証実験
あなたのデータ活用してみませんか?データ流通プラットフォームによるデータ可視化のハンズオンセミナー (大阪, 東京, 福岡)
目次
データ流通プラットフォームの全体像 3
データマーケットプレイス
オープンデータ・カタログ
データの可視化機能
Web API
データ流通プラットフォームの実現方式 8
エンティティとコンテキスト情報
NGSIデータモデル
コンテキスト・データのJSON表現例
FIWARE Data Models
NGSIとは
主なNGSI API
何から始めればよいか? 15
サイト情報 16
ハンズオン 17
3 © NEC Corporation 2019
データ流通プラットフォームの全体像
IoTデータ, オープンデータの利活用をサポートするGUIとWeb APIを提供
▌GUI
データマーケットプレイス オープンデータ・カタログ データの可視化機能
ID管理 (ログイン)
▌Web API*
データの取得、更新、更新の通知取得
IoTデバイスへの入出力
短期履歴データの取得
*Web API : HTTPプロトコルを用いたアプリケーションのためのAPI。curlコマンドやJavaScript, Python等から呼び出し可能
4 © NEC Corporation 2019
データマーケットプレイス
データの売買を行うサイトです。利用したいデータがあれば、こちらで購入することができます。また、データを販売することもできます
注 : マーケットプレイスでは実験目的で、データに対して仮の値付けをしていますが、実験でのデータの取引に対して有償の取引が行われるわけではありません。
5 © NEC Corporation 2019
オープンデータ・カタログ
購入可能なデータや購入したデータの一覧や詳細を確認できます
6 © NEC Corporation 2019
データの可視化機能
オープンデータやセンサデータを可視化できます
※データの出典:福岡市 地下鉄位置情報(福岡市営地下鉄)https://ckan.open-governmentdata.org/dataset/subway
7 © NEC Corporation 2019
Web API
アプリはHTTPリクエストでデータの取得/変更、IoTデバイスの制御可能
実証実験システム
①最新データの取得②履歴データの取得
④データ更新の通知③データ登録・更新
アプリケーション(curlコマンド, JavaScriptやPythonのプログラム, 可視化機能)
HTTPリクエスト
IoTデバイス オープンデータ
①最新データの取得 : 各種データの取得。センサ値の取得。温度など
②履歴データの取得 : 各種データの履歴。一定期間の温度の履歴
③データ登録・更新 : 各種データの保存/更新
④データ変更の通知 : 例えばセンサ値が一定以上の値になったときにアプリが通知を受けることが可能。アプリはデータ値の変化を常に監視する必要なし
⑤デバイス制御 : LED点灯などのアクチュエーション
データソース
③データ登録・更新 ③データ登録・更新⑤デバイス制御
8 © NEC Corporation 2019
データ流通プラットフォームの実現方式
スマートアプリケーションのプラットフォームのFIWAREを利用
▌FIWAREは各種データを中継するインタフェースにオープン標準のNGSIを採用
*NGSI : Next Generation Service Interface
データマーケットプレイスBusiness API Ecosystem
オープンデータ・カタログckan + ckan extension
データの可視化機能WireCloud
FIWARE NGSIID管理Keyrock
IoTデバイス管理IoT Agent コンテキスト永続化
Cygnus
短期履歴Comet
IoTデバイス
コンテキスト管理Orion
9 © NEC Corporation 2019
エンティティとコンテキスト情報
・エンティティとは、実世界におけるモノ・コトの表現・コンテキスト情報とは、エンティティを特徴付ける属性値
バス• 位置情報• 乗客数• ドライバ• ナンバープレート
市民• 名前• 誕生日• 好み• ロケーション• ToDoリスト
店舗• ロケーション• 店舗名• フランチャイズ• 販売する商品
実世界のモノ・コト
エンティティ
コンテキスト情報
10 © NEC Corporation 2019
NGSIデータモデル
モノ・コトを Entity – Attributes – Metadata のデータ構造で表現
Attributes
• Name• Type• Value
Entity
• EntityId• EntityType
1 n
“has”
Metadata
• Name• Type• Value1 n
“has”
11 © NEC Corporation 2019
コンテキスト・データのJSON表現例
id : P-9073-Ktype : Car
name : speedtype: Numbervalue : 112
name : accuracytype: Numbervalue : 5
name : timestamptype: DateTimevalue : 2017……
Entity
Attributes
Metadata
Metadata
※NGSIv1のJSON表現
{
"id": "P-9073-K",
"type": "Car",
"speed": {
"type": "Number",
"value": 112,
"metadata": {
"accuracy": {
"type": "Number",
"value": 5
},
"timestamp":{
"type": "DateTime",
"value": "2017-10-
14T07:21:24.238Z"
}
}
}
}
12 © NEC Corporation 2019
FIWARE Data Models
“Internet of Things”(IoT)分野で調和の取れたスキーマを作成するために schema.org の設計原則とワークフローを採用
• IoTおよび非IoTアプリケーションを橋渡しするセマンティック相互運用性の実現を目指す
アラーム
Point of Interest (POI)
デバイス
廃棄物管理
Point of Interest (POI)
駐車場
運輸・交通
市政課題の追跡管理(Open311互換)
公園、庭園 環境
街灯
天候
各種指標
13 © NEC Corporation 2019
NGSIとは
REST APIとJSONを使いコンテキスト情報を管理するインタフェース
▌NGSIを実装したサーバがOrion Context Broker
提供者によるコンテキスト情報の更新
利用者によるコンテキスト情報のクエリ、通知の受信 (同期型の取得、非同期型の取得)
Orion Context Broker
コンテキスト情報の提供者
コンテキスト情報の利用者
サブスクリプション
更新
クエリ
通知
通知
更新
更新
DB
1026
1026
14 © NEC Corporation 2019
主なNGSI API
▌エンティティを操作するAPIs
• GET /v2/entities• 全エンティティの取得
• POST /v2/entities• エンティティの作成
• GET /v2/entities/{entityID}• エンティティの取得
• [PUT|PATCH|POST] /v2/entities/{entityID}• エンティティの更新
• DELETE /v2/entities/{entityID}• エンティティの削除
• GET /v2/entities/{entityID}/attrs• 全属性の取得
• PUT /v2/entities/{entityID}/attrs/{attrName}• 属性の更新
• GET /v2/entities/{entityID}/attrs/{attrName}• 属性の取得
• DELETE /v2/entities/{entityID}/attrs/{attrName}• 属性の削除
• GET /v2/entities/{entityID}/attrs/{attrName}/value• 属性値の取得
• PUT /v2/entities/{entityID}/attrs/{attrName}/value• 属性値の更新
▌属性を操作するAPIs
• GET /v2/subscriptions• 全サブスクリプションの取得
• POST /v2/subscriptions• サブスクリプションの作成
• GET /v2/subscriptions/{subscriptionID}• サブスクリプションの取得
• [PUT|PATCH|POST] /v2/subscriptions/{subscriptionID}• サブスクリプションの更新
• DELETE /v2/subscriptions/{subscriptionID}• サブスクリプションの削除
▌サブスクリプションを操作するAPIs
15 © NEC Corporation 2019
何から始めればよいか?
▌実証環境でできることを理解したい方
まずはGUIから初めて見てください
1. WireCloudに慣れる
2.実証環境にあるデータを可視化してみる
3.オープンデータをデータ変換ツールを使用して実証環境に入れて、可視化してみる
▌センサデータを実証環境に登録したい方
Web APIを試してみてください
1.NGSI APIとJSONによるデータの基本を理解
・実証環境のドキュメントにある「オープンデータへのアクセス」を試してみる
・FIWARE Foundationが公開しているチュートリアルを試してみる
2.IoT AgentのAPIの基本を理解
・FIWARE Foundationが公開しているチュートリアルを試してみる
3.データを登録したら、WireCloudを使ってデータを可視化してみる
▌困ったときは?
実証環境の掲示板でご質問ください
16 © NEC Corporation 2019
サイト情報
▌FIWARE実証実験サイト
https://www.fiware-testbed.jp/
▌データ流通実証実験・参加者サイト
https://forum.fiware-testbed.jp/
▌FIWARE実証実験環境のドキュメント
https://documents.fiware-testbed.jp/
本日の資料はこちらからダウンロードできます。
ハンズオン
GUI編
WireCloudへのログイン
WireCloudチュートリアル
AEDオープンデータの可視化
データ変換ツール
Web API編
curlコマンドを使ったオープンデータへのアクセス
18 © NEC Corporation 2019
WireCloudへのログイン
④WireCloud/home の画面が表示されればログイン完了です
③初回のログイン時のみ、WireCloudへのアクセスを確認する画面が表示されます。Authorize をクリックしてください
①https://wirecloud.fiware-testbed.jp/ にアクセスして、右上の Sign in をクリック
②ID管理の画面でユーザとパスワードを入力し、Sign in をクリックしてください
ログイン
19 © NEC Corporation 2019
WireCloudチュートリアル (1/2)
WireCloudのWidget, operator, wiring の概念を理解するためのチュートリアルです
画面右上の▼のメニューから、Tutorials->Basic concepts を選択して、画面の指示に従ってください。
チュートリアル
20 © NEC Corporation 2019
WireCloudチュートリアル (2/2) チュートリアル
チュートリアルの実行画面 チュートリアルの設定画面
・チュートリアルが一通り終了したら、“Video Player”のWidgetを追加して、ビデオを再生できるようトライしてみてください
21 © NEC Corporation 2019
AED(自動体外式除細動器)オープンデータの可視化
画面中央上のハンバーガーアイコン(三)をクリックして、New workspace を選択して作成します。ワークスペースの名前を設定してください
AED可視化
22 © NEC Corporation 2019
OpenLayers Map Widgetの追加
ハンバーガーアイコンの右側の Add components アイコンを選び、左側の一覧から、OpenLayers Map Widgetを追加します。(+) を選択。
AED可視化
23 © NEC Corporation 2019
Wiringの画面に移動
Add components の右側の Wireing アイコン を選択
AED可視化
24 © NEC Corporation 2019
Wiring画面に移動
ハンバーガーアイコンの右側の Find components アイコンを選び、Wiringのエリアに、Widgets と Operator を追加します。
AED可視化
25 © NEC Corporation 2019
OpenLayers Mapを追加 AED可視化
26 © NEC Corporation 2019
FIWARE data model To PoIとNGSI sourceを追加 AED可視化
WidgetとOperatorをWiringします
27 © NEC Corporation 2019
データソース(NGSI source)を設定
項目 設定値
NGSI server URL https://orion.fiware-testbed.jp/
NGSI proxy URL https://ngsiproxy.fiware-testbed.jp
FIWARE-Service NEC
FIWARE-ServicePath /fukuoka_aed
NGSI entity types PointOfInterest
Id pattern .*
AED可視化
28 © NEC Corporation 2019
設定終了
設定が完了したら、画面左の三角のアイコンをクリックしてください。
AED可視化
項目 設定値
Initial Locaton 130.421447, 33.588905
Initial Zoom Level 12
・設定完了時
・OpenLayers Mapの設定
29 © NEC Corporation 2019
実行画面 AED可視化
※データの出典福岡市 AED https://ckan.open-governmentdata.org/dataset/401307_aed
30 © NEC Corporation 2019
データ変換ツールの準備
新しいワークスペースを作成して、NGSI Converter Widgetを置いてください。”Extract from gird”を選択するとWidgetがワークスペース全体に広がり、操作しやすくなります
データ変換ツール
31 © NEC Corporation 2019
データの変換
CSVファイルをドラッグドロップしてください
データ変換ツール
32 © NEC Corporation 2019
curlコマンドを使ったオープンデータへのアクセス
福岡AEDのNGSI形式のオープンデータにコマンドラインからアクセスすることで、NGSI APIの基本を試すことができます
▌内容
トークン取得
エンティティの取得
エンティティ件数の取得
ジオフィルタリング
▌ハンズオンの手順
https://documents.fiware-testbed.jp/opendata/を開き、説明にしたがって、オープンデータにアクセスしてください