以下、本発明の実施形態を、図面を参照しつつ詳細に説明する。
実施の形態1.
図1には、実施の形態1に係る遠隔操作システム100の構成が示されている。遠隔操作システム100は、ネットワークを介して宅内機器10を遠隔操作するためのシステムである。遠隔操作システム100は、図1に示されるように、住宅H1に設置された宅内機器10、宅内機器10をコントローラ30に接続するための機器アダプタ20、宅内機器10を制御するコントローラ30、インターネットに接続されたサーバ50、及び、ユーザU1が操作の内容を入力するための操作端末60、を有している。
宅内機器10及び機器アダプタ20は、互いに通信可能となるように通信路41を介して接続される。通信路41は、例えばシリアル通信を行うためのケーブルである。通信路41は、宅内機器10を操作するための操作指示を、機器アダプタ20から宅内機器10へ伝送する。
機器アダプタ20及びコントローラ30は、互いに通信可能となるように通信路42を介して接続される。通信路42は、例えば無線LAN等の宅内ネットワークであって、ECHONET Lite(登録商標)等の通信プロトコルに従うデータを伝送する。このデータには、宅内機器10を操作するための操作指示が含まれる。
コントローラ30、サーバ50、及び操作端末60は、互いに通信可能となるように、通信路43に接続される。通信路43は、例えばインターネット等の広域ネットワークである。通信路43は、操作端末60からサーバ50を経由してコントローラ30へ、操作指示を伝送する。
宅内機器10は、住宅H1に居住するユーザU1、U2によって使用される設備機器又は家電機器である。宅内機器10は、例えば、住宅H1内の部屋における空気の状態を調節するエアコンディショナである。なお、宅内機器10は、エアコンディショナ以外の機器(電気機器)であってもよい。例えば、宅内機器10は、冷蔵庫、テレビ、炊飯器、電磁調理器、床暖房機、電気給湯器、掃除機、電子レンジ、蓄電池、又は太陽光発電機であってもよい。また、宅内機器10は、その他の空調機器又は調理器具であってもよい。
宅内機器10は、機器アダプタ20及びコントローラ30を介して受信した操作指示に従って稼働する。例えば、宅内機器10は、運転を停止しているときに、冷房運転を開始するための操作指示を受信すると、冷房運転を開始して、冷風を吹き出し口から送風する。
宅内機器10の稼働状態は、ECHONET Liteにおけるプロパティの値によって示される。例えば、宅内機器10についてのプロパティには、「運転モード」が含まれ、この「運転モード」の値は、「暖房」、「冷房」、「除湿」、又は「停止中」となる。宅内機器10の稼働状態は、操作指示により設定されることで変化する。
図2には、宅内機器10の構成が示されている。図2に示されるように、宅内機器10は、宅内機器10の各構成要素を制御する制御部11、データを記憶する記憶部12、時間を測定するタイマ13、通信路41を介することなく宅内機器10を手動で操作するための入力部14、宅内機器10が稼働するための出力部15、及び、通信路41を介して通信するための通信部16、を有している。
制御部11は、例えばCPU(Central Processing Unit)及びRAM(Random Access Memory)等から構成される。制御部11は、記憶部12に記憶されるプログラムP1を実行することにより、種々の機能を発揮する。制御部11は、その機能として、機器アダプタ20との通信を確立する通信確立モジュール11a、通信路41における通信の途絶及び復旧を検知する検知モジュール11b、並びに、宅内機器10の稼働状態を変化させる状態変化モジュール11c、を有している。
記憶部12は、ハードディスク又はフラッシュメモリ等の不揮発性メモリを含んで構成される。記憶部12は、プログラムP1の他に、制御部11による処理に用いられる種々のデータを記憶している。このデータには、通信路41〜43各々における通信が途絶していることを示す第1フラグF1、第2フラグF2、及び第3フラグF3が含まれる。
タイマ13は、例えば水晶振動子等から構成される。タイマ13は、制御部11の指示に従って時間を測定する。そして、タイマ13は、制御部11の要求に応じて、測定結果を制御部11に通知する。
入力部14は、例えば入力キー及び静電容量方式のポインティングデバイス等から構成される。入力部14は、在宅のユーザU2によって入力された操作内容を取得して、この操作内容を示す信号を制御部11へ送信する。
出力部15は、例えば、空気を送風するためのファン、ルーバの角度を調節するためのモータ等から構成される。なお、宅内機器10がテレビである場合には、出力部15は、例えば液晶ディスプレイ等から構成され、宅内機器10が掃除機である場合には、出力部15は、空気を吸引するためのモータ等から構成される。
通信部16は、通信路41に適した形式のデータ信号を送受信するための通信インタフェース等から構成される。通信部16は、通信路41を介して受信した信号から、この信号により搬送されるデータを抽出して、制御部11に出力する。また、通信部16は、制御部11から出力されたデータを搬送する信号を生成して、通信路41を介して送信する。
図1に戻り、機器アダプタ20は、通信路42に適した形式のデータ信号を、通信路41に適した形式のデータ信号に変換することで、操作指示等の伝送を中継する装置である。機器アダプタ20は、図3に示されるように、機器アダプタ20の各構成要素を制御する制御部21、データを記憶する記憶部22、時間を測定するタイマ23、通信路41を介して通信するための通信部26、及び、通信路42を介して通信するための通信部27、を有している。
制御部21は、例えばCPU及びRAM等から構成される。制御部21は、記憶部22に記憶されるプログラムP2を実行することにより、種々の機能を発揮する。制御部21は、その機能として、宅内機器10及びコントローラ30との通信を確立する通信確立モジュール21a、並びに、通信路42における通信の途絶及び復旧を検知する検知モジュール21b、を有している。
記憶部22は、フラッシュメモリ等の不揮発性メモリを含んで構成される。記憶部22は、プログラムP2の他に、制御部21による処理に用いられる種々のデータを記憶している。
タイマ23は、例えば水晶振動子等から構成される。タイマ23は、制御部21の指示に従って時間を測定し、制御部21の要求に応じて測定結果を制御部21に通知する。
通信部26、27各々は、通信路41、42各々に適した形式のデータ信号を送受信するための通信インタフェース等から構成される。通信部26、27各々は、通信路41、42各々を介して受信した信号から、この信号により搬送されるデータを抽出して、制御部21に出力する。また、通信部26、27各々は、制御部21から出力されたデータを搬送する信号を生成して、通信路41、42各々を介して送信する。
図1に戻り、コントローラ30は、宅内機器10を制御するHEMS(Home Energy Management System)コントローラである。コントローラ30は、サーバ50から宅内機器10に対して送信された操作指示の伝送を中継するゲートウェイサーバとして機能する。例えば、コントローラ30は、通信路43を介して遠隔操作の内容を示す操作信号を受信する。そして、コントローラ30は、受信した操作信号により示される操作の内容に基づいて、宅内機器10を制御するための制御命令を生成して、操作指示として機器アダプタ20を介して宅内機器10へ送信する。
コントローラ30は、図4に示されるように、コントローラ30の各構成要素を制御する制御部31、データを記憶する記憶部32、時間を測定するタイマ33、コントローラ30の管理者によって入力される情報を取得する入力部34、管理者に対して情報を提示する出力部35、通信路42を介して通信するための宅内通信部36、及び、通信路43を介して通信するための宅外通信部37、を有している。
制御部31は、例えばCPU及びRAM等から構成される。制御部31は、記憶部32に記憶されるプログラムP3を実行することにより、種々の機能を発揮する。制御部31は、その機能として、機器アダプタ20との通信及び通信路43を介した通信を確立する通信確立モジュール31a、並びに、通信路43における通信の途絶及び復旧を検知する検知モジュール31b、を有している。
記憶部32は、フラッシュメモリ等の不揮発性メモリを含んで構成される。記憶部32は、プログラムP3の他に、制御部31による処理に用いられる種々のデータを記憶している。
タイマ33は、例えば水晶振動子等から構成される。タイマ33は、制御部31の指示に従って時間を測定して、制御部31の要求に応じて測定結果を制御部31に通知する。
入力部34は、キーボード及びマウス等のポインティングデバイスを含んで構成される。入力部34は、例えば、管理者によって入力された情報を取得して、制御部31に通知する。
出力部35は、液晶ディスプレイ及びスピーカ等から構成される。出力部35は、制御部31の指示に従って、文字及び図形を管理者に対して表示したり、音響信号を再生したりする。
宅内通信部36及び宅外通信部37各々は、通信路42、43各々の通信プロトコルに従って通信するための通信インタフェース等から構成される。宅内通信部36及び宅外通信部37各々は、通信路42、43各々を介して受信したパケットに含まれるデータを、制御部31に出力する。また、宅内通信部36及び宅外通信部37各々は、制御部31から出力されたデータを含むパケットを生成して、通信路42、43各々を介して送信する。
続いて、宅内機器10、機器アダプタ20及びコントローラ30各々によって実行される処理について、図5〜9を用いて順に説明する。
図5には、宅内機器10によって実行される機器処理が示されている。この機器処理は、宅内機器10の電源が投入されることで開始する。
図5に示されるように、宅内機器10の制御部11は、まず、起動シーケンス処理を実行する(ステップS101)。具体的には、通信確立モジュール11aが、機器アダプタ20にデータを送信したり、機器アダプタ20からデータを受信したりすることで、通信路41が使用可能な状態であることを確認する。
この起動シーケンス処理は、機器アダプタ20の認証を含んでいてもよい。起動シーケンス処理が機器アダプタ20の認証を含む場合には、通信確立モジュール11aが、機器アダプタ20の機種を指定したり、特定の機能を有する機器アダプタ20のみとの間で通信を確立したりすることができる。
次に、通信確立モジュール11aは、起動が完了したか否かを判定する(ステップS102)。具体的には、通信確立モジュール11aは、起動シーケンス処理が正常に終了して、通信路41を介した機器アダプタ20との通信が確立したか否かを判定する。
次に、制御部11は、通信部16が操作指示を受信したか否かを判定する(ステップS103)。具体的には、制御部11は、通信路41を介して制御命令を受信したか否かを判定する。この制御命令は、例えば、冷房運転を開始させるための命令である。通信部16が操作指示を受信していないと判定された場合(ステップS103;No)、制御部11は、ステップS103の判定を繰り返す。
一方、通信部16が操作指示を受信したと判定された場合(ステップS103;Yes)、制御部11は、操作指示に従って出力部15による稼働を開始させる(ステップS104)。これにより、宅内機器10は、例えば冷房運転を開始する。
次に、制御部11は、通信途絶検知処理を実行する(ステップS105)。この通信途絶検知処理では、検知モジュール11bが、通信路41〜43各々における通信の途絶を検知する。図6には、通信途絶検知処理において実行される処理の詳細が示されている。
図6に示されるように、通信途絶検知処理において、検知モジュール11bは、まず、宅内機器10が接続されている通信路41の通信途絶を検知したか否かを判定する(ステップS121)。例えば、検知モジュール11bは、機器アダプタ20から10秒間の周期で送信される定期信号を、過去30秒間において受信していない場合に、通信路41における通信が途絶したと判断する。この定期信号は、宅内機器10から送信されたデータに対する機器アダプタ20からの応答であってもよいし、機器アダプタ20が自発的に送信する信号であってもよい。
なお、通信の途絶は、通信路が本来の機能を果たすことができない状態を意味する。例えば、通信路における通信が途絶すると、通信路の一側からデータが送信されたときに、このデータを他側で一定の時間内に受信することができなくなる。この点で、帯域が非常に狭くなること及び通信の大幅な遅延も、通信の途絶に含まれる。
検知モジュール11bが通信路41の通信途絶を検知していないと判定された場合(ステップS121;No)、検知モジュール11bは、ステップS125へ処理を移行する。一方、検知モジュール11bが通信路41の通信途絶を検知したと判定された場合(ステップS121;Yes)、検知モジュール11bは、第1フラグF1をONに設定する(ステップS122)。
次に、検知モジュール11bは、タイマ13が停止中であるか否かを判定する(ステップS123)。すなわち、検知モジュール11bは、タイマ13が特定の時刻から経過した時間を測定していない状態かどうかを判定する。タイマ13が停止中ではないと判定された場合(ステップS123;No)、検知モジュール11bは、ステップS125へ処理を移行する。
一方、タイマ13が停止中であると判定された場合(ステップS123;Yes)、検知モジュール11bは、タイマをスタートする(ステップS124)。すなわち、検知モジュール11bは、タイマ13に時間の測定を開始させる。これにより、タイマ13は、現在時刻から経過した時間の長さの測定を開始する。
次に、検知モジュール11bは、通信部16が機器アダプタ20からの途絶信号を受信したか否かを判定する(ステップS125)。機器アダプタ20からの途絶信号は、通信路42における通信が途絶したことを示す信号である。
通信部16が途絶信号を受信していないと判定された場合(ステップS125;No)、検知モジュール11bは、ステップS129へ処理を移行する。一方、通信部16が途絶信号を受信したと判定された場合(ステップS125;Yes),検知モジュール11bは、第2フラグF2をONに設定する(ステップS126)。
次に、検知モジュール11bは、タイマ13が停止中であるか否かを判定する(ステップS127)。タイマ13が停止中ではないと判定された場合(ステップS127;No)、検知モジュール11bは、ステップS129へ処理を移行する。一方、タイマ13が停止中であると判定された場合(ステップS127;Yes)、検知モジュール11bは、タイマ13をスタートする(ステップS128)。
次に、検知モジュール11bは、通信部16がコントローラ30からの途絶信号を受信したか否かを判定する(ステップS129)。コントローラ30からの途絶信号は、通信路43における通信が途絶したことを示し、この途絶が継続している時間を示す信号である。
通信部16が途絶信号を受信していないと判定された場合(ステップS129;No)、検知モジュール11bは、通信途絶検知処理を終了する。一方、通信部16が途絶信号を受信したと判定された場合(ステップS129;Yes)、検知モジュール11bは、第3フラグF3をONに設定する(ステップS130)。
次に、検知モジュール11bは、タイマ13によって測定されている時間(測定結果)が、ステップS129にて受信したと判定された途絶信号により示される時間より長いか否かを判定する(ステップS131)。タイマ13の測定結果が途絶信号により示される時間より長くはないと判定された場合(ステップS131;No)、検知モジュール11bは、通信途絶検知処理を終了する。
一方、タイマ13の測定結果が途絶信号により示される時間より長いと判定された場合(ステップS131;Yes)、検知モジュール11bは、途絶信号により示される時間を初期値として、タイマ13をスタートする(ステップS132)。これにより、タイマ13は、途絶信号により示される時間に、現在時刻から経過した時間を加算した時間の長さの測定を開始する。その後、検知モジュール11bは、通信途絶検知処理を終了する。
図5に戻り、通信途絶検知処理(ステップS105)に続いて、検知モジュール11bは、通信復旧検知処理を実行する(ステップS106)。この通信復旧検知処理では、検知モジュール11bが通信路41〜43各々における通信の復旧を検知する。図7には、通信復旧検知処理において実行される処理の詳細が示されている。
図7に示されるように、通信復旧検知処理において、検知モジュール11bは、まず、第1フラグF1がONに設定されているか否かを判定する(ステップS141)。第1フラグF1がONに設定されていないと判定された場合(ステップS141;No)、検知モジュール11bは、ステップS144へ処理を移行する。
一方、第1フラグF1がONに設定されていると判定された場合(ステップS141;Yes)、検知モジュール11bは、宅内機器10が接続されている通信路41における通信が復旧したか否かを判定する(ステップS142)。例えば、検知モジュール11bは、機器アダプタ20からの定期信号を、過去10秒間において受信している場合に、通信路41における通信が復旧したと判断する。
通信が復旧していないと判定された場合(ステップS142;No)、検知モジュール11bは、ステップS144へ処理を移行する。一方、通信が復旧したと判定された場合(ステップS142;Yes)、検知モジュール11bは、第1フラグF1をOFFに設定する(ステップS143)。
次に、検知モジュール11bは、通信部16が機器アダプタ20からの復旧信号を受信したか否かを判定する(ステップS144)。機器アダプタ20からの復旧信号は、通信路42における通信が途絶した状態から復旧したことを示す信号である。
通信部16が復旧信号を受信していないと判定された場合(ステップS144;No)、検知モジュール11bは、ステップS146へ処理を移行する。一方、通信部16が復旧信号を受信したと判定された場合(ステップS144;Yes)、検知モジュール11bは、第2フラグF2をOFFに設定する(ステップS145)。
次に、検知モジュール11bは、通信部16がコントローラ30からの復旧信号を受信したか否かを判定する(ステップS146)。コントローラ30からの復旧信号は、通信路43における通信が途絶した状態から復旧したことを示す信号である。
通信部16が復旧信号を受信していないと判定された場合(ステップS146;No)、検知モジュール11bは、ステップS148へ処理を移行する。一方、通信部16が復旧信号を受信したと判定された場合(ステップS146;Yes)、検知モジュール11bは、第3フラグF3をOFFに設定する(ステップS147)。
次に、検知モジュール11bは、第1フラグF1、第2フラグF2及び第3フラグF3すべてがOFFに設定されているか否かを判定する(ステップS148)。第1フラグF1、第2フラグF2及び第3フラグF3すべてがOFFに設定されているわけではないと判定された場合(ステップS148;No)、検知モジュール11bは、通信復旧検知処理を終了する。すなわち、第1フラグF1と第2フラグF2と第3フラグF3との少なくとも1つがONに設定されていると判定された場合に、通信復旧検知処理が終了する。
一方、第1フラグF1、第2フラグF2及び第3フラグF3すべてがOFFに設定されていると判定した場合(ステップS148;Yes)、検知モジュール11bは、タイマ13による時間の測定を停止して、タイマ13をリセットする(ステップS149)。その後、検知モジュール11bは、通信復旧検知処理を終了する。
図5に戻り、通信復旧検知処理(ステップS106)に続いて、制御部11は、タイマ13によって測定されている時間が閾値を超えているか否かを判定する(ステップS107)。この閾値は、例えば24時間である。なお、他の時間が閾値としてあらかじめ設定されていてもよい。また、ユーザU1、U2は、入力部14を用いて閾値を他の値に変更してもよい。
タイマ13によって測定されている時間が閾値を超えていると判定された場合(ステップS107;Yes)、制御部11は、宅内機器10の稼働状態を設定する(ステップS108)。具体的には、状態変化モジュール11cが、宅内機器10の稼働状態を、あらかじめ設定された目標状態に変化させる。目標状態は、例えば、「停止中」という状態である。その後、制御部11は、ステップS103以降の処理を繰り返す。
一方、タイマ13によって測定されている時間が閾値を超えていないと判定された場合(ステップS107;No)、制御部11は、ステップS103にて通信部16が受信したと判定された操作指示による稼働が、終了したか否かを判定する(ステップS109)。稼働が終了していないと判定された場合(ステップS109;No)、制御部11は、ステップS105以降の処理を繰り返す。
一方、稼働が終了したと判定された場合(ステップS109;Yes)、制御部11は、操作指示による稼働の終了を、遠隔操作をしたユーザU1に対して通知する(ステップS110)。
次に、制御部11は、第1フラグF1、第2フラグF2及び第3フラグF3すべてをOFFに設定する(ステップS111)。その後、制御部11は、タイマ13による時間の測定を停止して、タイマ13をリセットする(ステップS112)。そして、制御部11は、ステップS103以降の処理を繰り返す。
続いて、機器アダプタ20によって実行されるアダプタ処理について、図8を用いて説明する。このアダプタ処理は、機器アダプタ20の電源が投入されることで開始する。
図8に示されるように、機器アダプタ20の制御部21は、まず、起動シーケンス処理を実行する(ステップS201)。この起動シーケンス処理は、宅内機器10による起動シーケンス処理(ステップS101)と連動して実行される。機器アダプタ20の起動シーケンス処理において、通信確立モジュール21aは、通信路41が使用可能な状態であることを確認する。また、起動シーケンス処理は、宅内機器10の認証を含んでいてもよい。この認証により、通信確立モジュール21aは、例えば、機器アダプタ20に接続される宅内機器10の機種を指定したり、特定の機能を有する宅内機器10のみとの間で通信を確立したりすることができる。
次に、通信確立モジュール21aは、起動が完了したか否かを判定する(ステップS202)。具体的には、通信確立モジュール21aは、起動シーケンス処理が正常に終了して、宅内機器10との通信が確立したか否かを判定する。
起動が完了していないと判定された場合(ステップS202;No)、制御部21は、エラーを出力する(ステップS203)。その後、制御部21は、アダプタ処理を終了する。
一方、起動が完了したと判定された場合(ステップS202;Yes)、通信確立モジュール21aは、接続シーケンス処理を実行する(ステップS204)。具体的には、通信確立モジュール21aが、コントローラ30にデータを送信したり、コントローラ30からデータを受信したりすることで、通信路42が使用可能な状態であることを確認する。
次に、通信確立モジュール21aは、接続が完了したか否かを判定する(ステップS205)。具体的には、通信確立モジュール21aは、接続シーケンス処理が正常に終了して、コントローラ30との通信が確立したか否かを判定する。
接続が完了していないと判定された場合(ステップS205;No)、制御部21は、ステップS203へ処理を移行する。一方、接続が完了したと判定された場合(ステップS205;Yes)、制御部21は、時間通知機能の有無をコントローラ30に問い合わせる(ステップS206)。時間通知機能は、コントローラ30が有する機能であって、通信路43における通信の途絶が継続している時間を宅内機器10又は機器アダプタ20に通知する機能を意味する。
次に、制御部21は、ステップS206の問い合わせに対するコントローラ30からの応答に基づいて、時間通知機能の有無を判定する(ステップS207)。コントローラ30が時間通知機能を有していないと判定された場合(ステップS207;No)、制御部21は、ステップS203へ処理を移行する。
一方、コントローラ30が時間通知機能を有していると判定された場合(ステップS207;Yes)、制御部21は、操作指示の中継処理を開始する(ステップS208)。この中継処理は、通信路42を介して受信した操作指示を、通信路41を介して宅内機器10へ送信する処理である。この中継処理は、アダプタ処理とは並列に実行される。
次に、検知モジュール21bは、通信路42の状態を試験するための試験信号をコントローラ30へ送信する(ステップS209)。その後、検知モジュール21bは、試験信号に対するコントローラ30からの応答があるか否かを判定する(ステップS210)。
応答がないと判定された場合(ステップS210;No)、検知モジュール21bは、途絶信号を宅内機器10へ送信する(ステップS211)。その後、検知モジュール21bは、ステップS214へ処理を移行する。
一方、応答があると判定された場合(ステップS210;Yes)、検知モジュール21bは、この応答が、途絶信号の送信後における最初の応答であるか否かを判定する(ステップS212)。ステップS212の判定が否定された場合(ステップS212;No)、検知モジュール21bは、ステップS214へ処理を移行する。
一方、ステップS212の判定が肯定された場合(ステップS212;Yes)、検知モジュール21bは、復旧信号を宅内機器10へ送信する(ステップS213)。
次に、検知モジュール21bは、タイマ23を用いて、一定時間待機する(ステップS214)。この待機の時間は、例えば1分間である。その後、検知モジュール21bは、ステップS209以降の処理を繰り返す。これにより、機器アダプタ20は、通信路42における通信の途絶及び復旧の有無について、一定時間毎に判断することとなる。そして、判断の結果が、宅内機器10へ通知される。
続いて、コントローラ30によって実行されるコントローラ処理について、図9を用いて説明する。このコントローラ処理は、コントローラ30の電源が投入されることで開始する。
図9に示されるように、コントローラ30の制御部31は、まず、接続シーケンス処理を実行する(ステップS301)。この接続シーケンス処理は、機器アダプタ20による接続シーケンス処理(ステップS201)と連動して実行される。コントローラ30の接続シーケンス処理において、通信確立モジュール31aは、通信路42、43が使用可能な状態であることを確認する。
次に、通信確立モジュール31aは、接続が完了したか否かを判定する(ステップS302)。具体的には、通信確立モジュール31aは、接続シーケンス処理が正常に終了して、通信路42、43を介した通信が確立したか否かを判定する。
接続が完了していないと判定された場合(ステップS302;No)、制御部31は、エラーを出力する(ステップS303)。その後、制御部31は、コントローラ処理を終了する。
一方、接続が完了したと判定された場合(ステップS302;Yes)、通信確立モジュール31aは、アクティブ検知機能の有無を機器アダプタ20に問い合わせる(ステップS304)。アクティブ検知機能は、本実施の形態に係る検知モジュール21bに等しい機能を意味する。
次に、通信確立モジュール31aは、ステップS304の問い合わせに対する機器アダプタ20からの応答に基づいて、機器アダプタ20がアクティブ検知機能を有するか否かを判定する(ステップS305)。機器アダプタ20がアクティブ検知機能を有しないと判定された場合(ステップS305;No)、制御部31は、ステップS303へ処理を移行する。
一方、機器アダプタ20がアクティブ検知機能を有すると判定された場合(ステップS305;Yes)、制御部31は、操作指示の中継処理を開始する(ステップS306)。この中継処理は、通信路43を介して受信した操作指示を、機器アダプタ20を介して宅内機器10へ送信する処理である。この中継処理は、コントローラ処理とは並列に実行される。
次に、検知モジュール31bは、通信路43の状態を試験するための試験信号をサーバ50へ送信する(ステップS307)。その後、検知モジュール31bは、試験信号に対するサーバ50からの応答があるか否かを判定する(ステップS308)。
応答があると判定された場合(ステップS308;Yes)、検知モジュール31bは、この応答が、途絶通信の送信後における最初の応答か否かを判定する(ステップS309)。ステップS309の判定が否定された場合(ステップS309;No)、検知モジュール31bは、ステップS314へ処理を移行する。
一方、ステップS309の処理が肯定された場合(ステップS309;Yes)、検知モジュール31bは、通信路43における通信が復旧したと判断して、復旧信号を宅内機器10へ送信する(ステップS310)。その後、検知モジュール31bは、ステップS314へ処理を移行する。
ステップS308にて、応答がないと判定された場合(ステップS308;No)、検知モジュール31bは、タイマ33が停止中であるか否かを判定する(ステップS311)。タイマ33が停止中ではないと判定された場合(ステップS311;No)、検知モジュール31bは、ステップS313へ処理を移行する。一方、タイマ33が停止中であると判定された場合(ステップS311;Yes)、検知モジュール31bは、タイマ33をスタートする(ステップS312)。
次に、検知モジュール31bは、通信路43における通信が途絶したと判断して、タイマ33によって測定された時間だけ通信路43における通信の途絶が継続していることを示す途絶信号を、宅内機器10へ送信する(ステップS313)。
次に、検知モジュール31bは、一定時間待機する(ステップS314)。この待機の時間は、例えば、30分間である。その後、検知モジュール31bは、ステップS307以降の処理を繰り返す。これにより、コントローラ30は、通信路43における通信の途絶及び復旧の有無について、一定時間毎に判断することとなる。そして、判断の結果が、宅内機器10へ通知される。
続いて、宅内機器10、機器アダプタ20、コントローラ30、及びサーバ50の間における通信について、図10を用いて説明する。図10のシーケンス図には、通信路41〜43における通信が確立してから遠隔操作が完了するまでの通信の例が示されている。
図10に示されるように、宅内機器10及び機器アダプタ20は、まず、起動シーケンスS401を実行する。具体的には、宅内機器10による起動シーケンス処理(ステップS101)及び機器アダプタ20による起動シーケンス処理(ステップS201)が、連動して実行される。これにより、通信路41における通信が確立する。
次に、機器アダプタ20及びコントローラ30は、接続シーケンスS402を実行する。具体的には、機器アダプタ20による接続シーケンス処理(ステップS204)及びコントローラ30による接続シーケンス処理(ステップS301)が、連動して実行される。これにより、通信路42における通信が確立する。
次に、機器アダプタ20及びコントローラ30は、認証シーケンスS403を実行する。具体的には、機器アダプタ20が、コントローラ30に対して時間通知機能の有無を問い合わせる(ステップS206)。コントローラ30は、この問い合わせに対して、時間通知機能を有する旨の応答をする(ステップS404)。また、コントローラ30は、機器アダプタ20に対してアクティブ検知機能の有無を問い合わせる(ステップS304)。機器アダプタ20は、この問い合わせに対して、アクティブ検知機能を有する旨の応答をする(ステップS405)。
その後、機器アダプタ20は、コントローラ30へ試験信号を定期的に送信する(ステップS209)。コントローラ30は、この試験信号を受信した場合には、機器アダプタ20に対して応答する(ステップS406)。これにより、機器アダプタ20は、通信路42における通信の途絶の有無を監視する。
また、コントローラ30は、サーバ50へ試験信号を定期的に送信する(ステップS307)。サーバ50は、この試験信号を受信した場合には、コントローラ30に対して応答する(ステップS407)。これにより、コントローラ30は、通信路43における通信の途絶の有無を監視する。
ここで、ユーザU1が宅内機器10に対する操作指示を操作端末60に入力すると、サーバ50は、宅内機器10への操作指示の伝送を中継する(ステップS411)。具体的には、サーバ50は、操作指示をコントローラ30へ送信する。その後、コントローラ30が操作指示の伝送を中継し(ステップS412)、機器アダプタ20も操作指示の伝送を中継する。
次に、宅内機器10は、操作指示に従って稼働を開始する(ステップS104)。そして、稼働が完了すると、宅内機器10は、操作端末60へ稼働の完了を通知する(ステップS414)。具体的には、宅内機器10は、遠隔操作が完了したことを示す信号を機器アダプタ20へ送信する。その後、機器アダプタ20がコントローラ30に遠隔操作の完了を通知し(ステップS415)、コントローラ30がサーバ50に遠隔操作の完了を通知する(ステップS416)。
続いて、通信路42、43における通信が途絶する場合について、図11を用いて説明する。図11のシーケンス図において、通信が途絶している期間は、ハッチングが付された領域により示されている。また、図11には、第1フラグF1、第2フラグF2及び第3フラグF3の状態が示されている。図11中のボックスB1は、第1フラグF1がONの状態である期間を示し、ボックスB2は、第2フラグF2がONの状態である期間を示している。
図11に示される例において、サーバ50は、宅内機器10に冷房運転をさせるための操作指示を送信する(ステップS421)。コントローラ30は、この操作指示を機器アダプタ20へ送信し(ステップS422)、機器アダプタ20は、この操作指示を宅内機器10へ送信する(ステップS423)。宅内機器10は、操作指示に従って稼働を開始する(ステップS104)。
ここで、通信路43における通信が途絶すると、コントローラ30がこの通信の途絶を検知して、タイマ33をスタートする(ステップS431)。この途絶の検知は、ステップS308(図9参照)の判定の否定に相当する。また、タイマ33のスタートは、ステップS312におけるタイマ33のスタートに相当する。
その後、通信路43における通信の途絶が継続している場合に、コントローラ30は、通信の途絶が継続している時間を示す途絶信号を、30分間の周期で繰り返し送信する(ステップS313)。そして、機器アダプタ20は、コントローラ30から送信された途絶信号を宅内機器10へ伝送する(ステップS432、S443)。なお、ステップS432にて伝送される途絶信号は、タイマ33のスタートと同時に送信されるため、通信路43における通信の途絶が継続している時間として、ゼロ分間を示している。
宅内機器10は、コントローラ30からの途絶信号を受信すると、第2フラグF2をONに設定して、タイマ13をスタートする(ステップS132)。なお、第2フラグF2の設定と、タイマ13のスタートは、同時に行われる。これにより、タイマ13によって測定される時間の長さは、第2フラグF2がONとなっている時間の長さに等しくなる。
次に、通信路42における通信が途絶すると、機器アダプタ20がこの通信の途絶を検知する(ステップS441)。この途絶の検知は、ステップS210(図8参照)の判定の否定に相当する。その後、機器アダプタ20は、通信路42における通信の途絶を示す途絶信号を宅内機器10へ送信する(ステップS211)。
宅内機器10は、機器アダプタ20からの途絶信号を受信すると、第1フラグF1をONに設定する。ここで、タイマ13が既に時間を測定しているため、宅内機器10の制御部11は、タイマ13を再度スタートさせたりリセットしたりすることはない。したがって、タイマ13は、ステップS132が実行された時刻から経過した時間の測定を続行する。
次に、通信路42における通信が復旧すると、機器アダプタ20がこの通信の復旧を検知する(ステップS442)。この復旧の検知は、ステップS212(図8参照)の判定の肯定に相当する。その後、機器アダプタ20は、復旧信号を宅内機器10へ送信する(ステップS213)。
宅内機器10は、機器アダプタ20からの復旧信号を受信すると、第1フラグF1をOFFに設定する。ここで、第2フラグF2が引き続きONであるため、宅内機器10の制御部11は、タイマ13を停止したり、リセットしたりすることはない。したがって、タイマ13は、ステップS132が実行された時刻から経過した時間の測定を続行する。
そして、第2フラグF2がONとなっている時間が、あらかじめ設定された時間T1より長くなると、宅内機器10は、稼働状態を設定する(ステップS108)。すなわち、タイマ13によって測定されている時間が時間T1を超えると、宅内機器10は、冷房運転から停止状態(スタンバイ状態)へ、運転モードを変更する。
以上、説明したように、本実施の形態に係る遠隔操作システム100は、通信路41〜43のいずれかにおける通信の途絶が継続する時間に応じて、宅内機器10の稼働状態を変化させた。これにより、通信の途絶が持続した場合に、途絶の前における操作指示に従って宅内機器10が稼働し続けることを防ぐことができる。ひいては、宅内機器10を適切に管理することができる。具体的には、宅内機器10の安全性を向上させたり、宅内機器10によるエネルギーの浪費を防いだりすることができる。
また、図5に示されるように、宅内機器10は、機器アダプタ20及びコントローラ30を経由した操作指示により操作されている場合に限って、稼働状態を変化させた。したがって、例えば住宅H1内のユーザU2によって宅内機器10が直接操作された場合において、ユーザU2の意図とは関係なく宅内機器10の稼働状態が自動的に変化することはない。これにより、宅内機器10を住宅H1内で使用する際の利便性が損なわれることがない。
また、宅内機器10は、タイマ13により測定されている時間が閾値を超えたときに、稼働状態をあらかじめ設定された目標状態に変化させた。これにより、宅内機器10は、単純な比較演算で稼働状態を変化させるか否かを判定し、記憶部12から読み出された状態をそのまま目標状態とすることができる。ひいては、宅内機器10のハードウェア資源を節約することができる。
また、機器アダプタ20は、試験信号を繰り返しコントローラ30へ送信し、この試験信号に対するコントローラ30からの応答の有無を判定することで、通信路42における通信の途絶を検知した(アクティブ検知機能)。これにより、機器アダプタ20は、通信路42における通信の途絶を確実に検知することができる。
また、コントローラ30は、機器アダプタ20がアクティブ検知機能を有する場合に限って、操作指示の伝送を中継した。これにより、通信路42における通信の途絶を検知することができない機器アダプタ20を介して、操作指示が宅内機器10へ伝送されることを未然に防ぐことができる。すなわち、通信路42における通信が途絶しているにも関わらず、宅内機器10のタイマ13がスタートしない状況の発生を、未然に防ぐことができる。
また、コントローラ30は、通信路43における通信の途絶が継続している時間を示す途絶信号を、宅内機器10へ繰り返し送信した(時間通知機能)。また、宅内機器10は、この途絶信号により示される時間に応じて、宅内機器10の稼働状態を変化させた。これにより、宅内機器10は、通信路43における通信の途絶が継続している時間を測定する必要がなくなる。ひいては、宅内機器10の構成を簡略化することが可能となる。
また、機器アダプタ20は、コントローラ30が時間通知機能を有する場合に限って、操作指示の伝送を中継した。これにより、通信路43における通信の途絶が継続している時間を測定することができない状況で、操作指示が宅内機器10へ伝送されることを未然に防ぐことができる。すなわち、通信路43における通信の途絶が一定時間以上継続しているにも関わらず、宅内機器10が操作指示に従って稼働し続けることを、未然に防ぐことができる。
また、宅内機器10は、通信路41〜43の少なくとも1つにおける通信の途絶が継続している時間を、1つのタイマ13を用いて測定した。これにより、通信路41〜43各々に対応するタイマを用いる場合に比して、宅内機器10の構成を小規模化して、宅内機器10による処理をより単純なものとすることができる。
また、宅内機器10及び機器アダプタ20による起動シーケンスが完了した後に、機器アダプタ20及びコントローラ30による接続シーケンスが実行された。これにより、通信路41における通信が確立した場合に限って、通信路42における通信が確立することとなる。このため、遠隔操作システム100を構築した直後に、通信路41における通信が途絶しているが通信路42における通信が確立している状況は発生しない。したがって、通信が途絶している通信路の特定が容易になる。
実施の形態2.
続いて、実施の形態2について、上述の実施の形態1との相違点を中心に説明する。なお、上記実施の形態1と同一又は同等の構成については、同等の符号を用いるとともに、その説明を省略又は簡略する。
本実施の形態に係る遠隔操作システム100は、コントローラ30が定期送信機能を有する点で、実施の形態1に係るものと異なる。定期送信機能は、機器アダプタ20へ定期的に定期信号を送信する機能である。定期信号は、例えば10秒間の周期で送信される。定期信号は、機器アダプタ20が通信路42における通信の途絶を検知するために用いられる。
図12には、本実施の形態に係るアダプタ処理が示されている。図12に示されるように、通信確立モジュール21aは、ステップS205の判定が肯定された場合に(ステップS205;Yes)、時間通知機能及び定期送信機能の有無をコントローラ30に問い合わせる(ステップS501)。
次に、通信確立モジュール21aは、コントローラ30からの応答に基づいて、時間通知機能及び定期送信機能の双方の機能の有無を判定する(ステップS502)。コントローラ30が時間通知機能又は定期送信機能を有していないと判定された場合(ステップS502;No)、制御部21は、ステップS203へ処理を移行する。
一方、コントローラ30が時間通知機能及び定期送信機能の双方を有すると判定された場合(ステップS502;Yes)、制御部21は、操作指示の中継処理を開始する(ステップS208)。
次に、検知モジュール21bは、通信部26がコントローラ30から定期信号を受信したか否かを判定する(ステップS503)。通信部26が定期信号を受信していないと判定された場合(ステップS503;No)、検知モジュール21bは、通信部26が定期信号を最後に受信してから一定時間が経過したか否かを判定する(ステップS504)。この一定時間は、例えば30秒間である。
一定時間が経過していないと判定された場合(ステップS504;No)、検知モジュール21bは、ステップS503以降の処理を繰り返す。一方、一定時間が経過したと判定された場合(ステップS504;Yes)、検知モジュール21bは、通信路42における通信が途絶したと判断して、宅内機器10へ途絶信号を送信する(ステップS211)。その後、検知モジュール21bは、ステップS503以降の処理を繰り返す。
ステップS503にて通信部26が定期信号を受信したと判定された場合(ステップS503;Yes)、検知モジュール21bは、この定期信号が、途絶信号の送信後において最初に受信したものか否かを判定する(ステップS506)。ステップS506の判定が否定された場合(ステップS506;No)、検知モジュール21bは、ステップS503以降の処理を繰り返す。
一方、ステップS506の判定が肯定された場合(ステップS506;Yes),検知モジュール21bは、通信路42における通信が復旧したと判断して、宅内機器10へ復旧信号を送信する(ステップS213)。その後、検知モジュール21bは、ステップS503以降の処理を繰り返す。
続いて、本実施の形態に係る宅内機器10、機器アダプタ20、コントローラ30、及びサーバ50の間における通信について、図13を用いて説明する。図13のシーケンス図は、機器アダプタ20が通信路42における通信の途絶を検知する例を示している。
図13に示されるように、コントローラ30は、機器アダプタ20へ定期的に定期信号を送信する(ステップS601)。これにより、機器アダプタ20は、通信路42における通信の途絶の有無を監視することができる。
そして、定期信号の受信が途絶すると、機器アダプタ20は、通信路42における通信の途絶を検知する(ステップS602)。具体的には、機器アダプタ20は、最後に定期信号を受信した時刻から、次の定期信号を受信しないまま時間T2が経過したときに、通信が途絶したと判断する。
以上、説明したように、本実施の形態に係るコントローラ30は、定期的に定期信号を送信した(定期送信機能)。そして、機器アダプタ20は、定期信号の有無を判定することで、通信路42における通信の途絶を検知した。これにより、機器アダプタ20は、通信路42における通信の途絶を確実に検知することができる。
また、機器アダプタ20は、コントローラ30が定期送信機能を有する場合に限って、操作指示の伝送を中継した。これにより、通信路42における通信が途絶していないにも関わらず、機器アダプタ20が通信路42における通信の途絶を誤検知してしまうことを防ぐことができる。
以上、本発明の実施形態について説明したが、本発明は上記実施形態によって限定されるものではない。
例えば、コントローラ30が通信路43における通信の途絶を検知する手法は、上記実施の形態に係るものに限られない。例えば、サーバ50が定期送信機能を有する場合に、コントローラ30は、実施の形態2に係る機器アダプタ20による検知と同様に、通信の途絶を検知してもよい。
また、上記実施の形態では、サーバ50を介して操作指示が伝送されたが、これには限定されない。例えば、操作端末60は、サーバ50を介することなくコントローラ30へ操作指示を送信してもよい。さらに、操作端末60を省略して遠隔操作システム100を構成することも考えられる。操作端末60が省略される場合には、ユーザU1は、コントローラ30に操作指示を直接入力してもよい。
また、上記実施の形態において、機器アダプタ20から送信された途絶信号は、通信路42における通信の途絶が継続している時間を示すものではなかった。しかしながら、機器アダプタ20は、コントローラ30と同様に、通信の途絶が継続している時間を示す途絶信号を、宅内機器10へ送信してもよい。
また、宅内機器10は、機器アダプタ20と一体的に製造されてもよいし、機器アダプタ20を内蔵してもよい。
上述の実施形態に係る宅内機器10、機器アダプタ20及びコントローラ30の機能は、専用のハードウェアによっても、また、通常のコンピュータシステムによっても実現することができる。
例えば、プログラムP1〜P3各々を、フレキシブルディスク、CD−ROM(Compact Disk Read-Only Memory)、DVD(Digital Versatile Disk)、MO(Magneto-Optical disk)等のコンピュータ読み取り可能な記録媒体に格納して配布し、そのプログラムP1〜P3各々をコンピュータにインストールすることにより、上述の処理を実行する装置を構成することができる。
また、プログラムP1〜P3各々をインターネット等の通信ネットワーク上の所定のサーバ装置が有するディスク装置等に格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロード等するようにしてもよい。
また、インターネット等のネットワークを介してプログラムP1〜P3各々を転送しながら起動実行することによっても、上述の処理を達成することができる。
さらに、プログラムP1〜P3各々の全部又は一部をサーバ装置上で実行させ、その処理に関する情報をコンピュータが通信ネットワークを介して送受信しながらプログラムP1〜P3各々を実行することによっても、上述の処理を達成することができる。
なお、上述の機能を、OS(Operating System)が分担して実現する場合又はOSとアプリケーションとの協働により実現する場合等には、OS以外の部分のみを媒体に格納して配布してもよく、また、コンピュータにダウンロード等してもよい。
また、宅内機器10、機器アダプタ20及びコントローラ30の機能を実現する手段は、ソフトウェアに限られず、その一部又は全部を専用のハードウェア(回路等)によって実現してもよい。例えば、機器アダプタ20の通信確立モジュール21a、検知モジュール21bを、FPGA(Field Programmable Gate Array)又はASIC(Application Specific Integrated Circuit)等を用いて構成すれば、機器アダプタ20の省電力化を図ることができる。
本発明は、広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。つまり、本発明の範囲は、実施の形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。