(57)【要約】【課題】ネットワークを介して電気機器の遠隔操作を行うコントローラにおいて、ユーザが既に購入した電気機器であっても遠隔操作を行うことのできるコントローラを提供する。【解決手段】コントローラは、記憶手段と、ユーザが所有する端末と通信する通信手段と、電気機器に無線信号を送信する無線通信手段を備え、記憶手段に複数の無線用データを記憶し、複数の無線用データをユーザの端末に送信し、ユーザが選定した無線用データを端末から受信し、ユーザが選定した無線用データに基づく無線信号を電気機器に送信することで、電気機器の遠隔制御を行う。【選択図】  図１
2004297234.tif 000002
【特許請求の範囲】
【請求項１】
端末とネットワークを介して接続され、前記端末の操作により電気機器に制御信号を送信する電気機器コントローラにおいて、
前記電気機器の動作を制御する複数の制御用データを記憶した記憶手段と、前記端末と前記制御用データを通信する第一の通信手段と、前記電気機器に前記制御用データを無線にて送信する第二の通信手段を設けたことを特徴とする電気機器用コントローラ。
【請求項２】
前記制御用データが赤外線コードであり、前記第二の通信手段が前記赤外線コードを前記電気機器に送信する赤外線通信手段であることを特徴とする請求項１記載の電気機器用コントローラ。
【請求項３】
前記第一の通信手段が、前記端末に前記赤外線コードと共にマークアップランゲージを送信することを特徴とする請求項２記載の電気機器用コントローラ。
【請求項４】
前記電気機器の動作状態を取得する動作状態取得手段を設け、前記マークアップランゲージに前記電気機器の動作状態を付加して前記端末に送信することを特徴とする請求項３記載の電気機器用コントローラ。
【請求項５】
前記動作状態取得手段は前記赤外線通信手段であって、前記電気機器用コントローラと別体の赤外線送信装置と前記電気機器間の赤外線通信を受信することを特徴とする請求項４記載の電気機器用コントローラ。
【請求項６】
前記赤外線信号送信後の電気機器の動作変化から動作状態を推測する前記動作状態取得手段を設けたことを特徴とする請求項４記載の電気機器用コントローラ。
【請求項７】
記憶手段と、ユーザが所有する端末と通信する第一の通信手段と、電気機器に赤外線信号を送信する第二の通信手段を備えた電気機器用コントローラの制御方法において、
前記記憶手段に前記電気機器の動作を制御する複数の赤外線コードを記憶し、前記複数の赤外線コードを前記端末に送信し、ユーザが選定した赤外線コードを前記端末から受信し、ユーザが選定した前記赤外線コードに基づいて前記電気機器に赤外線信号を送信することを特徴とする電気機器用コントローラの制御方法。
【請求項８】
前記端末から暗号化された赤外線コードを受信し、前記暗号化された赤外線コードを復号化し、前記複合化された赤外線コードに基づく赤外線信号を前記電気機器に送信することを特徴とする請求項７記載の電気機器用コントローラの制御方法。
【請求項９】
前記赤外線コードを読み込んでＩＤ番号を割り当て登録することを特徴とする請求項７記載の電気機器用コントローラの制御方法。
【請求項１０】
既に登録済の赤外線コードを組み合わせて登録することを特徴とする請求項９記載の電気機器用コントローラの制御方法。
【請求項１１】
サービス登録者が電気機器の機種とマークアップランゲージを対応させたＨＴＭＬファイルを作成してサービスセンターのコンピュータに登録し、ユーザが前記サービスセンターのコンピュータにアクセスしてユーザが所有する電気機器用の
ＨＴＭＬファイルを検索し、所望のＨＴＭＬファイルをユーザが所有する電気機器用コントローラにダウンロードすることを特徴とするダウンロードサービス。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワークを介して電気機器の動作を制御する電気機器のコントローラとその制御方法及び該コントローラへのダウンロードサービスに関するものである。
【０００２】
【従来の技術】
電気機器の中でも、インターネットと接続される家電製品は、携帯電話やパソコンを用いて遠隔地からスイッチのＯＮ／ＯＦＦ等の制御ができることを特徴としている。このような家電製品は、近年普及しつつある。しかしながら、ユーザにとっては、遠隔操作の利便性のためだけに既存の家電製品を、インターネット接続用の家電製品に買い換えないで、「インターネットと接続できない家電製品も、遠隔地から操作したい」というニーズが多い。このようなニーズに対して情報通信ネットワーク対応でＷｅｂサーバを塔載したコントローラとして、赤外線Ｉ／Ｆを持つダイヤルアップルータを用いて、遠隔地からビデオ録画を行う技術が知られている（例えば特許文献１参照）。
【０００３】
また、インターネット接続用の家電製品に、プログラムや設定データをダウンロードして、家電製品の機能を拡張できる家電製品ネットワークの技術も知られている（例えば特許文献２参照）。
【０００４】
特許文献１は、ユーザが既に購入している家電製品を使用するためデータ変換プログラムを用いているが、容量が大きく、安価な組込システムではｃｇｉ  プログラムを簡単には追加できないという課題を有している。また、特許文献２は、家電製品が仕様に沿った特定のオブジェクト用Ｉ／Ｆを有する製品でないと使えないという課題を有している。
【０００５】
【特許文献１】
特開２０００−３３２９０３号公報
【特許文献２】
特開２００２−７８０３６号公報
【０００６】
【発明が解決しようとする課題】
本発明は、ユーザが既に購入している電気機器を使えるデータ変換プログラムを保管することなく、ユーザの端末からネットワークを介して操作できる電気機器用コントローラを安価に提供することである。
【０００７】
【課題を解決するための手段】
上記課題を解決するために、ネットワークを介して端末と接続され、端末から送信される信号によって電気機器の動作を制御するコントローラにおいて、端末から送信される無線用データを受信する第一の通信手段と、無線用データに基づいた無線信号を電気機器に送信する第二の通信手段を設けた電気機器用コントローラとする。
【０００８】
【発明の実施の形態】
以下、図面を用いて、本発明の実施例について説明する。
【０００９】
図１は、本発明の一実施例である電気機器用コントローラと周辺装置の模式図である。電気機器の動作を制御するコントローラ１は、ネットワーク２を介して端末３と接続されている。なお、端末３の例としては、携帯電話等の携帯型端末やパソコンなどがあげられる。以下、コントローラ１について詳述する。
【００１０】
コントローラ１は、コントローラ基本部１１０と、Ｗｅｂサーバ１５０と、
ＨＴＭＬテキスト格納手段１６と、シーケンス制御連携Ｗｅｂサービス手段１７と、プロファイル情報格納手段１８と、を有している。以下、各部について詳述する。
【００１１】
コントローラ基本部１１０は、コントローラ１のシーケンスプログラム実行処理を行うシーケンス制御手段１１と、電気機器などにおける入出力モジュールとデータ入出力を行うデータ入出力手段１２０と、コントローラ基本部１１０の実行状態を制御しモニタする実行状態制御・モニタ手段１３と、従来のプログラミングツールとの通信処理を行う通信処理手段１４を有している。また、コントローラ１中には、Ｗｅｂサーバ１５０，ＨＴＭＬで記述されたコントローラ１へのＷｅｂサービスをメニュー形式で表現したテキストを格納するＨＴＭＬテキスト格納手段１６も含まれる。
【００１２】
また、スクリプト言語にて記載された命令列に従って対応する処理を逐次実行し、通信処理手段１４を起動し、その結果をＨＴＭＬテキストにしてＷｅｂサーバ１５０に返送するシーケンス制御連携Ｗｅｂサービス手段１７と、コントローラ基本部１１０が参照あるいは更新するシステム情報やＷｅｂサービス情報等を格納するコントローラのプロファイル情報格納手段１８も、コントローラ１に含まれる。
【００１３】
通信処理手段１４は、メモリライト処理１４１，メモリリード処理１４２，
ＣＰＵ制御処理１４３，Ｉ／Ｏ制御処理１４４等、従来と同様のコントローラ専用のコマンドを有している。
【００１４】
シーケンス制御連携Ｗｅｂサービス手段１７は、Ｗｅｂサービスを記述したスクリプト群１７１，Ｗｅｂサービススクリプトを実行するＷｅｂサービス実行エンジン１７２を有している。Ｗｅｂサービススクリプト群１７１は、一例として、１７１１，１７１２，１７１３のＷｅｂサービス，１７１４のプロファイル表示，１７１５のＷｅｂサービス追加を有している。Ｗｅｂサービス実行エンジン１７２は、Ｗｅｂサービススクリプトに記載されているスクリプト言語の各命令を逐次解釈して実行する命令解釈手段１７２２と、通信処理手段１４内の各処理を起動する処理よりなる通信処理起動ライブラリ１７２１と、算術演算や文字列演算等の汎用命令を実行する処理よりなる汎用処理ライブラリ１７２３と、ＨＴＭＬテキスト作成手段１７２４を有している。なお、通信処理手段１４内を起動する処理として、通信処理手段１４内のメモリライト処理１４１，メモリリード処理１４２，ＣＰＵ制御処理１４３，Ｉ／Ｏ制御処理１４４と、それぞれを起動するメモリライト起動処理２４１，メモリリード起動処理２４２，ＣＰＵ制御起動処理２４３，Ｉ／Ｏ制御起動処理２４４があげられる。
【００１５】
プロファイル情報格納手段１８は、システム情報１８１，シーケンス制御プログラム情報１８２，Ｉ／Ｏ割り付け情報１８３，Ｗｅｂサービス情報１８４等を格納する。
【００１６】
図２を用いて、コントローラ１のＷｅｂサービスの動作を説明する。端末３において、汎用Ｗｅｂブラウザを実行し、コントローラ１のＨＴＭＬテキストを指定する（５１）と、ＨＴＴＰでの読み出し要求が行われ、Ｗｅｂサーバ１５０からＨＴＭＬテキスト格納手段１６に格納されているＨＴＭＬテキストが返送される（５２）。ＨＴＭＬテキストが汎用Ｗｅｂブラウザに読み込まれることにより、コントローラ１のサポートするＷｅｂサービス一覧をメニュー形式で表示する（５１１）。メニューにハイパーテキストで表示されているＷｅｂサービス項目を選択することにより、ハイパーテキストにリンクされているＣＧＩ（Ｃｏｍｍｏｎ  Ｇａｔｅｗａｙ  Ｉｎｔｅｒｆａｃｅ）を呼び出せば、Ｗｅｂサーバ１５０によって、Ｗｅｂサービススクリプト群１７１内の対応するＷｅｂサービスを呼び出す（５３）。呼び出されたＷｅｂサービスは、フロー５４０によって実行される。命令解釈手段１７２２が、呼び出されたＷｅｂサービスを構成するスクリプト言語の命令列中の先頭より命令を取り出し（５４）、そのサービスを構成する命令列中の命令を逐次解釈し、対応するライブラリ内の処理をコールする（５５）。
【００１７】
ここで、命令解釈手段１７２２が解釈した命令がコントローラ基本部１１０の実行状態を制御したりモニタする命令であれば、通信制御起動ライブラリ１７２１を経由して、従来のプログラミングツールと通信を行う通信処理手段１４を呼び出す。通信処理手段１４から従来と同様のコントローラ専用のコマンドで、実行状態制御・モニタ手段１３に要求が送られ、その応答が通信処理手段１４から通信処理起動ライブラリ１７２１を経由して命令解釈手段１７２２に返される（５７）。その際、必要に応じてプロファイル情報格納手段１８内の情報が参照あるいは更新される。そして、命令解釈手段１７２２は、次の命令を取り出す（５１０）。
【００１８】
解釈した命令が算術演算や文字列演算等の汎用命令であれば、命令解釈手段
１７２２は、汎用処理ライブラリ１７２３内の対応する処理を実行し、その結果を命令解釈手段１７２２に返し（５８）、次の命令を取り出す（５１０）。解釈した命令がＨＴＭＬテキスト生成であれば、命令解釈手段１７２２は、それまでの他の命令による返り値をもとに、ＨＴＭＬテキストを作成し（５９）、次の命令を取り出す（５１０）。あるいは、解釈した命令が、スクリプトの終了命令であれば、命令解釈手段１７２２は、Ｗｅｂサービス処理を終了し、作成したＨＴＭＬテキストをＷｅｂサーバ１５０に返し（５６）、Ｗｅｂサーバ１５はそのＨＴＭＬテキストを端末３に返送し（５２）、実行中の汎用ＨＴＭＬブラウザにおいて表示されることになる（５１１）。
【００１９】
通信処理手段１４の、従来と同様のコントローラ専用のコマンドについて、以下説明する。
【００２０】
メモリライト処理１４１は、メモリ上の領域をゼロクリアするオールクリア処理，アドレス指定のプログラム転送処理，ユーザプログラムがメモリ上のどこに割り付けられているかを示すメモリ割り付け情報の書き込み処理，パラメータ変更終了処理，タイマ・カウンタの設定値変更処理を含む。メモリリード処理１４２は、アドレス指定プログラム読み出し処理，ユーザプログラムの最終部である最終回路の検索処理，メモリ割り付け情報の読み出し処理を含む。ＣＰＵ制御処理１４３は、ＣＰＵステータスリード処理，ＣＰＵ運転／停止指定処理，ＣＰＵの排他占有／解除処理，ＣＰＵ占有の強制解除処理，カレンダ時計の設定，読み出し処理を含む。Ｉ／Ｏ制御処理１４４は、Ｉ／Ｏ  Ｎｏ．指定によるモニタ処理
（指定Ｎｏ．より連続Ｎ点設定），Ｉ／Ｏ  Ｎｏ．指定による強制セット／リセット処理（指定Ｎｏ．より連続Ｎ点設定），Ｉ／Ｏ  Ｎｏ．指定によるモニタ処理（ランダムなＮ点を指定可），Ｉ／Ｏ  Ｎｏ．指定による強制セット／リセット処理（ランダムなＮ点を指定可）を含む。
【００２１】
一方、通信処理起動ライブラリ１７２１内には、これらの通信処理に一対一に対応して、各通信処理を起動する処理が用意されている。Ｗｅｂサービススクリプト群１７１内のＷｅｂサービススクリプトにて、これらの基本的な通信処理と汎用処理ライブラリ１７２３内の汎用処理とを組み合わせて実行することにより、種々の応用的なＷｅｂサービスを実現できる。
【００２２】
プロファイル情報格納手段１８の詳細について、以下説明する。システム情報１８１は、制御ソフトウェアのバージョン情報，シーケンスプログラム実行タスクの実行周期，割り込みプログラム実行タスクの割り込み要因，コントローラの実行状態を含む。シーケンス制御プログラム情報１８２は、実行される各プログラムのタイトル，各プログラムが割り付けられている実行タスク，メモリ割り付け情報，プログラム内で使用されている各変数へのコメント情報，データ型，サイズ等の各種Ｉ／Ｏの属性情報，変数のメモリ割り付け情報を含む。Ｉ／Ｏ割り付け情報１８３は、コントローラの各Ｉ／Ｏスロットへの実装Ｉ／Ｏモジュール情報，実装されている各Ｉ／Ｏへのコメント情報，データ型，サイズ等の各種変数の属性情報を含む。Ｗｅｂサービス情報１８４は、登録されている各Ｗｅｂサービスのタイトル，メモリ割り付け情報，サービス起動条件（呼び出し時起動，イベント起動，周期起動），ライブラリに登録されている各処理のタイトル，Ｉ／Ｏ情報（引数，返り値のデータ型，サイズ等の属性情報），メモリ割り付け情報を含む。
【００２３】
プロファイル情報は、コントローラ基本部１１０により参照あるいは更新される。また、プロファイル情報全体は、Ｗｅｂサービス群１７１内のプロファイル表示サービスに参照され、ＨＴＭＬテキストとして端末３に返送され、その汎用Ｗｅｂブラウザ上で、プロファイル情報の一覧を参照，更新が可能になる。
【００２４】
なお、プロファイル情報は、構造体あるいは配列の形にて、コントローラ上のメモリに保管されるか、あるいは、Ｗｅｂサービスとの連携効率をあげるために、ＸＭＬ（ｅｘｔｅｎｓｉｂｌｅ  ｍａｒｋｕｐ  ｌａｎｇｕａｇｅ）を用いたテキスト形式で保管される。
Ｗｅｂサービススクリプト群１７１内のＷｅｂサービスは、通信処理手段１４や汎用処理ライブラリ１７２３を使用可能なスクリプト言語にて記述することができ、プログラマブルであることを可能にする。さらに、プロファイル情報格納手段１８内のＷｅｂサービス情報１８４を利用することにより、コントローラ稼動中に追加ならびに削除などのＷｅｂサービスの更新ができる。
【００２５】
図３に、図２のＷｅｂサービス実行５４０で実行されるサービススクリプトの内容を記したＷｅｂサービス追加１７１５の動作フローを示す。まず、プロファイル情報格納手段１８内に登録されている各Ｗｅｂサービスのタイトル，メモリ割り付け情報を参照することにより、追加する新しいＷｅｂサービスを格納できるだけのメモリ上方の空き領域を確保する（６１）。次に、新しいＷｅｂサービススクリプトをコントローラ１上の臨時メモリ領域にダウンロードする（６２）。ダウンロードは、通信処理手段１４内のメモリライト処理１４１を利用することにより実現できる。あるいは、ＴＣＰ／ＩＰ上で一般的なＦＴＰサービスを使用することによっても実現できる。さらに、ダウンロードしたスクリプトの使用変数チェック（６３），使用Ｉ／Ｏチェック（６４）がプロファイル情報に登録されている変数情報，Ｉ／Ｏ情報と比較し、整合しているか確認し、問題無ければ確保した領域にダウンロードしたスクリプトを書き込む（６５）。最後にそのＷｅｂサービスの起動条件を設定し、プロファイル情報内のＷｅｂサービス起動条件を更新し（６６）、成功表示のＨＴＭＬテキストを作成する（６７）。一方、各ステップでエラーが発生した場合には、そのエラー表示のＨＴＭＬテキストを作成する（６８）。
【００２６】
なお、既に登録済みのＷｅｂサービスを削除することも、プロファイル情報格納手段１８のプロファイル情報を参照することにより、容易に実現できるが、説明を省略する。
【００２７】
ここでは、Ｗｅｂサービスはスクリプトである場合にて、実施例を説明した。
スクリプト言語として、情報系のＷｅｂサーバでよく使われているＰａｒｌ言語を使用することができる。あるいは、自作を含め、他のスクリプト言語であっても良い。
【００２８】
一方、図１において、スクリプト言語では無く、ＪＡＶＡ（登録商標）のバイトコードのような標準的なコードにてＷｅｂサービス群１７１内の各Ｗｅｂサービスを実現し、命令解釈１７２２をそのバイトコードを実行する仮想マシンとする構成に置き換えても実現できるが、構成・動作共に、スクリプトの場合とほぼ同じなので、説明は省略する。
【００２９】
ここまでの実施例では、Ｗｅｂサービスはスクリプト、あるいはバイトコードで実現し、命令解釈手段１７２２にてスクリプト言語の各命令を逐次解釈して実行、あるいはバイトコードを仮想マシンとして実行する構成とした。しかし、
Ｗｅｂサービスをそれを実行するマイコンコードにコンパイルして実行することもできる。
【００３０】
図６は、赤外線信号を送信するコントローラ１及び電気機器１２００を模式的に示した図である。赤外線Ｉ／Ｆ１２は図１のデータ入出力手段１２０の一例であり、インターネットＩ／ＦはＷｅｂサーバ１５０の一例である。なお、ネットワーク２の例としては、インターネットがあげられる。赤外線Ｉ／Ｆ１２は、赤外線発光，受光を行う。インターネットＩ／Ｆ１５は、ネットワーク２を介して端末から送信される赤外線データを受信する。受信した赤外線データを、赤外線Ｉ／Ｆ１２に渡す。赤外線Ｉ／Ｆ１２は、受信した赤外線データをそのまま赤外線信号として出力する。この結果、データ変換プログラムを備えることなく、電気機器１２００および操作内容に応じた赤外線を発光出力できる。
【００３１】
図７は、図６に示す構成で、ユーザがコントローラ１を介して電気機器１２００を操作する手順を示している。図７では、ユーザの所有する端末３は携帯電話を、電気機器１２００は家電製品の一例としてエアコンを示している。また、コントローラ１は、図６に示した赤外線Ｉ／Ｆ１２と、インターネットＩ／Ｆ１５を有するもので、ホームコントローラと呼ばれる一般家庭にある家電製品を制御する。
【００３２】
まずユーザは、アクセス１０１で、操作したい電気機器１２００の操作パネルを端末３上に表示する要求をする。端末３から送信された要求は、インターネットを介してコントローラ１のインターネットＩ／Ｆ１５が受信する。次に、ＨＴＭＬファイル送信１０２で、コントローラ１は、電気機器１２００の操作画面を表示するＨＴＭＬファイルをインターネットＩ／Ｆ１５によって端末３に送信する。ここで、ＨＴＭＬファイルには、電気機器１２００を制御するための複数の赤外線コードが含まれている。次に、ブラウザ画面表示１０３で、ユーザは、コントローラ１より送られてきたＨＴＭＬファイルを端末３にて受信し、家電の操作画面を端末３の表示画面に表示する。図７では、電気機器１２００での電源ＯＮ／ＯＦＦを操作する画面を示している。ＨＴＭＬファイル送信１２００で、電源
ＯＮの赤外線コードと電源ＯＦＦの赤外線コードがＨＴＭＬファイルと共に端末３に送信されている。次に、ブラウザ画面操作１０４で、ユーザは、端末３に表示した操作画面から電気機器１２００の操作を行う。例として、ユーザは、電源ＯＮのボタンを押下する。
【００３３】
このボタンを押下することで、コントローラ１の赤外線コードを発行するためのｃｇｉ  関数に電源ＯＮを行うための赤外線コード“０ｘ０１”が端末３からインターネットＩ／Ｆ１５に送信される。赤外線出力１０５で、コントローラ１は、赤外線コード“０ｘ０１”の赤外線を赤外線Ｉ／Ｆ１２から電気機器１２００に出力する。電源ＯＮ１０６で、電気機器１２００は、電源ＯＮの状態となる。また、教えて１０６１で、電源ＯＮの状態となったことを電気機器１２００は赤外線を発光し、コントローラ１の赤外線Ｉ／Ｆ１２に返信する。コントローラ１は、ＨＴＭＬファイル送信１０７で、電気機器１２００の電源がＯＮとなった状態を表示するＨＴＭＬファイルを、インターネットＩ／Ｆ１５より端末３に送信する。
【００３４】
ブラウザに状態表示１０７で、ユーザは、端末３のブラウザに再表示された画面により、現在の電気機器１２００の状態を確認できる。図では、電源ＯＮボタンが押下した状態を表示することで、電気機器１２００が電源ＯＮの状態であることをユーザに知らせている。
【００３５】
図５に、エアコンの操作画面及び状態表示画面の例を示す。状態としては、電源ＯＮ／ＯＦＦ以外に、冷房か暖房かなどの運転モード，設定温度，設定湿度，風量，風向き，省エネ運転などの制御状態，故障状態を把握するためのエアコン内マイコン中の所定アドレス値などを示すと、ユーザは端末３からも操作性が良くなる。また、電気機器１２００の動作状態以外に、室内外の温度や湿度を表示しても、ユーザの利便性が向上する。また、状態は、ボタンの押下状態，ラジオボタンのクリック状態，セレクトボックスのセレクト状態で示す、あるいは、文字列でその旨を表示する、また、状態を直感的に把握しやすいように、状態によって色を変えて表現するなどでも良い。
【００３６】
また、ＨＴＭＬファイル送信１０２，１０７は、ＨＴＭＬファイルに限らず、ＸＭＬやスタイルシート，特定のブラウザに対応したマークアップランゲージでも同様にできる。また、ブラウザの代わりにＪＡＶＡ（登録商標）などのスクリプト対応の端末であれば、対応するスクリプトでも同様にできる。
【００３７】
また、アクセス１０１とＨＴＭＬファイル送信１０２を行わずに、ユーザの手元にある操作画面から操作を受け付ける、あるいは、コントローラ１以外のサーバに、アクセス１し、ＨＴＭＬファイル送信１０２を受信しても良い。
【００３８】
電気機器１２００をコントローラ１と一般のリモコン（図示せず）の両方で操作する場合、最後に操作したのが一般のリモコンであるとすると、ＨＴＭＬファイル送信１０２による画面表示が、その時点の電気機器１２００の状態と異なることがある。
【００３９】
そこで、コントローラ１は、赤外線Ｉ／Ｆ１２により一般のリモコンで操作する場合を検知し、電気機器１２００が返信する赤外線を受信して、電気機器１２００の状態を更新する方式とすれば良い。
【００４０】
このとき、電気機器１２００の状態は、コントローラ１の記憶手段に保存された状態保持変数に保持する。
【００４１】
また、電気機器１２００に、赤外線発光手段がなく、電気機器１２００の現在の状態をコントローラ１に返信できない場合の制御方法を以下に述べる。
【００４２】
コントローラ１から電気機器１２００に送信された赤外線データにより、電気機器１２００が制御され状態が遷移する情報を、コントローラ１の記憶手段に保持しておく。ブラウザ画面操作１０４で、ｃｇｉ  関数に赤外線コード“０ｘ０１”が渡された際、赤外線を解釈し、状態遷移情報を参照してその結果である電気機器１２００の状態を推測，状態を更新する。
【００４３】
また、一般リモコンでの操作を検知した場合は、このリモコンが出力した赤外線を赤外線Ｉ／Ｆ１２で受信して解釈し、状態遷移情報を参照してその結果である電気機器１２００の状態を推測，状態を更新する。
【００４４】
予想される状態遷移後の状態を、ｃｇｉ関数に渡すパラメータの一部に含め、ｃｇｉ関数は、パラメータに従って、電気機器１２００の状態を更新する方法によってもできる。この方法の場合、赤外線データによる電気機器１２００の状態遷移情報をコントローラ１に保持する必要は無い。
【００４５】
ＨＴＭＬファイル送信１０２，１０７において、赤外線データを明らかにしたくない場合、以下の暗号化方法を用いると良い。
【００４６】
第一の方法は、インターネットで一般的に用いられるＳＳＬ等の暗号化を図ることである。また、第一の方法でコントローラ１に負荷がかかりすぎる場合は、赤外線データ部分のみ、ＢＡＳＥ６４等の簡易な暗号化を図る第二の方法がある。また、第三の方法は、赤外線データと、対になるコード列を定義しておき、
ＨＴＭＬファイル送信１０２，１０７において、赤外線データの代わりにこれと対になったコード列を記述する方法である。
【００４７】
ＨＴＭＬファイル送信１０２，１０７において、制御しようとする時点の電気機器１２００の状態を含めて送信する場合、ｃｇｉ  が電気機器１２００の状態を含めたＨＴＭＬファイルを作成する。このとき、ｃｇｉ  が出力するＨＴＭＬファイルのデザインを自由に変えられる方法を以下に説明する。
【００４８】
そのためには、レスポンス画面として、テンプレートファイル名を指定された場合は、これをもとに、出力ファイルを生成するｃｇｉ  としておく。
【００４９】
図８は、電気機器１２００であるエアコンの状態を示す端末３の画面表示であり、ＯＮ／ＯＦＦ状態，運転モード状態，設定温度状態を表示している。図８のテンプレートファイルを図９に示す。
【００５０】
図９のＨＴＭＬファイル中、＜％ｓ＝Ｄ２３ＬＯＷＥＲ％＞    ＜％ｓ＝Ｄ１１％＞
＜％ｓ＝Ｄ２３ＵＰＰＥＲ％＞は、＜％・・・％＞  部分を現在の状態を挿入するように指示するものである。現在の状態に置き換えるようにする指示は、＜％，％＞等特殊なタグで示すが、予約語としてあらかじめ定義したコード列を用いても良い。
図１０は、テレビのＧコード予約を受け付ける端末３に表示される画面であるが、ＨＴＭＬファイルを図１１に示す。
【００５１】
図１１では、
＜ＩＮＰＵＴ  ｔｙｐｅ＝“ｈｉｄｄｅｎ”ｎａｍｅ＝“ＲＶＩＥＷ”ｖａｌｕｅ＝“ｔｖｃ１４＿ｔ．ｈｔｍ”＞
は、ｃｇｉ  に対して、レスポンス画面のテンプレート画面をｔｖｃ１４＿ｔ．ｈｔｍと指定する例である。
【００５２】
また、この例は、赤外線出力を
“７７８８００ｆｆ”、
“ＧＣＯＤＥ”で指定された値、
“１１００３３ｃｃ”、
“１１００３ａｃ”、
と、順次赤外線発光をするように指定している。
【００５３】
こうした指定を受けて、コントローラ１は、複数の赤外線を発光するｃｇｉ  を備える必要がある。このとき、必要に応じて、赤外線発光間に遅延を置くようにすることで、リモコンのボタンを順次ユーザが押下していく操作を、コントローラ１で実施することができる。
【００５４】
ＨＴＭＬファイル送信１０２，１０７においてテンプレートファイルを入力として、送信するＨＴＭＬファイルを出力として生成するフローを図１２に示す。
Ｓ７１で、テンプレートファイルである入力ファイルを開き、入力ポインタ
Ｐｎを０にリセット、Ｓ７２で出力ファイルを開き、出力ポインタＰｏを０にリセットする。Ｓ７３で入力ファイルがＥＯＦになるまで、以下の処理を繰り返す。
【００５５】
Ｓ７４で該当文字列かを調べるが、図８から図１１で示した例のように、特殊なタグ＜％，％＞で、くくられている部分かどうかを調べる。そうでなければ、Ｓ７６で出力ファイルにコピーし、読み進めた部分までＰｎを、書き進めた部分までＰｏを更新する。
【００５６】
該当文字列であれば、Ｓ７５でタグ内に記述された文字列名称の状態変数値を得て、Ｓ７７で出力ファイルに変数値を出力し、読み進めた部分までＰｎを、書き進めた部分までＰｏを更新する。
【００５７】
Ｓ７３で入力ファイルがＥＯＦとなれば、Ｓ７８で入力ファイルおよび出力ファイルを閉じて、処理を終了する。
【００５８】
コントローラ１に赤外線登録機能を付加することで、ユーザがリモコンを用いて赤外線を登録した後、ユーザが端末３から、インターネットと接続されたコントローラ１を使って、電気機器１２００の操作を行うことができる。そのための登録方法について、図１３を用いて説明する。
【００５９】
Ｓ８１でユーザによる赤外線登録メニューの指示を待つ。指示があれば、以下の処理を行う。Ｓ８２，Ｓ８３で、所定時間Ｔ０以上となるまで、発光開始を待つ。デフォルトがＬｏｗ  の状態であれば、最初のＨｉｇｈ信号がくるまで待つ。発光が開始されれば、Ｓ８４で所定時間Ｔ１以上発光がない状態になるまで、Ｓ８５で赤外線を読みこむ。たとえば、Ｈｉｇｈの連続時間と、Ｌｏｗ  の連続時間を記録していく。
【００６０】
Ｓ８４で所定時間Ｔ１以上発光がない状態になれば、発光が終了したと判定して、Ｓ８６で赤外線をデータ列に変換する。Ｈｉｇｈの連続時間と、Ｌｏｗ  の連続時間の繰り返しパターンから、０または１を判定し、０または１の列をバイト列に置き換えていく。０または１の列をそのまま登録しても良い。
【００６１】
リモコンの赤外線コードによっては、パリティや反転コードを付加したパターンになっているため、Ｓ８７で赤外線データ列は正しいかを調べる。すなわち、そのパターンに準じているかどうかを調べる。
【００６２】
Ｓ８７で赤外線データ列は正しいとされれば、Ｓ８８で赤外線データ列を所定領域に登録し、その所定領域と対応つけて、Ｓ８９で登録赤外線データ列のＩＤを得る。
【００６３】
Ｓ８１０で成功表示のＨＴＭＬテキストを作成するが、Ｓ８９で得た登録赤外線データ列のＩＤを含めたものとする。Ｓ８１１でエラー表示のＨＴＭＬテキストを作成する。
【００６４】
図１４は、図１３のＳ８８で赤外線データ列を登録する内容を示している。赤外線ＩＤは、Ｓ８９で得た登録赤外線データ列のＩＤ，赤外線データは、Ｓ８８で得た赤外線データ列である。なお登録メモをあわせて登録すると、ユーザにとって更に使い勝手が良くなる。
【００６５】
図１４の赤外線ＩＤ＝３の項目に示すように、図１３のＳｔｅｐで赤外線を登録する以外に、すでに登録した赤外線ＩＤを組み合わせて登録できるようにすると、ユーザの利便を図れる。この場合は、図１４の表を編集する形でユーザの指定を受け付ける。
【００６６】
図１３のＳ８１で受けるユーザによる赤外線登録メニューの指示を受け付けると、端末３には「赤外線データを登録しますか？」の画面が表示される。ユーザは、画面上の登録メモ記入欄にメモを記入し、「はい」ボタンを押下すると、図１３のＳ８２以降が処理される。ユーザは、「はい」ボタンを押下したのち、所定時間Ｔ０以内に、リモコンをコントローラ１に向けて、登録したい赤外線リモコンのボタンを押下する。
【００６７】
図１３のＳ８１０では、作成した成功表示のＨＴＭＬテキストを端末３に表示する。このとき、Ｓ８９で得た登録赤外線データ列のＩＤ５を表示する。ユーザが、「了解」すると、他のページに移る。また、「登録した赤外線一覧」を押下すると図１４に示した登録赤外線の一覧表を端末３の画面に表示する。
【００６８】
図４は、様々な端末を介し、家に設置してあるコントローラ１を用いて様々な家電製品を制御する例を示した図である。ユーザは、携帯電話，ＰＤＡ，パソコン，自動車端末等の端末から、インターネットに接続している。また、ホームには、ＡＰ，Ｒｏｕｔｅｒ等を介して、コントローラ１がインターネットに接続されている。
【００６９】
図４は、インターネットからコントローラ１にどの様なデータが入力されるかを示している。ユーザからインターネットを介してコントローラに入力されるデータは、赤外線を再生しうるデータであるこれまでに説明した実施例においては、赤外線データは、赤外線を発光するＣＧＩ関数および、赤外線フォーマットパラメータ（メーカや機種によって異なる），赤外線データパラメータ（リモコンボタンによって異なる。）である。あるいは、赤外線フォーマットごとのＣＧＩ関数を用意し、ＣＧＩ関数および赤外線データパラメータでも良い。
【００７０】
また、あらゆる赤外線フォーマットによる赤外線データは、時系列の赤外線信号のｌｏｗ／ｈｉｇｈ  値であらわすことができる。したがって、図６赤外線データは、これを示すデータ、すなわち、赤外線信号のｌｏｗ／ｈｉｇｈ  のインターバル時間の列、あるいは、開始からｌｏｗ／ｈｉｇｈ  の反転までの時刻の列でも良い。
【００７１】
ここまでは、赤外線データを用いて家電製品を制御する例について述べてきたが、赤外線データ以外の無線通信、また家電製品の代わりに通信手段を持つ産業用の電気機器などに適用できるコントローラであっても良い。
【００７２】
電気機器には様々な機種が有り、赤外線データも様々であるが、ユーザが自分でリモコンデータを登録するのには限界がある。そこで、機種に対応した赤外線データを含むＨＴＭＬファイルを提供するサービスセンターを設置すると良い。
図１５は、サービスセンターの運営方法の一例を示したものである。サービス登録者，サービスセンター，ユーザに分けて、処理を示している。
【００７３】
サービス登録者は、Ｓ９１で仕様要求をして、受けた仕様情報に沿ってＳ９２でＨＴＭＬを作成する。そして、登録する場合は、Ｓ９３で登録料を支払うことで、登録許可を得て、Ｓ９４で機種とＨＴＭＬを登録する。これをダウンロードしたユーザがいれば、センターを介して代金支払いを受ける。
【００７４】
サービスセンターは、要求を受けてＳ９１１で仕様情報を提供する。また、登録料の支払いを受けると、Ｓ９１２で登録許可を与え、機種とＨＴＭＬの登録を受け付ける。ユーザから機種検索の問合せを受けると、Ｓ９１３で機種に対応したＨＴＭＬの有無を返信する。有するＨＴＭＬのダウンロード要求と代金支払いを受けると、Ｓ９１４でＨＴＭＬを送信する。また、Ｓ９１５で代金支払いを所定の配分に沿って、サービス提供者に支払う。
【００７５】
ユーザから機種検索の問合せを受けた回数をもとに、Ｓ９１６で機種検索回数情報を公開し、まだＨＴＭＬが無い機種、あるいは、人気のある機種のＨＴＭＬ作成を促す。
【００７６】
携帯電話や自動車端末と合わせて利用する場合、現在位置を確認するのにＧＰＳ機能をつけ、サービスセンターで端末がユーザが指定した位置から所定の距離内に入った際、コントローラから制御信号を出すようにすれば、近づくだけで照明点灯，施錠，ゲートの開閉をすることができる。
【００７７】
ユーザは、Ｓ９２１で機種検索をして、望む機種向けのＨＴＭＬがあれば、
Ｓ９２２でダウンロード要求および代金支払いをする。Ｓ９２３でダウンロードしたＨＴＭＬをコントローラに設定して使用する。
【００７８】
以上、コントローラにサーバ機能を持たせる場合について述べたが、サーバ機能を持たせなくとも、インターネット上のサービスセンターと連携して、同様の家電制御を行うことができる。
【００７９】
すなわち、図４において、サービスセンターでユーザからの家電制御リクエストを受付けておき、一定時間毎にコントローラから、サービスセンターにユーザからのリクエストが登録されているかを参照し、登録されていれば、コントローラはリクエストに従った赤外線を発光する。
【００８０】
あるいは、サービスセンターでユーザからの家電制御リクエストを受付けて、ホームコントローラにメールを送付し、メールを受け取ったコントローラはリクエストに従った赤外線を発光する。
【００８１】
このような場合、図１５に示したサービスセンター運営方式を、次のようにすると良い。Ｓ９２，Ｓ９４は、ＨＴＭＬではなく、赤外線データを示す情報である。ユーザは、コントローラにＨＴＭＬをダウンロードする必要はなく、Ｓ９２１，Ｓ９２２，Ｓ９２３の操作の代わりに、サービスセンターに利用機種を登録しておく。サービスセンターでユーザからの家電制御リクエストを受付けてた際に、ユーザを識別し、その登録した利用機種とリクエストから、コントローラが発光するための赤外線データを生成し、コントローラに送付する。
【００８２】
課金は、サービスセンターへのリクエスト回数、または、コントローラからサーバに参照しにいく回数等に課金することで、サービスに合わせた課金を可能とできる。
【００８３】
その場合、サービスセンターを経由せずホーム内のみでコントローラを使用するためには、コントローラの入力インターフェース仕様に沿った入力をするための端末（ＰＣとそのソフトウェア）をホーム内に備えることによって可能となる。
【００８４】
また、図６に示す赤外線データは、赤外線信号のｌｏｗ／ｈｉｇｈ  のインターバル時間の列、あるいは、開始からｌｏｗ／ｈｉｇｈ  の反転までの時刻の列でも良い。
【００８５】
コントローラが赤外線リモコンデータを学習して再生する機能を備えるためには、学習したデータをサービスセンターに登録する必要がある。
【００８６】
コントローラで赤外線信号の有無を抽出し、サービスセンターに報告し、サービスセンターは、その報告状況を解析し、所定の状況を外れた場合、所定のアドレスに報告メールを出すことにより、例えばテレビのＯＮ／ＯＦＦが一定時間されなければ、安否の確認警告をメールで報告を受けることもできる。
【００８７】
本発明のコントローラは、赤外線リモコンと違って、手に持って使うものではなく、ある位置に設置して用いる。そのため、置く位置のどの方向に制御対象の家電があっても赤外線信号を到達させるためには、方向を違えた赤外線発光素子を複数個付ける必要がある。たとえば、コントローラから半球型に赤外線到達範囲を想定するとすれば、半球型の立体面をｎ等分し、それぞれのｎ等分した立体面を効率良く赤外線で照らす位置にｎ個の赤外線発光素子を備える。例えば、コントローラの仮想中心部と、それぞれのｎ等分した立体面の中心部を結ぶ直線上に、立体面の中心部方向に向けて赤外線発光素子を備える。このとき、赤外線発光素子の照射角（視野角）は、コントローラの仮想中心部から、それぞれのｎ等分した立体面の周辺までの角より大きくすれば、赤外線到達範囲に抜けがないように赤外線を到達させることが出来る。
【００８８】
以上、本発明によれば、既に購入している電気機器を、遠隔操作できる電気機器のコントローラを提供することができる。しかも、該コントローラは、電気機器用の複数のデータ変換プログラムを記憶することがない。即ち、安価な記憶装置で良いので、コントローラも安価にできる。
【００８９】
【発明の効果】
本発明によれば、ユーザが既に購入している電気機器でも遠隔地から操作を行う安価な電気機器用コントローラを提供することができる。
【図面の簡単な説明】
【図１】本発明の実施例であるコントローラの模式図である。
【図２】コントローラのＷｅｂサービスの動作を表すフローチャートである。
【図３】Ｗｅｂサービス追加処理の動作を表すフローチャートである。
【図４】本発明のコントローラを用いた電気機器の制御システムの模式図である。
【図５】操作画面表示を示す図である。
【図６】本発明の実施例の赤外線データを用いた制御システムの模式図である。
【図７】本発明による実施例の制御システムの操作手順を示す模式図である。
【図８】操作画面表示を示す図である。
【図９】操作画面表示のためのＨＴＭＬを示す図である。
【図１０】操作画面表示を示す図である。
【図１１】操作画面表示のためのＨＴＭＬを示す図である。
【図１２】ＨＴＭＬファイル作成フローチャートである。
【図１３】赤外線登録フローチャートである。
【図１４】登録赤外線データを示す図である。
【図１５】本発明の他の実施例のサービスセンター運営を示す模式図である。
【符号の説明】
１…コントローラ、２…ネットワーク、３…端末、１１…シーケンス制御手段、１３…実行状態制御・モニタ手段、１４…通信処理手段、１６…ＨＴＭＬテキスト格納手段、１７…シーケンス制御連携Ｗｅｂサービス手段、１８…プロファイル情報格納手段、１２０…データ入出力手段、１５０…Ｗｅｂサーバ。
【図１】
2004297234.tif 000003
【図２】
2004297234.tif 000004
【図３】
2004297234.tif 000005
【図４】
2004297234.tif 000006
【図５】
2004297234.tif 000007
【図６】
2004297234.tif 000008
【図７】
2004297234.tif 000009
【図８】
2004297234.tif 000010
【図９】
2004297234.tif 000011
【図１０】
2004297234.tif 000012
【図１１】
2004297234.tif 000013
【図１２】
2004297234.tif 000014
【図１３】
2004297234.tif 000015
【図１４】
2004297234.tif 000016
【図１５】
2004297234.tif 000017