ieee1888を活用した クラウド連携型 センサ・ネッ...
TRANSCRIPT
IEEE1888を活用した クラウド連携型
センサ・ネットワークの実力
東京大学
大規模集積システム設計教育研究センター
助教 落合秀也 Ph.D.
3Gシールド・カンファレンス 技術講演
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 システム・アーキテクチャ
TCP/IP Network IEEE1888通信網(HTTP)
Proprietary Circuits CSV Files, …
*アプリケーション ユーザ・インタフェース データ分析 帳票出力 コマンド発行など
*ストレージ データの蓄積 (長期間・大容量など)
*ゲートウェイ アクセス方式 の統一化
既存技術に基づく設備・機器 フィールドバス センサ・アクチュエータ 計測ネットワーク
*レジストリ GW, Storage, APPの登録・検索 ポイントの登録・検索
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メソッド
• データ本体を投げ込むためのメソッド
IEEE1888 コンポーネント
IEEE
18
88
query
data
GW, Storage, App はすべてこのモデルに従う
これらメソッドの組合せで WRITE, FETCH, TRAPの 通信手順が定義されている。 10
GW, Storage, APPは、IEEE1888プロトコルの実装
11
Storage
APP
IEEE
18
88
IE
EE1
88
8
IEEE
18
88
GW
Massive Storage (e.g., HDD)
Actuator
User Interface
Data
FETCH
or
WRITE
FETCH
or
WRITE
FETCH
or
WRITE
IEEE18
88
IEEE1
88
8
IEEE18
88
Data
Data
同じ通信方式 (= これがIEEE1888)
「どのようにデータが処理されるか」 が違う
Component
Component
Component
ネットワーク
header
body
transport
要求メッセージの送信
header
body
transport
header
body
transport
応答メッセージの送信
header
body
transport
要求メッセージ
応答メッセージ
クエリ, 処理の成否結果
データやフィールドバス上のエラー
クライアント サーバクライアント サーバ
data
network
12
IEEE1888は HTTP/XMLによる 遠隔手続き呼出し (Remote Procedure Call) をベースにする
IEEE1888の通信手順
• コンポーネント間通信 – WRITE手順
• データを相手側に送信する手順
– FETCH手順 • 相手側にデータを取りに行く手順
– TRAP手順 • 相手側で将来発生するデータを、発生時に送り付けてもらうよう仕掛ける手順
• レジストリ通信 – REGISTRATION 手順
– LOOKUP 手順
13
WRITE Procedure
Requester Target
14
FETCH Procedure Requester Provider
If the size of dataset is large, it splits into sub-datasets.
15
16
TRAP Procedure
Requester Provider By setting a trap query, The provider asynchronously transmits query-matching upcoming data.
query
Valid until TTL expires
New Data
New Data
Callback
transport
header
body
要求および応答メッセージ
IEEE1888のメッセージ構造
HEADER – 通信の制御 - Query - OK Notification - Error Information
BODY – 運ぶデータ - Point - Value
17
IEEE1888のメッセージ構造
XMLでの表現 transport
header
body
<transport> <header> … </header> <body> …. </body> </transport>
要求および応答メッセージ HTTPでやり取りされる時の様子 18
point (id=A)
25.5 value (time=“12:00:00”)
25.7 value (time=“13:00:00”)
25.8 value (time=“14:00:00”)
1013 value (time=“12:00:00”)
1012 value (time=“13:00:00”)
1010 value (time=“14:00:00”)
point (id=B)
body
Body要素内部のデータ構造
Body要素は Point要素を複数持つ Point要素は Value要素を複数持つ
19
point (id=A)
25.5 value (time=“12:00:00”)
25.7 value (time=“13:00:00”)
25.8 value (time=“14:00:00”)
1013 value (time=“12:00:00”)
1012 value (time=“13:00:00”)
1010 value (time=“14:00:00”)
point (id=B)
<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>
XMLによる表現
20
IEEE1888 通信のキャプチャ 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 <?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/"> <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> <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> </ns2:dataRQ> </soapenv:Body> </soapenv:Envelope>
WRITE(要求)の例
温度センサのデータ
CO2センサのデータ
電力センサのデータ
http://192.168.10.198/axis2/services/FIAPStorage IEEE1888サーバアドレス(SOAP通信端点)
に送信されている (HTTPヘッダ部を参照)
※ このURIはポイントIDと呼ばれる (ここにアクセスしてもデータが得られるわけではない)
21
IEEE1888 のクエリ・モデル
point (id=A)
point (id=B)
Time
Time
value value value value value
value value value value value
10:00 11:00 12:00 13:00 14:00
10:00 11:00 12:00 13:00 14:00
point (id=C)
Time
value value value value value
10:00 11:00 12:00 13:00 14:00
データセット
id=A gteq=11:00 lteq=13:00 id=B gteq=11:00 lteq=13:00
query
クエリ (= サブセットの指定)
23
クエリのデータ構造 header query
key (id=“A”)
key (id=“B”)
key
id=A gteq=11:00:00 lteq=13:00:00
属性
key
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>
Query要素は 複数のkey要素を持つ
Key要素によってデータの時刻の範囲が与えられる 24
WRITE, FETCH, TRAP 手順の適用例
GWからStorageへの データ送信
APPによる Storageからのデータ読出し
APPによる GWからのデータ読出し
APPによるGWへのTRAP 設定 およびGWからAPPへの通知
APPによるGWへの データ送信
WRITE 手順
WRITE 手順
TRAP 手順
FETCH 手順
25
WRITE手順によるデータの配送
point (id=A)
25.5 value (time=“12:00”)
25.7 value (time=“13:00”)
25.8 value (time=“14:00”)
25.9 value (time=“15:00”)
26.0 value (time=“16:00”)
26.1 value (time=“17:00”)
Component (Storage) IE
EE1
88
8 IEEE1
88
8
Component (GW)
point (id=A)
point (id=A)
WRITE
Time
point (id=A)
A
25.5 value (time=“12:00”)
25.7 value (time=“13:00”)
25.8 value (time=“14:00”)
25.9 value (time=“15:00”)
26.0 value (time=“16:00”)
26.1 value (time=“17:00”)
WRITE
WRITE
WRITE
sensor HDD
26
FETCH手順によるデータの配送
Component (Storage)
point (id=A)
25.5 value (time=“12:00”)
25.7 value (time=“13:00”)
25.8 value (time=“14:00”)
25.9 value (time=“15:00”)
26.0 value (time=“16:00”)
26.1 value (time=“17:00”)
HDD
IEEE
18
88
User Interface
IEEE18
88
FETCH
Key (id=A)
gteq=14:00 lteq=16:00
attributes Req.
point (id=A)
25.8 value (time=“14:00”)
25.9 value (time=“15:00”)
26.0 value (time=“16:00”)
Res.
Component (APP)
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
– 小規模オフィス環境向けStorage
– IEEE1888 Storageサービス
• アプリ編 – 簡易監視(SCADA)アプリケーション
– データ加工分析アプリケーション
– ヘルスチェック・アプリケーション
– MS Excel 連携アプリケーション
– 電力デマンド制御アプリケーション
IEEE1888App製品
(帳票出力など)
IEEE1888Storage製品
インターネット
LonTalk-to-1888変換GW
IEEE1888通信
IEEE1888通信
環境センサ・電力メータ空調機器・照明など
Lonworks
http://gutp.jp/fiap/model.html
29
IEEE1888 Modbus ゲートウェイの例
計測器からModbus通信方式で読み出したデータを IEEE1888通信規格でオンライン化する
30
IEEE1888 Modbus ゲートウェイ
IEEE1888App製品
(帳票出力など)
IEEE1888Storage製品
インターネット
1888-to-Modbusゲートウェイ
IEEE1888通信
IEEE1888通信
環境センサ・電力メータなど
Modbus/RTU
ネット接続 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℃
※技術仕様
※本体写真
※応用例
31
IEEE1888 大容量ハイパフォーマンス Storageの例
センサなどから大量に発生する計測データを取り込み,保管する 32
IEEE1888 大容量ハイパフォーマンス Storage ※イメージ写真
ネット接続 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
※デバイス仕様
※応用例
IEEE1888App製品
(帳票出力など)
大容量ハイパフォーマンス
Storage
インターネット
IEEE1888GW製品
IEEE1888通信
IEEE1888通信
IEEE1888GW製品
IEEE1888GW製品
IEEE1888GW製品
IEEE1888通信
IEEE1888GW製品
IEEE1888GW製品
空調・照明・電力など
空調・照明・電力など
施設B施設A33
簡易監視APP の例
データを理解しやすい形で表示し,設備やエネルギーの管理運用効率を向上させる
34
簡易監視APP
簡易監視(簡易SCADA)アプリケーション
IEEE1888通信
IEEE1888通信
IEEE1888GW製品
IEEE1888GW製品
IEEE1888GW製品
空調・照明・電力など
IEEE1888Storage製品
インターネット
データ加工分析アプリケーション
ヘルスチェックアプリケーション
IEEE1888通信 IEEE1888通信
※イメージ画面1
設備ステータスの一覧表示 トレンド表示
※イメージ画面2
※応用例 35
講演内容
• IEEE1888プロトコルの技術
• IEEE1888対応装置/ソフト/サービスのイメージ
• IEEE1888でシステムを組むと
• IEEE1888 + 3G を Arduinoに実装
• お知らせなど
39
IEEE1888のシステム実現の考え方
Storage
APP
APP
APP
GW
たくさんの種類の GW, Storage, APPが入手できる
機能要件に照らし合わせて必要なものを選定&購入 それぞれの機器・ソフトを設定して連携させる
IEEE1888 システム の実現
IEEE1888部品
導入現場
GW
GW
IEEE1888 システム
Storage
GW
GW GW APP
APP
APP
GW GW GW GW
Storage APP APP
40
東京工業大学 の事例 環境エネルギーイノベーション棟
4570枚の太陽光パネル(650kW)でビルが囲まれている!
Cite: http://www.nttdatacs.co.jp/news/20121204.html 41
PVのモニタリング、設備の制御をIEEE1888で行っている
東京工業大学 環境エネルギーイノベーション棟
システム構成
Cite: http://www.nttdatacs.co.jp/news/20121204.html 42 Modbus, BACnet/IP などをIEEE1888で統合
IEEE1888 商用システムの実例
http://www.nttdatacs.co.jp/product_html/service/system/remoteone/index.html 43
App CIMX App
CIMX
東大の事例 (5キャンパスの統合管理)
日立
特高受電
三菱電機
集中検針
東芝 明電舎
特高受電 特高受電
パナソニック 近計システム
本郷キャンパス 駒場Ⅰキャンパス 駒場Ⅱキャンパス 柏キャンパス 白金キャンパス
エービル
特高受電 受電設備
高岳製作所
見える化など
IEEE1888 IEEE1888
IEEE1888 IEEE1888 IEEE1888 IEEE1888
Storage 東大 江崎研究室
App CIMX
IEEE1888 GW IEEE1888 GW IEEE1888 GW IEEE1888 GW IEEE1888 GW
The Internet
データ蓄積
合計で 5万kWを超える電力が,管理対象(=監視制御対象) となっている グラフ化や地図へのマッピング,警報発令などがIEEE1888によるITシステムで実現されている http://ep-monitor.adm.u-tokyo.ac.jp/campus/denryoku 46
講演内容
• IEEE1888プロトコルの技術
• IEEE1888対応装置/ソフト/サービスのイメージ
• IEEE1888でシステムを組むと
• IEEE1888 + 3G を Arduinoに実装
• お知らせなど
50
3Gシールド + IEEE1888プロトコル
75mm
54mm24mm
Arduinoボード
3Gシールド
アプリケーション・シールド (用途に応じたものを装着)
温度センサ
照度センサ
IEEE1888/3G通信
温度・照度センサシールド
1 2 3 4 5電力センサ(パルス計)シールド
電力メータ3G通信3G通信
IEEE1888Storage
IEEE1888APP
データ蓄積
グラフ化
(
見える化)
IEEE1888対応組込み3G通信モジュール(温度・照度計測の場合)
IEEE1888対応組込み3G通信モジュール
(電力計測の場合)
広域インターネット
クラウドサービス(IIJ GIO)
IEEE1888通信
http://www.u-tokyo.ac.jp/public/public01_241001_j.html http://www.iij.ad.jp/news/pressrelease/2012/1001-2.html
2012年10月
51
3Gシールドを搭載した電力センサ
IEEE1888 多回路エネルギー診断メータ
3G対応版 株式会社フタバ企画より製造販売 「見える化サービスが付属した スタータキット有」
2012年1月
52
3Gシールドを搭載した IEEE1888対応の環境センサ
環境センサ ・温度 ・湿度 ・気圧 ・降雨 ・風向 ・風速
3Gシールド
Live E!プロジェクトなどで利用 http://www.live-e.org/
第二試作準備中
2013年8月
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開発ボード・学習キット
DC power supply (6V~9V)
インターネット
USB (Command Line,
Programming, etc)
IEEE1888通信ボード(Arduino UNO互換機)
+ 温度、照度センサ + DIP、TGLスイッチ + IEEE1888ソフトウェア + LAN, USB, ACアダプタ
学習キット(組み立て後の様子)
ボード単体: 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