• 検索結果がありません。

分散組込みシステム向きWebベース開発環境

N/A
N/A
Protected

Academic year: 2021

シェア "分散組込みシステム向きWebベース開発環境"

Copied!
6
0
0

読み込み中.... (全文を見る)

全文

(1)ESS2015 2015/10/22. 組込みシステムシンポジウム2015 Embedded Systems Symposium 2015. 分散組込みシ ス テム向き Web ベース開発環境 プラ ウ ィ ーン ア モーン タ マ ウ ッ ト. 1,a). 早川 栄一2,b). 概要: CPS や IoT な ど の分散組込みシス テム は , セ ン サ・ ア ク チュ エータ を 備え た多様な 組込みシス テム と サーバ群と を ネ ッ ト ワ ーク を 介し て 接続する シス テム である . 幅広い分野への応用を 可能に する に は, 多 様な 組込みシステム のプロ グラ ミ ン グやテスト を 容易に行え る 開発環境が必要にな る . 本研究は, CPS/IoT の要求を 考慮し て , Web ベース で容易に コ ーディ ン グおよ びセ ン サやア ク チュ エータ のモニタ リ ン グが可 能な 開発環境を 構築し た . 本環境の特徴は次のと おり であ る : (1) コ マ ン ド ベース およ びス ク リ プト 言語 でのデバイ ス のコ ーディ ン グが可能, (2) タ イ ム ス タ ン プを 含めた 通信データ のト レ ース お よ び閲覧が可 能, (3) 複数の組込み機器のア ク セ ス 状況の閲覧が可能. キ ーワ ード : CPS, IoT, Web, プロ グラ ミ ン グ環境, 分散組込みシス テム. Web-based Programming Environment for Networked Embedded System Praween AMONTAMAVUT1,a). Eiichi HAYAKAWA2,b). Abstract: Web-based distributed embedded system is a system that included CPS and IoT consists of heterogenous embedded system, sensors, and actuators connected to cloud servers. Developing the system requires simple prototyping and programming environment in order to support practical use in various fields. We developed the Web-based coding and monitoring environment for the system. The features of the system are following: (1) presenting the simple coding interface with command line and Javascript via the Web server, (2) browsing the accessible embedded system nodes on the browsers, and (3) monitoring and browsing the communication behavior of the sensors and actuators on the browser. Keywords: CPS, IoT, Web, Networked Embedded System, Web-based Programming Environment. ラ ク ショ ン が可能な サービス やモノ へのア ク チュ エーショ. 1. はじ めに. ン な ど を 可能に さ せる 情報技術である モノ のイ ン タ ーネ ッ. サイ バーフ ィ ジカ ルシ ス テ ム (CPS) [1][2][3] は , セ ン サ. ト (IoT) [4] の概念も 注目を 集め , こ れに つ いて も 多く の. やア ク チュ エータ を 備え たフ ィ ジカ ルシス テム である 組込. 研究開発が行われて いる . CPS や IoT は類似の概念であ. みシス テム と , ネ ッ ト ワ ーク 上のサーバに よ る 計算・ 情報. り [5], ど ち ら も サイ バー世界に おいて 実世界と いう 物理シ. の処理と いう サイ バーシス テム を 結合し て イ ン タ ラ ク ショ. ス テム と 情報を 結びつけ る 分散組込みシス テム と し て 考え. ン を する こ と に よ り , 実世界に 対し て よ り 高度な サービス. る こ と ができ る .. を 提供する シ ス テ ム であ り ,. [1] と [2] な ど で示さ れて い. こ のよ う な分散組込みシステムは, セン サ・ アク チュ エー. る よ う に , 現在様々 な 研究開発が行われて いる . ま た , イ ン. タ を 備え た多様な 組込みシス テム を 結び付け る サーバ群と. タ ーネ ッ ト を 注目し て , モノ に お いて 人間を 支え る イ ン タ. ネ ッ ト ワ ーク を 介し て 接続する シス テム に よ っ て 構成する こ と ができ る . 農業や医療, 交通, ホーム オート メ シ ョ ン ,. 1. 2. a) b). 拓殖大学大学院工学研究科電子情報工学専攻 Takushoku University, Graduate School of Engineering, Electronics and Information Sciences 拓殖大学工学部情報工学科 Takushoku University, Faculty of Engineering, Department of Computer Science [email protected] [email protected]. ⓒ 2015 Information Processing Society of Japan. シ ス テ ム 教育な ど 幅広い分野へ の応用を 可能に する IT・. ICT の統合シス テム の構築が行われて いる [5]. こ のよ う な 分散型の組込みシス テム のプロ グラ ミ ン グは 容易ではな い . そ の理由と し て は, 複数, 多種のデバイ ス を 扱う 必要があ り , そ のた めのプロ グラ ミ ン グ環境を 個別 34.

(2) ESS2015 2015/10/22. 組込みシステムシンポジウム2015 Embedded Systems Symposium 2015. に 用意する 必要がある こ と である . 環境そ のも のや API が. る . 通常, こ のよ う な モニタ リ ン グは , 別のツ ールを 用. 異な っ て いる こ と が多く , そ れら の違いを 吸収する た めの. いる こ と が多いが , こ れはシ ス テ ム イ ン ス ト ールを 伴. ラ イ ブラ リ 群を 用意する 必要があ る が , そ のた めのコ ス ト. う た めに , 利用コ ス ト が高く な る . こ れら のモ ニタ リ. は種類や台数に 比例し て 高く な っ て いく . ま た , 離れた 場. ン グお よ び , そ の結果の可視化ツ ールが開発シ ス テ ム. 所に 設置さ れたデバイ ス を 操作する こ と から , デバイ ス の. と 同一の環境内で利用でき る 必要がある .. 状況やデータ のやり と り を 確認する こ と が難し く な っ て い る . こ れら のデバイ ス 群のモ ニタ リ ン グは, マ シ ン の種類 に よ っ て 個別のツ ールを 用意し な け ればな ら な いこ と が多. 3. シ ステムの特徴 前章の要求分析を 受け , 次のよ う な 特徴を 持つ分散組込. く , 手間がかかる . さ ら に , 時間制約を 持つデバイ ス の場合. みシス テム 向き Web ベース 開発環境を 構築し た .. に は , ネ ッ ト ワ ーク 構成の違いやプロ ト コ ルに よ る 通信遅. ( 1 ) Web ベースのプロ グラ ミ ン グ環境の提供. 延を 意識する 必要がある が, そ のための監視シス テム が必. 開発環境を イ ン ス ト ールせずに CPS/IoT のプロ グラ. 要と な る .. ミ ン グが可能な よ う に , Web ベース の開発環境を 提供. 本研究は, 上記のよ う な CPS/IoT の要求を 考慮し 満た. する . こ れに よ っ て Web ブラ ウ ザだ け 用意でき れば ,. し た分散組込みシス テム の開発環境を 容易に 開発が可能に. ソ フ ト ウ ェ ア を イ ン ス ト ールせずに すぐ に プロ グラ ミ. する のが目的であ る .. ン グが可能に な る . 特に IoT の環境では通信や操作の. 2. 要求分析 本シス テ ム の要求分析は次のと おり であ る .. ( 1 ) 複数のデバイ スに対応し た環境を イ ン スト ールせずに. 基盤と し て Web を 用いる こ と が多く , 親和性が高いと いう 利点も ある .. ( 2 ) コ マン ド ラ イ ン と プロ グラ ミ ン グ言語の両方のサポー ト. 利用でき る こ と. シ ス テ ム の構成や動作を 確認する た めに , 簡易な コ マ. ネ ッ ト ワ ー ク 型の組込みシ ス テ ム で は, 複数, 多種の. ン ド ラ イ ン イ ン タ フ ェ ース を 提供する . こ れに よ っ て ,. デ バイ ス を 用いる . 近年で は , Raspberry Pi や Intel. 対話的に シ ス テ ム 状態を 変更する こ と が可能に な り ,. Edison な ど のデバイ ス を 安価に 入手する こ と が可能. シス テ ム 構成の変更に 追従する こ と が容易に な る . ま. であ る が , そ れら は同じ Linux が動作し て いる 環境で. た , プ ロ グラ ミ ン グに つ いて は Web 環境と 親和性の. も , 入出力の構造や API が異な る ために , 単一のプロ. 高い Javascript の API お よ びコ ーディ ン グ環境を 用. グラ ム でア ク セ ス する こ と ができ な い . こ れら のボー. 意し た . こ れに よ っ て , プロ ト タ イ ピ ン グや実験から ,. ド 類やセ ン サが混在し た環境を 用いる 場合に , そ れぞ. 実際のシス テム ま でを シーム レ ス に 実装し て いく こ と. れに 適し た プ ロ グ ラ ミ ン グ 環境を 用意する のは非常. が可能に な る .. に 手間がかかる . Scratch[6] や Python のよ う に ボー. ( 3 ) Web ベース のモ ニタ リ ン グ お よ び可視化シ ス テ ム の. ド 内に プ ロ グ ラ ミ ン グ 環境を 用意で き る 場合も あ る. 提供. が, 多く の場合, 開発環境と し て は非力な こ と が多い .. 組込みシス テム 間の通信やノ ード の状態を モニタ リ ン. Eclipse[7] のよ う な 本格的な IDE はイ ン ス ト ールに 時. グ し て , 可視化する 環境を 提供する . こ れに よ っ て ,. 間がかかる こ と も あ り , 利用者がすぐ に 利用可能に す. ネ ッ ト ワ ーク 構造や状態に よ る シス テム の変化や問題. る に は , 開発環境を イ ン ス ト ールせずに 利用でき る こ. 点を 発見し やすく する . こ の環境は , Web ベース で提. と が望ま し い .. 供する こ と で , 上記のプロ グラ ミ ン グ環境と 統合し て. ( 2 ) プロ ト タ イ ピ ン グ が容易なこ と IoT のシステム では, Web を 利用し て いる こ と から , 動 的な デバイ ス やサービス の追加が容易である 必要があ る . そ れに はデバイ ス やシ ス テ ム 構成ま で含めて , プ ロ グラ ミ ン グを 行う 前に 容易に プロ ト タ イ ピ ン グを 行. 利用する こ と が可能である .. 4. 設計 本節は分散組込みシ ス テ ム 向き Web ベース 開発環境の 設計と 実装を 述べる .. い , 構成に ついて テ ス ト が容易に な っ て いる 必要があ る . ま た , 記述性がよ く Web と 親和性の高いプロ グラ ミ ン グ言語が利用でき る 必要があ る .. ( 3 ) シ ステムや通信の状態を プロ グラ ミ ン グ環境と 連動さ. 4.1 全体構成 本シス テ ム の階層を 図 1 に 示す . 本シス テ ム は三つのレ イ ヤ から 構成する .. せて モ ニタ リ ン グ でき る こ と. CPS な ど で時間制約のあ る シ ス テ ム 構築を 行う 場合, ネ ッ ト ワ ーク での通信遅延や構成を 見直す必要がでて く る . こ れに は , 通信状態のモニタ リ ン グが必要と な ⓒ 2015 Information Processing Society of Japan. 35.

(3) ESS2015 2015/10/22. 組込みシステムシンポジウム2015 Embedded Systems Symposium 2015 Web-based coding environment (Browsers). Public Cloud. Gateways. Browsers. Public Cloud Storage Services (BigData). Embedded device nodes KZM-A9. シス テ ム の階層. Fig. 1 Layer of the system.. ( 1 ) 組込み機器ノ ード (Embedded device nodes). Gateways. ED virtual layer with secured access feature Blue-sky Connecting Protocol (Secured & Light Weight). 用意する . Raspberry Pi や Intel Edison, BeagleBone,. Interactive Web Applications (IWA). Integrated Wearable Devices (IWA). Embedded Devices Nodes GPIO,PWM,Gainer,etc. Sensors Sensors. Sensors. Actuators Actuators. Actuators. Private Cloud Storage. Integrated Mobility Applications (IMA). Private Cloud. セ ン サやア ク チ ュ エータ を 接続し て , ネ ッ ト ワ ーク を 介し て サー ビ ス を 受け る た め の組込み機器ノ ー ド を. IoT Applications. Blue-sky cloud servers. CPS Apps.. 図 1. BeagleBone. Physical layer. Intel Edison. Physical layer. Raspberry Pi. 図 2. シス テム の全体構成. Fig. 2 Overall structure of the system.. KZM-A9 な ど Linux が動作する シ ス テ ム を 想定し て いる . プロ グラ ム のデプロ イ やシス テ ム のモニタ リ ン. Blue-sky [8] は, プ ラ イ ベート ク ラ ウ ド 群と そ れら の間. グを 行っ て , サーバ群と 協調し て 動作する よ う に , 組. でデータ の共有を 行う パブリ ッ ク ク ラ ウ ド から な る ハイ ブ. 込み機器ノ ード の制御プロ グラ ム( 以下, Blue-Sky モ. リ ッ ド ク ラ ウ ド 構成と な っ て いる . こ のよ う な 構造に する. ジュ ールと 呼ぶ) を 実行する . 制御プロ グラ ム に よ っ. こ と で , セ キ ュ リ テ ィ が必ずし も 強固ではな いノ ード 群を. て シス テ ム の差異を 吸収する こ と が可能に な る .. 保護し , デバイ ス の管理を 容易に し て いる . CPS/IoT では ,. ( 2 ) ゲート ウ ェ イ (Gateways). 複数のデバイ ス のデータ を 共有し て 利用でき る と こ ろ が大. 多種, 複数の組込み機器を 統合し て , プ ロ グ ラ ミ ン グ. き な 利点と な っ て いる . こ れら を 安全に 行う た めに , ゲー. 環境を 提供し , 外部のク ラ ウ ド サーバへのサービ ス 中. ト ウ ェ イ を 介し て パブリ ッ ク ク ラ ウ ド へ接続する . こ のよ. 継を 行う 部分であ る . コ ーディ ン グおよ び可視化の環. う な ハイ ブ リ ッ ド ク ラ ウ ド 上に Sensing Instrument as a. 境を 提供する Web サーバ機能と , 組込み機器ノ ード. Service (SIaaS)[9] を 構築する こ と で , 安全かつ管理の容易. と 通信する ための API から 構成さ れて いる . API を 介. な シス テム の構築が可能に な る .. し た 通信はロ グと し て 保存する こ と で , やり と り を 可 視化する こ と が可能に な る . ま た , バッ ク エン ド のク ラ ウ ド サービ ス と し て は , 分散フ ァ イ ルシ ス テ ム であ る GlusterFS や Key-Value Store であ る redis を 用い たデータ ス ト ア を 用意し て , セ ン サデータ の保存を 可. 4.2 Blue-Sky モ ジ ュ ール:組込み機器ノ ード 制御プロ グ ラ ムの設計 組込み機器のノ ード は, セ キ ュ ア に 実行する ために ゲー ト ウ ェ イ 内部のプラ イ ベート ネ ッ ト ワ ーク で動作する .. 能に し て いる . ゲート ウ ェ イ 上では組込み機器ノ ード. 各ノ ード 上では Blue-Sky モジュ ールと 呼ぶ制御プロ グ. は仮想的な デバイ ス と し て 管理し て いる ので, ノ ード. ラ ムが動作し て いる . 制御プロ グラ ムの機能と し て は, ゲー. で不足し て いる 機能はゲート ウ ェ イ でソ フ ト ウ ェ ア に. ト ウ ェ イ か ら 来た デ バ イ ス ア ク セ ス の GPIO へ の中継,. よ り 補完する こ と も 可能であ る .. ゲート ウ ェ イ への接続, ノ ード 状態やロ グのゲート ウ ェ イ. ( 3 ) Web ベースコ ーディ ン グ環境 (Web-based coding en-. への送信機能を 持つ. ノ ード の発見と ゲート ウ ェ イ への接. vironment). 続は, プラ イ ベート ネ ッ ト ワ ーク 内のブロ ード キ ャ ス ト に. 開発者はブラ ウ ザにおける Web 上で提供し て いる プロ. よ っ て 行う .. グラ ミ ン グ環境を 用いて , セン サやアク チュ エータ のプ ロ グラ ミ ン グやテ ス ト を 行う こ と ができ る . 本環境が. 4.3 ゲート ウ ェ イ の設計. 対象と する 言語はコ マ ン ド ス ク リ プト と Javascript で. ゲー ト ウ ェ イ は, Web サー バと し て プ ロ グ ラ ミ ン グ 機. あ る . コ マ ン ド ス ク リ プト は本コ ーディ ン グ環境のプ. 能を 提供する と と も に , パブリ ッ ク ネ ッ ト ワ ーク から の組. ロ ト タ イ ピ ン グで用いる ス ク リ プト である . javascript. 込み機器へのア ク セ ス , 外部のク ラ ウ ド サービス への中継,. は開発言語と し て 利用でき る . ま た , データ 通信のシー. お よ び開発し た プ ロ グラ ム のデプ ロ イ のサポート を 行う .. ケ ン スやデバイ ス情報の可視化環境も 併せて 提供する .. ゲート ウ ェ イ に 接続さ れた ノ ード は , ゲート ウ ェ イ 内部で. こ の階層構成に 基づき , 図 2 の全体構成を 採用し た . ⓒ 2015 Information Processing Society of Japan. 仮想的な 組込みデバイ ス と し て 状態を 保持し て 管理する こ 36.

(4) ESS2015 2015/10/22. 組込みシステムシンポジウム2015 Embedded Systems Symposium 2015. と ができ る . こ れに よ っ て , デバイ ス の変化の検知やデバ. 表 2 は , 本 API に応じ る javascript ベース API のリ スト. イ ス で不足する 機能のソ フ ト ウ ェ ア 的な 実装な ど を 可能に. に 示す . こ の API は , 上記で述べたハイ ブリ ッ ド API から. する . ま た , ノ ード デバイ ス の外部ク ラ ウ ド サービ ス への. 作成し た API であり , ユーザがこ れを 拡張拡張し たり 異な. ア ク セ ス を プロ キ シ と し て 中継する こ と で , ア ク セ ス 制御. る API 関数を 定義し た り する こ と が可能であ る . 例え ば ,. を 行いセ キ ュ リ テ ィ を 向上さ せる .. 表 2 の onLed の場合は, lsn を 実装する 関数を 拡張し た 関 数であり , onLed(’x.x.x.x’, ’21’); で実行する と き に. 4.4 コ マ ン ド およ び API の設計 表 1. は , GPIO pin 21 に 繋がる LED ノ ー ド IP:x.x.x.x が点灯. コ マ ン ド ス ク リ プト に おけ る 命令リ ス ト. Table 1 command list of the command script for sensing/ac-. する .. 5. 実現. tuating.. 本章では, こ れら の設計に 基づく シス テム の実現に つい. コ マンド 名. 機能. lsn. Local で接続する 各デバイ ス が提供する セ ン シン グ・ ア ク チュ エーテ ィ ン グ機能を. Local API と し て 呼び出すコ マ ン ド であ る ので , Local コ マ ン ド と 呼ぶ .. gsn. て 述べる .. 5.1 Web ベース開発環境の実行例 図 3 は分散組込みシ ス テ ム 向き Web ベース 開発環境の. Public で接続する 各デバイ ス が提供する. ス ク リ ーン ショ ッ ト を 表す . 本環境の画面と 機能の実装に. セ ン シン グ・ ア ク チュ エーテ ィ ン グ機能を. 関する 詳細を 述べる .. Public API と し て 呼び出すので , Public コ マ ン ド と 呼ぶ . こ れは本環境が 二つ以上に 設置さ れた ゲート ウ ェ イ の. Public Domain があ る 場合に 扱われる . loop. コ マ ン ド を 繰り 返す .. sleep. ミ リ 秒の単位でス リ ープさ せる .. 本 API は , Rest API の概念を 基づく , 設計さ れた ハイ ブ リ ッ ド API で あ る . ハイ ブ リ ッ ド API は , Public API と Local API の二つに 分類さ れる . Public API は , Public. Cloud サービ ス から でも 本 API を 呼び出すこ と ができ る . 一方, Local API は , ア ク セ ス 制限を 設定可能な API であ り , 特に 物理世界に 影響を 与え る ア ク チ ュ エーシ ョ ン に 関 する API を 想定し て いる .. 図 3. 分散組込みシス テム 向き Web ベース 開発環境. Fig. 3 A web-based environment for networked embedded system.. 表 1 は , 本 API に 応じ る コ マ ン ド ス ク リ プト のリ ス ト に 示す . こ れら のコ マ ン ド は, セ ン シ ン グ・ ア ク チ ュ ーシ ョ. 本開発環境は , 画面上部から 次の 6 つのコ ン ポーネ ン ト. ン を テ ス ト する 時に 用いる . 例え ば , GPIO pin 21 に 繋が. から 構成し た .. る LED ノ ード IP: x.x.x.x に 点灯する テス ト コ マ ン ド を 実. (A) 汎用ツ ールバーのボタ ン  . 行する 場合は, lsn x.x.x.x gpio set 21 1 と いう コ. 汎用ツ ー ルバー は , ボッ ク ス (C), (D), (E) な ど の表. マ ン ド を 指定する .. 示/非表示を 指定する ボタ ン が配置さ れる . ブラ ウ ザの 狭い画面を 有効に 利用する ために 用いら れる .. 表 2. javascript に お け る セ ン シ ン グ・ ア ク チ ュ エーシ ョ ン の API リ スト. Table 2 list of the Javascript sensing/actuating API functions.. (B) コ ーディ ン グボッ ク ス   コ ーディ ン グボッ ク ス はコ ード 入力を 実際に 行う ボッ ク ス であ る . 二つ の言語を 対応する た めに , タ ブ と し. 関数名. 引数. 機能. て 配置する . コ ーディ ン グボッ ク ス の下部に は実行ボ. onLed. 第 1: LED のノ ード IP. Local の LED を. 第 2: ノ ード に 指し た. 点灯さ せる .. タ ン や保存ボタ ン を 配置し て , プロ グラ ム のデプロ イ.     LED のピ ン 番号. offLed. 第 1: LED のノ ード IP. Local の LED を. 第 2: ノ ード に 指し た. 消灯さ せる .. ス リ ープ時間. (C) サーバのレ スポン スデータ の監視ボッ ク ス   サー バから のレ ス ポン ス を 監視する ボッ ク ス で あ る . レ ス ポン ス データ は大き く な いので , ボッ ク ス の高さ.     LED のピ ン 番号. Sleep. を 容易に する .. ミ リ 秒の単位に ス リ ープさ せる .. ⓒ 2015 Information Processing Society of Japan. は固定に な っ て いる .. (D) データ の通信を 監視する ボッ ク ス   37.

(5) ESS2015 2015/10/22. 組込みシステムシンポジウム2015 Embedded Systems Symposium 2015. データ の通信の監視結果を 表示する . 通信に よ っ て 大. は , 組込みノ ード に命令を 渡す前にスタ ン プさ れた時刻であ. き さ が異な る ので , ボッ ク ス の高さ は調整可能に 設計. り , ET-Server-Timestamp は組込みノ ード がそ の命令を 受. さ れる .. け 取っ て 反応し た と き に ス タ ン プさ れた 時刻であ る . ブラ. (E) 全デバイ ス の接続状態を 監視す る ボッ ク ス  . ウ ザのタ イ ムスタ ン プは, ブラ ウ ザの時刻で Bluesky-server. 接続する 組込み機器全体の接続状態を 表示する . こ れ. に デー タ を 送受する 前後に ス タ ン プ さ れた デー タ で 実現. は数が多いた め , ス ク ロ ール可能であ る .. し た.. (F) 全デバイ ス の接続状態の可視化  接続する 多様な 組み込み機器が 50 個以上の場合に は ,. (E) では, 見づら く な る ため , そ の接続状態を グラ フ で. 6. 評価実験 本章は , 評価実験, 実験結果と 考察を 述べる .. 可視化する . プロ グラ ミ ン グし た 後実行ボタ ン を 押すと , オン ラ イ ン で対象と する セン サ・ アク チュ エータ のノ ード と 連携し て , 物理エン テ ィ テ ィ の変化を 監視する こ と が可能に な る .. 6.1 実験 本実験は, 開発コ スト と システム の性能に関し て , 本環境 のと 従来の開発のを 比較する 開発実験の評価であ る . 開発. 実行中に は , ボッ ク ス (C) で 各命令や API を 提供する. 実験は , 開発コ ス ト が分かる よ う に 簡潔な ア プリ ケ ーシ ョ. サーバのレ ス ポン ス データ を オン ラ イ ン に 監視する こ と が. ン (以下, ア プ リ ) を 開発する . ア プ リ は, ブ ラ ウ ザ上のボ. でき る . 実行終了後に , ボッ ク ス (D) に よ っ て , データ 通信. タ ン に ク リ ッ ク し た こ と に よ っ て , Raspberry Pi に 付け 加. の時系列データ を 確認する こ と ができ る . こ れは, ブラ ウ. え た LED ノ ード を , 点灯し た り , 消灯し た り する も のであ. ザ, ゲート ウ ェ イ と 組込みシステム それぞれで 通信プロ ト. る . 本ア プ リ では, データ の通信のタ イ ム ス タ ン プ が確認. コ ルに 組み込ま れた タ イ ム ス タ ン プを 用いて 表示する .. でき る よ う に する . ア プ リ の開発は, 本環境に お け る ア プ. こ れに よ っ て , シ ス テ ム を 開発する 際に , 各ア プ リ ケ ー. リ 開発と 従来の開発方法の両方で開発する . 本環境に よ る. シ ョ ン に 応じ る 各命令の実行の待ち 時間を 確認する こ と. 開発は図 3 で示し た ブラ ウ ザだけ で開発する . 従来の開発. が可能に な る . こ れに よ っ て , ア プ リ ケ ーシ ョ ン 開発時に. は , RaspberryPi 上に 起動する node.js に おけ る Web サー. チュ ーニン グや最適化を 行う こ と ができ る . 例え ば , 待ち 時. バと LED の点灯・ 消灯の機能を 開発し た 後に ブラ ウ ザ上. 間が長い場合に , サーバの負荷やネ ッ ト ワ ーク のト ラ フ ィ ッ. 起動する ア プ リ を 開発する も のであ る . そ し て , 開発コ ス. ク 量に 応じ て , セ ン シ ン グの頻度を 減ら し た り , 他のノ ー. ト と シス テ ム の性能を そ れぞれに 把握する . 開発コ ス ト は. ド に 切り 替え る こ と も 可能に な る .. コ ーディ ン グと 開発時間であ る . シ ス テ ム の性能は, デー タ 通信シ ーケ ン ス に お いて LED を 点灯・ 消灯する のに ど. 5.2 タ イ ム ス タ ン プ付属データ の通信シ ーケ ン ス の監視. の程度遅延する かに ついて , ラ ウ ン ド ト リ ッ プディ レ イ タ イ ム (RTT) を 測定する .. 6.2 結果と 考察 表 3 は , 開発コ ス ト の比較を 示す . 本開発環境に よ る ア プリ の開発は, サーバを 開発し な く て よ いため , サーバの開 発に かかる コ ス ト が 0 に な り , 6 行の少な いコ ード で 5 分 だけ で本ア プリ を 簡易に 開発する こ と が可能である . 表 3. 開発コ ス ト. Table 3 Cost of Development. 図 4. タ イ ム ス タ ン プ付属データ の通信シーケ ン ス の監視. Fig. 4 Monitoring the Sequence of Data Communication with Timestamps.. 従来の開 発. 図 4 は (D) の実現に 示す . タ イ ム ス タ ン プ は, Bluesky-. server[8] が提供する Server-ET-Timestamp と ET-Server-. 本環境で の開発. ア プリ. サーバ. 合計. コ ーディ ン グ行数 (行). 155. 90. 245. 開発時間 (分). 100. 90. 180. コ ーディ ン グ行数 (行). 6. 0. 6. 開発時間 (分). 5. 0. 5. Timestamp であ る HTTP のレ ス ポン ス ヘッ ダに ス タ ン プ さ れた データ を , コ ールバッ ク で DOM のエレ メ ン ト に 書. 表 4 は , Local Network の デ ー タ の 通信経路に お い て. き 加え る 方法で実現する . Bluesky-server のタ イ ム ス タ ン. LED を 一回に 点灯する のに かかる RTT を 計測し て シス テ. プのデータ は, システム 時刻の生データ である ので , ブラ ウ. ム のオーバヘッ ド を 示す . 本環境では, 従来の開発方法よ. ザで GTM に 変換する 必要であ る . Server-ET-Timestamp. り 2m 秒実行時間が少な いこ と が明ら かに な っ た .. ⓒ 2015 Information Processing Society of Japan. 38.

(6) ESS2015 2015/10/22. 組込みシステムシンポジウム2015 Embedded Systems Symposium 2015 表 4. 本シス テム を 用いる こ と で容易に プロ グラ ミ ン グ可能であ. シス テ ム の性能. Table 4 Performance of System.. る こ と を 示し た.. RTT (msec). 今後の課題は, 現在ブラ ウ ザで作成し たプロ グラ ム の別. 従来の開発方法で開発し たア プリ. 31. マ シ ン へのデプ ロ イ 機能を 実装する こ と であ る . ま た , 現. 本環境で開発し たア プリ. 29. 在の Javascript API は低レ ベルのも のが用意さ れて いる だ け な ので, こ れを ク ラ ス 化, 階層化する こ と で , マ シン や環. 7. 関連研究 電力設備専用である 遠隔制御・ 監視可能な ネ ッ ト ワ ーク. 境の変更に 対し て , よ り 適合し やすいも のと する . さ ら に , こ のシステム を CPS/IoT の題材に対し て 適用し , 本システ ム の有効性に ついて 検証を 行う 予定である .. 組み込みシス テ ム の統合 [10] が存在する . こ のシス テ ム は. Telnet ベース と Web server ベース のシ ス テ ム と し て 開発. 参考文献. さ れた . 両者と も 組込みシス テ ム 上で起動する プロ グラ ム. [1]. であ る . メ モリ の資源の制限やプロ セ ッ サの処理能力に 制 限があ る 組込みシス テ ム に 対し て は , Telnet イ ン タ フ ェ ー. [2]. ス を 提供する . Web server ベース は小さ いサーバと し て 動 作する こ と から , 計算機資源があ る 程度豊富な シ ス テ ム を 対象と し て いる . し かし , Telnet ベース のも のはデバイ ス. [3]. に 直接の外部コ マ ン ド でア ク セ ス でき る こ と から , セ キ ュ リ テ ィ 面で問題があ る . 特に , タ ーゲッ ト と な る 電力設備 は , 外部から 自由に ア ク セ ス かつ制御が可能と な っ て いる と 問題を 引き 起こ す可能性があ る .. Xively[11] は, プ ロ ダ ク ト と ユーザと の間を セ キ ュ ア に. [4]. [5]. 接続する ク ラ ウ ド サービ ス であ り , IoT のデータ が備え る スケ ーラ ビリ ティ への対応や , データ ベース , 可視化機構を. [6]. 提供し て いる . Xively では , 通信自体の時間情報は取得す る こ と ができ な い . そ のた めに , 分散型の組込みシ ス テ ム. [7]. では , 通信オーバヘッ ド への対応が難し い . 本シ ス テ ム で は , セン サデータ そのも のの時間情報に加え て , 通信自体の. [8]. 時間情報を 取得し , 可視化する こ と ができ る . こ れに よ っ て , 通信ま で含めた チュ ーニン グを 可能に な る .. Orion[12] は, 2011 年に Eclipse Public License (EPL) の. [9]. 基に 開始さ れたプロ ジェ ク ト である . こ のプロ ジェ ク ト は, ブ ラ ウ ザに お け る ク ラ ウ ド 上で HTML, JavaScript, CSS な ど を 含む Web ページが開発でき る 統合ツ ールを 提供す る のが目標であ る . 本シ ス テ ム では CPS/IoT の要求であ る セ ン サデータ や通信シ ーケ ン ス を 監視可能であ り , そ れ. [10]. ら のデータ を 統合環境内で同時に 表示する こ と ができ る 点 が異な る .. 8. おわり に 本報告では , CPS や IoT な ど の分散組込みシス テム 向き. Web ベー ス 開発環境を 開発に つ いて 述べ た . 本開発環境 はブラ ウ ザに お いて , プロ ト タ イ ピ ン グ向き のコ マ ン ド ラ イ ン イ ン タ フ ェ ース と , プロ グラ ミ ン グ向き の Javascript. [11]. [12]. Lee, E. A.: Cyber-Physical Systems: Design Challenges, 11th IEEE Symposium on Object Oriented Real-Time Distributed Computing (ISORC), pp. 364–369 (2008). Rajkumar, R. R. et al.: Cyber-Physical Systems: The Next Computing Revolution, Proceedings of the 47th Design Automation Conference, pp. 731–736 (2010). steering Group, T. C.: Cyber-Physical Systems Executive Summary, The CPS steering Group (online), available from hhttp://iccps2012.cse.wustl.edu/ doc /CPS-Executive-Summary.pdfi (accessed 2015-07-01). Gubbi, J. et al.: Internet of Things (IoT) A vision architectural elements and future directions, Future Generation Computer Systems 29, pp. 1645–1660 (2013). 岩野和夫, 高島洋典: サ イ バ ー フ ィ ジ カ ル シ ス テ ム と IoT(モノ のイ ン タ ネ ッ ト ), 情報処理, Vol. 57, No. 11, pp. 826–834 (2015). Imai, T.: —Scratch と Raspberry Pi の遊び方—, ( オン ラ イ ン ), 入手先 hhttp://pushl.net/teach/i ( 参照 201507-01). Foundation, E.: What is Eclipse and the Eclipse Foundation?, The Eclipse Foundation (online), available from hhttps://eclipse.org/org/i (accessed 2015-06-20). AMONTAMAVUT, P.: Bluesky-CPS, bluesky and Hayakawa Laboratory (online), available from hhttps://github.com/Bluesky-CPSi (accessed 201509-15). Di Lauro, R., Lucarelli, F. and Montella, R.: SIaaS Sensing Instrument as a Service Using Cloud Computing to Turn Physical Instrument into Ubiquitous Service, Parallel and Distributed Processing with Applications (ISPA), 2012 IEEE 10th International Symposium on, pp. 861–862 (online), DOI: 10.1109/ISPA.2012.135 (2012). JenHao Teng, C.-Y. T. and Chen, Y.-H.: Integration of Networked Embedded Systems into Power Equipment Remote Control and Monitoring, TENCON 2004, pp. 566–569 (2004). xively Logmeln: Solutions by Department, xively (online), available from hhttps://xively.com/solutionsdepartment/i (accessed 2015-07-06). developerWorks: Eclipse Orion の 紹 介: ク ラ ウ ド の 中 で ク ラ ウ ド に 対 応 , developerWorks of IBM( オ ン ラ イ ン ) , 入 手 先 hhttp://www.ibm.com/developerworks/jp/cloud/library/clorionsummary/i ( 参照 2015-09-15).. ベース の両方の環境を 提供し た . ま た , 通信シーケ ン ス に ついて タ イ ム ス タ ン プ付き のデータ を 取得し , ブラ ウ ザで 表示さ せる こ と に よ り , 接続状態やデータ 通信の確認を 可 能に し た . 実際に , 簡単な ア プ リ ケ ーシ ョ ン を 開発し て , ⓒ 2015 Information Processing Society of Japan. 39.

(7)

図 1 システム の階層 Fig. 1 Layer of the system.
Table 1 command list of the command script for sensing/ac- sensing/ac-tuating. コ マ ン ド 名 機能 lsn Local で接続する 各デバイ スが提供する セン シン グ・ アク チュ エーティ ン グ機能を Local API と し て 呼び出すコ マ ン ド である ので , Local コ マ ン ド と 呼ぶ
図 4 は (D) の実現に 示す . タ イ ム ス タ ン プは , Bluesky- Bluesky-server[8] が提供する Server-ET-Timestamp と  ET-Server-Timestamp である HTTP のレ スポン スヘッ ダにスタ ン プ さ れたデータ を , コ ールバッ ク で DOM のエレ メ ン ト に 書 き 加え る 方法で実現する

参照

関連したドキュメント

ユーザ情報を 入力してくだ さい。必要に 応じて複数(2 つ目)のメー ルアドレスが 登録できます。.

※ログイン後最初に表示 される申込メニュー画面 の「ユーザ情報変更」ボタ ンより事前にメールアド レスをご登録いただきま

申込共通① 申込共通② 申込共通③ 申込共通④ 申込完了

ユーザ情報を 入力してくだ さい。必要に 応じて複数(2 つ目)のメー ルアドレスが 登録できます。.

[r]

教職員用 平均点 保護者用 平均点 生徒用 平均点.

都市 の 構築 多様性 の 保全︶ 一 層 の 改善 資源循環型 ︵緑施策 ・ 生物 区 市 町 村 ・ 都 民 ・ 大気環境 ・水環境 の 3 R に よ る 自然環境保全 国内外 の 都市 と の 交流︑. N P

[r]