以下、本発明の実施形態を、図面を参照して説明する。
(第1の実施形態)
まず、本発明の第1の実施形態に係る通信システム1000について説明する。通信システム1000は、基本的に、通信装置200と第1電気機器300とを通信させるためのシステムである。通信システム1000は、典型的には、端末装置500や通信装置200から、第1電気機器300を制御するためのシステムである。図1に示すように、通信システム1000は、通信アダプタ100、通信装置200、第1電気機器300、第2電気機器400、端末装置500、サーバ600を備える。
ここで、通信アダプタ100と通信装置200とは、宅内電気通信網700を介して、第1プロトコルにより、相互に接続される。また、通信アダプタ100と第1電気機器300とは、第2プロトコルにより、相互に接続される。さらに、第1電気機器300と第2電気機器400とは、第3プロトコルにより、相互に接続される。また、通信装置200と端末装置500とサーバ600とは、宅外電気通信網800を介して、例えば、インターネットプロトコルにより、相互に接続される。
第1プロトコルは、宅内電気通信網700に接続された機器同士で相互に通信するためのプロトコルである。第1プロトコルは、伝送路の物理条件、伝達、相手の特定、情報表現などの要素により規定される。第1プロトコルは、例えば、イーサネット(登録商標)などのホームネットワーク用に定義された通信規格である。なお、宅内電気通信網700は、例えば、家屋内に設けられた機器を制御装置から制御するためのホームネットワークである。
第2プロトコルは、基本的に、第1プロトコルとは異なるプロトコルである。第2プロトコルは、例えば、シリアル通信を用いた種々の通信規格である。
第3プロトコルは、基本的に、第1プロトコルとは異なるプロトコルである。第3プロトコルは、例えば、シリアル通信やイーサネット(登録商標)などの有線通信の規格、又は、赤外線通信、Zigbee(登録商標)、Wi−Fi(Wireless Fidelity)、NFC(Near field communication)などの無線通信の規格である。
通信アダプタ100は、第1電気機器300を、通信装置200が接続された宅内電気通信網700に接続するためのインターフェースである。通信アダプタ100は、第1プロトコルにより、宅内電気通信網700に接続する機能を有する。従って、通信アダプタ100は、宅内電気通信網700を介して通信装置200との間で情報の授受が可能である。さらに、通信アダプタ100は、第2プロトコルにより、第1電気機器300との間で情報の授受が可能である。なお、通信アダプタ100は、商用電源や電池から電力の供給を受けている第1電気機器300から電力を供給されてもよいし、商用電源や電池などから直接電力を供給されてもよい。通信アダプタ100は、例えば、通信用のIC(Integrated Circuit)を備えたコンピュータを備える。
通信装置200は、第1プロトコルにより、宅内電気通信網700に接続する機能を有する。従って、通信装置200は、宅内電気通信網700を介して第1電気機器300との間で情報の授受が可能である。ここで、通信装置200は、端末装置500から供給された制御信号、ユーザの指示、もしくは、自動プログラムなどに従って、第1電気機器300と通信する。通信装置200は、典型的には、第1電気機器300を遠隔制御する制御装置である。従って、通信装置200は、第1電気機器300を制御することもできるし、第1電気機器300の機器状態(動作状態)を監視することもできる。また、通信装置200は、通信アダプタ100と第1電気機器300とを介して、第2電気機器400を制御することもできるし、第2電気機器400の機器状態を監視することもできる。
また、通信装置200は、インターネットプロトコルにより、宅外電気通信網800に接続する機能を有する。従って、通信装置200は、宅外電気通信網800を介して端末装置500やサーバ600との間で情報の授受が可能である。端末装置500を利用した第1電気機器300に対する遠隔制御は、通信装置200が有する中継機能により実現される。通信装置200は、専用のコンピュータであってもよいし、パーソナルコンピュータなどの汎用のコンピュータであってもよい。
第1電気機器300は、制御又は監視の対象となる機器であり、例えば、ユーザの宅内に配置される。第1電気機器300は、第1プロトコルによる通信は可能でなく、第2プロトコルによる通信や第3プロトコルによる通信が可能である。従って、第1電気機器300は、第1プロトコルにより、直接的に宅内電気通信網700に接続することはできない。一方、第1電気機器300は、第2プロトコルにより、通信アダプタ100との間で情報の授受が可能である。従って、第1電気機器300は、通信アダプタ100を介して、間接的に、通信装置200と接続される。第1電気機器300は、通信装置200などにより指示された制御内容に従って動作する機能を有する。また、第1電気機器300は、第1電気機器300の機器状態を示す情報を、通信装置200に供給する機能を有する。
また、第1電気機器300は、第3プロトコルにより、第2電気機器400との間で情報の授受が可能である。第1電気機器300は、例えば、レンジフード、エアコン、給湯器、電気ストーブ、炊飯器、照明装置、電気カーペットである。本実施形態では、第1電気機器300は、レンジフードであるものとして説明する。
第2電気機器400は、制御又は監視の対象となる機器であり、例えば、ユーザの宅内に配置される。第2電気機器400は、第3プロトコルにより、第1電気機器300との間で情報の授受が可能である。第2電気機器400は、例えば、レンジフード、エアコン、給湯器、電気ストーブ、炊飯器、照明装置、電気カーペットである。本実施形態では、第2電気機器400は、電磁調理器(加熱調理器)であるものとして説明する。
なお、第1電気機器300と第2電気機器400とは、連動することができる。例えば、第1電気機器300は、第2電気機器400の機器状態に連動して動作することができる。また、例えば、第2電気機器400は、第1電気機器300の機器状態に連動して動作することができる。例えば、レンジフードである第1電気機器300は、電磁調理器である第2電気機器400の機器状態が加熱されていない状態(以下「非加熱状態」という。)から加熱されている状態(以下「加熱状態」という。)に切り替わったことを検知した場合、ファンが回転していない状態(以下「非回転状態」という。)からファンが回転している状態(以下「回転状態」という。)に切り替わる。また、例えば、電磁調理器である第2電気機器400は、レンジフードである第1電気機器300が回転状態から非回転状態に切り替わったことを検知した場合、加熱状態から非加熱状態に切り替わる。
端末装置500は、ユーザからの指示に従って、第1電気機器300や第2電気機器400を遠隔制御する。なお、端末装置500は、第1電気機器300や第2電気機器400を遠隔制御するための制御信号を、通信装置200に送信する。ここで、制御信号は、例えば、送信元の端末装置(端末装置500)を示す情報と、送信先の電気機器(第1電気機器300、第2電気機器400)を示す情報と、制御内容を示す情報とを含む情報を伝達する信号である。端末装置500は、宅外電気通信網800に接続する機能を有する。端末装置500は、例えば、スマートフォン、携帯電話、タブレット端末である。
サーバ600は、通信装置200が使用する各種の情報などを通信装置200に提供する装置である。サーバ600は、各種の情報を記憶する記憶装置を備える。また、サーバ600は、宅外電気通信網800に接続する機能を有する。
宅内電気通信網700は、宅内に構築された無線LAN(Local Area Network)などの電気通信網である。宅内電気通信網700は、通信アダプタ100と通信装置200とを相互に接続する。宅内電気通信網700は、第1プロトコルに従った通信を中継する。
宅外電気通信網800は、宅外に構築されたインターネットなどの電気通信網である。宅外電気通信網800は、通信装置200と端末装置500とサーバ600とを相互に接続する。なお、理解を容易にするため、図1では、ルータ、ゲートウェイなどの図示を省略している。
次に、図2を参照して、通信アダプタ100の物理的な構成について説明する。図2に示すように、通信アダプタ100は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、フラッシュメモリ14、宅内電気通信網インターフェース15、第1電気機器インターフェース16を備える。通信アダプタ100が備える各構成要素は、バスを介して相互に接続される。
CPU11は、通信アダプタ100の全体の動作を制御する。なお、CPU11は、ROM12に格納されているプログラムに従って動作し、RAM13をワークエリアとして使用する。
ROM12には、通信アダプタ100の全体の動作を制御するためのプログラムやデータが記憶される。
RAM13は、CPU11のワークエリアとして機能する。つまり、CPU11は、RAM13にプログラムやデータを一時的に書き込み、これらのプログラムやデータを適宜参照する。
フラッシュメモリ14は、各種の情報を記憶する不揮発性メモリである。例えば、フラッシュメモリ14は、第1電気機器300から取得した、第1電気機器300の機器状態を表す情報(以下「第1機器状態情報」という。)や第2電気機器400の機器状態を表す情報(以下「第2機器状態情報」という。)などを記憶する。なお、フラッシュメモリ14は、コスト低減等の理由から削減することができる。この場合、各種の情報は、フラッシュメモリ14に代えて、RAM13等に記憶される。
宅内電気通信網インターフェース15は、第1プロトコルにより、通信アダプタ100を宅内電気通信網700に接続するためのインターフェースである。宅内電気通信網インターフェース15は、例えば、NIC(Network Interface Card)などのLANインターフェースを備える。
第1電気機器インターフェース16は、第2プロトコルにより、通信アダプタ100を第1電気機器300に電気的に接続するためのインターフェースである。
次に、図3を参照して、通信装置200の物理的な構成について説明する。図3に示すように、通信装置200は、CPU21、ROM22、RAM23、フラッシュメモリ24、宅内電気通信網インターフェース25、宅外電気通信網インターフェース26、タッチスクリーン27を備える。通信装置200が備える各構成要素は、バスを介して相互に接続される。
CPU21は、通信装置200の全体の動作を制御する。なお、CPU21は、ROM22に格納されているプログラムに従って動作し、RAM23をワークエリアとして使用する。
ROM22には、通信装置200の全体の動作を制御するためのプログラムやデータが記憶される。
RAM23は、CPU21のワークエリアとして機能する。つまり、CPU21は、RAM23にプログラムやデータを一時的に書き込み、これらのプログラムやデータを適宜参照する。
フラッシュメモリ24は、各種の情報を記憶する不揮発性メモリである。例えば、フラッシュメモリ24は、連動動作定義情報、第1機器状態情報、第2機器状態情報などを記憶する。なお、通信装置200は、フラッシュメモリ24に代えて、ハードディスクなどを備えていてもよい。なお、フラッシュメモリ24は、コスト低減等の理由から削減することができる。この場合、各種の情報は、フラッシュメモリ24に代えて、RAM23等に記憶される。
宅内電気通信網インターフェース25は、第1プロトコルにより、通信装置200を宅内電気通信網700に接続するためのインターフェースである。宅内電気通信網インターフェース25は、例えば、宅内電気通信網700を介して、第1電気機器300との間で、電文を送受信する。宅内電気通信網インターフェース25は、例えば、NICなどのLANインターフェースを備える。
宅外電気通信網インターフェース26は、インターネットプロトコルにより、通信装置200を宅外電気通信網800に接続するためのインターフェースである。宅外電気通信網インターフェース26は、CPU21による制御に従って、端末装置500やサーバ600と通信する。宅外電気通信網インターフェース26は、例えば、NICなどのLANインターフェースを備える。
タッチスクリーン27は、ユーザによりなされたタッチ操作を検知し、検知結果を示す信号をCPU21に供給する。また、タッチスクリーン27は、CPU21などから供給された画像信号に基づく画像を表示する。このように、タッチスクリーン27は、通信装置200のユーザインターフェースとして機能する。従って、ユーザは、タッチスクリーン27に対するタッチ操作により、第1電気機器300や第2電気機器400を制御することができる。また、ユーザは、タッチスクリーン27に提示された画像を参照して、第1電気機器300や第2電気機器400の状態を知ることができる。
なお、コスト低減等の理由により、通信装置200は、タッチスクリーン27に代えて、各種の入力操作を受け付けるボタンやスイッチを備えていてもよい。この場合、ユーザは、これらのボタンやスイッチに対する入力操作により、第1電気機器300や第2電気機器400を操作することができる。一方、第1電気機器300や第2電気機器400の動作状態等は、宅内電気通信網700や宅外電気通信網800に接続された、テレビやパーソナルコンピュータや端末装置500等の映像出力が可能な機器を用いて表示することができる。
次に、図4を参照して、第1電気機器300の物理的な構成について説明する。図4に示すように、第1電気機器300は、CPU31、ROM32、RAM33、フラッシュメモリ34、通信アダプタインターフェース35、第2電気機器インターフェース36、タッチスクリーン37、センサ38、処理装置39を備える。第1電気機器300が備える各構成要素は、バスを介して相互に接続される。
CPU31は、第1電気機器300の全体の動作を制御する。例えば、CPU31は、第1電気機器300を制御するための情報(以下「第1機器制御情報」という。)に従って、処理装置39に供給する制御信号を生成する。なお、第1機器制御情報は、例えば、ユーザによるタッチスクリーン37へのタッチ操作に基づいて生成される。もしくは、第1機器制御情報は、通信アダプタ100から供給される。
また、CPU31は、センサ38から供給された情報や、処理装置39から供給された情報に基づいて、第1機器状態情報を生成し、フラッシュメモリ34に記憶する。第1機器状態情報は、第1電気機器300の現在時刻における機器状態のほか、第1電気機器300が現在の機器状態を維持する残り時間、第1電気機器300の消費電力、第1電気機器300の通信状態、第1電気機器300の周囲の温度や湿度などを含んでいてもよい。なお、CPU31は、ROM32に格納されているプログラムに従って動作し、RAM33をワークエリアとして使用する。
ROM32には、第1電気機器300の全体の動作を制御するためのプログラムやデータが記憶される。
RAM33は、CPU31のワークエリアとして機能する。つまり、CPU31は、RAM33にプログラムやデータを一時的に書き込み、これらのプログラムやデータを適宜参照する。
フラッシュメモリ34は、各種の情報を記憶する不揮発性メモリである。例えば、フラッシュメモリ34は、連動動作定義情報、第1機器状態情報、第2機器状態情報などを記憶する。なお、フラッシュメモリ34は、コスト低減等の理由から削減することができる。この場合、各種の情報は、フラッシュメモリ34に代えて、RAM33等に記憶される。
連動動作定義情報は、第1電気機器300と第2電気機器400との連動関係を定義する情報である。例えば、連動動作定義情報は、第1電気機器300の機器状態と第2電気機器400のあるべき機器状態との関係を示す情報や、第2電気機器400の機器状態と第1電気機器300のあるべき機器状態との関係を示す情報を含む。例えば、連動動作定義情報は、電磁調理器である第2電気機器400が加熱状態である場合に、レンジフードである第1電気機器300を回転状態にすべきことを定義する情報を含む。また、例えば、連動動作定義情報は、レンジフードである第1電気機器300が非回転状態に場合に、電磁調理器である第2電気機器400を非加熱状態にすべきことを定義する情報を含む。
なお、連動動作定義情報は、現在時刻における第1電気機器300の機器状態と現在時刻において第2電気機器400のあるべき機器状態との関係を示す情報や、現在時刻における第2電気機器400の機器状態と現在時刻において第1電気機器300のあるべき機器状態との関係を示す情報でなくてもよい。例えば、連動動作定義情報は、過去における第1電気機器300の機器状態と現在時刻において第2電気機器400のあるべき機器状態との関係を示す情報や、過去における第2電気機器400の機器状態と現在時刻において第1電気機器300のあるべき機器状態との関係を示す情報であってもよい。
例えば、連動動作定義情報は、電磁調理器である第2電気機器400が加熱状態から非加熱状態に切り替わってから、所定時間経過後に、レンジフードである第1電気機器300を回転状態から非回転状態に切り替えることを定義する情報でもよい。
通信アダプタインターフェース35は、第2プロトコルにより、第1電気機器300を通信アダプタ100に電気的に接続するためのインターフェースである。
第2電気機器インターフェース36は、第3プロトコルにより、第1電気機器300を第2電気機器400に電気的に接続するためのインターフェースである。
タッチスクリーン37は、ユーザによりなされたタッチ操作を検知し、検知結果を示す信号をCPU31に供給する。また、タッチスクリーン37は、CPU31などから供給された画像信号に基づく画像を表示する。このように、タッチスクリーン37は、第1電気機器300のユーザインターフェースとして機能する。従って、ユーザは、タッチスクリーン37に対するタッチ操作により、第1電気機器300を操作することができる。また、ユーザは、タッチスクリーン37に提示された画像を参照して、第1電気機器300の状態を知ることができる。
なお、コスト低減等の理由により、第1電気機器300は、タッチスクリーン37に代えて、各種の入力操作を受け付けるボタンやスイッチを備えていてもよい。この場合、ユーザは、これらのボタンやスイッチに対する入力操作により、第1電気機器300などを操作することができる。一方、第1電気機器300の動作状態等は、宅内電気通信網700や宅外電気通信網800に接続された、テレビやパーソナルコンピュータや通信装置200や端末装置500等の映像出力が可能な機器を用いて表示することができる。
センサ38は、第1電気機器300の制御などに用いられる各種のセンサである。センサ38により検知された物理量を示す情報は、バスを介してCPU31に供給される。センサ38は、例えば、ファンの回転数を検出する回転数センサなどである。
処理装置39は、第1電気機器300が有する機能に関わる処理を実行する装置である。処理装置39は、バスを介してCPU31から供給された制御信号に従って、処理を実行する。処理装置39の状態を示す情報は、適宜、バスを介してCPU31に供給される。処理装置39は、例えば、モータドライバ、ファンを備える。
次に、図5を参照して、第2電気機器400の物理的な構成について説明する。図5に示すように、第2電気機器400は、CPU41、ROM42、RAM43、フラッシュメモリ44、第1電気機器インターフェース45、タッチスクリーン46、センサ47、処理装置48を備える。第2電気機器400が備える各構成要素は、バスを介して相互に接続される。
CPU41は、第2電気機器400の全体の動作を制御する。例えば、CPU41は、第2電気機器400を制御するための情報(以下「第2機器制御情報」という。)に従って、処理装置48に供給する制御信号を生成する。なお、第2機器制御情報は、例えば、ユーザによるタッチスクリーン46へのタッチ操作に基づいて生成される。もしくは、第2機器制御情報は、第1電気機器300から供給される。
また、CPU41は、センサ47から供給された情報や、処理装置48から供給された情報に基づいて、第2機器状態情報を生成し、フラッシュメモリ44に記憶する。第2機器状態情報は、第2電気機器400の現在時刻における機器状態のほか、第2電気機器400が現在の機器状態を維持する残り時間、第2電気機器400の消費電力、第2電気機器400の通信状態、第2電気機器400の周囲の温度や湿度などを含んでいてもよい。第2機器状態情報は、例えば、第2電気機器インターフェース36を介して、第2電気機器400から取得される情報である。なお、CPU41は、ROM42に格納されているプログラムに従って動作し、RAM43をワークエリアとして使用する。
ROM42には、第2電気機器400の全体の動作を制御するためのプログラムやデータが記憶される。
RAM43は、CPU41のワークエリアとして機能する。つまり、CPU41は、RAM43にプログラムやデータを一時的に書き込み、これらのプログラムやデータを適宜参照する。
フラッシュメモリ44は、各種の情報を記憶する不揮発性メモリである。例えば、フラッシュメモリ44は、第2機器状態情報などを記憶する。なお、フラッシュメモリ44は、コスト低減等の理由から削減することができる。この場合、各種の情報は、フラッシュメモリ44に代えて、RAM43等に記憶される。
第1電気機器インターフェース45は、第3プロトコルにより、第2電気機器400を第1電気機器300に電気的に接続するためのインターフェースである。
タッチスクリーン46は、ユーザによりなされたタッチ操作を検知し、検知結果を示す信号をCPU41に供給する。また、タッチスクリーン46は、CPU41などから供給された画像信号に基づく画像を表示する。このように、タッチスクリーン46は、第2電気機器400のユーザインターフェースとして機能する。従って、ユーザは、タッチスクリーン46に対するタッチ操作により、第2電気機器400を操作することができる。また、ユーザは、タッチスクリーン46に提示された画像を参照して、第2電気機器400の状態を知ることができる。
なお、コスト低減等の理由により、第2電気機器400は、タッチスクリーン46に代えて、各種の入力操作を受け付けるボタンやスイッチを備えていてもよい。この場合、ユーザは、これらのボタンやスイッチに対する入力操作により、第2電気機器400などを操作することができる。一方、第2電気機器400の動作状態等は、宅内電気通信網700や宅外電気通信網800に接続された、テレビやパーソナルコンピュータや通信装置200や端末装置500等の映像出力が可能な機器を用いて表示することができる。
センサ47は、第2電気機器400の制御などに用いられる各種のセンサである。センサ47により検知された物理量を示す情報は、バスを介してCPU41に供給される。センサ47は、例えば、電磁調理器が備える発熱装置の温度を検出する温度センサなどである。
処理装置48は、第2電気機器400が有する機能に関わる処理を実行する装置である。処理装置48は、バスを介してCPU41から供給された制御信号に従って、処理を実行する。処理装置48の状態を示す情報は、適宜、バスを介してCPU41に供給される。処理装置48は、例えば、発熱して鍋などを熱する発熱装置などである。
次に、図6を参照して、本実施形態に係る通信システム1000の基本的な機能について説明する。図6に示すように、通信システム1000は、通信アダプタ100と、通信装置200と、第1電気機器300と、第2電気機器400と、を備える。
通信アダプタ100は、第1プロトコル通信部101と、第2プロトコル通信部102と、中継部103とを備える。
第1プロトコル通信部101は、第1プロトコルにより、通信装置200と通信する。第1プロトコル通信部101は、例えば、CPU11と宅内電気通信網インターフェース15とを備える。
第2プロトコル通信部102は、第1プロトコルとは異なる第2プロトコルにより、第1電気機器300と通信する。第2プロトコル通信部102は、例えば、CPU11と第1電気機器インターフェース16とを備える。
中継部103は、第2プロトコル通信部102に、第1プロトコル通信部101により受信された情報を、第1電気機器300に向けて送信させる。又は、中継部103は、第1プロトコル通信部101に、第2プロトコル通信部102により受信された情報を、通信装置200に向けて送信させる。中継部103は、第1プロトコルと第2プロトコルとの間で、プロトコル変換する機能を有する。中継部103は、例えば、CPU11を備える。
通信装置200は、第1プロトコル通信部201と、処理実行部202とを備える。
第1プロトコル通信部201は、第1プロトコルにより、通信アダプタ100と通信する。第1プロトコル通信部201は、例えば、CPU21と宅内電気通信網インターフェース25とを備える。
処理実行部202は、第1プロトコル通信部201により送信又は受信された情報に関わる処理を実行する。処理実行部202は、例えば、CPU21とタッチスクリーン27とを備える。
第1電気機器300は、第2プロトコル通信部301と、第3プロトコル通信部302と、処理実行部303と、中継部304とを備える。
第2プロトコル通信部301は、第2プロトコルにより、通信アダプタ100と通信する。第2プロトコル通信部301は、例えば、CPU31と通信アダプタインターフェース35とを備える。
第3プロトコル通信部302は、第1プロトコルとは異なる第3プロトコルにより、第2電気機器400と通信する。第3プロトコル通信部302は、例えば、CPU31と第2電気機器インターフェース36とを備える。
処理実行部303は、第2プロトコル通信部301により受信された、第1電気機器300を制御するための第1機器制御情報に基づいて、第1電気機器300を動作させる処理を実行する。又は、処理実行部303は、第2プロトコル通信部301に、第1電気機器300の状態を示す第1機器状態情報を、通信アダプタ100に向けて送信させる処理を実行する。処理実行部303は、例えば、CPU31と処理装置39とを備える。
中継部304は、第3プロトコル通信部302に、第2プロトコル通信部301により受信された、第2電気機器400を制御するための第2機器制御情報を、第2電気機器400に向けて送信させる。又は、中継部304は、第2プロトコル通信部301に、第3プロトコル通信部302により受信された、第2電気機器400の状態を示す第2機器状態情報を、通信アダプタ100に向けて送信させる。中継部304は、第2プロトコルと第3プロトコルとの間で、プロトコル変換する機能を有する。中継部304は、例えば、CPU31を備える。
第2電気機器400は、前記第2電気機器は、第3プロトコル通信部401と、処理実行部402とを備える。
第3プロトコル通信部401は、第3プロトコルにより、第1電気機器300と通信する。第3プロトコル通信部401は、例えば、CPU41と第1電気機器インターフェース45とを備える。
処理実行部402は、第3プロトコル通信部401により受信された、第2機器制御情報に基づいて、第2電気機器400を動作させる処理を実行する。又は、処理実行部402は、第3プロトコル通信部401に、第2機器状態情報を、第1電気機器300に向けて送信させる処理を実行する。処理実行部402は、例えば、CPU41と処理装置48とを備える。
ここで、第1電気機器300が備える処理実行部303、又は、第2電気機器400が備える処理実行部402は、第3プロトコルにより第1電気機器300と第2電気機器400との間で伝達された情報に基づいて、第1電気機器300と第2電気機器400とを連動させる。
例えば、第2電気機器400が備える処理実行部402は、第3プロトコル通信部401に、第2機器状態情報を、第1電気機器300に向けて送信させる処理を実行する。一方、第1電気機器300が備える処理実行部303は、第3プロトコル通信部302により受信された第2機器状態情報に基づいて、第2電気機器400と連動するように、第1電気機器300を動作させる処理を実行する。
なお、第1電気機器300は、例えば、レンジフードである。また、第2電気機器400は、例えば、電磁調理器である。
次に、図7から図9を参照して、通信システム1000により実行される処理の流れについて説明する。なお、本実施形態では、第2電気機器400から第1電気機器300に向けて情報を送信することができ、第1電気機器300から第2電気機器400に向けて情報を送信することができないものとする。
図7は、第1電気機器300が第2電気機器400に連動したときの処理の流れを示すシーケンス図である。
まず、ユーザは、ST101において、第2電気機器400に対して、動作を指示する。なお、ユーザは、例えば、第2電気機器400が備えるタッチスクリーン46に対するタッチ操作により、第2電気機器400に動作を指示することができる。動作の指示は、例えば、電磁調理器を、非加熱状態から加熱状態に切り替える指示である。一方、第2電気機器400は、ユーザから動作の指示を受け付けたことに応答して、指示された動作を実行する。つまり、第2電気機器400は、電磁調理器を、非加熱状態から加熱状態に切り替える。
次に、第2電気機器400は、ST102において、第1電気機器300に対して機器状態を通知する。例えば、第2電気機器400は、加熱状態であることを示す第2機器状態情報を、第1電気機器300に送信する。一方、第1電気機器300は、第2電気機器400から機器状態の通知を受けると、第2電気機器400の動作に連動する。例えば、第1電気機器300は、第2電気機器400が加熱状態であることに連動して、非回転状態から回転状態に切り替える。そして、第1電気機器300は、第1電気機器300が回転状態であることを示す第1機器状態情報と、第2電気機器400が加熱状態であることを示す第2機器状態情報とを、フラッシュメモリ34に記憶する。
ここで、通信アダプタ100は、定期的に、ST103において、第1電気機器300に、機器状態の通知を要求する。つまり、通信アダプタ100は、定期的に、第1電気機器300に、第1電気機器300の機器状態と第2電気機器400の機器状態とを問い合わせる。
一方、第1電気機器300は、通信アダプタ100から機器状態の通知の要求を受けたことに応答して、ST104において、通信アダプタ100に機器状態を通知する。つまり、第1電気機器300は、フラッシュメモリ34に記憶されている、第1機器状態情報と第2機器状態情報とを、通信アダプタ100に送信する。一方、通信アダプタ100は、第1電気機器300から機器状態の通知を受けたことに応答して、通知された機器状態を保存する。つまり、通信アダプタ100は、第1電気機器300から受信した、第1機器状態情報と第2機器状態情報とを、フラッシュメモリ14に記憶する。
ここで、通信装置200は、定期的に、ST105において、通信アダプタ100に、機器状態の通知を要求する。つまり、通信装置200は、定期的に、通信アダプタ100に、第1電気機器300の機器状態と第2電気機器400の機器状態とを問い合わせる。
一方、通信アダプタ100は、通信装置200から機器状態の通知の要求を受けたことに応答して、ST106において、通信装置200に機器状態を通知する。つまり、通信アダプタ100は、フラッシュメモリ14に記憶されている、第1機器状態情報と第2機器状態情報とを、通信装置200に送信する。
一方、通信装置200は、通信アダプタ100から機器状態の通知を受けたことに応答して、通知された機器状態を保存する。つまり、通信装置200は、通信アダプタ100から受信した、第1機器状態情報と第2機器状態情報とを、フラッシュメモリ24に記憶する。さらに、通信装置200は、第1電気機器300や第2電気機器400の機器状態に応じて、対応した処理を実行する。なお、通信装置200が実行する対応した処理は、例えば、第1電気機器300や第2電気機器400の機器状態をユーザに提示する処理や、第1電気機器300や第2電気機器400を制御する処理である。
図8は、第1電気機器300と第2電気機器400とが単独で動作したときの処理の流れを示すシーケンス図である。
まず、ユーザは、ST201において、第2電気機器400に対して、動作を指示する。一方、第2電気機器400は、ユーザから動作の指示を受け付けたことに応答して、指示された動作を実行する。例えば、第2電気機器400は、非加熱状態から加熱状態に切り替える。
次に、第2電気機器400は、ST202において、第1電気機器300に対して機器状態を通知する。つまり、第2電気機器400は、加熱状態であることを示す第2機器状態情報を、第1電気機器300に送信する。ここで、第1電気機器300が第2電気機器400に連動しない場合、第1電気機器300は、第2電気機器400が加熱状態であることを示す第2機器状態情報を、フラッシュメモリ34に記憶する。
また、ユーザは、ST203において、第1電気機器300に対して、動作を指示する。なお、ユーザは、例えば、第1電気機器300が備えるタッチスクリーン37に対するタッチ操作により、第1電気機器300に動作を指示することができる。動作の指示は、例えば、第1電気機器300(第1電気機器300が備えるファン)を、非回転状態から回転状態に切り替える指示である。一方、第1電気機器300は、ユーザから動作の指示を受け付けたことに応答して、指示された動作を実行する。つまり、第1電気機器300は、第1電気機器300を、非回転状態から回転状態に切り替える。そして、第1電気機器300は、第1電気機器300が回転状態であることを示す第1機器状態情報を、フラッシュメモリ34に記憶する。
以下、図8におけるST204からST207までの処理は、図7におけるST103からST106までの処理と同様である。
つまり、通信アダプタ100は、定期的に、ST204において、第1電気機器300に、機器状態の通知を要求する。
一方、第1電気機器300は、通信アダプタ100から機器状態の通知の要求を受けたことに応答して、ST205において、通信アダプタ100に機器状態を通知する。そして、通信アダプタ100は、第1電気機器300から機器状態の通知を受けたことに応答して、通知された機器状態を保存する。
ここで、通信装置200は、定期的に、ST206において、通信アダプタ100に、機器状態の通知を要求する。
一方、通信アダプタ100は、通信装置200から機器状態の通知の要求を受けたことに応答して、ST207において、通信装置200に機器状態を通知する。通信装置200は、通信アダプタ100から機器状態の通知を受けたことに応答して、通知された機器状態を保存する。さらに、通信装置200は、第1電気機器300や第2電気機器400の機器状態に応じて、対応した処理を実行する。
図9は、通信装置200を介して第1電気機器300に動作が指示されたときの処理の流れを示すシーケンス図である。
まず、ユーザは、ST301において、第2電気機器400に対して、動作を指示する。一方、第2電気機器400は、ユーザから動作の指示を受け付けたことに応答して、指示された動作を実行する。つまり、第2電気機器400は、非加熱状態から加熱状態に切り替える。
次に、第2電気機器400は、ST302において、第1電気機器300に対して機器状態を通知する。つまり、第2電気機器400は、加熱状態であることを示す第2機器状態情報を、第1電気機器300に送信する。ここで、第1電気機器300が第2電気機器400に連動しない場合、第1電気機器300は、第2電気機器400が加熱状態であることを示す第2機器状態情報を、フラッシュメモリ34に記憶する。
ここで、ユーザは、ST303において、通信装置200を介して、第1電気機器300に対して、動作を指示する。なお、ユーザは、例えば、通信装置200が備えるタッチスクリーン27に対するタッチ操作により、第1電気機器300に動作を指示することができる。動作の指示は、例えば、第1電気機器300を、非回転状態から回転状態に切り替える指示である。
一方、通信装置200は、第1電気機器300に対する動作の指示を受け付けたことに応答して、ST304において、第1電気機器300に対する動作の指示を、通信アダプタ100に向けて送信する。
ここで、通信アダプタ100は、第1電気機器300に対する動作の指示を受け付けたことに応答して、ST305において、第1電気機器300に対する動作の指示を、第1電気機器300に向けて送信する。
一方、第1電気機器300は、通信アダプタ100から動作の指示を受け付けたことに応答して、指示された動作を実行する。つまり、第1電気機器300は、非回転状態から回転状態に切り替える。そして、第1電気機器300は、第1電気機器300が回転状態であることを示す第1機器状態情報を、フラッシュメモリ34に記憶する。
以下、図9におけるST306からST309までの処理は、図8におけるST204からST207までの処理と同様である。
つまり、通信アダプタ100は、定期的に、ST306において、第1電気機器300に、機器状態の通知を要求する。
一方、第1電気機器300は、通信アダプタ100から機器状態の通知の要求を受けたことに応答して、ST307において、通信アダプタ100に機器状態を通知する。そして、通信アダプタ100は、第1電気機器300から機器状態の通知を受けたことに応答して、通知された機器状態を保存する。
ここで、通信装置200は、定期的に、ST308において、通信アダプタ100に、機器状態の通知を要求する。
一方、通信アダプタ100は、通信装置200から機器状態の通知の要求を受けたことに応答して、ST309において、通信装置200に機器状態を通知する。通信装置200は、通信アダプタ100から機器状態の通知を受けたことに応答して、通知された機器状態を保存する。さらに、通信装置200は、第1電気機器300や第2電気機器400の機器状態に応じて、対応した処理を実行する。
次に、図10に示すフローチャートを参照して、第2電気機器400が実行する機器状態通知処理について説明する。なお、第2電気機器400は、電源が投入されたことに応答して、図10に示す機器状態通知処理を開始する。
まず、CPU41は、ユーザから動作の指示があるか否かを判別する(ステップS101)。具体的には、CPU41は、タッチスクリーン46から供給される信号を監視して、動作を指示するタッチ操作がタッチスクリーン46により受け付けられたか否かを判別する。なお、動作の指示は、例えば、第2電気機器400(第2電気機器400が備える発熱装置)を、非加熱状態から加熱状態に切り替える旨の指示である。
CPU41は、ユーザから動作の指示があると判別すると(ステップS101:YES)、指示された動作を実行する(ステップS102)。例えば、CPU41は、処理装置48が備える発熱装置の温度が指示された温度になるように、発熱装置の温度を制御する。なお、CPU41は、温度センサを備えるセンサ47から供給される温度信号を、発熱装置の温度の制御に用いることができる。また、CPU41は、フラッシュメモリ44に記憶されている第2機器状態情報を、第2電気機器400の機器状態の変化に応じて、適宜、更新する。
CPU41は、ユーザから動作の指示がないと判別した場合(ステップS101:NO)、又は、ステップS102の処理を完了した場合、第2電気機器400の機器状態に変化があるか否かを判別する(ステップS103)。第2電気機器400の機器状態は、例えば、発熱装置の状態(非加熱状態、弱い加熱状態、中程度の加熱状態、強い加熱状態)、発熱装置の温度、運転モード(自動運転、手動運転)などである。なお、例えば、CPU41は、第2電気機器400の過去の機器状態を示す第2機器状態情報と、第2電気機器400の最新の機器状態を示す第2機器状態情報との双方をフラッシュメモリ44に記憶することにより、第2電気機器400の機器状態に変化があるか否かを判別することができる。
CPU41は、第2電気機器400の機器状態に変化があると判別すると(ステップS103:YES)、第1電気機器300に第2電気機器400の機器状態を通知する(ステップS104)。具体的には、CPU41は、フラッシュメモリ44に記憶されている最新の第2機器状態情報を、第1電気機器インターフェース45を介して、第1電気機器300に送信する。
一方、CPU41は、第2電気機器400の機器状態に変化がないと判別すると(ステップS103:NO)、ステップS101に処理を戻す。
次に、図11に示すフローチャートを参照して、第1電気機器300が実行する機器状態保存処理について説明する。なお、第1電気機器300は、電源が投入されたことに応答して、図11に示す機器状態保存処理を開始する。
まず、CPU31は、ユーザから動作の指示があるか否かを判別する(ステップS201)。具体的には、CPU31は、タッチスクリーン37から供給される信号を監視して、動作を指示するタッチ操作がタッチスクリーン37により受け付けられたか否かを判別する。なお、動作の指示は、例えば、第1電気機器300(第1電気機器300が備えるファン)を、非回転状態から回転状態に切り替える旨の指示である。
CPU31は、ユーザから動作の指示がないと判別すると(ステップS201:NO)、通信アダプタ100から動作の指示があるか否かを判別する(ステップS202)。具体的には、CPU31は、通信アダプタインターフェース35から供給される信号を監視して、動作を指示する信号(以下「動作指示信号」という。)が通信アダプタインターフェース35により受信されたか否かを判別する。なお、通信アダプタ100から受信される動作指示信号により示される動作の指示の内容は、基本的に、タッチスクリーン37により受け付けられる動作の指示の内容と同様であってよい。
CPU31は、通信アダプタ100から動作の指示がないと判別すると(ステップS202:NO)、第2電気機器400から機器状態の通知があるか否かを判別する(ステップS203)。具体的には、CPU31は、通信アダプタインターフェース35から供給される信号を監視して、第2機器状態情報が通信アダプタインターフェース35により受信されたか否かを判別する。
CPU31は、第2電気機器400から機器状態の通知があると判別すると(ステップS203:YES)、第2電気機器400の機器状態を保存する(ステップS204)。具体的には、CPU31は、通信アダプタインターフェース35により受信された第2機器状態情報を、フラッシュメモリ34に記憶する。
CPU31は、ステップS204の処理を完了すると、第1電気機器300が連動動作すべきか否かを判別する(ステップS205)。CPU31は、例えば、フラッシュメモリ34に記憶されている、連動動作定義情報と第2機器状態情報とに基づいて、第1電気機器300が連動動作すべきか否かを判別することができる。
例えば、第2機器状態情報により、第2電気機器400が備える発熱装置が加熱状態であることが示されているものとする。この場合、CPU31は、第1電気機器300が備えるファンを回転状態にする連動動作をすべきであると判別する。
CPU31は、ユーザから動作の指示があると判別した場合(ステップS201:YES)、通信アダプタ100から動作の指示があると判別した場合(ステップS202:YES)、又は、第1電気機器300が連動動作すべきと判別した場合(ステップS205:YES)、指示された動作を実行する(ステップS206)。例えば、CPU31は、ユーザによる指示、通信アダプタ100からの指示、又は、連動動作の定義付けに従って、処理装置39が備えるファンが、非回転状態から回転状態になるように、処理装置39を制御する。また、CPU31は、フラッシュメモリ34に記憶されている第1機器状態情報を、第1電気機器300の機器状態の変化に応じて、適宜、更新する。
CPU31は、第2電気機器400から機器状態の通知がないと判別した場合(ステップS203:NO)、連動動作すべきでないと判別した場合(ステップS205:NO)、又は、ステップS206の処理を完了した場合、通信アダプタ100から状態通知要求があるか否かを判別する(ステップS207)。なお、CPU31は、通信アダプタインターフェース35から供給される信号を監視して、通信アダプタ100から送信された状態通知要求が通信アダプタインターフェース35により受信されたか否かを判別することができる。
CPU31は、通信アダプタ100から状態通知要求があると判別すると(ステップS207:YES)、通信アダプタ100に、第1電気機器300の機器状態と第2電気機器400の機器状態とを通知する(ステップS208)。具体的には、CPU31は、フラッシュメモリ34に記憶されている、第1機器状態情報と第2機器状態情報とを、通信アダプタインターフェース35を介して、通信アダプタ100に送信する。
CPU31は、通信アダプタ100から状態通知要求がないと判別した場合(ステップS207:NO)、又は、ステップS208の処理を完了した場合、ステップS201に処理を戻す。
次に、図12に示すフローチャートを参照して、通信アダプタ100が実行する機器状態中継処理について説明する。なお、通信アダプタ100は、電源が投入されたことに応答して、図12に示す機器状態中継処理を開始する。
まず、CPU11は、通信装置200から動作の指示があるか否かを判別する(ステップS301)。例えば、CPU11は、宅内電気通信網インターフェース15を監視して、通信装置200から送信された動作指示信号が宅内電気通信網インターフェース15により受信されたか否かを判別することができる。
CPU11は、通信装置200から動作の指示があると判別すると(ステップS301:YES)、第1電気機器300に動作を指示する(ステップS302)。具体的には、CPU11は、第1電気機器300に対して動作指示信号を、第1電気機器インターフェース16を介して、第1電気機器300に送信する。
CPU11は、通信装置200から動作の指示がないと判別した場合(ステップS301:NO)、又は、ステップS302の処理を完了した場合、第1電気機器300に対する機器状態通知要求時刻であるか否かを判別する(ステップS303)。例えば、機器状態通知要求時刻は、所定の周期で到来する時刻とすることができる。この場合、CPU11は、所定の周期で発生するタイマ割り込みが発生したか否かにより、現在時刻が機器状態通知要求時刻であるか否かを判別することができる。なお、この所定の周期が短いほど、速やかに新たな機器状態が取得される。一方、所定の周期が長いほど、処理負荷や通信量が軽減される。
CPU11は、第1電気機器300に対する機器状態通知要求時刻であると判別すると(ステップS303:YES)、第1電気機器300に機器状態の通知を要求する(ステップS304)。具体的には、CPU11は、第1電気機器インターフェース16を介して、機器状態の通知を要求する信号(以下「機器状態通知要求信号」という。)を、第1電気機器300に送信する。
CPU11は、第1電気機器300に対する機器状態通知要求時刻でないと判別した場合(ステップS303:NO)、又は、ステップS304の処理を完了した場合、第1電気機器300から機器状態の通知があるか否かを判別する(ステップS305)。具体的には、CPU11は、第1電気機器インターフェース16を監視して、第1電気機器300から送信された第1機器状態情報と第2機器状態情報が、第1電気機器インターフェース16により受信されたか否かを判別する。
CPU11は、第1電気機器300から機器状態の通知があると判別すると(ステップS305:YES)、第1電気機器300の状態と第2電気機器400の機器状態とを保存する(ステップS306)。具体的には、CPU11は、第1機器状態情報と第2機器状態情報とを、フラッシュメモリ14に記憶する。
CPU11は、第1電気機器300から機器状態の通知がないと判別した場合(ステップS305:NO)、又は、ステップS306の処理を完了した場合、通信装置200から機器状態通知要求があるか否かを判別する(ステップS307)。具体的には、CPU11は、宅内電気通信網インターフェース15を監視して、通信装置200から送信された機器状態通知要求信号が、宅内電気通信網インターフェース15により受信されたか否かを判別する。
CPU11は、通信装置200から機器状態通知要求があると判別すると(ステップS307:YES)、通信装置200に、第1電気機器300の機器状態と第2電気機器400の機器状態とを通知する(ステップS308)。具体的には、CPU11は、フラッシュメモリ14に記憶されている第1機器状態情報と第2機器状態情報とを、宅内電気通信網インターフェース15を介して、通信装置200に送信する。
CPU11は、通信装置200から機器状態通知要求がないと判別した場合(ステップS307:NO)、ステップS308の処理を完了した場合、ステップS301に処理を戻す。
次に、図13に示すフローチャートを参照して、通信装置200が実行する機器状態取得処理について説明する。なお、通信装置200は、電源が投入されたことに応答して、図13に示す機器状態取得処理を開始する。
まず、CPU21は、ユーザから動作の指示があるか否かを判別する(ステップS401)。例えば、CPU21は、タッチスクリーン27から供給される信号を監視し、動作を指示するタッチ操作がタッチスクリーン27により受け付けられたか否かを判別する。あるいは、CPU21は、宅外電気通信網インターフェース26から供給される信号を監視し、端末装置500から送信された動作指示信号が宅外電気通信網インターフェース26により受信されたか否かを判別する。なお、本実施形態では、ユーザによりなされる動作の指示は、第1電気機器300に対する動作の指示である。
CPU21は、ユーザから動作の指示があると判別すると(ステップS401:YES)、通信アダプタ100に動作を指示する(ステップS402)。例えば、CPU21は、宅内電気通信網インターフェース25を介して、動作指示信号を通信アダプタ100に送信する。
CPU21は、ユーザから動作の指示がないと判別した場合(ステップS401:NO)、又は、ステップS402の処理を完了した場合、通信アダプタ100に対する機器状態通知要求時刻であるか否かを判別する(ステップS403)。例えば、機器状態通知要求時刻は、所定の周期で到来する時刻とすることができる。この場合、CPU21は、所定の周期で発生するタイマ割り込みが発生したか否かにより、現在時刻が機器状態通知要求時刻であるか否かを判別することができる。なお、この所定の周期が短いほど、速やかに新たな機器状態が取得される。一方、所定の周期が長いほど、処理負荷や通信量が軽減される。
CPU21は、通信アダプタ100に対する機器状態通知要求時刻であると判別すると(ステップS403:YES)、通信アダプタ100に機器状態の通知を要求する(ステップS404)。具体的には、CPU21は、宅内電気通信網インターフェース25を介して、機器状態通知要求信号を、通信アダプタ100に送信する。
CPU21は、通信アダプタ100に対する機器状態通知要求時刻でないと判別した場合(ステップS403:NO)、又は、ステップS404の処理を完了した場合、通信アダプタ100から機器状態の通知があるか否かを判別する(ステップS405)。例えば、CPU21は、宅内電気通信網インターフェース25を監視し、通信アダプタ100により送信された機器状態通知信号が宅内電気通信網インターフェース25により受信されたか否かを判別する。
CPU21は、通信アダプタ100から機器状態の通知があると判別すると(ステップS405:YES)、第1電気機器300の状態と第2電気機器400の状態とを保存する(ステップS406)。具体的には、CPU21は、機器状態通知信号に含まれる、第1機器状態情報と第2機器状態情報とを、フラッシュメモリ24に記憶する。
CPU21は、通信アダプタ100から機器状態の通知がないと判別した場合(ステップS405:NO)、又は、ステップS406の処理を完了した場合、機器状態に応じた処理があるか否かを判別する(ステップS407)。機器状態に応じた処理は、例えば、第1電気機器300や第2電気機器400に対して動作を指示する処理や、第1電気機器300の状態や第2電気機器400の状態をユーザに提示する処理である。本実施形態では、CPU21は、フラッシュメモリ24に記憶されている、第1機器状態情報、第2機器状態情報に基づいて、機器状態に応じた処理があるか否かを判別することができる。
CPU21は、機器状態に応じた処理があると判別すると(ステップS407:YES)、機器状態に応じた処理を実行する(ステップS408)。例えば、CPU21は、第1電気機器300の状態と第2電気機器400の状態との関係が適切な関係になるように、第1電気機器300や第2電気機器400に対して動作指示信号を供給することができる。例えば、CPU21は、第1電気機器300と第2電気機器400とが適切に連動するように、第1電気機器300や第2電気機器400に対して動作指示信号を供給する。
CPU21は、機器状態に応じた処理がないと判別した場合(ステップS407:NO)、又は、ステップS408の処理を完了した場合、ステップS401に処理を戻す。
本実施形態によれば、通信装置200は、通信アダプタ100が装着されることにより通信装置200と通信可能となる第1電気機器300を介して、第2電気機器400を制御又は監視することができる。従って、本実施形態によれば、通信装置200は、1つの通信アダプタ100を介して、第1電気機器300を制御又は監視するだけでなく、第2電気機器400を制御又は監視することができる。
また、本実施形態によれば、第1電気機器300と第2電気機器400とを連動するために用いられている第3プロトコルによる通信を利用して、第2電気機器400の機器状態を第1電気機器300に通知している。このため、第1電気機器300と第2電気機器400との間の通信のための新たなリソースを追加する必要がない。
また、本実施形態によれば、通信装置200は、通信アダプタ100が装着されることにより通信装置200と通信可能となる第1電気機器300を介して、第2電気機器400を監視することができる。従って、本実施形態によれば、通信装置200は、1つの通信アダプタ100を介して、第1電気機器300を制御又は監視するだけでなく、第2電気機器400を監視することができる。また、本実施形態によれば、第2電気機器400から第1電気機器300への片方向通信により、第2電気機器400の監視が実現可能である。従って、送受信機の部品点数の減少により、低いコストで、第2電気機器400の監視が実現可能である。
また、本実施形態によれば、通信装置200は、通信アダプタ100を装着するスペースを確保しやすいと考えられるレンジフードである第1電気機器300を介して、通信アダプタ100を装着するスペースを確保しにくいと考えられる電磁調理器である第2電気機器400を制御又は監視することができる。
(第2の実施形態)
第1の実施形態では、第1電気機器300と第2電気機器400との間の通信が、第2電気機器400から第1電気機器300への片方向通信である例について説明した。本発明において、第1電気機器300と第2電気機器400との間の通信が、双方向通信であってもよい。本実施形態では、第1電気機器300と第2電気機器400との間の通信が、双方向通信である例について説明する。なお、以下では、基本的に、第2の実施形態に係る通信システム1000が第1の実施形態に係る通信システム1000と異なる部分について説明する。また、第2の実施形態に係る通信システム1000の物理的な構成は、基本的に、第1の実施形態に係る通信システム1000の物理的な構成と同様である。
図14は、第2電気機器400が第1電気機器300に連動したときの処理の流れを示すシーケンス図である。
まず、ユーザは、ST401において、第1電気機器300に対して、動作を指示する。動作の指示は、例えば、第1電気機器300(第1電気機器300が備えるファン)を、回転状態から非回転状態に切り替える指示である。一方、第1電気機器300は、ユーザから動作の指示を受け付けたことに応答して、指示された動作を実行する。例えば、第1電気機器300は、回転状態から非回転状態に切り替える。なお、第1電気機器300は、第1電気機器300が非回転状態であることを示す第1機器状態情報を、フラッシュメモリ34に記憶する。
次に、第1電気機器300は、ST402において、第2電気機器400に対して、連動動作を指示する。つまり、第1電気機器300は、レンジフードである第1電気機器300が非回転状態になったことに応じて、電磁調理器である第2電気機器400が非加熱状態になるように、第2電気機器400に対して指示する。
一方、第2電気機器400は、第1電気機器300から動作の指示を受け付けたことに応答して、指示された動作を実行する。つまり、第2電気機器400は、加熱状態から非加熱状態に切り替える。
そして、第2電気機器400は、ST403において、第2電気機器400の機器状態を第1電気機器300に通知する。つまり、第2電気機器400は、第2電気機器400が非加熱状態であることを示す第2機器状態情報を、第1電気機器300に送信する。一方、第1電気機器300は、第2電気機器400から機器状態の通知を受けたことに応答して、第2電気機器400が非加熱状態であることを示す第2機器状態情報を、フラッシュメモリ34に記憶する。
以下、図14におけるST404からST407までの処理は、図7におけるST103からST106までの処理と同様である。
つまり、通信アダプタ100は、定期的に、ST404において、第1電気機器300に、機器状態の通知を要求する。
一方、第1電気機器300は、通信アダプタ100から機器状態の通知の要求を受けたことに応答して、ST405において、通信アダプタ100に機器状態を通知する。そして、通信アダプタ100は、第1電気機器300から機器状態の通知を受けたことに応答して、通知された機器状態を保存する。
ここで、通信装置200は、定期的に、ST406において、通信アダプタ100に、機器状態の通知を要求する。
一方、通信アダプタ100は、通信装置200から機器状態の通知の要求を受けたことに応答して、ST407において、通信装置200に機器状態を通知する。通信装置200は、通信アダプタ100から機器状態の通知を受けたことに応答して、通知された機器状態を保存する。さらに、通信装置200は、第1電気機器300や第2電気機器400の機器状態に応じて、対応した処理を実行する。
図15は、通信装置200を介して第2電気機器400に動作が指示されたときの処理の流れを示すシーケンス図である。
まず、ユーザは、ST501において、通信装置200を介して、第2電気機器400に対して、動作を指示する。動作の指示は、例えば、第2電気機器400(第2電気機器400が備える発熱装置)を、非発熱状態から発熱状態に切り替える指示である。
一方、通信装置200は、第2電気機器400に対する動作の指示を受け付けたことに応答して、ST502において、第2電気機器400に対する動作の指示を、通信アダプタ100に向けて送信する。
ここで、通信アダプタ100は、第2電気機器400に対する動作の指示を受け付けたことに応答して、ST503において、第2電気機器400に対する動作の指示を、第1電気機器300に向けて送信する。
そして、第1電気機器300は、第2電気機器400に対する動作の指示を受け付けたことに応答して、ST504において、第2電気機器400に対する動作の指示を、第2電気機器400に向けて送信する。
一方、第2電気機器400は、第2電気機器400に対する動作の指示を受け付けたことに応答して、指示された動作を実行する。つまり、第2電気機器400は、非加熱状態から加熱状態に切り替える。
次に、第2電気機器400は、ST505において、第1電気機器300に対して機器状態を通知する。つまり、第2電気機器400は、加熱状態であることを示す第2機器状態情報を、第1電気機器300に送信する。一方、第1電気機器300は、第2電気機器400から機器状態の通知を受けると、第2電気機器400の動作に連動する。例えば、第1電気機器300は、第2電気機器400が加熱状態であることに連動して、非回転状態から回転状態に切り替える。そして、第1電気機器300は、第1電気機器300が回転状態であることを示す第1機器状態情報と、第2電気機器400が加熱状態であることを示す第2機器状態情報とを、フラッシュメモリ34に記憶する。
以下、図15におけるST506からST509までの処理は、図7におけるST103からST106までの処理と同様である。
つまり、通信アダプタ100は、定期的に、ST506において、第1電気機器300に、機器状態の通知を要求する。
一方、第1電気機器300は、通信アダプタ100から機器状態の通知の要求を受けたことに応答して、ST507において、通信アダプタ100に機器状態を通知する。そして、通信アダプタ100は、第1電気機器300から機器状態の通知を受けたことに応答して、通知された機器状態を保存する。
ここで、通信装置200は、定期的に、ST508において、通信アダプタ100に、機器状態の通知を要求する。
一方、通信アダプタ100は、通信装置200から機器状態の通知の要求を受けたことに応答して、ST509において、通信装置200に機器状態を通知する。通信装置200は、通信アダプタ100から機器状態の通知を受けたことに応答して、通知された機器状態を保存する。さらに、通信装置200は、第1電気機器300や第2電気機器400の機器状態に応じて、対応した処理を実行する。
次に、図16に示すフローチャートを参照して、第2電気機器400が実行する機器状態通知処理について説明する。なお、第2電気機器400は、電源が投入されたことに応答して、図16に示す機器状態通知処理を開始する。
まず、CPU41は、ユーザから動作の指示があるか否かを判別する(ステップS501)。なお、動作の指示は、例えば、第2電気機器400(第2電気機器400が備える発熱装置)を、非加熱状態から加熱状態に切り替える旨の指示である。
CPU41は、ユーザから動作の指示がないと判別すると(ステップS501:NO)、第1電気機器300から動作の指示があるか否かを判別する(ステップS502)。具体的には、CPU41は、第1電気機器インターフェース45を監視して、第1電気機器300から送信された動作指示信号が第1電気機器インターフェース45により受信されたか否かを判別する。
CPU41は、ユーザから動作の指示があると判別した場合(ステップS501:YES)、又は、第1電気機器300から動作の指示があると判別した場合(ステップS502:YES)、指示された動作を実行する(ステップS503)。例えば、CPU41は、処理装置48が備える発熱装置の温度が指示された温度になるように、発熱装置の温度を制御する。また、CPU41は、フラッシュメモリ44に記憶されている第2機器状態情報を、第2電気機器400の状態の変化に応じて、適宜、更新する。
CPU41は、第1電気機器300から動作の指示がないと判別した場合(ステップS502:NO)、又は、ステップS503の処理を完了した場合、第2電気機器400の機器状態に変化があるか否かを判別する(ステップS504)。
CPU41は、第2電気機器400の機器状態に変化があると判別すると(ステップS504:YES)、第1電気機器300に第2電気機器400の機器状態を通知する(ステップS505)。具体的には、CPU41は、フラッシュメモリ44に記憶されている最新の第2機器状態情報を、第1電気機器インターフェース45を介して、第1電気機器300に送信する。
一方、CPU41は、第2電気機器400の機器状態に変化がないと判別すると(ステップS504:NO)、ステップS501に処理を戻す。
次に、図17に示すフローチャートを参照して、第1電気機器300が実行する機器状態保存処理について説明する。なお、第1電気機器300は、電源が投入されたことに応答して、図17に示す機器状態保存処理を開始する。
まず、CPU31は、ユーザから動作の指示があるか否かを判別する(ステップS601)。なお、動作の指示は、例えば、第1電気機器300(第1電気機器300が備えるファン)を、回転状態から非回転状態に切り替える旨の指示である。
CPU31は、ユーザから動作の指示がないと判別すると(ステップS601:NO)、通信アダプタ100から動作の指示があるか否かを判別する(ステップS602)。
CPU31は、通信アダプタ100から動作の指示がないと判別すると(ステップS602:NO)、第2電気機器400から機器状態の通知があるか否かを判別する(ステップS603)。
CPU31は、第2電気機器400から機器状態の通知があると判別すると(ステップS603:YES)、第2電気機器400の機器状態を保存する(ステップS604)。具体的には、CPU31は、通信アダプタインターフェース35に供給された第2機器状態情報を、フラッシュメモリ34に記憶する。
CPU31は、ステップS604の処理を完了すると、第1電気機器300が連動動作すべきか否かを判別する(ステップS605)。CPU31は、例えば、フラッシュメモリ34に記憶されている、連動動作定義情報と第2機器状態情報とに基づいて、第1電気機器300が連動動作すべきか否かを判別することができる。
CPU31は、ユーザから動作の指示があると判別した場合(ステップS601:YES)、通信アダプタ100から動作の指示があると判別した場合(ステップS602:YES)、又は、第1電気機器300が連動動作すべきと判別した場合(ステップS605:YES)、指定された動作を実行する(ステップS606)。例えば、CPU31は、ユーザによる指示、通信アダプタ100からの指示、又は、連動動作の定義付けに従って、処理装置39が備えるファンが、回転状態から非回転状態になるように、処理装置39を制御する。また、CPU31は、フラッシュメモリ34に記憶されている第1機器状態情報を、第1電気機器300の状態の変化に応じて、適宜、更新する。
CPU31は、ステップS606の処理を完了すると、第2電気機器400が連動動作すべきか否かを判別する(ステップS607)。この連動動作は、ステップS606において第1電気機器300が実行した動作に連動して、第2電気機器400が実行すべき動作である。CPU31は、例えば、フラッシュメモリ34に記憶されている、連動動作定義情報、第1機器状態情報などに基づいて、第2電気機器400が実行すべき連動動作があるか否かを判別することができる。
CPU31は、第2電気機器400から機器状態の通知がないと判別した場合(ステップS603:NO)、又は、第1電気機器300が連動動作すべきでないと判別した場合(ステップS605:NO)、第2電気機器400への動作指示があるか否かを判別する(ステップS608)。具体的には、CPU31は、通信アダプタインターフェース35を監視して、第2電気機器400に対する動作指示信号が通信アダプタインターフェース35により受信されたか否かを判別する。
CPU31は、第2電気機器400が連動動作すべきと判別した場合(ステップS607:YES)、又は、第2電気機器400への動作指示があると判別した場合(ステップS608:YES)、第2電気機器400に動作を指示する(ステップS609)。具体的には、CPU31は、第2電気機器インターフェース36を介して、動作指示信号を、第2電気機器400に送信する。
CPU31は、第2電気機器400が連動動作すべきでないと判別した場合(ステップS607:NO)、第2電気機器400への動作指示がないと判別した場合(ステップS608:NO)、又は、ステップS609の処理を完了した場合、通信アダプタ100から機器状態通知要求があるか否かを判別する(ステップS610)。
CPU31は、通信アダプタ100から機器状態通知要求があると判別すると(ステップS610:YES)、通信アダプタ100に、第1電気機器300の機器状態と第2電気機器400の機器状態とを通知する(ステップS611)。
CPU31は、通信アダプタ100から機器状態通知要求がないと判別した場合(ステップS610:NO)、又は、ステップS611の処理を完了した場合、ステップS601に処理を戻す。
なお、本実施形態に係る通信アダプタ100が実行する機器状態中継処理は、基本的に、図12に示す機器状態中継処理と同様である。また、本実施形態に係る通信装置200が実行する機器状態取得処理は、基本的に、図13に示す機器状態取得処理と同様である。ただし、本実施形態では、通信装置200から通信アダプタ100に向けて送信される動作指示信号は、第1電気機器300に対する動作指示信号だけでなく、第2電気機器400に対する動作指示信号が含まれる。
本実施形態によれば、通信装置200は、通信アダプタ100が装着されることにより通信装置200と通信可能となる第1電気機器300を介して、第2電気機器400を制御及び監視することができる。従って、本実施形態によれば、通信装置200は、1つの通信アダプタ100を介して、第1電気機器300を制御及び監視するだけでなく、第2電気機器400を制御及び監視することができる。
(変形例)
以上、本発明の実施形態を説明したが、本発明を実施するにあたっては、種々の形態による変形及び応用が可能である。
本発明において、第1の実施形態や第2の実施形態において説明した構成、機能、動作のどの部分を採用するのかは任意である。また、本発明において、上述した構成、機能、動作のほか、更なる構成、機能、動作が採用されてもよい。また、本発明において、通信システムが備える各構成が担う機能の分担は、第1の実施形態や第2の実施形態で説明した例に限定されない。
第1の実施形態及び第2の実施形態では、通信アダプタ100と通信装置200とのそれぞれが、ポーリングにより定期的に機器状態通知を要求して、通信装置200が第1機器状態情報と第2機器状態情報とを取得する例について説明した。本発明において、第1機器状態情報と第2機器状態情報とを取得する手法は、この例に限定されない。以下、図18、図19を参照して、第1機器状態情報と第2機器状態情報とを取得する他の手法について説明する。
図18は、第1電気機器300が第2電気機器400に連動した直後に通信装置200に機器状態が通知されたときの処理の流れを示すシーケンス図である。
まず、ユーザは、ST601において、第2電気機器400に対して、動作を指示する。動作の指示は、例えば、電磁調理器である第2電気機器400を、非加熱状態から加熱状態に切り替える指示である。一方、第2電気機器400は、ユーザから動作の指示を受け付けたことに応答して、指示された動作を実行する。つまり、第2電気機器400は、非加熱状態から加熱状態に切り替える。
次に、第2電気機器400は、ST602において、第1電気機器300に対して機器状態を通知する。つまり、第2電気機器400は、加熱状態であることを示す第2機器状態情報を、第1電気機器300に送信する。一方、第1電気機器300は、第2電気機器400から機器状態の通知を受けると、第2電気機器400の動作に連動する。例えば、第1電気機器300は、第2電気機器400が加熱状態であることに連動して、非回転状態から回転状態に切り替える。
ここで、第1電気機器300は、ST603において、通信アダプタ100に機器状態を通知する。つまり、第1電気機器300は、第1電気機器300が回転状態であることを示す第1機器状態情報と、第2電気機器400が加熱状態であることを示す第2機器状態情報とを、通信アダプタ100に送信する。
一方、通信アダプタ100は、第1電気機器300から機器状態が通知されたことに応答して、ST604において、通信装置200に機器状態を通知する。つまり、通信アダプタ100は、第1機器状態情報と第2機器状態情報とを、通信装置200に送信する。
また、通信装置200は、通信アダプタ100から機器状態が通知されたことに応答して、ST605において、機器状態を保存する。つまり、通信装置200は、通信アダプタ100から受信した、第1機器状態情報と第2機器状態情報とを、フラッシュメモリ24に記憶する。さらに、通信装置200は、第1電気機器300や第2電気機器400の機器状態に応じて、対応した処理を実行する。
図19は、第1電気機器300と第2電気機器400とのそれぞれが単独で動作した直後に通信装置200に機器状態が通知されたときの処理の流れを示すシーケンス図である。
まず、ユーザは、ST701において、第2電気機器400に対して、動作を指示する。一方、第2電気機器400は、ユーザから動作の指示を受け付けたことに応答して、指示された動作を実行する。
次に、第2電気機器400は、ST702において、第1電気機器300に対して機器状態を通知する。つまり、第2電気機器400は、第2機器状態情報を、第1電気機器300に送信する。
ここで、第1電気機器300は、第2電気機器400から機器状態を通知されたことに応答して、ST703において、通信アダプタ100に機器状態を通知する。つまり、第1電気機器300は、第2機器状態情報を、通信アダプタ100に送信する。
一方、通信アダプタ100は、第1電気機器300から機器状態が通知されたことに応答して、ST704において、通信装置200に機器状態を通知する。つまり、通信アダプタ100は、第2機器状態情報を、通信装置200に送信する。
また、通信装置200は、通信アダプタ100から機器状態が通知されたことに応答して、機器状態を保存する。つまり、通信装置200は、通信アダプタ100から受信した、第2機器状態情報を、フラッシュメモリ24に記憶する。さらに、通信装置200は、第2電気機器400の機器状態に応じて、対応した処理を実行する。
また、ユーザは、ST705において、第1電気機器300に対して、動作を指示する。一方、第1電気機器300は、ユーザから動作の指示を受け付けたことに応答して、指示された動作を実行する。
次に、第1電気機器300は、ST706において、通信アダプタ100に機器状態を通知する。つまり、第1電気機器300は、第1機器状態情報を、通信アダプタ100に送信する。
一方、通信アダプタ100は、第1電気機器300から機器状態が通知されたことに応答して、ST707において、通信装置200に機器状態を通知する。つまり、通信アダプタ100は、第1機器状態情報を、通信装置200に送信する。
また、通信装置200は、通信アダプタ100から機器状態が通知されたことに応答して、機器状態を保存する。つまり、通信装置200は、通信アダプタ100から受信した、第1機器状態情報を、フラッシュメモリ24に記憶する。さらに、通信装置200は、第1電気機器300の機器状態に応じて、対応した処理を実行する。
以上説明したように、変形例に係る通信システムによれば、通信装置200は、第1電気機器300又は第2電気機器400の機器状態が変化したことを、速やかに把握することができる。
この他、第1電気機器300、第2電気機器400、通信アダプタ100などが、第1機器状態情報や第2機器状態情報を転送するタイミングは、適宜調整することができる。例えば、第1電気機器300や第2電気機器400が、タイマ割り込みを利用して、定期的に、第1機器状態情報や第2機器状態情報を転送してもよい。また、通信装置200は、何らかのエラーを検知したタイミングで、第1機器状態情報や第2機器状態情報を取得してもよい。
第1の実施形態では、通信装置200が、第1電気機器300を制御及び監視し、第2電気機器400を監視する例を説明した。また、第2の実施形態では、通信装置200が、第1電気機器300を制御及び監視し、第2電気機器400を制御及び監視する例を説明した。本発明において、通信装置200が、どの機器を制御又は監視するのかは、適宜、調整することができる。つまり、第1電気機器300を制御するか否か、第1電気機器300を監視するか否か、第2電気機器400を制御するか否か、第2電気機器400を監視するか否かは、適宜、調整することができる。
第1の実施形態及び第2の実施形態では、第1電気機器300と第2電気機器400とが連動する例について説明した。本発明において、第1電気機器300と第2電気機器400とが連動しなくてもよい。この場合であっても、例えば、第1電気機器300と第2電気機器400とが種々の事情により、予め通信が可能である場合、この通信を利用して、通信アダプタ100を節約することができる。
第1の実施形態及び第2の実施形態では、通信アダプタ100と第1電気機器300とが別々に用意されている例について説明した。本発明において、第1電気機器300に通信アダプタ100が組み込まれていてもよい。この場合、通信アダプタ100は、通信アダプタ100が組み込まれた第1電気機器300を介して、第2電気機器400を制御又は監視することができる。
第1の実施形態及び第2の実施形態では、第1電気機器300が備えるセンサ38が、第1電気機器300の制御などに用いられるセンサである例について説明した。本発明において、例えば、第1電気機器300が備えるセンサ38は、第2電気機器400の機器状態(例えば、第2電気機器400が備える発熱装置の温度など)を検知するセンサであってもよい。この場合、第1電気機器300は、第3プロトコルによる通信をせずとも、第2電気機器400の状態を取得することができる。同様に、第2電気機器400が備えるセンサ47も、第1電気機器300の機器状態を検知するセンサであってもよい。この場合、第2電気機器400は、第3プロトコルによる通信をせずとも、第1電気機器300の状態を取得することができる。
第1の実施形態及び第2の実施形態では、通信システム1000が備える各装置の間の通信において、動作の指示や機器状態の通知などに対して、応答を返信しない例について説明した。本発明において、動作の指示や機器状態の通知などに対して、応答を返信してもよいことはもちろんである。この場合、例えば、受信先の装置は、適切に処理できない場合、エラー応答を返信し、送信元の装置は、エラー応答に応じたエラー処理を実行してもよい。
第1の実施形態及び第2の実施形態では、第1電気機器300が、連動動作を管理する例について説明した。本発明において、連動動作を管理する主体は、第1電気機器300に限定されない。例えば、本発明において、第2電気機器400が連動動作を管理してもよい。
この場合、例えば、CPU41は、第1電気機器300から第1機器状態情報を取得し、フラッシュメモリ44に記憶する。そして、CPU41は、フラッシュメモリ44に記憶されている、連動動作定義情報、第1機器状態情報、第2機器状態情報などに基づいて、第1電気機器300が連動動作すべきか、又は、第2電気機器400が連動動作すべきかを決定することができる。なお、CPU41は、第1電気機器300が連動動作すべきと判別した場合、第1電気機器インターフェース45を介して、連動動作を指示する動作指示信号を第1電気機器300に送信することができる。
また、本発明において、通信装置200が連動動作を管理してもよい。この場合、CPU21は、第1機器状態情報と第2機器状態情報とを通信アダプタ100から取得し、フラッシュメモリ24に記憶する。そして、CPU21は、フラッシュメモリ24に記憶されている、連動動作定義情報、第1機器状態情報、第2機器状態情報などに基づいて、第1電気機器300が連動動作すべきか、又は、第2電気機器400が連動動作すべきかを決定することができる。そして、CPU21は、通信アダプタインターフェース35を介して、連動動作を指示する動作指示信号を第1電気機器300又は第2電気機器400に送信することができる。
なお、連動動作の実行時に参照される連動動作定義情報は、適宜、通信アダプタ100、通信装置200、第1電気機器300、第2電気機器400の間で、送受信されてもよい。
また、通信装置200、第1電気機器300、第2電気機器400のそれぞれが実行する連動動作に優先度を付与してもよい。この場合、例えば、連動動作が競合や矛盾した場合、付与された優先度に従って、優先される連動動作が決定されてもよい。このような優先度は、例えば、機器、時間帯、機器の設置場所などにより、適宜、切り替えられてもよい。
第1の実施形態及び第2の実施形態では、第1電気機器300がレンジフードであり、第2電気機器400が電磁調理器である例について説明した。本発明において、第1電気機器300と第2電気機器400とは、どのような機器であってもよい。例えば、第1電気機器300と第2電気機器400とが、電動式ベッドと照明装置、電動式ソファとテレビ、玄関のドアと照明装置、ブラインドと照明装置、エアコンとサーキュレータなどであってもよい。
このような機器の連動(連携)により、操作者の機器操作回数を軽減し、操作忘れなどを防止することが期待できる。また、このような機器の連動は、機器の出荷業者などが設定するような自明の連動と、利用者が設定するような任意の連動とがありえる。自明な連動は、例えば、電磁調理器の稼働に合わせてレンジフードを稼働させたり、エアコンの稼働に合わせてサーキュレータを稼働させたりするような連動である。任意の連動は、例えば、目覚まし時計がアラームを鳴らすと、電気ポットに電源が入るなどの連動である。
第1の実施形態及び第2の実施形態では、本発明を適用する事情が、通信アダプタ100の設置スペースがないという事情である例について説明した。本発明を適用する事情が、この例に限定されないことはもちろんである。例えば、本発明を適用する事情は、コスト低減、電波の受信状況の不良などの事情でもよい。
本発明に係る通信アダプタ100、通信装置200、第1電気機器300、第2電気機器400の動作を規定する動作プログラムを既存のパーソナルコンピュータや情報端末装置に適用することで、当該パーソナルコンピュータ等を本発明に係る通信アダプタ100、通信装置200、第1電気機器300、第2電気機器400として機能させることも可能である。
また、このようなプログラムの配布方法は任意であり、例えば、CD−ROM(Compact Disk Read-Only Memory)、DVD(Digital Versatile Disk)、MO(Magneto Optical Disk)、メモリカードなどのコンピュータ読み取り可能な記録媒体に格納して配布してもよいし、インターネットなどの通信ネットワークを介して配布してもよい。
本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施形態及び変形が可能とされるものである。また、上述した実施形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。つまり、本発明の範囲は、実施形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。