以下、実施形態に係るコントローラ、機器、制御方法、及びプログラムについて、図面を用いて説明する。下記の実施形態等において参照する図2は、模式的な図であり、図中の各構成要素の大きさ及び厚さのそれぞれの比が必ずしも実際の寸法比を反映しているとは限らない。
(実施形態)
(1)機器制御システム
実施形態に係る機器制御システム4は、図2に示すように、実施形態に係るコントローラ1と、実施形態に係る機器2とを備える。
(2)機器
以下、機器制御システム4の構成要素の1つである機器2について、図1B及び図2を参照して説明する。
機器2は、コントローラ1(リモコン)への操作に応じて遠隔制御可能な機器である。機器2は、ユーザが利用する施設内の空間に設置され得る。例えば施設が住宅であれば、機器2は、宅内の部屋に設置されて使用され得る。施設は、住宅に限らず、非住宅(オフィスビル等)でもよい。
機器2は、リモコンにより遠隔制御可能な機器であれば、その種類は特に限定されない。本実施形態では、機器2が、暖房機器であり、一例としてガスファンヒータであることを想定する。つまり、機器2は、加熱源21(図1B参照)を内蔵する。機器2は、ガス燃焼式の加熱源21を備える。しかし、機器2の加熱源21は、石油燃焼式でもよいし、電熱式でもよい。
機器2は、コントローラ1の操作部3へのユーザ操作に応じてコントローラ1から無線で送出される、赤外線を媒体とする送信信号(無線信号、以下、「赤外線信号S1」とも呼ぶことがある)を受信し、その赤外線信号S1に含まれるデータ(制御データ)に応じた制御を実行する。また、機器2は、コントローラ1の器体100(図2参照)の振動が検知された場合にもコントローラ1から無線で送出される赤外線信号S1を受信する。
以下では、コントローラ1の器体100の振動検知に応じてコントローラ1から送出される赤外線信号S1を第1の赤外線信号S11と呼び、コントローラ1の操作部3へのユーザ操作に応じてコントローラ1から送出される赤外線信号S1を、第2の赤外線信号S12と呼ぶこともある。
特に、機器2は、特定の条件を満たすと特定動作を実行するように構成される。特定の条件は、機器2における第1の赤外線信号S11、及び第2の赤外線信号S12の受信に関する条件である。つまり、特定の条件は、少なくとも、機器2における第1の赤外線信号S11、及び第2の赤外線信号S12の受信を必須とする条件である。
本実施形態では、特定動作は、加熱源21に関する動作であり、コントローラ1を用いた遠隔操作で実行可能な動作である。加熱源21に関する動作は、例えば、加熱源21の稼働開始(つまり、機器2の「運転開始」)の動作、加熱源21の稼働停止(つまり、機器2の「運転停止」)の動作、又は設定温度の調節動作に相当し得る。
なお、ここで言う運転開始は、機器2の電源が入った状態で待機電力を消費中にある待機状態から、例えばユーザから手動操作を受け付けた場合に稼働状態を開始することである。また、運転停止は、稼働状態から、例えばユーザから手動操作を受け付けた場合に待機状態に戻ることである。したがって、運転停止や運転開始は、エコ運転等によって室温が設定温度以上に達したことに起因する一時的な運転の自動停止、一時的な運転停止からの自動的な再開とは異なる。
特定動作は、コントローラ1を用いた遠隔操作で実行可能な動作であればよく、例えば、機器2の運転開始の動作、機器2の運転停止の動作、設定温度の調節の動作、及びおやすみタイマの動作を含み得る。エコ運転開始の動作が、コントローラ1を用いた遠隔操作で実行可能であれば、特定動作は、エコ運転開始の動作を含んでもよい。
また、機器2は、図1Bに示すように、制御部20、送風ファン22、受信部23、記憶部24、表示部25、複数の操作部26(図示例では1つのみ)、電源部27、及びこれらを収容又は保持する筐体200(図2参照)等を更に備える。また、機器2は、加熱源21等の動作を監視するためのセンサを更に備える。センサの種類は特に限定されないが、例えば、加熱源21の燃焼を確認するための燃焼センサ、加熱源21の温度、及び機器2が設置されている室内の温度を検出するための温度センサ、機器2の転倒を検出するための転倒センサ等が設けられている。また、機器2は、タイマを備え、タイマによる計時に基づき、機器2(暖房機器)の運転開始/運転停止等に関する予約スケジュールの管理を行う機能を有する。
筐体200は、図2に示すように、全体として前後方向に扁平な略矩形の箱状である。筐体200は、その正面の下部に、吹出口201が設けられ、また、その背面には、吸込口が設けられている。筐体200の上端面には、表示部25、及び複数の操作部26が配置されている。また、筐体200の背面には、加熱源21のガス管に燃料ガスを供給するためのガスコードが接続される接続口が設けられている。また、筐体200の背面には電源コードが延出しており、電源コードの先端の電源プラグを電源コンセントに接続することで、機器2は、例えば商用の交流電源から電力の供給を受けることができる。
加熱源21は、燃料ガスと燃焼用空気との混合気を燃焼させる燃焼器、及び、燃焼器に向けて燃料ガスを噴射することで燃料ガスと燃焼用空気とを混合させる噴射ノズルを有する。また、加熱源21は、噴射ノズルに燃料ガスを案内するガス管、ガス管を開閉する電磁弁、及び設定温度等に応じた燃料ガスの流量調節を可能にする比例弁等を有する。燃焼器は、その燃焼室に案内された燃料に点火する点火器、及び、着火による火炎を検出して火炎の立ち消え検知を可能にする火炎センサを有する。加熱源21の電磁弁、比例弁、点火器、及び火災センサ等は、制御部20により制御される。
送風ファン22は、筐体200内に収容されている。送風ファン22は、例えば、クロスフローファン、及びクロスフローファンを周方向に回転させるファンモータ等を有する。ファンモータは、制御部20の制御下で作動し、クロスフローファンを回転させる。クロスフローファンの回転によって、外気が、筐体200の背面に設けられた吸込口から吸い込まれ、加熱源21の燃焼器に向けて流動する。吸込口から吸い込まれた外気(空気)の一部は、燃焼用空気として燃料ガスと混合されて加熱源21の燃焼室に供給される。残りの空気は、燃焼器を迂回し、燃焼室からの燃焼排ガスと混合されて昇温した後、筐体200の正面に設けられた吹出口201から吹き出される。その結果、機器2は、暖気を機器2が設置されている室内に提供し、室内温度を設定温度に近づけることができる。
複数の操作部26は、機器2の動作を指令する操作入力を受け付け可能に構成されたユーザインタフェースである。複数の操作部26は、例えば、筐体200の上端面に配置されている。各操作部26は、押しボタン式であることを想定する。
具体的には、複数の操作部26は、機器2の運転を開始するためのONボタン(運転ボタン)、及び機器2の運転を停止するためのOFFボタン(停止ボタン)を含む。運転ボタン及び停止ボタンは、1つのボタンで実現されて、当該ボタンを押す度に運転開始の指令と運転停止の指令とが交互に行われてもよい。
また、複数の操作部26は、設定温度を1℃ずつ上げさせるためのUPボタン、及び設定温度を1℃ずつ下げさせるためのDOWNボタンを更に含む。
また、複数の操作部26は、おやすみボタン、おはようボタン、及び設定時間を入力する設定ボタン等を更に含む。おやすみボタンを押すことで、押し操作を行った時点から例えば1時間後に自動的に機器2の運転が停止される。おはようボタンを押すことで、設定時間後に自動的に機器2の運転が開始される。
また、複数の操作部26は、エコ運転を実行するためのエコボタンを更に含む。通常運転の場合、機器2は、燃焼能力を大きくしたり小さくしたりする連続燃焼を実行する。エコ運転の場合、機器2は、室温が設定温度以上になると燃焼と停止とを繰り返す運転を実行する。
上記のボタンの種類は、単なる一例であって、これらに限定されない。
表示部25は、機器2の動作に関する情報をユーザに提示するように構成される。表示部25は、筐体200の上端面に配置されている。表示部25は、現在の設定温度、現在の室温、設定時間、及び運転状態(通常運転中かエコ運転中か)の表示を行う。
記憶部24は、フラッシュメモリ等の電気的に書き換え可能な不揮発性の半導体メモリを含む。記憶部24は、制御部20のメモリでもよい。記憶部24は、コントローラ1から受信し得る(後述の)複数の制御データと、複数の制御内容とが対応付けされた情報を予め格納している。また、記憶部24は、設定温度を記憶し、制御部20は、ユーザ操作に応じて記憶部24内の設定温度を適宜更新する。
受信部23は、コントローラ1からの送信信号(赤外線信号S1)を受信する。受信部23は、筐体200の正面における右端上部に配置されている(図2参照)。受信部23は、コントローラ1から送出される赤外光(赤外線)を受光し、光電変換を行う赤外線受光素子を含む。受信部23は、制御部20と電気的に接続されている。制御部20は、赤外線受光素子から出力される出力信号から制御データを抽出し、当該制御データに対応する制御内容を実行する。
電源部27は、制御部20と電気的に接続されている。電源部27は、制御部20の制御下で、電源コードを介して電源コンセントから供給される例えば商用の交流電力を用いて、加熱源21、送風ファン22、受信部23、及び表示部25等を動作させるために必要な電力を生成し、これらに供給する。
制御部20は、例えば、CPU(Central Processing Unit:中央処理装置)等のプロセッサ及びメモリを含むコンピュータ(マイクロコンピュータを含む)を有する。コンピュータは、適宜のプログラムを実行することにより、制御部20として機能する。
制御部20は、各操作部26に対する操作に基づき、加熱源21、送風ファン22、及び表示部25等の動作を制御する。また、制御部20は、受信部23で受信される、コントローラ1からの赤外線信号S1(第2の赤外線信号S12)に含まれる制御データに基づき、加熱源21、送風ファン22、及び表示部25等の動作を制御する。ただし、制御部20は、第1の赤外線信号S11を受信した場合、第1の赤外線信号S11に含まれる制御データに基づき、これからコントローラ1より送信され得る第2の赤外線信号S12に備えた状態になる。つまり、第1の赤外線信号S11に含まれる制御データは、ユーザがこれからコントローラ1の操作部3を操作する可能性の高いことを、機器2に通知するための制御データである。
(3)コントローラ
以下、機器制御システム4の構成要素の1つであるコントローラ1について、図1A及び図2を参照して説明する。
コントローラ1は、機器2を遠隔で操作可能なリモコンである。コントローラ1は、図2に示すように、赤外線を媒体とする送信信号(赤外線信号S1)を無線で送信する。赤外線信号S1は、例えば、リーダーコード、カスタムコード、データコード、及びストップビット等を有するデータ構成になっている。操作部3への1回の操作入力(押し操作)又は器体100の振動検知1回分に対して、赤外線信号S1が、リーダーコードからストップビットまでを数回リピートして送信される場合もあるが、説明の便宜上、リピートも含めて1回分の赤外線信号S1と見なす。
コントローラ1は、図1Aに示すように、器体100と、制御部10と、送信部11と、記憶部12と、ユーザインタフェース13と、電源部14と、検知部D1とを備える。コントローラ1は、例えば、CPU等のプロセッサ及びメモリを含むコンピュータ(マイクロコンピュータを含む)を有する。コンピュータは、適宜のプログラムを実行することにより、コントローラ1として機能する。
器体100は、全体として一方向に長尺で、扁平な略矩形の箱状に形成されている(図2参照)。器体100は、ユーザが片手で把持し易いような大きさと形状を有する。器体100は、例えば、樹脂製である。器体100の正面には、複数(図示例では5つ)の操作部材300が配置されている。つまり、器体100は、ユーザが片手で器体100を把持しながら操作部材300を親指等で押し操作し易い構造を有する。器体100は、制御部10、送信部11、ユーザインタフェース13、記憶部12、電源部14、及び検知部D1等を収容又は保持する。
送信部11は、制御部10と電気的に接続されている。送信部11は、器体100に設けられて、送信信号(赤外線信号S1)を送信する。送信部11は、制御部10の制御の下、検知部D1にて振動を検知すると、待機状態から指令状態となり、第1の赤外線信号S11を送信信号(赤外線信号S1)として送信する。また、送信部11は、制御部10の制御の下、指令状態において、操作部3にて操作入力を1回受け付けると、第2の赤外線信号S12を送信信号(赤外線信号S1)として送信する。
送信部11は、制御部10で生成された赤外線信号S1を送出するための赤外線発光素子を含む。赤外線発光素子は、例えば、赤外光LED(Light Emitting Diode)を想定する。赤外線発光素子は、器体100の一端面(図2では上端面)から赤外線信号S1を出射するように当該一端面において露出して器体100に保持されている。
ユーザインタフェース13は、複数(例えば5つ)の操作部3を有する。各操作部3は、器体100に設けられて、外部(例えばユーザ)から操作入力を受け付ける。図1A及び図2の例では、ユーザインタフェース13は、5つの操作部3として、ONボタン31、OFFボタン32、温度DOWNボタン33、温度UPボタン34、及びおやすみボタン35を含む。各ボタン(31~35)は、押しボタン式スイッチ、及び、スイッチの前面に配置された樹脂製の操作部材300を含む。各スイッチは、器体100内のプリント基板に実装されている。器体100から露出する5つの操作部材300のいずれかをユーザが押し込むことで、裏側のスイッチの接点がONされ、制御部10は、対応する操作部3がユーザから操作入力を受けたことを検知する。
ONボタン31は、機器2の運転を開始するための運転ボタンである。OFFボタン32は、機器2の運転を停止するための停止ボタンである。温度DOWNボタン33は、設定温度を1℃ずつ下げさせるためのボタンである。温度UPボタン34は、設定温度を1℃ずつ上げさせるためのボタンである。おやすみボタン35は、押し操作を行った時点から例えば1時間後に自動的に機器2の運転を自動的に停止させるためのボタンである。つまり、一例として、5つの操作部3の機能は、機器2側の複数の操作部26と一部重複する。
各操作部3が押し操作(操作入力)を1回受け付ける度に、送信部11は、赤外線信号S1(第2の赤外線信号S12)を1回送信する。ここでいう1回分の赤外線信号S1(S11,S12)とは、例えばリーダーコードで始まりストップビットまでの(リピートされる場合は、リピートも含む)信号を意味する。
ところで、ユーザがコントローラ1を不用意に踏んだり子供がコントローラ1を触ったりして、機器2の意図しない運転が開始される可能性を低減させるために、本実施形態では一例として、ONボタン31についてのみ2回押し操作を必要とすることを想定する。つまり、ユーザは、ONボタン31を連続で2回押さないと、機器2は、運転を開始しない。他のボタン(32~35)については、1回押しで、機器2は、対応する制御を実行するが、他のボタンについても「2回押し」が適用されてもよい。また、「2回押し」に限定されず、3回以上の押しが必要なボタンが設定されてもよい。
記憶部12は、フラッシュメモリ等の電気的に書き換え可能な不揮発性の半導体メモリを含む。記憶部12は、制御部10のメモリでもよい。記憶部12は、送信部11から送信させる赤外線信号S1に関する情報を予め記憶している。すなわち、記憶部12は、各ボタン(31~35)が押し操作された場合に、第2の赤外線信号S12に含めるための対応する制御データ(データコード)に関する情報を予め記憶している。以下では、ONボタン31、OFFボタン32、温度DOWNボタン33、温度UPボタン34、及びおやすみボタン35に対応する制御データを第1制御データ、第2制御データ、第3制御データ、第4制御データ、及び第5制御データとそれぞれ呼ぶことがある。
また、記憶部12は、器体100の振動が検知された場合に、第1の赤外線信号S11に含めるための対応する制御データ(データコード)に関する情報を予め記憶している。以下では、器体100の振動検知に対応する制御データを準備データと呼ぶことがある。
電源部14は、制御部10と電気的に接続されている。電源部14は、例えば1又は複数の一次電池を含み得る。一次電池は、例えばボタン電池である。一次電池は、交換可能に器体100に収容されている。電源部14は、一次電池から放出される直流電力を用いて、制御部10等の動作電力を生成し、制御部10に供給する。
検知部D1は、器体100に設けられ、器体100の振動を検知するように構成される。検知部D1は、器体100の加速度を計測することで器体100の振動を検知するセンサ(例えば圧電素子型の振動センサ)を含む。検知部D1は、制御部10と電気的に接続されていて、器体100の振動に関する検知結果を含む出力信号を制御部10に出力する。制御部10は、出力信号の信号値(例えば電圧値)が閾値以上になると、ユーザが器体100を手で把持したことに起因する振動が発生したと判定し、準備データを第1の赤外線信号S11に含めて送信部11から送信させる。
制御部10は、送信部11、ユーザインタフェース13、記憶部12、電源部14、及び検知部D1等を制御する。制御部10は、検知部D1で器体100の振動を検知すると、送信部11を制御する。送信部11は、制御部10の制御下で、待機状態から指令状態となり、準備データを含む第1の赤外線信号S11を送出(送信)する。送信部11は、制御部10の制御下で、指令状態において、5つの操作部3(ボタン31~35)のいずれかに対してユーザが押し操作を実行すると、そのボタンに応じた制御データ(第1~第5制御データのいずれか)を含む第2の赤外線信号S12を送出(送信)する。
特に、「2回押し」を必要とする特定の操作部3(ここではONボタン31)について、送信部11は、制御部10の制御下で、第1の赤外線信号S11を1回送信後に、特定の操作部3にて1回目の操作入力を受け付けると、第2の赤外線信号S12を送信する。続けて同じ特定の操作部3にて、2回目の操作入力を受け付けると、送信部11は、第2の赤外線信号S12を再度送信する。
送信部11は、制御部10の制御下で、検知部D1が振動を検知して待機状態から指令状態となってから一定期間が過ぎると、指令状態から待機状態に戻る。上記の一定期間は、例えば数秒間を想定するが特に限定されない。つまり、ユーザにとっては、機器2の運転を開始させるためには、器体100を手で把持してから上記の一定期間が過ぎるまでにONボタン31に対して2回の押し操作を行う必要がある。他のボタン(32~35)については、器体100を手で把持してから上記の一定期間が過ぎるまでに1回の押し操作でよい。
制御部10は、タイマを備える、制御部10は、検知部D1が振動を検知すると、第1の赤外線信号S11を送信させ、さらにタイマにて上記の一定期間の計時を開始する。つまり、上記の一定期間の始点は、検知部D1が振動を検知した時点である。制御部10は、上記の一定期間内に、5つの操作部3(ボタン31~35)のいずれかにて押し操作を受け付けると、第2の赤外線信号S12を送信させる。
なお、ユーザがコントローラ1を把持している間、幾度となく検知部D1の出力信号の信号値が閾値以上になり得る。送信部11は、信号値が閾値以上になる度に一定期間の再計時を行い、その都度、第1の赤外線信号S11を送信させてもよい。或いは、送信部11は、一度、一定期間の計時が開始されて第1の赤外線信号S11を送信すると、暫くの間(例えば数十秒間)、一定期間の再計時及び第1の赤外線信号S11の送信を見送ってもよい。
制御部10は、上記の一定期間内にONボタン31にて仮に3回目以降の押し操作を受け付けても、その押し操作を無視し、赤外線信号S1の送信は行わない。しかし、制御部10は、3回目以降の押し操作に応じて都度送信してもよい(機器2側で3回目以降の赤外線信号S1は無効扱いすればよい)。
また、制御部10は、上記の一定期間内に、OFFボタン32又はおやすみボタン35にて仮に2回目以降の操作を受け付けても、その押し操作を無視し、赤外線信号S1の送信は行わない。一方、制御部10は、上記の一定期間内に、温度DOWNボタン33又は温度UPボタン34にて2回目以降の操作を受け付けると、その都度、第2の赤外線信号S12を送信する。また、制御部10は、ONボタン31への1回目の押し操作を受け付けた後、ONボタン31以外のボタンにて2回目の押し操作を受け付けても、その押し操作を無視し、赤外線信号S1の送信は行わない。
言うまでもなく、機器2の運転中において、ONボタン31が2回押しされても、機器2側では、赤外線信号S1を無効扱いにする。機器2の運転停止中において、OFFボタン32が押されても機器2側では、赤外線信号S1を無効扱いにする。
制御部10は、タイマにて上記の一定期間の終点を計時すると、タイマをリセットし、次回の振動検知を監視する。
要するに、コントローラ1の振動が検知された場合と各操作部3が押された場合とで、互いに異なるデータ(準備データ、第1~第5制御データのいずれか)をそれぞれ含んだ第1の赤外線信号S11と第2の赤外線信号S12とが、送信部11から送信される。
図2の例では、ユーザがコントローラ1を手で把持したこと等に起因して器体100の振動が検知されて、コントローラ1から準備データ(矩形波W1を参照)を含む第1の赤外線信号S11が送信されている。また、図2の例では、コントローラ1から、5つのボタン(31~35)のいずれかへの押し操作に対して第1~第5制御データのいずれか(矩形波W2を参照)を含む第2の赤外線信号S12が送信されている。
図2の矩形波W1と矩形波W2は、振動検知に対応する準備データと、押し操作に対応する制御データとが互いに異なることが直感的に理解し易いように、それぞれ、データコードの先頭の一部だけを抜粋して模式的に示されている。振動検知に対応する準備データ(矩形波W1)は、データコードの先頭に、ON期間(赤外線発光素子の点灯期間)とOFF期間(赤外線発光素子の消灯期間)の長さが同じ“0”データを含んでいる。押し操作に対応する制御データ(矩形波W2)は、OFF期間がON期間よりも長い“1”データを含んでいる。
つまり、振動検知に対応する準備データと押し操作に対応する制御データとが異なるとは、データコード(例えば8ビットデータ)の内容が異なることに相当する。例えば、振動検知に対応する準備データの方が、押し操作に対応する制御データよりも“1”データを多く含んでいれば、データ長は準備データの方が長くなり得る。当然、第1~第5制御データもデータコード(例えば8ビットデータ)の内容が互いに異なる。
一方、機器2の制御部20は、コントローラ1への遠隔操作に応じて、特定動作を実行する。本実施形態では一例として、特定動作は、コントローラ1に設けられている5つのボタン31~35に対応する動作(機器2の運転開始、運転停止、設定温度の調節、及びおやすみタイマの動作)を含むことを想定する。制御部20は、特定の条件を満たした場合に、対応する特定動作(例えば運転開始の動作)を実行する。特定の条件は、機器2が第1の赤外線信号S11、及び第2の赤外線信号S12を受信することが条件である。より具体的には、特定の条件は、機器2が第1の赤外線信号S11を受信した時点を始点とする所定期間内に第2の赤外線信号S12を少なくとも1回受信することである。上記の所定期間は、例えば数秒間を想定するが特に限定されない。
機器2の制御部20においても、タイマを用いて上記の所定期間を計時する。機器2の制御部20は、準備データを含む第1の赤外線信号S11を受信すると、上記の所定期間の計時を開始する。つまり、上記の所定期間の始点は、準備データを含む第1の赤外線信号S11を受信した時点である。制御部20は、上記の所定期間内に、第1~第5制御データのいずれかを含む赤外線信号S1を受信すると、その制御データが準備データと異なるデータであるかを判定する。第1制御データを含む第2の赤外線信号S12は2回受信が必要であるが、制御部20は、上記の所定期間内に、3回目の第1制御データを含む第2の赤外線信号S12を受信しても無効扱いする。
一例として、コントローラ1の制御部10がタイマを用いて計時する上記の一定期間と、機器2の制御部20がタイマを用いて計時する上記の所定期間とが同じ長さ(例えば数秒)であることを想定するが、厳密に同じでなくてもよい。
機器2の制御部20は、タイマにて上記の所定期間の終点を計時すると、タイマをリセットし、次回の準備データを含む第1の赤外線信号S11の受信を監視する。
機器2の記憶部24においても、準備データ及び第1~第5制御データの各々が、機器2の制御内容と対応付けされて予め記憶されている。機器2の制御部20は、第1の赤外線信号S11を受信して、上記の所定期間内に受信した2回分の第2の赤外線信号S12が運転開始という制御内容に対応する第1制御データを含むと判定すると、機器2の運転を開始する。
(4)コントローラの動作の流れ
以下、コントローラ1の動作の一連の流れについて図3を参照して説明する。図3に示すフローチャートは、本発明に係るコントローラ1の動作のフローの一例に過ぎず、処理の順序が適宜変更されてもよいし、処理が適宜追加又は省略されてもよい。
コントローラ1(の制御部10)は、常時、器体100の振動の有無を監視する(ステップST1)。コントローラ1は、器体100の振動を検知するまで待機する(ステップST1:No)。
器体100の振動有りと判定すると、すなわち振動が検知されると(ステップST1:Yes)、コントローラ1は、例えば、そのタイミングで、一定期間の計時を開始する(ステップST2)。さらに、コントローラ1は、振動が検知されることで、待機状態から指令状態となり、準備データを含む第1の赤外線信号S11を送信する(ステップST3)。
次に、コントローラ1は、指令状態にて、各操作部3に対する押し操作を監視する(ステップST4)。
コントローラ1は、いずれかのボタン(操作部3)が押されたと判定すると(ステップST4:Yes)、そのボタンに対応する制御データを含む第2の赤外線信号S12を送信する(ステップST5)。そして、コントローラ1は、一定期間が終了したか否かを確認し(ステップST6)、一定期間が終了すると(ステップST6:Yes)、一定期間の計時をリセットし(ステップST7)、指令状態から再び振動検知を待つ待機状態に戻る。
一方、押し操作の発生がないまま(ステップST4:No)、一定期間が終了すると(ステップST6:Yes)、コントローラ1は、一定期間の計時をリセットし(ステップST7)、指令状態から再び振動検知を待つ待機状態に戻る。すなわち、コントローラ1は、一定期間が終了するまでは(ステップST6:No)、指令状態のまま押し操作の発生を待つ。例えば、ユーザは、設定温度を3℃上げたい場合、一定期間が終了するまでに、温度UPボタン34を3回押す必要がある。また例えば、ユーザは、機器2の運転を開始したい場合、一定期間が終了するまでに、ONボタン31を2回連続で押す必要がある。また例えば、ユーザは、機器2の運転を開始して更に設定温度を1℃上げたい場合、一定期間が終了するまでに、ONボタン31を2回連続で押し、更に、温度UPボタン34を1回押す必要がある。
なお、コントローラ1は、一定期間が終了するまでにONボタン31への1回目の押しが行われた後、ONボタン31への2回目の押しが行われずにONボタン31以外のボタンが押されたと判定すると、そのボタンに対応する赤外線信号S1を送信しない。すなわち、コントローラ1は、当該押し操作を無効扱いとし、一定期間の計時をリセットし、振動検知を待つ待機状態に戻る。
コントローラ1は、ONボタン31に対する2回押しを受け付けた後、暫くはどのボタンが押されても第2の赤外線信号S12を送信せずに無効扱いとする無効期間(例えば数秒間)を設定してもよい。
(5)機器の動作の流れ
以下、機器2の動作の一連の流れについて図4を参照して説明する。図4に示すフローチャートは、本発明に係る機器2の動作のフローの一例に過ぎず、処理の順序が適宜変更されてもよいし、処理が適宜追加又は省略されてもよい。なお、ここではコントローラ1から受信する赤外線信号S1に応じた機器2の動作について説明し、機器2の操作部26への操作に対する動作については説明を省略する。
機器2(の制御部20)は、電源が入った状態で待機電力を消費して待機状態の間、赤外線信号S1の受信の有無を監視する(ステップST21)。機器2は、赤外線信号S1を受信するまで待機する(ステップST21:No)。
赤外線信号S1を受信すると(ステップST21:Yes)、機器2は、赤外線信号S1から制御データを抽出する(ステップST22)。
機器2は、抽出した制御データが準備データか否かを判定する(ステップST23)。機器2は、準備データであると判定すると(ステップST23:Yes)、例えば、そのタイミングで、所定期間の計時を開始する(ステップST24)。そして、機器2は、2回目以降の赤外線信号S1の受信を待つ(ステップST25)。なお、機器2は、準備データでないと判定すると(ステップST23:No)、その制御データを無効にして、再び最初の赤外線信号S1の受信を待つ待機状態に戻る。
機器2は、2回目以降の赤外線信号S1を受信すると(ステップST25:Yes)、赤外線信号S1から制御データを抽出する(ステップST26)。機器2は、抽出した制御データが第1~第5制御データのいずれかであると判定すると(ステップST27:Yes)、その制御データに対応する制御内容を実行する(ステップST28)。説明は省略するが、運転の開始については、機器2は、第1制御データを含んだ第2の赤外線信号S12を2回連続で受信しない限り、運転の開始を実行しない。機器2は、所定期間が終了したか否かを確認し(ステップST29)、所定期間が終了すると(ステップST29:Yes)、所定期間の計時をリセットし(ステップST30)、再び最初の赤外線信号S1を待つ待機状態に戻る。
機器2は、抽出した制御データが第1~第5制御データのどれでもないと判定すると(ステップST27:No)、制御内容の実行をスキップして、所定期間が終了したか否かを確認する(ステップST29)。
2回目以降の赤外線信号S1の受信がないまま(ステップST25:No)、所定期間が終了すると(ステップST29:Yes)、機器2は、所定期間の計時をリセットし(ステップST30)、再び最初の赤外線信号S1の受信を待つ待機状態に戻る。すなわち、機器2は、所定期間が終了するまでは(ステップST29:No)、2回目以降の赤外線信号S1の受信を待つ。
なお、機器2は、1回目の第1制御データを受信した後に、2回目の第1制御データを受信せずに、第1制御データ以外の制御データを受信した場合、コントローラ1からの指令を破棄する。
機器2は、運転を開始した後、暫くはどの制御データを受信しても対応する制御内容を実行せずに無効扱いとする無効期間(例えば数秒間)を設定してもよい。
(6)効果
本実施形態に係るコントローラ1では、検知部D1にて振動を検知すると、第1の赤外線信号S11が送信され、操作部3にて操作入力を1回受け付けると、第1の赤外線信号S11とは異なるデータを含む第2の赤外線信号S12が送信される。そして、機器2では、第1の赤外線信号S11及び第2の赤外線信号S12を受信した場合に、特定動作が実行される。そのため、ユーザがスマートリモコンにコントローラの機能を学習させようとしても、操作部3への操作入力に応じて送信される第2の赤外線信号S12だけがスマートリモコンにコピーされる可能性が高い。つまり、スマートリモコンは、機器2に特定動作を実行させるために、コントローラ1が振動を検知した場合に送信される第1の赤外線信号S11も必要であることまで想定して製造されている可能性が低い。その結果、ユーザは、コントローラ1で操作部3を押す感覚で、携帯端末の画面で対応するアイコンをタップする操作を行っても、スマートリモコンは、単に、第2の赤外線信号S12を機器2に送信するだけになる。すると、機器2は、図4のステップST23における準備データの判定にてスマートリモコンからの指令は弾かれることになり、特定動作は実行されない。コントローラ1では、このようにスマートリモコンの学習防止に貢献し、機器2を視認できない場所から遠隔操作される可能性を低減できる。
また、本実施形態に係るコントローラ1では、特定の条件は、機器2が所定期間内に第2の赤外線信号S12を少なくとも1回受信することであるため、ユーザが意図せずに特定動作が実行されてしまう可能性を低減できる。
また、本実施形態に係るコントローラ1では、送信部11は、第1の赤外線信号S11を1回送信後に、操作部3にて1回目の操作入力を受け付けると、第2の赤外線信号S12を送信し、続けて2回目の操作入力を受け付けると、第2の赤外線信号S12を再度送信する。そのため、例えば操作部3への2回押しが必要な運転開始の動作に関して、機器2を視認できない場所から遠隔操作される可能性を低減できる。
また、本実施形態に係るコントローラ1では、一定期間が過ぎると、指令状態から待機状態に戻るため、ユーザが意図せずに指令状態が継続してしまう可能性を低減できる。
本実施形態に係る機器2では、操作部3への操作入力に応じて送信される第2の赤外線信号S12だけがスマートリモコンにコピーされる可能性が高い。そのため、スマートリモコンから第1の赤外線信号S11を受信する可能性は低く、図4のステップST23における準備データの判定にてスマートリモコンからの指令は弾かれることになり、特定動作は実行されない。その結果、視認できない場所から遠隔操作される可能性を低減した機器2を提供できる。
特に、本実施形態のようにガス燃焼式の加熱源21を備える機器2の場合、テレビ受信機や空調機器、空気清浄器等の家電機器と違って、ユーザが直接機器2を視認できない場所(例えば別の部屋や外出先)から遠隔操作されてしまうことは好ましくない場合がある。この点で、本実施形態に係る機器2では、視認できない場所から遠隔操作される可能性を低減できる。
(7)変形例
以上説明した実施形態は、本発明の様々な実施形態の一部に過ぎない。また、実施形態は、本発明の目的を達成できれば、設計等に応じて種々の変更が可能である。
上記実施形態に係るコントローラ1と同様の機能は、コントローラ1の制御方法、コンピュータプログラム、又はコンピュータプログラムを記録した非一時的記録媒体等で具現化されてもよい。
本発明に係る一の制御方法は、特定の条件を満たすと特定動作を実行する機器2に、赤外線を媒体とする送信信号(赤外線信号S1)を無線で送信するコントローラ1の制御方法である。制御方法は、コントローラ1の器体100の振動を検知する検知ステップと、第1送信ステップと、第2送信ステップと、を含む。第1送信ステップでは、検知ステップにて振動を検知すると、待機状態から指令状態となり、第1の赤外線信号S11を送信信号(赤外線信号S1)として送信する。第2送信ステップでは、指令状態において、コントローラ1の操作部3にて操作入力を1回受け付けると、第2の赤外線信号S12を送信信号(赤外線信号S1)として送信する。特定の条件は、機器2における第1の赤外線信号S11、及び第2の赤外線信号S12の受信に関する条件である。第1の赤外線信号S11と第2の赤外線信号S12とは、互いに異なるデータを含む。本発明に係る一のプログラムは、この制御方法を1以上のプロセッサに実行させるためのプログラムである。
また、上記実施形態に係る機器2と同様の機能は、機器2の制御方法、コンピュータプログラム、又はコンピュータプログラムを記録した非一時的記録媒体等で具現化されてもよい。
本発明に係る別の制御方法は、コントローラ1と通信する機器2の制御方法である。制御方法は、コントローラ1から送信信号(赤外線信号S1)を受信する受信ステップと、特定動作を実行する制御ステップと、を含む。制御ステップでは、特定の条件を満たした場合に、特定動作を実行する。本発明に係る別のプログラムは、この制御方法を1以上のプロセッサに実行させるためのプログラムである。
上記実施形態では、コントローラ1は、器体100の振動検知に対応する制御データとして、常に同じ準備データを固定的に第1の赤外線信号S11に含めて送信している。コントローラ1は、器体100の振動検知の度に準備データを変えてもよい。例えば、記憶部12は、準備データとして、互いに異なる2種類以上のデータ(例えば「準備1」~「準備5」の5種類のデータ)を予め記憶していてもよい。この場合、当然、機器2の記憶部24にも「準備1」~「準備5」の5種類のデータを予め記憶することになる。コントローラ1は、振動を検知すると「準備1」~「準備5」データの中からランダムで1つを選択し、次に振動を検知すると、再びランダムで1つを選択し、それぞれ送信する。機器2は、「準備1」~「準備5」データのうちのいずれを受信しても準備データと認め、所定期間の計時を開始する。
或いは、コントローラ1は、ランダムではなく特定の法則に従って準備データを選択してもよい。例えば、コントローラ1は、振動を検知する度に、2種類以上のデータ(例えば「準備1」~「準備5」の5種類のデータ)をサイクリックに順に選択してもよい。
このようにコントローラ1は、器体100の振動検知の度に、準備データの内容に違いを持たせることで、更にスマートリモコンにコピーされる可能性が低くなる。
同様に、コントローラ1は、同じ操作部3への操作入力であっても、操作入力を受け付ける度に、制御データを変えてもよい。例えば、記憶部12は、第1制御データとして、互いに異なる2種類以上のデータ(例えば「ON1」~「ON5」の5種類のデータ)を予め記憶していてもよい。この場合、当然、機器2の記憶部24にも「ON1」~「ON5」の5種類のデータを予め記憶することになる。コントローラ1は、1回目のONボタン31の押し操作を受け付けると、「ON1」~「ON5」データの中からランダムで1つ選択し、次に2回目のONボタン31の押し操作を受け付けると、再びランダムで1つを選択し、それぞれ送信する。或いは、コントローラ1は、ONボタン31の押し操作を受け付ける度に、2種類以上のデータ(例えば「ON1」~「ON5」の5種類のデータ)をサイクリックに順に選択してもよい。機器2は、「ON1」~「ON5」データのうちのいずれでも2回受信すれば、運転を開始する。他のボタン(32~35)についても操作入力を受け付ける度に、制御データを変えてもよい。
このようにコントローラ1は、同じ操作部3への操作入力であっても、操作入力を受け付ける度に、制御データの内容に違いを持たせることで、更にスマートリモコンにコピーされる可能性が低くなる。
また、3回以上の押し(例えば3回押し)が操作部3(例えばONボタン31)に適用されてもよい。当然、機器2側でも「3回押し」を必要とする制御内容を把握していることになる。