...

IEEE1888を活用した クラウド連携型 センサ・ネットワークの実力

by user

on
Category: Documents
2

views

Report

Comments

Transcript

IEEE1888を活用した クラウド連携型 センサ・ネットワークの実力
技術講演
3Gシールド・カンファレンス
IEEE1888を活用した
クラウド連携型
センサ・ネットワークの実力
東京大学
大規模集積システム設計教育研究センター
助教 落合秀也 Ph.D.
2013年9月7日
通信 + 計測・制御 = ?
• 通信
– 遠隔地との情報のやり取りを可能にする
– 2000年代 は TCP/IP (インターネット) が主流 (3G も その一つ)
• 計測・制御
– センサ: 物理量、状態を読み取る
– アクチュエータ: 物理量、状態に働きかける
• 通信 + 計測・制御 = ?
– 通信+計測
= リモート・センシング
– 通信+計測・制御 = リモート・コントロール
 現代の技術(TCP/IP/組込み通信/センサ技術)で実現される
ものを、 Machine-to-Machine(M2M)システムと呼ぶ
2
M2Mの世界には
時系列データがあふれている
電流センサの値(A)
エアコンのON/OFF状態
通信により、センサやアクチュエータにはアクセスできるようになった。
時系列データのやり取りには別の仕組みが必要  IEEE1888規格
3
IEEE1888の適用先の例
• ビルの設備・エネルギー管理
– 空調設備、照明設備、生活環境
– 電力の使用状況
• 環境データの収集・管理
– 温度・湿度・気圧・降雨・風向・風速
– CO2、NOx、SOx
• 植物工場の設備・環境管理
– 温度・湿度・CO2管理
– 水量調整、ヒートポンプ制御
4
講演内容
•
•
•
•
•
IEEE1888プロトコルの技術
IEEE1888対応装置/ソフト/サービスのイメージ
IEEE1888でシステムを組むと
IEEE1888 + 3G を Arduinoに実装
お知らせなど
5
講演内容
•
•
•
•
•
IEEE1888プロトコルの技術
IEEE1888対応装置/ソフト/サービスのイメージ
IEEE1888でシステムを組むと
IEEE1888 + 3G を Arduinoに実装
お知らせなど
6
IEEE1888 システム・アーキテクチャ
*アプリケーション
ユーザ・インタフェース
データ分析
帳票出力
コマンド発行など
*レジストリ
GW, Storage, APPの登録・検索
ポイントの登録・検索
*ストレージ
データの蓄積
(長期間・大容量など)
IEEE1888通信網(HTTP)
TCP/IP
Network
*ゲートウェイ
アクセス方式
の統一化
Proprietary Circuits
CSV Files, …
既存技術に基づく設備・機器
フィールドバス
センサ・アクチュエータ
計測ネットワーク
7
IEEE1888プロトコルの設計要件
• 通信インタフェースは下記のように設計されること
–
–
–
–
GWにアクセスする方法と同じ方法で、Storage(やAPP)にもアクセスできること
GWやStorageやAPPからデータを取り出せること
GWやStorageやAPPにデータを書き込めること
GWやStorageやAPPで発生したデータ更新を通知できること
• センサやアクチュエータは、GWによってカプセル化され、
抽象化されたものとして扱う
• センサやアクチュエータを表現する “ポイント” は、世界で
唯一の識別子を持ち、TCP/IPネットワークの上で、流通で
きる
• GWやStorageやAPPをダイナミックに結合できる
8
IEEE1888の設計
要件外(Out-of-Scope)とすること
• データのセマンティクスは外部定義されたものを使用する
– ポイントの記述方法
• E.g., 場所, 単位, 所有者
– 値のフォーマット(スキーマ)
• E.g., HVAC_HEAT, LIGHT_ON
– 他のセンサ(やアクチュエータ)との関係性
• E.g., センサ A と センサ B は、同じビルに設置されている
• セキュリティについては考えない
 IEEE1888.3で規定する、という方針
• プロトコルの軽量性
• リアルタイム性
9
IEEE1888 コンポーネント
• GW, Storage, APPは総称してIEEE1888 コン
ポーネントと呼ばれ、すべて同じインタフェー
スを持つ。
– queryメソッド
• クエリ(取得要求)を投げ込むためのメソッド
– dataメソッド
query
これらメソッドの組合せで
WRITE, FETCH, TRAPの
data
通信手順が定義されている。
IEEE1888
• データ本体を投げ込むためのメソッド
IEEE1888
コンポーネント
GW, Storage,
App はすべてこ
のモデルに従う
10
GW, Storage, APPは、IEEE1888プロトコルの実装
IEEE1888
Data
or
IEEE1888
FETCH
APP
WRITE
Component
User Interface
IEEE1888
Data
or
IEEE1888
FETCH
Storage
WRITE
Component
Massive Storage
(e.g., HDD)
Component
IEEE1888
Data
or
IEEE1888
FETCH
GW
Actuator
WRITE
同じ通信方式
(= これがIEEE1888)
「どのようにデータが処理されるか」
が違う
11
IEEE1888は HTTP/XMLによる
遠隔手続き呼出し (Remote Procedure Call) をベースにする
サーバ
サーバ
transport
transport
header
header
body
要求メッセージの送信
body
network
ネットワーク
クエリ, 処理の成否結果
transport
transport
header
header
body
body
応答メッセージの送信
応答メッセージ
要求メッセージ
クライアント
クライアント
12
データ
や フィールドバス上のエラー
data
IEEE1888の通信手順
• コンポーネント間通信
– WRITE手順
• データを相手側に送信する手順
– FETCH手順
• 相手側にデータを取りに行く手順
– TRAP手順
• 相手側で将来発生するデータを、発生時に送り付けて
もらうよう仕掛ける手順
• レジストリ通信
– REGISTRATION 手順
– LOOKUP 手順
13
WRITE Procedure
Requester
Target
14
FETCH Procedure
Provider
Requester
If the size of dataset is large,
it splits into sub-datasets.
15
TRAP Procedure
Requester
Provider
By setting a trap query,
The provider asynchronously transmits
query-matching upcoming data.
Callback
query
Valid
until TTL
expires
New
Data
New
Data
16
IEEE1888のメッセージ構造
transport
header
HEADER – 通信の制御
- Query
- OK Notification
- Error Information
body
BODY – 運ぶデータ
- Point
- Value
要求および応答メッセージ
17
IEEE1888のメッセージ構造
XMLでの表現
transport
header
body
要求および応答メッセージ
<transport>
<header>
…
</header>
<body>
….
</body>
</transport>
HTTPでやり取りされる時の様子18
Body要素内部のデータ構造
body
point (id=A)
point (id=B)
value (time=“12:00:00”)
value (time=“12:00:00”)
25.5
1013
value (time=“13:00:00”)
value (time=“13:00:00”)
25.7
1012
value (time=“14:00:00”)
value (time=“14:00:00”)
25.8
1010
Body要素は Point要素を複数持つ
Point要素は Value要素を複数持つ
19
point (id=A)
point (id=B)
value (time=“12:00:00”)
value (time=“12:00:00”)
25.5
1013
value (time=“13:00:00”)
value (time=“13:00:00”)
25.7
1012
value (time=“14:00:00”)
value (time=“14:00:00”)
25.8
1010
XMLによる表現
<point id=“A”>
<value time=“2013-06-19T12:00:00+09:00”>25.5</value>
<value time=“2013-06-19T13:00:00+09:00”>25.7</value>
<value time=“2013-06-19T14:00:00+09:00”>25.8</value>
</point>
<point id=“B”>
<value time=“2013-06-19T12:00:00+09:00”>1013</value>
<value time=“2013-06-19T13:00:00+09:00”>1012</value>
<value time=“2013-06-19T14:00:00+09:00”>1010</value>
</point>
20
POST /axis2/services/FIAPStorage HTTP/1.1
Content-Type: text/xml; charset=UTF-8
SOAPAction: "http://soap.fiap.org/data"
User-Agent: Axis2
Host: 192.168.10.198
IEEE1888 通信のキャプチャ
WRITE(要求)の例
<?xml version='1.0' encoding='UTF-8'?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<ns2:dataRQ xmlns:ns2="http://soap.fiap.org/">
※ このURIはポイントIDと呼ばれる
<transport xmlns="http://gutp.jp/fiap/2009/11/">
(ここにアクセスしてもデータが得られるわけではない)
<body>
<pointSet id="http://jo2lxq.hongo.wide.ad.jp/test/">
<point id="http://jo2lxq.hongo.wide.ad.jp/test/Temperature">
<value time="2011-09-03T21:20:00.000+09:00">25.4</value>
温度センサのデータ
<value time="2011-09-03T21:21:00.000+09:00">25.5</value>
</point>
<point id="http://jo2lxq.hongo.wide.ad.jp/test/CO2">
<value time="2011-09-03T21:20:00.000+09:00">541</value>
CO2センサのデータ
<value time="2011-09-03T21:21:00.000+09:00">542</value>
</point>
<point id="http://jo2lxq.hongo.wide.ad.jp/test/Power">
<value time="2011-09-03T21:20:00.000+09:00">6583.5</value>
<value time="2011-09-03T21:21:00.000+09:00">6583.3</value> 電力センサのデータ
</point>
</pointSet>
</body>
</transport>
IEEE1888サーバアドレス(SOAP通信端点)
</ns2:dataRQ>
http://192.168.10.198/axis2/services/FIAPStorage
</soapenv:Body>
21
</soapenv:Envelope>
に送信されている (HTTPヘッダ部を参照)
IEEE1888 のクエリ・モデル
query
id=A gteq=11:00 lteq=13:00
id=B gteq=11:00 lteq=13:00
データセット
point (id=A)
point (id=B)
point (id=C)
クエリ (= サブセットの指定)
value
value
value
value
value
10:00
11:00
12:00
13:00
14:00
value
value
value
value
value
10:00
11:00
12:00
13:00
14:00
value
value
value
value
value
10:00
11:00
12:00
13:00
14:00
Time
Time
Time
23
クエリのデータ構造
header
query
key (id=“A”)
key (id=“B”)
Query要素は
複数のkey要素を持つ
key
key
属性
属性
id=A
gteq=11:00:00
lteq=13:00:00
id=B
gteq=11:00:00
lteq=13:00:00
<query …>
<key id=“A” gteq=“2013-06-19T11:00:00+09:00” lteq=“2013-06-19T13:00:00+09:00”/>
<key id=“B” gteq=“2013-06-19T11:00:00+09:00” lteq=“2013-06-19T13:00:00+09:00”/>
</query>
Key要素によってデータの時刻の範囲が与えられる
24
WRITE, FETCH, TRAP 手順の適用例
WRITE 手順
GWからStorageへの
データ送信
APPによる
Storageからのデータ読出し
FETCH 手順
APPによる
GWからのデータ読出し
APPによるGWへのTRAP 設定
およびGWからAPPへの通知
APPによるGWへの
データ送信
TRAP 手順
WRITE 手順
25
sensor
Component
(GW)
IEEE1888
A
WRITE
point (id=A)
IEEE1888
WRITE手順によるデータの配送
Component
(Storage)
point (id=A)
HDD
value (time=“12:00”)
25.5
value (time=“13:00”)
25.7
value (time=“12:00”)
WRITE
value (time=“14:00”)
value (time=“14:00”)
25.8
25.9
25.8
WRITE
point (id=A)
26.1
25.9
26.0
26.0
Time
value (time=“15:00”)
value (time=“16:00”)
value (time=“16:00”)
value (time=“17:00”)
value (time=“13:00”)
25.7
point (id=A)
value (time=“15:00”)
25.5
WRITE
value (time=“17:00”)
26.1
26
(Storage)
IEEE1888
Component
FETCH
HDD
point (id=A)
value (time=“13:00”)
Req.
25.7
value (time=“14:00”)
26.0
value (time=“17:00”)
26.1
Key (id=A)
attributes
gteq=14:00
lteq=16:00
value (time=“14:00”)
value (time=“15:00”)
value (time=“16:00”)
(APP)
point (id=A)
25.8
25.9
Component
User Interface
value (time=“12:00”)
25.5
IEEE1888
FETCH手順によるデータの配送
Res.
25.8
value (time=“15:00”)
25.9
value (time=“16:00”)
26.0
27
講演内容
•
•
•
•
•
IEEE1888プロトコルの技術
IEEE1888対応装置/ソフト/サービスのイメージ
IEEE1888でシステムを組むと
IEEE1888 + 3G を Arduinoに実装
お知らせなど
28
IEEE1888
参照機器モデル
• GW編
–
–
–
–
–
–
LonTalk-to-1888変換GW
BACnet-to-1888変換GW
ZigBee-to-1888変換GW
SNMP-to-1888変換GW
CSV-to-1888変換GW
IEEE1888汎用観測GW
大容量ハイパフォーマンスStorage
ハイレベル分析機能搭載Storage
小規模オフィス環境向けStorage
IEEE1888 Storageサービス
IEEE1888
Storage製品
IEEE1888通信
http://gutp.jp/fiap/model.html
• Storage編
–
–
–
–
IEEE1888
App製品
(帳票出力など)
Lonworks
インターネット
IEEE1888通信
LonTalk-to-1888
変換GW
環境センサ・電力メータ
空調機器・照明など
• アプリ編
–
–
–
–
–
簡易監視(SCADA)アプリケーション
データ加工分析アプリケーション
ヘルスチェック・アプリケーション
MS Excel 連携アプリケーション
電力デマンド制御アプリケーション
29
IEEE1888 Modbus ゲートウェイの例
計測器からModbus通信方式で読み出したデータを
IEEE1888通信規格でオンライン化する
30
IEEE1888 Modbus ゲートウェイ
※本体写真
※応用例
IEEE1888
App製品
(帳票出力など)
IEEE1888通信
※技術仕様
ネット接続
10BASE-T / 100BASE-TX
IPアドレス設定: DHCP or 手動
Modbus
Modbus/RTU (RS232C/RS485)
・Read Multiple Register
・Set Single Register
IEEE1888
WRITEクライアント,サーバ
FETCHクライアント,サーバ
最大ポイント数: 500
再送機能: あり
電源
DC 9V ~ 48V (PoE対応)
消費電力 1.2W
サイズ
45×79×26.5 [mm]
RS232C  RS485変換器は除く
動作温度
0℃~60℃
IEEE1888
Storage製品
インターネット
Modbus/RTU
IEEE1888通信
1888-to-Modbus
ゲートウェイ
環境センサ・電力メータなど
31
IEEE1888 大容量ハイパフォーマンス Storageの例
センサなどから大量に発生する計測データを取り込み,保管する
32
IEEE1888 大容量ハイパフォーマンス Storage
※イメージ写真
※応用例
IEEE1888
App製品
(帳票出力など)
大容量ハイパ
フォーマンス
Storage
IEEE1888通信
※デバイス仕様
ネット接続
1000BASE-T
IPアドレス設定: DHCP or 手動
HTTPプロキシ: 設定可能
IEEE1888
データ収集:
WRITEサーバ, FETCHクライアント
データ提供:
FETCHサーバ, WRITEクライアント
最大ポイント数: 4000
蓄積データ容量: 10億個
最大同時読出しセッション数: 100
最大データ登録速度: 1000個/秒
最大データ読出速度: 2000個/秒
電源
AC100V – 240V (50Hz/60Hz)
消費電力 100W
サイズ
W431 x H42.6 x D393.7 [mm]
動作温度
15℃~25℃
質量
約2kg
インターネット
空
調
・
照
明
・
電
力
な
ど
IEEE1888通信
IEEE1888通信
IEEE1888
GW製品
IEEE1888
GW製品
IEEE1888
GW製品
IEEE1888
GW製品
施設A
空
調
・
照
明
・
電
力
な
ど
IEEE1888
GW製品
IEEE1888
GW製品
施設B
33
簡易監視APP の例
データを理解しやすい形で表示し,設備や
エネルギーの管理運用効率を向上させる
34
簡易監視APP
※イメージ画面2
※イメージ画面1
設備ステータスの一覧表示
トレンド表示
簡易監視
(簡易SCADA)
アプリケーション
データ加工分析
アプリケーション
IEEE1888通信
ヘルスチェック
アプリケーション
IEEE1888通信
IEEE1888
Storage製品
IEEE1888通信
インターネット
IEEE1888通信
IEEE1888
GW製品
IEEE1888
GW製品
IEEE1888
GW製品
※応用例
35
講演内容
•
•
•
•
•
IEEE1888プロトコルの技術
IEEE1888対応装置/ソフト/サービスのイメージ
IEEE1888でシステムを組むと
IEEE1888 + 3G を Arduinoに実装
お知らせなど
39
IEEE1888のシステム実現の考え方
GW
GW
GW
GW
Storage
APP
APP
GW
Storage
APP
APP
GW
APP
IEEE1888部品
たくさんの種類の GW, Storage, APPが入手できる
機能要件に照らし合わせて必要なものを選定&購入
それぞれの機器・ソフトを設定して連携させる
Storage
GW
APP
GW
APP
GW
APP
IEEE1888 システム
の実現
GW
IEEE1888 システム
導入現場
40
東京工業大学 の事例
環境エネルギーイノベーション棟
4570枚の太陽光パネル(650kW)でビルが囲まれている!
PVのモニタリング、設備の制御をIEEE1888で行っている
Cite: http://www.nttdatacs.co.jp/news/20121204.html
41
東京工業大学 環境エネルギーイノベーション棟
システム構成
Modbus, BACnet/IP などをIEEE1888で統合
Cite: http://www.nttdatacs.co.jp/news/20121204.html
42
IEEE1888 商用システムの実例
http://www.nttdatacs.co.jp/product_html/service/system/remoteone/index.html
43
東大の事例
(5キャンパスの統合管理)
見える化など
データ蓄積
App
App
App
CIMX
Storage
東大 江崎研究室
CIMX
CIMX
IEEE1888
IEEE1888
The Internet
IEEE1888
IEEE1888 GW
IEEE1888
IEEE1888 GW
IEEE1888
IEEE1888 GW
IEEE1888
IEEE1888 GW
IEEE1888 GW
東芝
明電舎
特高受電
特高受電
柏キャンパス
白金キャンパス
エービル
日立
三菱電機
近計システム
パナソニック
高岳製作所
特高受電
集中検針
本郷キャンパス
受電設備
駒場Ⅰキャンパス
特高受電
駒場Ⅱキャンパス
合計で 5万kWを超える電力が,管理対象(=監視制御対象) となっている
グラフ化や地図へのマッピング,警報発令などがIEEE1888によるITシステムで実現さ
46
れている
http://ep-monitor.adm.u-tokyo.ac.jp/campus/denryoku
講演内容
•
•
•
•
•
IEEE1888プロトコルの技術
IEEE1888対応装置/ソフト/サービスのイメージ
IEEE1888でシステムを組むと
IEEE1888 + 3G を Arduinoに実装
お知らせなど
50
3Gシールド + IEEE1888プロトコル
2012年10月
アプリケーション・シールド (用途に応じたものを装着)
3Gシールド
温度センサ
Arduino ボード
照度センサ
IEEE1888
Storage
見グ
えラ
るフ
化化
)
IEEE1888/3G
通信
(
デ
ー
タ
蓄
積
IEEE1888
APP
クラウドサービス
(IIJ GIO)
54mm
24mm
75mm
IEEE1888通信
3G通信
温度・照度センサ
シールド
広域インターネット
3G通信
電力センサ(パルス計)
シールド
電力メータ
1 2 3 4 5
IEEE1888対応
IEEE1888対応
組込み3G通信モジュール 組込み3G通信モジュール
(温度・照度計測の場合)
(電力計測の場合)
http://www.u-tokyo.ac.jp/public/public01_241001_j.html
http://www.iij.ad.jp/news/pressrelease/2012/1001-2.html
51
3Gシールドを搭載した電力センサ
2012年1月
IEEE1888
多回路エネルギー診断メータ
3G対応版
株式会社フタバ企画より製造販売
「見える化サービスが付属した
スタータキット有」
52
3Gシールドを搭載した
IEEE1888対応の環境センサ 2013年8月
環境センサ
・温度
・湿度
・気圧
・降雨
・風向
・風速
Live E!プロジェクトなどで利用
http://www.live-e.org/
3Gシールド
第二試作準備中
53
IEEE1888+3G通信
のプログラム
3Gシールドを利用するIEEE1888のライブラリ
--------------------------------------------------------------
IEEE1888によるデータ送信
54
講演内容
•
•
•
•
•
IEEE1888プロトコルの技術
IEEE1888対応装置/ソフト/サービスのイメージ
IEEE1888でシステムを組むと
IEEE1888 + 3G を Arduinoに実装
お知らせなど
55
IEEE1888相互接続試験を開催します
• 日時:2013年11月19日 – 20日
• 場所: 東京大学 工2号館 10階 電気系会議室5
• 目的
– 各社の機器同士の接続を確認し、接続実績を作る
• 個別実装上の課題、検査仕様上の課題の洗い出しを含む
– 各社機器 と 開発中のテスター との間で通信させ
• テスターの利用に関する検証
– 使いやすいか、結果表は改善に役立つか
• 検査仕様書の内容の検証
– 検査内容が妥当か、検査を通過したもの同士であれば通信が可能か
を行う
開催案内: 9月9日以降に http://gutp.jp/ に掲載予定
56
IEEE1888開発ボード・学習キット
USB
(Command Line,
Programming, etc)
+ 温度、照度センサ
+ DIP、TGLスイッチ
+ IEEE1888ソフトウェア
+ LAN, USB, ACアダプタ
インターネット
DC power supply
(6V~9V)
IEEE1888通信ボード(Arduino UNO互換機)
ボード単体: 6,900円 学習キット: 13,900円
http://www.futaba-kikaku.jp/
57
学習キット(組み立て後の様子)
開発者向け情報
http://gutp.jp/fiap/kit.html
– ソフトウェア開発キット(SDK)
– 参照コード (Java, C)
– IEEE1888 Storageソフトウェア
– Arduino向けライブラリ(3Gシールド対応版含)
IEEE1888 SDK
IEEE1888通信ボード
(Arduino UNO互換機)
58
Fly UP