スマートハウスの基盤技術としてのOSGi
サービス・バンドルの例: DLNAコントローラ
以下では、サービス・バンドルの例として、DLNAコントローラを紹介します。DLNAコントローラは、HTTPバンドルやUPnPバンドルを利用して、コンテンツの検索と再生を行います。
DLNAは、前述したように、LAN経由でコンテンツを共有するためのガイドラインです。DLNAでは、ほかの機器をコントロールする機器の規格(デバイス・クラス)として、デジタル・メディア・コントローラ(DMC)を定めています。通信としては、UPnPが使われます。
DMCは、DLNAサーバー(DMS)とDLNA再生機(DMR)に、UPnPを使って「アクション(命令)」を送信することで、コンテンツ情報の取得やコンテンツの再生などの操作を行います。
今回紹介するDLNAコントローラの要件は以下の通りです。DMCは、OSGi上に実装します。機能としては、LANに接続されたDMS内のコンテンツをユーザーに対して表示し、ユーザーが選んだコンテンツをDMRに再生させます。ユーザー・インタフェースには、Webブラウザを利用します。
図3は、システムの構成図です。ホーム・ネットワーク内に、DLNAコントローラを搭載したHGWとDLNA機器(DMS/DMR)、ユーザーが操作するWebブラウザ(を搭載したPCや携帯電話)が存在します。
図3: DLNAコントローラの構成 |
システムは、次のように動作します。
- まず、コントローラがDMSからコンテンツ一覧情報を取得して、Webページとしてユーザーに提示します。
- 続いて、ユーザーがWebページ上で視聴したいコンテンツを選ぶと、コントローラがその情報を受信し、DMRに再生命令を送信します。
- 命令を受信したDMRが、DMSからコンテンツをダウンロードし、選ばれたコンテンツが再生されます。
このとき、DMS/DMRの操作はUPnP通信で行われ、Webブラウザとの通信はHTTP通信で行われます。つまり、DLNAコントローラの主な機能として、この2つの通信手順を実装する必要があります。これら2つの機能は、OSGi標準のUPnPバンドルとHTTPバンドルを利用することで容易に実現できます。
UPnPバンドルは、デバイスに命令を送信するためのAPI(Application Programming Interface)を提供します。このAPIを用いれば、UPnP通信の詳細を意識せずにデバイスを操作することができます。
一方、WebブラウザとHTTP通信を行うにはHTTPサーバーを構築する必要がありますが、標準のHTTPバンドルを用いれば、サーバー公開の処理を行ってくれるため、独自のWebページを表示する処理を記述したサーブレットを作成するだけで、HTTP通信を行うことができます。
DLNAコントローラの応用
上記のDLNAコントローラは、DMSのコンテンツをDMRに再生させるだけのものです。これに対して、外部のアプリケーションからコンポーネント部品としてDLNAコントロ-ラを利用することにより、以下のような応用が可能になります。
- ●スマート・メーターのディスプレイとしてDLNAを利用
-
例えば、電力メーターから取得した電力消費状況などの情報を、画像に加工してDMRに表示させます。DLNA対応テレビなどを、ディスプレイとして利用することができます。
- ●異常通知の仕組みとしてDMCを利用
-
DMCの再生命令を利用して、監視カメラの映像などをテレビに表示させます。通常の番組を視聴中でも、割り込ませて表示できるため、セキュリティ分野での応用も考えられます。
日立ソフトウェアエンジニアリング(日立ソフト)では、さまざまな機能を部品化したアプリケーション群「SuperJ Engine Bundles」を開発しており、DLNA機能を持つバンドルを提供しています。これらを用いることで、上記のような、DLNA機能を利用したサービスを容易に実装することができます。また、この機能を使ったサービスの例として、DLNA機器からインターネット上の動画投稿サイトにアクセスするシステムの試作に成功しています。
このように、OSGiを採用することによって、デバイスを操作するための通信プロトコルがバンドルとして部品化されるため、アプリケーションの開発が容易になります。開発者は、通信プロトコルの詳細にわずらわされることなく、提供したいサービスのロジックだけに集中してアプリケーションを開発できます。このことがアプリケーション開発者の参入を促し、結果としてスマートハウス向けアプリケーションの流通が活発になると期待されています。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- 実は難問だらけのバグ管理
- IoT時代のメッシュ通信プロトコル「Thread」、初の公認モジュール発売間近?
- Java EEの動向と最新機能
- デジオン、DiXiM NAS ソリューションをアイ・オー・データ機器、バッファローの最新NAS製品に提供
- 組み込み開発を支えるJava技術
- データセンター運用を最適化するDMC
- HTCがVIVE Focusなどで使える6DoFコントローラーを発表
- NTT、ワンソース・マルチスタイルの新たなコンテンツ活用を実現するHTML5コンテンツ分割・連携技術を開発
- フェイスブックが「Oculus Go」販売終了、今後は新型機へ注力
- JBoss Fuseを使ってみる その3:Webサービス編