400 likes | 571 Views
組み込みセンサ用のプラグイン 管理機構の提案. 2008 5/30 奈良先端科学技術大学院大学 川原貴裕. 目次. 背景 問題点 目的 多様なセンサを考慮したミドルウェア プラグイン管理機構の提案 今後の課題 まとめ. 背景 1/2. センシングデバイスの高性能化・低価格化 ブロードバンドネットワークの普及 →大規模センサデータ共有基盤の構築 高密度・高精度なセンサデータの利用が可能 例) Live E! (気象センサデータ共有基盤) →環境問題の原因究明、教育材料、ビジネス. 背景 2/2 大規模センサデータ共有基盤の構成. 設置者.
E N D
組み込みセンサ用のプラグイン管理機構の提案組み込みセンサ用のプラグイン管理機構の提案 IA研究会 20085/30 奈良先端科学技術大学院大学 川原貴裕
目次 • 背景 • 問題点 • 目的 • 多様なセンサを考慮したミドルウェア • プラグイン管理機構の提案 • 今後の課題 • まとめ IA研究会
背景 1/2 • センシングデバイスの高性能化・低価格化 • ブロードバンドネットワークの普及 →大規模センサデータ共有基盤の構築 • 高密度・高精度なセンサデータの利用が可能 例)Live E!(気象センサデータ共有基盤) →環境問題の原因究明、教育材料、ビジネス IA研究会
背景 2/2大規模センサデータ共有基盤の構成 設置者 センサゲートウェイ(組み込み機器) グラフ化 ミドルウェア センサからデータを取得し形式を統一 ユーザ センサ インターネット IA研究会 アプリケーション 開発者 DB 用途や予算に応じて選択
問題点 • センサのデータ共有に要するコストが高い • 高いミドルウェアの開発コスト • プログラミングスキルを必要とする • センサはそれぞれ通信手順やメッセージ形式が異なる • 各センサ専用に開発する必要がある • 高いミドルウェアの更新コスト • 専門知識を持たない者にとって更新作業は困難 • ネットワーク経由の更新はセキュリティの問題 →データ共有量の増加を妨げる大きな要因 IA研究会
目的 • 大規模センサデータ共有基盤におけるデータ収集に掛かるコストの軽減 IA研究会
提案手法 • 多様なセンサに対応可能なミドルウェアの開発 • ミドルウェアへプラグインの仕組みを導入 • プラグインを読み込むことでセンサの仕様の差異を吸収 • プラグインはXMLで定義 • プラグイン管理機構の構築 • 容易なプラグイン共有の実現 • 共有されたプラグインの評価 開発済み 本発表で提案 IA研究会
センサの仕様 IA研究会
センサの仕様 IA研究会
センサの通信手順 ①コマンド送信 ②メッセージ受信 対話式センサ IA研究会 センサゲートウェイ ①メッセージ受信 読み取り式 センサ
センサの仕様 IA研究会
センサからのメッセージ取得 温度、湿度、気圧を要求するコマンド ①”0R2\r\n” ②”0R2,Ta=23.6C・・・・\r\n” WXT510 ASCII、可変長 IA研究会 センサゲートウェイ 対話式 ①0x9F・・・・・・・・ WM918 2進化10進数、固定長 読み取り式
センサの仕様 IA研究会
センサメッセージからのデータ取得 • 温度(華氏)取得する場合 ”0R2,Ta=23.6C,Ua=14.2P,Pa=1026.6H\r\n” 23.6 (摂氏) 74.5 (華氏) ×1.8+32 WXT510 IA研究会 ・・・・・・02E9・・・・ 745 (華氏*10) 74.5 (華氏) VantagePro2 ×0.1
ミドルウェアの要件 抽象化すべき項目 • 処理手順 シリアルポートの設定 コマンド送信 IA研究会 メッセージ受信 データの抽出 データの正規化
開発したミドルウェアの構成 センサゲートウェイ A A ミドルウェア 通信手順 メッセージ形式 B B IA研究会 読み込み 通信 データ形式を統一 C アップロード プログラム C プラグイン センサ アップロード インターネット
プラグインのデータ構造 WXT510 <Plugin sensor=“WXT510”> <SerialPort name=“/dev/ttyAM0”> …… </SerialPort> <Unit name=“get temperature,humidity,pressure”> …… </Unit> <Unit name=“get rainfall”> …… </Unit> <Unit name=“get wind_speed,wind_direction”> …… </Unit> </Plugin> ・シリアルポートの設定 ボーレート、ストップビット・・ IA研究会 ・メッセージの取得手順 ・受信メッセージの処理
<Unit>要素内のデータ構造 WXT510 <Interval>10</Interval> <Interface type=interactive> <Sender format=“ASCII”> ・・・ </Sender> <Recver format=“ASCII”> ・・・ </Recver> </Interface> <Parser item=“temperature”> <Extract format=“ASCII”> ・・・ </Extract> <Regularization unit=“F” format=“float”> <Multiplier>1.8</Multiplier> <Addition>32</Addition> </Regularization> </Parser> <Parser item=“humidity”>……</Parser> <Parser item=“pressure”>……</Parser> ・通信手順 ・送信コマンド、形式、終端 ・受信メッセージの形式、サイズ、始端、終端 IA研究会 ・任意のデータ項目を抽出(データの位置、サイズ等を指定) ・データの変換 Output_data=Rawdata* <Multiplier>+<Addition> <Unit name=“get temperature,humidity,pressure”>
ミドルウェアのフローチャート load_plugin() <SerialPort> configure_serialport() <Sender> send_command() IA研究会 <Recver> recv_message() <Unit>要素の数だけ繰り返し <Extract> extract_item() <Parser>要素の数だけ繰り返し regularization() <Regularization>
開発したミドルウェアの有効性の検証 • 現状のデータ収集に要する作業工程と比較してコストを軽減できたか IA研究会
現状のデータ共有に要する作業工程 × プログラミングスキル × 専門知識 ・データがうまく取れない ・ミドルウェアの機能を変更したい 開発環境の構築 設置者 開発者 IA研究会 センサの仕様調査 運用者 ソースコードの記述 更新 実装 デバッグ 動作検証
データ共有に要する作業工程開発したミドルウェアを適応した場合データ共有に要する作業工程開発したミドルウェアを適応した場合 • 設置者が単独で作業を完結可能 × プログラミングスキル × 専門知識 センサの仕様調査 ソースコードの記述 更新 設置者 IA研究会 プラグインの記述 プラグインは再利用可能 動作検証
開発したミドルウェアを用いる利点 • ミドルウェアの開発コストを軽減可能 • ソースコードの記述を必要としない • ミドルウェアの更新が不要 • ミドルウェアの機能変更はプラグインの変更のみで可能 • プラグインを共有し再利用することでさらなるコスト軽減が可能 IA研究会
プラグイン共有の課題 • 適切なプラグインの選択が困難 • プラグインは全て定義に沿って記述されているとは限らない • プラグインの記述方法は単一のセンサに対して複数ある →プラグイン管理機構の提案 • プラグインの検証・評価・管理 • プラグインは蓄積された評価に基づき自動的に選択 IA研究会
プラグイン管理機構を取り入れたシステムの提案プラグイン管理機構を取り入れたシステムの提案 センサ プラグイン 設置者 センサ名やデータ項目を入力 通信 取得データの評価 エラー通知 登録 ミドルウェア プラグイン インタフェース プラグイン取得 検証 IA研究会 設置者の評価 動作履歴送信 評価 プラグイン管理機構 インターネット 統一されたデータ形式 アップロード プログラム DB アップロード センサゲートウェイ サーバ
プラグイン管理機構 • プラグインの検証 • プラグインが定義通りに記述されているか検証 • プラグイン管理機構登録時に構文解析 • エラーがあれば登録者にエラーを通知 • プラグインの評価 • ミドルウェアが正常に動作するか • ミドルウェアの動作履歴から評価 • コマンドを送信できているか • メッセージを受信できているか • メッセージ内からデータを抽出できているか • 取得したいデータを取得できているか • 設置者による評価 IA研究会
プラグインインタフェース • センサゲートウェイへ実装 • 機能 • プラグイン管理機構から条件に合致するプラグインを取得 • 条件は設置者が指定 (センサ名、データ項目) • 取得データを設置者へ提示 • プラグインに対する評価を管理機構へ送信 IA研究会
プラグイン管理機構を取り入れたシステムプラグイン共有の流れプラグイン管理機構を取り入れたシステムプラグイン共有の流れ センサ プラグイン 設置者 センサ名やデータ項目を入力 通信 取得データの評価 エラー通知 登録 ミドルウェア プラグインIF プラグイン取得 検証 IA研究会 設置者の評価 動作履歴送信 評価は蓄積される 評価 プラグイン管理機構 インターネット 統一されたデータ形式 アップロード プログラム DB アップロード センサゲートウェイ サーバ
システムにプラグイン管理機構を取り入れる利点システムにプラグイン管理機構を取り入れる利点 • プラグインを容易に共有可能 • プラグンを管理機構へ登録するのみ • プラグインは蓄積された評価を基に自動的に選択される IA研究会
プラグインを選択するまでの流れ現状 プラグインの記述 IA研究会 プラグインの共有 情報基盤の運用者等がWebサーバ等でプラグインを管理 プラグインの選択 設置者が手作業で プラグインを検証・評価 ミドルウェアへ
プラグインを選択するまでの流れ提案するシステムの場合プラグインを選択するまでの流れ提案するシステムの場合 プラグインの記述 プラグインの検証 評価は蓄積される IA研究会 プラグインの共有 プラグインの評価 プラグインの選択 半自動的に処理 ミドルウェアへ
まとめ • 本研究の目的 • 大規模センサネットワークにおけるデータ収集に掛かるコストの軽減 • 提案手法 • 多様なセンサを考慮したミドルウェアの開発 • プラグインを導入 →ミドルウェア開発コストの軽減 →ミドルウェア更新コストの削減 • ミドルウェア管理機構を取り入れたシステムの提案 →プラグインの共有が容易に可能 IA研究会
今後の課題 • 提案したプラグイン管理機構の実装 • Live E!プロジェクトが運用する基盤へ実装 • 多様なI/Oインタフェースを対象としたミドルウェアの開発 • USB • ミドルウェアの改良 IA研究会
終わり IA研究会
補足資料 IA研究会
RS232C • シリアル通信方式で最も普及している • シリアル通信 • 転送レートは低いが製造コストが低い →センサの要件に合致 IA研究会
様々なセンサ • 気象センサ • 温度、湿度、気圧、降雨量、風速、風向 • 位置計測センサ • GPS、3次元座標取得センサ • その他 • 騒音量、照度、電力量… IA研究会
抽象化可能な仕様 IA研究会 • いかなる組み合わせに対応可能
センサゲートウェイの要件 • 小型 • 安価 • 省電力 • 必要最小限の機能 • TCP/IP • センサと通信するI/Oインタフェース IA研究会
センサデータ共有の現状 • TinyDB • データを共有するセンサを限定 → 共有できるデータ量が乏しい IA研究会 Mote TinyOS 20 インターネット DB 20 20