以下に、本発明の実施の形態にかかる機器制御システム、通信アダプタおよび家電機器を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態1.
図1は、本発明の実施の形態1にかかる機器制御システム100の構成の一例を示す図である。本実施の形態1にかかる機器制御システム100は、被制御機器である家電機器10と、家電機器10に接続される通信アダプタ20と、通信アダプタ20と通信を行うサーバ30と、サーバ30と通信を行う制御端末40と、を備える。
機器制御システム100は、被制御機器である家電機器10を、通信アダプタ20とサーバ30とを介して制御機器である制御端末40を用いて遠隔操作することが可能な機器制御システムである。機器制御システム100では、ユーザは、宅内または宅外から制御端末40を用いて家電機器10の遠隔操作を行うことが可能である。家電機器10は、被制御機器の一例である。
家電機器10は、家電通信部11と、家電記憶部12と、家電制御部13と、を備える。家電機器10内の各構成部は、情報の送受信が可能である。
家電通信部11は、通信アダプタ20と有線通信を行う。なお、家電通信部11は、通信アダプタ20と無線通信を行ってもよい。
家電記憶部12は、家電機器10を制御するためのソフトウェアおよび家電機器10を制御するための情報を記憶する。家電記憶部12は、家電機器10を特定可能な家電機器10の情報である家電機器情報を記憶する。家電機器情報には、例えば、家電機器の種類の情報、家電機器の機能の情報、家電機器の型名の情報、家電機器に記憶されているソフトウェアのバージョンの情報、家電機器の生産年月日の情報が例示される。家電機器の種類の一例は、空気調和機である。家電機器の機能の一例は、冷房専用機能である。
家電制御部13は、家電機器10の全体を制御する。また、家電制御部13は、家電機器10の電源がオンされると、家電記憶部12に記憶されている家電機器情報を家電通信部11から通信アダプタ20に送信させる。
また、家電制御部13は、例えば、図2に示したハードウェア構成の処理回路として実現される。図2は、本発明の実施の形態1にかかる処理回路のハードウェア構成の一例を示す図である。家電制御部13が図2に示す処理回路により実現される場合、家電制御部13は、例えば、図2に示すメモリ102に記憶されたプログラムをプロセッサ101が実行することにより、実現される。また、複数のプロセッサおよび複数のメモリが連携して上記機能を実現してもよい。また、家電制御部13の機能のうちの一部を電子回路として実装し、他の部分をプロセッサ101およびメモリ102を用いて実現するようにしてもよい。
また、家電通信部11を、同様にメモリ102に記憶されたプログラムをプロセッサ101が実行することにより、実現されるように構成してもよい。また、家電通信部11を実現するためのプロセッサおよびメモリは、家電制御部13を実現するプロセッサおよびメモリと同一であってもよいし、別のプロセッサおよびメモリであってもよい。
通信アダプタ20は、家電機器10にネットワーク通信機能を付加するために家電機器10に接続されて使用されるネットワーク通信装置であるネットワークアダプタである。通信アダプタ20は、家電機器10と通信可能であるとともにサーバ30と直接または間接的に通信することによりサーバ30から取得するソフトウェアに基づいて動作可能である。通信アダプタ20は、アダプタ通信部21と、アダプタ記憶部22と、アダプタネットワーク通信部23と、アダプタ制御部24と、を備える。通信アダプタ20内の各構成部は、情報の送受信が可能である。
アダプタ通信部21は、家電機器10と有線通信を行う。なお、アダプタ通信部21は、家電機器10と無線通信を行ってもよい。アダプタ通信部21は、家電機器10から送信される家電機器情報を受信してアダプタ制御部24に送信する。
アダプタ記憶部22は、通信アダプタ20を制御するためのソフトウェアおよび通信アダプタ20を制御するための情報を記憶する。アダプタ記憶部22は、ネットワーク通信を行うために、ネットワークアダプタに付いている固有の識別番号であって通信アダプタ20に一意に割り当てられている物理アドレスであるMAC(Media Access Control)アドレスを記憶する。また、アダプタ記憶部22は、アダプタ記憶部22に割り振られて機器制御システム100の利用者を識別する符号(Identification:ID)が記憶されている。IDは、通信アダプタ20の生産時に決定される。MACアドレスとIDとは、通信アダプタ20を一義的に特定可能な識別情報であるアダプタ識別情報である。アダプタ識別情報は、ネットワーク通信装置を一義的に特定可能な識別情報であるネットワーク通信装置識別情報である。
ユーザは、MACアドレスの値とIDの値とをアダプタ記憶部22からたとえば外部の表示装置に読みだして確認することが可能である。また、MACアドレス値とIDの値とは、通信アダプタの外郭に記載されていてもよく、またMACアドレス値とIDの値とが記載された書面が別途、通信アダプタ20に添付されていてもよい。
アダプタネットワーク通信部23は、インターネット網50を介してサーバ30および制御端末40と、ネットワーク通信が可能である。アダプタネットワーク通信部23は、サーバ30および制御端末40と無線通信を行うことができる。なお、アダプタネットワーク通信部23は、サーバ30および制御端末40と有線通信を行ってもよい。
アダプタ制御部24は、通信アダプタ20の全体を制御する。また、アダプタ制御部24は、通信アダプタ20の電源がオンされると、アダプタ記憶部22に記憶されている第1識別情報であるMACアドレスおよびIDと、家電機器10から受信した家電機器情報と、をアダプタネットワーク通信部23からサーバ30に送信させる。
また、アダプタ制御部24は、家電制御部13と同様に、例えば図2に示したハードウェア構成の処理回路として実現される。また、同様にメモリ102に記憶されたプログラムをプロセッサ101が実行することにより、アダプタ通信部21とアダプタネットワーク通信部23とが実現されるように構成してもよい。また、アダプタ通信部21とアダプタネットワーク通信部23との各々を実現するためのプロセッサおよびメモリは、アダプタ制御部24を実現するプロセッサおよびメモリと同一であってもよいし、別のプロセッサおよびメモリであってもよい。
サーバ30は、インターネット網50を介して他の機器と通信を行ってソフトウェアを配信するクラウドサーバであり、サーバ記憶部31と、サーバネットワーク通信部32と、サーバ制御部33と、を備える。サーバ30内の各構成部は、情報の送受信が可能である。
サーバ記憶部31は、サーバ30を制御するためのソフトウェアおよびサーバ30を制御するための情報を記憶する。サーバ記憶部31は、複数種類の家電機器用の複数のソフトウェアと、複数種類の通信アダプタ用の複数種類のソフトウェアと、を記憶することができる。家電機器用のソフトウェアは、家電機器を動作させるためのソフトウェアである。通信アダプタ用のソフトウェアは、通信アダプタを動作させるためのソフトウェアである。
サーバネットワーク通信部32は、インターネット網50を介して通信アダプタ20および制御端末40と、ネットワーク通信を行う。サーバネットワーク通信部32は、通信アダプタ20および制御端末40と無線通信を行うことができる。なお、アダプタネットワーク通信部23は、通信アダプタ20および制御端末40と有線通信を行ってもよい。
サーバ制御部33は、サーバ30の全体を制御する。サーバ制御部33は、制御端末40から送信される家電機器10に対する操作指示を通信アダプタ20を介して家電機器10に伝達する。すなわち、サーバ制御部33は、通信アダプタ20と制御端末40とから受信したMACアドレスとIDに基づいて通信アダプタ20と制御端末40との関連を導き出すことで、制御端末40からの操作を通信アダプタに伝えることができるようになる。また、サーバ制御部33は、通信アダプタ20および制御端末40から送信される情報に基づいて、通信アダプタ20に対する適切なソフトウェアを選定して通信アダプタ20に配信する。
また、サーバ制御部33は、家電制御部13と同様に、例えば図2に示したハードウェア構成の処理回路として実現される。また、サーバネットワーク通信部32を、同様にメモリ102に記憶されたプログラムをプロセッサ101が実行することにより、実現されるように構成してもよい。また、サーバネットワーク通信部32を実現するためのプロセッサおよびメモリは、サーバ制御部33を実現するプロセッサおよびメモリと同一であってもよいし、別のプロセッサおよびメモリであってもよい。
制御端末40は、サーバ30および通信アダプタ20を介して家電機器10に対する操作指示を家電機器10に送信して家電機器10を遠隔操作可能な制御装置であり、スマートフォン等の携帯端末または専用の端末装置が使用可能である。制御端末40は、入力部41と、表示部42と、端末ネットワーク通信部43と、端末制御部44と、を備える。制御端末40内の各構成部は、情報の送受信が可能である。
入力部41は、家電機器10の運転を遠隔操作するためのインタフェースであり、ユーザから家電機器10の運転に関連する指示情報を受け付ける。また、入力部41は、家電機器10および通信アダプタのソフトウェアのアップデートを行うための情報を受け付ける。入力部41は、家電機器10の運転開始、運転停止、家電機器10の運転モードの選択、運転強度の設定、タイマーの設定といった、家電機器10における運転に係わる様々な機能をユーザが任意に選択できるように構成されている。入力部41は、受け付けた各種情報を端末制御部44に送信する。入力部41は、例えばタッチパネル等の入力機器によって実現される。
表示部42は、入力部41が受け付けた各種情報を表示してユーザに通知する。表示部42は、例えば液晶ディスプレイ装置によって実現される。
端末ネットワーク通信部43は、インターネット網50を介してサーバ30および通信アダプタ20と、ネットワーク通信が可能である。端末ネットワーク通信部43は、サーバ30および通信アダプタ20と無線通信を行うことができる。なお、端末ネットワーク通信部43は、サーバ30および通信アダプタ20と有線通信を行ってもよい。
端末制御部44は、入力部41から受信した指示情報に基づいて制御端末40の動作を制御する。端末制御部44は、入力部41から受信した情報を、端末ネットワーク通信部43を介してサーバ30に送信する。また、端末制御部44は、各種情報を表示部42に表示させる制御を行う。
次に、機器制御システム100における通信アダプタ20のファームウェアのアップデートの処理について説明する。図3は、図1に示した機器制御システム100において通信アダプタ20のファームウェアをアップデートする場合の手順を示す図である。
まず、家電機器10と通信アダプタ20との電源がオンされて家電機器10と通信アダプタ20とが立ち上がる。家電機器10が立ち上がると、ステップS10において家電機器10の家電制御部13が、家電記憶部12に記憶されている家電機器10の情報である家電機器情報を、家電通信部11を介して通信アダプタ20に送信する。なお、家電制御部13は、さらに、家電機器10が有するスイッチに設定されている家電機器情報を通信アダプタ20に送信してもよい。
つぎに、ステップS20において、通信アダプタ20のアダプタ通信部21が、家電機器10から家電機器情報を受信して取得する。通信アダプタ20のアダプタ通信部21は、受信した家電機器情報を通信アダプタ20のアダプタ制御部24に送信する。ここで、アダプタ記憶部22には、家電機器10の操作ができない初期ソフトウェアであるファームウェアが記憶されている。
つぎに、ステップS30において、通信アダプタ20のアダプタ制御部24は、家電機器10から取得した家電機器情報と、通信アダプタ20を一義的に特定可能な第1識別情報であるアダプタ識別情報とを、アダプタネットワーク通信部23を介してサーバ30に送信する。アダプタ識別情報には、通信アダプタ20のファームウェアのバージョンの情報が含まれる。
また、ステップS40において、制御端末40の入力部41は、ユーザから入力される通信アダプタ20を一義的に特定可能な第1識別情報であるアダプタ識別情報と、家電機器10の使用環境および使用機能についての情報である家電機器10の使用条件情報とを受け付けて、制御端末40の端末制御部44に送信する。第1識別情報は、通信アダプタ20のMACアドレスの情報および通信アダプタ20のIDの情報である。家電機器10の使用条件情報は、家電機器10、通信アダプタ20および制御端末40の使用地域の情報、家電機器10の使用者の使用言語の情報、特定の家電機器10に特有な機能の有無の情報、家電機器10の特別な機能を開放するシリアルキーといった使用機能の情報などが例示される。シリアルキーの一例は、たとえば家電機器10が空気調和機である場合を例に挙げると、風量設定を5段階目から6段階目に変更するシリアルキーが例示される。
端末制御部44は、通信アダプタ20のMACアドレスおよび通信アダプタ20のIDの情報を受信することで、通信アダプタ20のMACアドレスおよび通信アダプタ20のIDの情報に基づいて、通信相手となる通信アダプタ20を特定することが可能となる。
つぎに、ステップS50において、端末制御部44は、入力部41から受信したアダプタ識別情報と家電機器10の使用条件情報とを、制御端末40の端末ネットワーク通信部43を介してサーバ30に送信する。
なお、ステップS30とステップS50との順番は問わない。また、アダプタ識別情報と家電機器10の使用条件情報とは、ユーザが手動で入力しなくてもよい。たとえば、家電機器10の使用地域の情報は、制御端末40に備わっている全地球測位システム(Global Positioning System:GPS)から端末制御部44が取得してもよい。また、家電機器10の使用者の使用言語の情報は、制御端末40のオペレーティングシステム(Operating System:OS)の言語設定から端末制御部44が取得してもよい。
つぎに、ステップS60において、サーバ30のサーバ制御部33は、通信アダプタ20から取得した家電機器情報およびアダプタ識別情報と、制御端末40から取得したアダプタ識別情報および家電機器10の使用条件情報と、に基づいて、通信アダプタ20におけるファームウェアのアップデートの要否を判定して決定し、通信アダプタ20においてファームウェアのアップデートに適切なソフトウェアを選定する。なお、サーバ制御部33は、取得した家電機器情報、アダプタ識別情報および家電機器10の使用条件情報をサーバ30のサーバ記憶部31に記憶する。
サーバ制御部33は、サーバ記憶部31に記憶されている、通信アダプタ20用の最新のファームウェアに対応するソフトウェアのバージョンの情報と、通信アダプタ20から受信した通信アダプタ20のファームウェアのバージョンの情報とに基づいて、通信アダプタ20におけるファームウェアのアップデートの要否を判定し、通信アダプタ20においてファームウェアのアップデートに適切なソフトウェアを選定する。
サーバ30のサーバ制御部33は、通信アダプタ20においてファームウェアのアップデートが不要であると判定した場合には、一連のファームウェアのアップデートの処理を終了する。
一方、サーバ制御部33は、通信アダプタ20においてファームウェアのアップデートが必要であると判定した場合には、通信アダプタ20においてアップデートが必要な、適切なソフトウェアを決定する。適切なソフトウェアは、たとえば通信アダプタ20用の最新のファームウェアに対応するソフトウェアである。
そして、サーバ制御部33は、サーバ30のサーバネットワーク通信部32を介して通信アダプタ20についてのアップデート情報を制御端末40に送信することにより、通信アダプタ20においてファームウェアのアップデートが必要なソフトウェアが有る旨の通知を制御端末40に行う。
通信アダプタ20についてのアップデート情報は、通信アダプタ20においてファームウェアのアップデートが必要なソフトウェアが有ることを示す情報である。通信アダプタ20についてのアップデート情報には、サーバ30のサーバ制御部33で決定された、通信アダプタ20においてファームウェアのアップデートが必要なソフトウェアの情報が含まれる。
なお、サーバ30のサーバ制御部33は、通信アダプタ20においてファームウェアのアップデートが必要であると決定したソフトウェアの種類によっては、制御端末40に通知を行わずに後述するステップS90に進んでもよい。
つぎに、ステップS70において、制御端末40の端末制御部44は、サーバ制御部33からアップデート情報を受け取る。端末制御部44は、制御端末40の表示部42にアップデート情報を表示させることにより、通信アダプタ20においてファームウェアのアップデートが必要である旨の通知をユーザに行い、ユーザに通信アダプタ20のファームウェアのアップデートの要否の判断を促す。
ユーザは、表示部42に表示されたアップデート情報に基づいて、通信アダプタ20のファームウェアのアップデートの要否を判断し、アップデートの要否を示す情報であるアップデート要否決定情報を制御端末40の入力部41に入力する。
ユーザは、通信アダプタ20のファームウェアのアップデートが不要であると判断した場合には、通信アダプタ20のファームウェアのアップデートが不要である旨を示すアップデート要否決定情報である不要情報を、制御端末40の入力部41に入力する。
一方、ユーザは、通信アダプタ20のファームウェアのアップデートが必要であると判断した場合には、通信アダプタ20のファームウェアのアップデートが必要である旨を示すアップデート要否決定情報である必要情報を、制御端末40の入力部41に入力する。
ステップS80において制御端末40の入力部41は、ユーザから入力されるアップデート要否決定情報を受け付けて、制御端末40の端末制御部44に送信する。端末制御部44は、アップデート要否決定情報を受信すると、端末ネットワーク通信部43を介してアップデート要否決定情報をサーバ30のサーバ制御部33に送信する。
ステップS90においてサーバ制御部33は、制御端末40からアップデート要否決定情報を受信すると、アップデート要否決定情報に基づいて、通信アダプタ20のファームウェアのアップデートの実施の有無を決定する。
サーバ制御部33は、受信したアップデート要否決定情報が不要情報である場合には、一連のファームウェアのアップデートの処理を終了する。
サーバ制御部33は、受信したアップデート要否決定情報が必要情報である場合には、ステップS60において選定した適切なソフトウェアのデータをサーバ記憶部31から取得し、サーバネットワーク通信部32を介して通信アダプタ20のアダプタ制御部24に送信する。
また、サーバ制御部33は、ステップS60から直接ステップS90に進んだ場合には、ステップS60において選定した適切なソフトウェアのデータをサーバ記憶部31から取得し、サーバネットワーク通信部32を使用して通信アダプタ20のアダプタ制御部24に送信する。
ステップS100において、アダプタ制御部24は、サーバ制御部33から送信されたソフトウェアのデータを受信すると、通信アダプタ20のアダプタ記憶部22に記憶させる。
つぎに、ステップS110においてアダプタ制御部24は、アダプタ記憶部22に記憶されているブートプログラムに従って動作して、ファームウェアのアップデートを行う。なお、ブートプログラムは、図3に示す処理ではアップデートされない。
アダプタ制御部24は、まず、アダプタ記憶部22に、現在動作しているファームウェアを退避させる。アダプタ制御部24は、現在動作しているファームウェアを停止させる。そして、アダプタ制御部24は、アダプタ記憶部22に記憶されている、サーバ制御部33から取得したファームウェアのアップデート用のソフトウェアのデータを用いて、ファームウェアのアップデートを行う。ファームウェアのアップデートが適切に完了した場合には、アダプタ制御部24は、アダプタ記憶部22に記憶されているアップデート前の通信アダプタ20のファームウェアを削除する。これにより、アダプタ記憶部22に記憶されるソフトウェアの容量の肥大化を防止して、アダプタ記憶部22の容量を有効活用することができ、アダプタ記憶部22の容量を大きくする必要がない。
アダプタ制御部24は、ファームウェアのアップデートが途中で失敗してしまった場合は、再度アップデートをやり直す。なお、アダプタ制御部24は、ファームウェアのアップデートが途中で失敗してしまった場合には、ファームウェアのアップデートの開始前に停止させたファームウェアで書き換えてもよい。
つぎに、ステップS120において通信アダプタ20のアダプタ制御部24は、ステップS30の場合と同様にして、家電機器情報およびアダプタ識別情報を、通信アダプタ20のアダプタネットワーク通信部23を介してサーバ30のサーバ制御部33に送信する。アダプタ識別情報には、アップデートが完了した通信アダプタ20のファームウェアのバージョンの情報が含まれる。
なお、通信アダプタ20のアダプタ制御部24は、ソフトウェアのアップデートが途中で失敗し、現在動作中の退避させたソフトウェアで書き換えた場合には、現在動作中の退避させたソフトウェアのバージョンの情報を、アップデートが完了したソフトウェアのバージョンの情報の代わりにサーバ30のサーバ制御部33に送信する。
つぎに、ステップS130においてサーバ制御部33は、通信アダプタ20から受信した情報に基づいて、通信アダプタ20のファームウェアのアップデートが成功したか否かを判定する。サーバ制御部33は、通信アダプタ20から受信した、アップデートが完了したファームウェアのバージョンの情報に基づいて、通信アダプタ20のファームウェアのアップデートが成功したか否かを判定する。
サーバ30のサーバ記憶部31には、ステップS60において記憶した、アップデート前の時点の通信アダプタ20のファームウェアのバージョンの情報が記憶されている。サーバ制御部33は、アップデート前の時点の通信アダプタ20のファームウェアのバージョンの情報と、ステップS120において通信アダプタ20から送信された通信アダプタ20のファームウェアのバージョンの情報とを比較することにより、通信アダプタ20のファームウェアのアップデートの成功の可否を判定する。
サーバ30のサーバ制御部33は、アップデート前の時点の通信アダプタ20のファームウェアのバージョンの情報と、通信アダプタ20から受信したファームウェアのバージョンの情報とが異なる場合に、通信アダプタ20のファームウェアのアップデートが成功したと判定する。
一方、ステップS110において通信アダプタ20のソフトウェアのアップデートが失敗した場合には、サーバ制御部33は、アップデートが完了したソフトウェアのバージョンの情報の代わりに、アップデート前の時点の通信アダプタ20のファームウェアのバージョンの情報を、アダプタ制御部24から受信している。アップデート前の時点の通信アダプタ20のファームウェアのバージョンの情報は、サーバ記憶部31に記憶されているファームウェアのバージョンの情報と同じである。このため、サーバ制御部33は、サーバ記憶部31に記憶されているファームウェアのバージョンの情報と、通信アダプタ20から受信したファームウェアのバージョンの情報と、が同じである場合に、通信アダプタ20のファームウェアのアップデートが失敗したと判定する。
そして、サーバ制御部33は、通信アダプタ20のファームウェアのアップデートの成功の可否の情報を制御端末40の端末制御部44に送信する。
つぎに、ステップS140において端末制御部44は、サーバ制御部33から送信された通信アダプタ20のファームウェアのアップデートの成功の可否の情報を受信し、受信した情報に基づいて通信アダプタ20のファームウェアのアップデートの成功の可否を表示部42に表示させ、ユーザに通知する。
図4は、図1に示した機器制御システム100の具体的な構成例を示す図である。ここで、家電機器10は、海外で使用される海外エアコンディショナである。以下、エアコンディショナをエアコンと呼ぶ場合がある。通信アダプタ20に記憶されているソフトウェアは、サーバ30とネットワーク通信が可能であるが、家電機器10の操作ができない初期ソフトウェアである。家電機器10と通信アダプタ20と制御端末40とは、海外で使用されるものとする。
サーバ30のサーバ記憶部31は、通信アダプタ20用の、異なる種類の家電機器に1対1で対応する異なる複数のソフトウェアを記憶している。サーバ記憶部31は、国内エアコン用ソフトウェア、海外エアコン用ソフトウェア、国内冷蔵庫用ソフトウェア、・・・、海外テレビ用ソフトウェアといった、通信アダプタ20用が異なる複数の家電機器に対応するための異なる複数のソフトウェアを記憶している。
機器制御システム100は、上記のステップS10からステップS140に従った処理を行う。すなわち、まずステップS10において、エアコンである家電機器10が、家電機器10がエアコンであることを示す情報を含む家電機器情報を通信アダプタ20に送信する。
ステップS20において、アダプタ通信部21が、家電機器10から家電機器情報を受信し、受信した家電機器情報を通信アダプタ20のアダプタ制御部24に送信する。
ステップS30において、アダプタ制御部24は、家電機器情報とアダプタ識別情報とを、アダプタネットワーク通信部23を介してサーバ30に送信する。
ステップS40において、制御端末40の入力部41は、アダプタ識別情報と家電機器10の使用条件情報とをユーザから受け付けて、制御端末40の端末制御部44に送信する。
ステップS50において、端末制御部44は、アダプタ識別情報と家電機器10の使用条件情報とを、サーバ30のサーバ制御部33に送信する。家電機器10の使用条件情報には、制御端末40の使用地域が海外であることを示す情報が含まれる。
ステップS60において、サーバ制御部33は、通信アダプタ20におけるソフトウェアのアップデートの要否を判定して決定する。また、サーバ制御部33は、制御端末40の使用地域が海外であることを示す情報に基づいて、通信アダプタ20においてソフトウェアのアップデートに適切なソフトウェアとして、海外エアコン用ソフトウェアを選定する。
ステップS70において、端末制御部44は、制御端末40の表示部42にアップデート情報を表示させることにより、ユーザに通信アダプタ20のファームウェアのアップデートの要否の判断を促す。
ステップS80において、端末制御部44は、ユーザから受け付けたアップデート要否決定情報としての必要情報をサーバ制御部33に送信する。
ステップS90においてサーバ制御部33は、制御端末40からアップデート要否決定情報としての必要情報を受信すると、アップデート要否決定情報に基づいて、通信アダプタ20のファームウェアのアップデートの実施を決定し、海外エアコン用ソフトウェアのデータをアダプタ制御部24に送信する。
ステップS100において、アダプタ制御部24は、サーバ制御部33から送信された海外エアコン用ソフトウェアのデータを受信してアダプタ記憶部22に記憶させる。
ステップS110においてアダプタ制御部24は、海外エアコン用ソフトウェアのデータを用いて、通信アダプタ20の初期ソフトウェアのアップデートを行う。
その後、上記と同様にしてステップS120からステップS140が行われる。
上述した機器制御システム100および通信アダプタ20を用いることにより、サーバ30は、通信アダプタ20が家電機器10に接続された後に、家電機器情報と家電機器10の使用条件情報とに基づいて適切なソフトウェアを選定する。そして、通信アダプタ20は、サーバ30で選定されたソフトウェアを用いてソフトウェアのネットワークアップデートを行う。これにより、通信アダプタ20は、記憶するソフトウェアを、接続されている家電機器10に特化したソフトウェアに変更することが可能である。これにより、通信アダプタ20は、対応可能な家電機器10の通信形式にすべて対応したソフトウェアを一括で保有する必要がなくなるため、記憶容量の削減を実現し、通信アダプタの機能に柔軟に制限をかけることが可能となる。
すなわち、機器制御システム100では、通信アダプタ20が家電機器10に接続された後に、通信アダプタ20が記憶するソフトウェアを、制御端末40から家電機器10を操作するために必要な適切なソフトウェアにアップデートできる。これにより、通信アダプタ20の生産時には複数の家電機器10について専用の個別のソフトウェアを記憶しておく必要がない。このため、通信アダプタ20によれば、対応する新たな異なる家電機器が製造されるたびに、通信アダプタの生産工程を切り替えて個別のソフトウェアを追加することが不要になり、通信アダプタ20の生産工数の削減が可能である。
また、上述した機器制御システム100では、サーバ30が、制御端末40から取得したアダプタ識別情報および家電機器10の使用条件情報に基づいて、通信アダプタ20におけるファームウェアのアップデートの要否を判定して、アップデートに適切なソフトウェアを選定する。これにより、サーバ30は、多様な家電機器に対して対応し且つ容量を抑えたソフトウェアの選択が可能であり、通信アダプタ20の適用範囲が大きくなる。
また、上記においては、通信アダプタ20の初期ソフトウェアのアップデートについて説明したが、通信アダプタ20に記憶されているファームウェア以外のソフトウェアについても同様にしてアップデートをすることが可能である。
また、上記においては、通信アダプタ20に記憶されているソフトウェアが対応する家電機器と、通信アダプタ20が現在接続されている家電機器10とが同じである場合について説明したが、通信アダプタ20に記憶されているソフトウェアが対応する家電機器10と、通信アダプタ20が現在接続されている家電機器10とが異なる場合においても通信アダプタ20に記憶されているソフトウェアについても同様にしてアップデートをすることが可能である。たとえばエアコンに対応するソフトウェアが記憶されている通信アダプタ20が、新たに家電機器10である冷蔵庫に接続された場合には、通信アダプタ20に記憶されているエアコンに対応するソフトウェアが、冷蔵庫に対応するソフトウェアにアップデートされて上書きされる。
上記の例では、通信アダプタ20に記憶されているソフトウェアが、家電機器10の操作ができない初期ソフトウェアである海外エアコン用ソフトウェアである場合について説明した。海外エアコンに接続されて使用された通信アダプタ20が対応可能な家電機器は、海外エアコンに限定されない。
通信アダプタ20は、たとえば海外エアコンに接続されて海外エアコン用のソフトウェアがアップデートされて使用された後に、海外エアコン以外の家電機器である海外冷蔵庫に接続されて使用される場合、図3に示したフローに従った処理が行われることにより、通信アダプタ20に記憶される家電機器用のソフトウェアを、海外冷蔵庫用のソフトウェアにアップデートすることができる。そして、海外エアコン用のソフトウェアは、通信アダプタ20のアダプタ記憶部22から削除される。これにより、通信アダプタ20は、生産時にアダプタ記憶部22の容量を大きくする必要がなく、アダプタ記憶部22の記憶容量を有効活用して、異なる複数の家電機器に対して対応することが可能である。すなわち、通信アダプタ20は、少ない記憶容量で異なる複数の家電機器に対応することが可能である。
近年の家電機器は、種類ごとに通信仕様が異なることが多く、モノのインターネット(Internet of Things:IoT)化のために家電機器に接続される通信アダプタは、家電機器ごとに対応したソフトウェアが必要となる。特に、特有の機能を有する特定のユーザ向けの複数の家電機器を含む複数の家電機器に対して、1つの通信アダプタで対応する場合には、各家電機器固有の機能が衝突しないように通信アダプタのソフトウェアの設計が必要となる。このため、通信アダプタのソフトウェアが複雑かつ肥大化し、通信アダプタの記憶容量が圧迫される。
一方、機器制御システム100および通信アダプタ20を用いることにより、上記のような問題を解消することができる。
一方、通信アダプタが、対応可能な家電機器用の複数のソフトウェアを生産時において記憶する場合には、通信アダプタの記憶容量が増大してしまう。また、通信アダプタが、通信アダプタが記憶しているソフトウェアに対応していない家電機器に接続されて使用される場合には、通信アダプタにソフトウェアを追加しなければならず、通信アダプタの生産時に記憶容量の試算することが難しくなる。
上述したように、本実施の形態1にかかる機器制御システム100によれば、複数の家電機器10に対応可能な通信アダプタ20において、通信アダプタ20の記憶容量の削減を実現しつつ、機器毎の使用条件に対応する、接続されている家電機器10に特化したソフトウェアに通信アダプタのソフトウェアをアップデートが可能である、という効果を奏する。
実施の形態2.
本実施の形態2では、実施の形態1にかかる機器制御システム100の変形例であり、通信アダプタ20と制御端末40とがインターネット網50を経由せずに宅内のみで直接通信を行って家電機器10の遠隔操作を実現するシステムに関して説明する。
図5は、本発明の実施の形態2にかかる機器制御システム200の構成の一例を示す図である。図6は、図5に示した機器制御システム200の具体的な構成例を示す図である。機器制御システム200が、実施の形態1にかかる機器制御システム100と異なる点は、以下の点である。通信アダプタ20に記憶されているソフトウェアは、制御端末40と無線通信が可能であるが、家電機器10の操作ができない初期ソフトウェアである。制御端末40は、インターネット網50を経由せずに通信アダプタ20と直接無線通信を行う端末通信部45を有する。また、制御端末40は、サーバ制御部33から送信されるソフトウェアのデータを記憶する端末記憶部46を有する。アダプタ制御部24は、家電機器情報とアダプタ識別情報とを、アダプタ通信部21を介して制御端末40に送信する。
図7は、図6に示した機器制御システム200の構成例において通信アダプタ20のファームウェアをアップデートする場合の手順を示す図である。図7に示す図が、図3に示す図と異なる点は、ステップS30の代わりにステップS210が実施され、ステップS50の代わりにステップS230が実施され、ステップS90の代わりにステップS240が実施され、ステップS100の代わりにステップS270が実施され、ステップS220とステップS250とステップS260とが追加されていることである。
また、ここでは、ステップS60において選定される通信アダプタ20においてファームウェアのアップデートに適切なソフトウェアが、海外エアコン用ソフトウェアであるものとする。
ステップS210において、通信アダプタ20のアダプタ制御部24は、家電機器情報とアダプタ識別情報とを、アダプタ通信部21を介して制御端末40の端末通信部45に送信する。
ステップS220において、端末通信部45は、受信した家電機器情報とアダプタ識別情報とを、制御端末40の端末制御部44に送信する。
ステップS230において、端末制御部44は、アダプタ識別情報と、家電機器10の使用条件情報と、家電機器情報と、を制御端末40の端末ネットワーク通信部43を介してサーバ30に送信する。家電機器10の使用条件情報には、制御端末40の使用地域が海外であることを示す情報が含まれる。なお、端末制御部44は、アダプタ制御部24または入力部41の少なくとも一方からアダプタ識別情報を取得できればよい。
ステップS240においてサーバ制御部33は、制御端末40からアップデート要否決定情報を受信すると、アップデート要否決定情報に基づいて、通信アダプタ20のファームウェアのアップデートの実施の有無を決定する。
サーバ制御部33は、受信したアップデート要否決定情報が不要情報である場合には、一連のファームウェアのアップデートの処理を終了する。
サーバ制御部33は、受信したアップデート要否決定情報が必要情報である場合には、ステップS60において選定した適切なソフトウェアのデータをサーバ記憶部31から取得し、サーバネットワーク通信部32を介して制御端末40の端末制御部44に送信する。
また、サーバ制御部33は、ステップS60から直接ステップS240に進んだ場合には、ステップS60において選定した適切なソフトウェアのデータをサーバ記憶部31から取得し、サーバネットワーク通信部32を介して制御端末40の端末制御部44に送信する。
ステップS250において、端末制御部44は、サーバ制御部33から送信された海外エアコン用ソフトウェアのデータを受信して端末記憶部46に一時的に記憶させる。
ステップS260において、端末制御部44は、端末記憶部46に一時的に記憶させた海外エアコン用ソフトウェアのデータを通信アダプタ20のアダプタ制御部24に送信する。
ステップS270において、アダプタ制御部24は、端末制御部44から送信された海外エアコン用ソフトウェアを受信すると、通信アダプタ20のアダプタ記憶部22に記憶させる。
上述した本実施の形態2にかかる機器制御システム200においても、実施の形態1にかかる機器制御システム100と同様の効果が得られる。
実施の形態3.
本実施の形態3では、実施の形態1にかかる機器制御システム100において家電機器10のファームウェアアップデートを行う場合について説明する。図8は、本実施の形態3における機器制御システム100の具体的な構成例を示す図である。家電機器10は、海外で使用される海外エアコンである。通信アダプタ20に記憶されているソフトウェアは、サーバ30とネットワーク通信が可能であるが、家電機器10の操作ができない初期ソフトウェアである。家電機器10の家電記憶部12に記憶されているファームウェアは、海外エアコンの旧型のソフトウェアである。家電機器10と通信アダプタ20と制御端末40とは、海外で使用されるものとする。
本実施の形態3においては、サーバ30のサーバ記憶部31は、通信アダプタ20用の、異なる種類の家電機器に1対1で対応する異なる複数のソフトウェアを記憶している。サーバ記憶部31は、通信アダプタ20用のソフトウェアとして、最新の国内エアコン用ソフトウェア、最新の海外エアコン用ソフトウェア、最新の国内冷蔵庫用ソフトウェア、・・・、最新の海外テレビ用ソフトウェアといった、通信アダプタ20用の、異なる複数の家電機器に対応するための異なる複数のソフトウェアを記憶している。
また、本実施の形態3においては、サーバ30のサーバ記憶部31は、家電機器用の、異なる種類の家電機器に1対1で対応する異なる複数のソフトウェアを記憶している。サーバ記憶部31は、家電機器用のソフトウェアとして、最新の国内エアコンのソフトウェア、最新の海外エアコンのソフトウェア、最新の国内冷蔵庫のソフトウェア、・・・、最新の海外テレビのソフトウェアといった、家電機器用の異なる複数のソフトウェアを記憶している。
図9は、図8に示した機器制御システム100の構成例において家電機器10である海外エアコンのファームウェアをアップデートする場合の手順を示す図である。図9に示す図が、図3に示す図と異なる点は、ステップS60の代わりにステップS310が実施され、ステップS70の代わりにステップS320が実施され、ステップS80の代わりにステップS330が実施され、ステップS90の代わりにステップS340が実施され、ステップS100の代わりにステップS350が実施され、ステップS110の代わりにステップS360が実施され、ステップS130の代わりにステップS380が実施され、ステップS140の代わりにステップS390が実施され、ステップS370が追加されていることである。
ステップS310においては、サーバ30のサーバ制御部33は、通信アダプタ20から取得した家電機器情報およびアダプタ識別情報と、制御端末40から取得したアダプタ識別情報および家電機器10の使用条件情報と、に基づいて、家電機器10である海外エアコンにおけるファームウェアのアップデートの要否を判定して決定し、家電機器10においてファームウェアのアップデートに適切なソフトウェアを選定する。なお、サーバ制御部33は、取得した家電機器情報、アダプタ識別情報と、アダプタ識別情報および家電機器10の使用条件情報をサーバ30のサーバ記憶部31に記憶する。
サーバ制御部33は、サーバ記憶部31に記憶されている、家電機器10の最新のファームウェアに対応するソフトウェアのバージョンの情報と、通信アダプタ20から受信した家電機器10のファームウェアのバージョンの情報とに基づいて、家電機器10におけるファームウェアのアップデートの要否を判定し、家電機器10においてファームウェアのアップデートに適切なソフトウェアを選定する。
サーバ30のサーバ制御部33は、家電機器10においてファームウェアのアップデートが不要であると判定した場合には、一連の家電機器10のファームウェアのアップデートの処理を終了する。
一方、サーバ制御部33は、家電機器10においてファームウェアのアップデートが必要であると判定した場合には、家電機器10においてアップデートが必要な、適切なソフトウェアを決定する。適切なソフトウェアは、たとえば家電機器10の最新のファームウェアに対応するソフトウェアである。
そして、サーバ制御部33は、サーバ30のサーバネットワーク通信部32を介して家電機器10についてのアップデート情報を制御端末40に送信することにより、家電機器10においてファームウェアのアップデートが必要なソフトウェアが有る旨の通知を制御端末40に行う。
家電機器10についてのアップデート情報は、家電機器10においてファームウェアのアップデートが必要なソフトウェアが有ることを示す情報である。家電機器10についてのアップデート情報には、サーバ30のサーバ制御部33で決定された、家電機器10においてファームウェアのアップデートが必要なソフトウェアの情報が含まれる。
ステップS320においては、ステップS70において通信アダプタ20のファームウェアのアップデートについて行われていた処理が、家電機器10のファームウェアのアップデートについて行われる。
ステップS330においては、ステップS80において通信アダプタ20のファームウェアのアップデートについて行われていた処理が、家電機器10のファームウェアのアップデートについて行われる。
ステップS340においては、ステップS90において通信アダプタ20のファームウェアのアップデートについて行われていた処理が、家電機器10のファームウェアのアップデートについて行われる。サーバ制御部33は、ステップS310において選定した適切なソフトウェアのデータを通信アダプタ20のアダプタ制御部24に送信する。
ステップS350において、アダプタ制御部24は、サーバ制御部33から送信されたソフトウェアのデータを受信すると、通信アダプタ20のアダプタ記憶部22に一時的に記憶させる。そして、アダプタ制御部24は、アダプタ記憶部22に記憶させたソフトウェアのデータを家電機器10に送信する。なお、サーバ制御部33から送信されたソフトウェアのデータの容量がアダプタ記憶部22の記憶容量を超えてしまう場合でも実現できるように、サーバ制御部33は、ステップS340においてソフトウェアのデータを分割して送信することも可能である。
ステップS360において、家電制御部13は、アダプタ制御部24から送信されたソフトウェアのデータを家電機器10の家電記憶部12に記憶させる。家電制御部13は、家電記憶部12に、現在動作しているファームウェアを退避させる。家電制御部13は、現在動作しているファームウェアを停止させる。そして、家電制御部13は、家電記憶部12に記憶されている、アダプタ制御部24から取得したファームウェアのアップデート用のソフトウェアのデータを用いて、ファームウェアのアップデートを行う。ファームウェアのアップデートが適切に完了した場合には、家電制御部13は、家電記憶部12に記憶されているアップデート前の家電機器10のファームウェアを削除する。
家電制御部13は、ファームウェアのアップデートが途中で失敗してしまった場合は、再度アップデートをやり直す。なお、家電制御部13は、ファームウェアのアップデートが途中で失敗してしまった場合には、ファームウェアのアップデートの開始前に停止させたファームウェアで書き換えてもよい。
ステップS370において、家電制御部13は、家電記憶部12に記憶されている家電機器10の情報である家電機器情報を、家電通信部11を介して通信アダプタ20に送信する。
ステップS380においては、ステップS130において通信アダプタ20のファームウェアのアップデートについて行われていた処理が、家電機器10のファームウェアのアップデートについて行われる。サーバ制御部33は、通信アダプタ20から受信した情報に基づいて、家電機器10のファームウェアのアップデートが成功したか否かを判定する。サーバ制御部33は、通信アダプタ20から受信した、アップデートが完了したファームウェアのバージョンの情報に基づいて、家電機器10のファームウェアのアップデートが成功したか否かを判定する。
サーバ30のサーバ記憶部31には、ステップS310において記憶した、アップデート前の時点の家電機器10のファームウェアのバージョンの情報が記憶されている。サーバ制御部33は、アップデート前の時点の家電機器10のファームウェアのバージョンの情報と、ステップS120において通信アダプタ20から送信された家電機器10のファームウェアのバージョンの情報とを比較することにより、家電機器10のファームウェアのアップデートの成功の可否を判定する。
サーバ30のサーバ制御部33は、アップデート前の時点の家電機器10のファームウェアのバージョンの情報と、ステップS120において通信アダプタ20から送信された家電機器10のファームウェアのバージョンの情報とが異なる場合に、家電機器10のファームウェアのアップデートが成功したと判定する。
一方、サーバ制御部33は、アップデート前の時点の家電機器10のファームウェアのバージョンの情報と、ステップS120において通信アダプタ20から送信された家電機器10のファームウェアのバージョンの情報とが同じ場合に、家電機器10のファームウェアのアップデートが失敗したと判定する。
そして、サーバ制御部33は、家電機器10のファームウェアのアップデートの成功の可否の情報を制御端末40の端末制御部44に送信する。
つぎに、ステップS390において端末制御部44は、サーバ制御部33から送信された家電機器10のファームウェアのアップデートの成功の可否の情報を受信し、受信した情報に基づいて家電機器10のファームウェアのアップデートの成功の可否を表示部42に表示させ、ユーザに通知する。
なお、上述した家電機器10のファームウェアのアップデートにおいて、サーバ30と制御端末40の位置関係および処理を、実施の形態2において説明した形態とすることも可能である。
また、図3に示す図の処理と図9に示す図の処理とを組み合わせて、通信アダプタ20のファームウェアのアップデートと家電機器10のファームウェアのアップデートとを適宜行うことも可能である。この場合、アダプタ制御部24は、サーバ30から送信されたソフトウェアが通信アダプタ20用のソフトウェアである場合には、サーバ30から送信されたソフトウェアで通信アダプタ20のソフトウェアのアップデートを実行する。また、アダプタ制御部24は、サーバ30から送信されたソフトウェアが家電機器10用のソフトウェアである場合には、サーバ30から送信されたソフトウェアを家電機器10に送信する。
また、上記においては、家電機器10の初期ソフトウェアのアップデートについて説明したが、家電機器10に記憶されているファームウェア以外のソフトウェアについても同様にしてアップデートをすることが可能である。
上述した本実施の形態3にかかる家電機器10のファームウェアアップデート処理では、サーバ30が、制御端末40から取得したアダプタ識別情報および家電機器10の使用条件情報に基づいて、家電機器10におけるファームウェアのアップデートの要否を判定して、アップデートに適切なソフトウェアを選定する。これにより、サーバ30は、多様な家電機器に対して対応する、多様かつ容量を抑えたソフトウェアの選択が可能であり、家電機器10におけるファームウェアのアップデートを的確に行うことができる。
実施の形態4.
図10は、本発明の実施の形態4にかかる機器制御システム300の構成の一例を示す図である。本実施の形態4では、上述した通信アダプタ20と同じ機能を有する外部通信装置60を備えた家電機器110について説明する。機器制御システム300は、上述した機器制御システム100の変形例である。本実施の形態4にかかる機器制御システム300は、外部通信装置60を備えた被制御機器である家電機器110と、外部通信装置60と通信を行うサーバ30と、サーバ30と通信を行う制御端末40と、を備える。外部通信装置60は、上述した通信アダプタ20に対応する構成を有して、家電機器110の内部において通信アダプタ20と同じ処理を実施する。家電機器110は、上述した家電機器10と同じ構成に加えて、外部通信装置60を備える。
外部通信装置60は、家電機器110に内蔵されて、家電機器110の外部のサーバ30との間のネットワーク通信機能を家電機器110に付加するネットワーク通信装置である。外部通信装置60は、家電機器110の家電通信部11と通信可能であるとともにサーバ30と直接または間接的に通信することによりサーバ30から取得するソフトウェアに基づいて動作可能である。外部通信装置60は、外部通信部61と、外部通信記憶部62と、外部ネットワーク通信部63と、外部通信制御部64と、を備える。外部通信装置60内の各構成部は、情報の送受信が可能である。
外部通信装置60内の各構成部は、通信アダプタ20内の各構成部に対応する。すなわち、外部通信部61は、アダプタ通信部21に対応する。外部通信記憶部62は、アダプタ記憶部22対応する。外部ネットワーク通信部63は、アダプタネットワーク通信部23対応する。外部通信制御部64は、アダプタ制御部24に対応する。
次に、機器制御システム300における外部通信装置60のファームウェアのアップデートの処理について説明する。図11は、図10に示した機器制御システム300において外部通信装置60のファームウェアをアップデートする場合の手順を示す図である。
まず、家電機器110の電源がオンされて家電機器110が立ち上がる。家電機器110が立ち上がると、ステップS510において家電機器110の家電制御部13が、家電記憶部12に記憶されている家電機器110の情報である家電機器情報を、家電通信部11を介して外部通信装置60に送信する。なお、家電制御部13は、家電機器情報を、外部通信装置60に直接送信してもよい。
つぎに、ステップS520において、外部通信装置60の外部通信部61が、家電制御部13から家電機器情報を受信して取得する。外部通信装置60の外部通信部61は、受信した家電機器情報を外部通信装置60の外部通信制御部64に送信する。ここで、外部通信記憶部62には、家電機器110の操作ができない初期ソフトウェアであるファームウェアが記憶されている。
つぎに、ステップS530において、外部通信装置60の外部通信制御部64は、家電制御部13から取得した家電機器情報と、外部通信装置60を一義的に特定可能な第3識別情報である外部通信装置識別情報とを、外部ネットワーク通信部63を介してサーバ30に送信する。外部通信装置識別情報は、アダプタ識別情報に対応した情報である。外部通信装置識別情報は、ネットワーク通信装置を一義的に特定可能な識別情報であるネットワーク通信装置識別情報である。外部通信装置識別情報には、外部通信装置60のファームウェアのバージョンの情報が含まれる。
また、ステップS540において、制御端末40の入力部41は、ユーザから入力される外部通信装置60を一義的に特定可能な第3識別情報である外部通信装置識別情報と、家電機器110の使用環境および使用機能についての情報である家電機器110の使用条件情報とを受け付けて、制御端末40の端末制御部44に送信する。第3識別情報は、外部通信装置60のMACアドレスの情報および外部通信装置60のIDの情報である。家電機器110の使用条件情報は、家電機器110および制御端末40の使用地域の情報、家電機器110の使用者の使用言語の情報、特定の家電機器110に特有な機能の有無の情報、家電機器110の特別な機能を開放するシリアルキーといった使用機能の情報などが例示される。
端末制御部44は、外部通信装置60のMACアドレスおよび外部通信装置60のIDの情報を受信することで、外部通信装置60のMACアドレスおよび外部通信装置60のIDの情報に基づいて、通信相手となる外部通信装置60を特定することが可能となる。
つぎに、ステップS550において、端末制御部44は、入力部41から受信した外部通信装置識別情報と家電機器110の使用条件情報とを、制御端末40の端末ネットワーク通信部43を介してサーバ30に送信する。
なお、ステップS530とステップS550との順番は問わない。また、外部通信装置識別情報と家電機器110の使用条件情報とは、ユーザが手動で入力しなくてもよい。たとえば、家電機器110の使用地域の情報は、制御端末40に備わっているGPSから端末制御部44が取得してもよい。また、家電機器110の使用者の使用言語の情報は、制御端末40のOSの言語設定から端末制御部44が取得してもよい。
つぎに、ステップS560において、サーバ30のサーバ制御部33は、外部通信装置60から取得した家電機器情報および外部通信装置識別情報と、制御端末40から取得した外部通信装置識別情報および家電機器110の使用条件情報と、に基づいて、外部通信装置60におけるファームウェアのアップデートの要否を判定して決定し、外部通信装置60においてファームウェアのアップデートに適切なソフトウェアを選定する。なお、サーバ制御部33は、取得した家電機器情報、外部通信装置識別情報および家電機器110の使用条件情報をサーバ30のサーバ記憶部31に記憶する。
サーバ制御部33は、サーバ記憶部31に記憶されている、外部通信装置60用の最新のファームウェアに対応するソフトウェアのバージョンの情報と、外部通信装置60から受信した外部通信装置60のファームウェアのバージョンの情報とに基づいて、外部通信装置60におけるファームウェアのアップデートの要否を判定し、外部通信装置60においてファームウェアのアップデートに適切なソフトウェアを選定する。
サーバ30のサーバ制御部33は、外部通信装置60においてファームウェアのアップデートが不要であると判定した場合には、一連のファームウェアのアップデートの処理を終了する。
一方、サーバ制御部33は、外部通信装置60においてファームウェアのアップデートが必要であると判定した場合には、外部通信装置60においてアップデートが必要な、適切なソフトウェアを決定する。適切なソフトウェアは、たとえば外部通信装置60用の最新のファームウェアに対応するソフトウェアである。
そして、サーバ制御部33は、サーバ30のサーバネットワーク通信部32を介して外部通信装置60についてのアップデート情報を制御端末40に送信することにより、外部通信装置60においてファームウェアのアップデートが必要なソフトウェアが有る旨の通知を制御端末40に行う。
外部通信装置60についてのアップデート情報は、外部通信装置60においてファームウェアのアップデートが必要なソフトウェアが有ることを示す情報である。外部通信装置60についてのアップデート情報には、サーバ30のサーバ制御部33で決定された、外部通信装置60においてファームウェアのアップデートが必要なソフトウェアの情報が含まれる。
なお、サーバ30のサーバ制御部33は、外部通信装置60においてファームウェアのアップデートが必要であると決定したソフトウェアの種類によっては、制御端末40に通知を行わずに後述するステップS590に進んでもよい。
つぎに、ステップS570において、制御端末40の端末制御部44は、サーバ制御部33からアップデート情報を受け取る。端末制御部44は、制御端末40の表示部42にアップデート情報を表示させることにより、外部通信装置60においてファームウェアのアップデートが必要である旨の通知をユーザに行い、ユーザに外部通信装置60のファームウェアのアップデートの要否の判断を促す。
ユーザは、表示部42に表示されたアップデート情報に基づいて、外部通信装置60のファームウェアのアップデートの要否を判断し、アップデートの要否を示す情報であるアップデート要否決定情報を制御端末40の入力部41に入力する。
ユーザは、外部通信装置60のファームウェアのアップデートが不要であると判断した場合には、外部通信装置60のファームウェアのアップデートが不要である旨を示すアップデート要否決定情報である不要情報を、制御端末40の入力部41に入力する。
一方、ユーザは、外部通信装置60のファームウェアのアップデートが必要であると判断した場合には、外部通信装置60のファームウェアのアップデートが必要である旨を示すアップデート要否決定情報である必要情報を、制御端末40の入力部41に入力する。
ステップS580において制御端末40の入力部41は、ユーザから入力されるアップデート要否決定情報を受け付けて、制御端末40の端末制御部44に送信する。端末制御部44は、アップデート要否決定情報を受信すると、端末ネットワーク通信部43を介してアップデート要否決定情報をサーバ30のサーバ制御部33に送信する。
ステップS590においてサーバ制御部33は、制御端末40からアップデート要否決定情報を受信すると、アップデート要否決定情報に基づいて、外部通信装置60のファームウェアのアップデートの実施の有無を決定する。
サーバ制御部33は、受信したアップデート要否決定情報が不要情報である場合には、一連のファームウェアのアップデートの処理を終了する。
サーバ制御部33は、受信したアップデート要否決定情報が必要情報である場合には、ステップS560において選定した適切なソフトウェアのデータをサーバ記憶部31から取得し、サーバネットワーク通信部32を介して外部通信装置60の外部通信制御部64に送信する。
また、サーバ制御部33は、ステップS560から直接ステップS590に進んだ場合には、ステップS560において選定した適切なソフトウェアのデータをサーバ記憶部31から取得し、サーバネットワーク通信部32を使用して外部通信装置60の外部通信制御部64に送信する。
ステップS600において、外部通信制御部64は、サーバ制御部33から送信されたソフトウェアのデータを受信すると、外部通信装置60の外部通信記憶部62に記憶させる。
つぎに、ステップS610において外部通信制御部64は、外部通信記憶部62に、現在動作しているファームウェアを退避させる。外部通信制御部64は、現在動作しているファームウェアを停止させる。そして、外部通信制御部64は、外部通信記憶部62に記憶されている、サーバ制御部33から取得したファームウェアのアップデート用のソフトウェアのデータを用いて、ファームウェアのアップデートを行う。ファームウェアのアップデートが適切に完了した場合には、外部通信制御部64は、外部通信記憶部62に記憶されているアップデート前の外部通信装置60のファームウェアを削除する。これにより、外部通信記憶部62に記憶されるソフトウェアの容量の肥大化を防止して、外部通信記憶部62の容量を有効活用することができ、外部通信記憶部62の容量を大きくする必要がない。
外部通信制御部64は、ファームウェアのアップデートが途中で失敗してしまった場合は、再度アップデートをやり直す。なお、外部通信制御部64は、ファームウェアのアップデートが途中で失敗してしまった場合には、ファームウェアのアップデートの開始前に停止させたファームウェアで書き換えてもよい。
つぎに、ステップS620において外部通信装置60の外部通信制御部64は、ステップS530の場合と同様にして、家電機器情報および外部通信装置識別情報を、外部通信装置60の外部ネットワーク通信部63を介してサーバ30のサーバ制御部33に送信する。外部通信装置識別情報には、アップデートが完了した外部通信装置60のファームウェアのバージョンの情報が含まれる。
なお、外部通信装置60の外部通信制御部64は、ソフトウェアのアップデートが途中で失敗し、現在動作中の退避させたソフトウェアで書き換えた場合には、現在動作中の退避させたソフトウェアのバージョンの情報を、アップデートが完了したソフトウェアのバージョンの情報の代わりにサーバ30のサーバ制御部33に送信する。
つぎに、ステップS630においてサーバ制御部33は、外部通信装置60から受信した情報に基づいて、外部通信装置60のファームウェアのアップデートが成功したか否かを判定する。サーバ制御部33は、外部通信装置60から受信した、アップデートが完了したファームウェアのバージョンの情報に基づいて、外部通信装置60のファームウェアのアップデートが成功したか否かを判定する。
サーバ30のサーバ記憶部31には、ステップS560において記憶した、アップデート前の時点の外部通信装置60のファームウェアのバージョンの情報が記憶されている。サーバ制御部33は、アップデート前の時点の外部通信装置60のファームウェアのバージョンの情報と、ステップS520において外部通信装置60から送信された外部通信装置60のファームウェアのバージョンの情報とを比較することにより、外部通信装置60のファームウェアのアップデートの成功の可否を判定する。
サーバ30のサーバ制御部33は、アップデート前の時点の外部通信装置60のファームウェアのバージョンの情報と、外部通信装置60から受信したファームウェアのバージョンの情報とが異なる場合に、外部通信装置60のファームウェアのアップデートが成功したと判定する。
一方、ステップS510において外部通信装置60のソフトウェアのアップデートが失敗した場合には、サーバ制御部33は、アップデートが完了したソフトウェアのバージョンの情報の代わりに、アップデート前の時点の外部通信装置60のファームウェアのバージョンの情報を、外部通信制御部64から受信している。アップデート前の時点の外部通信装置60のファームウェアのバージョンの情報は、サーバ記憶部31に記憶されているファームウェアのバージョンの情報と同じである。このため、サーバ制御部33は、サーバ記憶部31に記憶されているファームウェアのバージョンの情報と、外部通信装置60から受信したファームウェアのバージョンの情報と、が同じである場合に、外部通信装置60のファームウェアのアップデートが失敗したと判定する。
そして、サーバ制御部33は、外部通信装置60のファームウェアのアップデートの成功の可否の情報を制御端末40の端末制御部44に送信する。
つぎに、ステップS640において端末制御部44は、サーバ制御部33から送信された外部通信装置60のファームウェアのアップデートの成功の可否の情報を受信し、受信した情報に基づいて外部通信装置60のファームウェアのアップデートの成功の可否を表示部42に表示させ、ユーザに通知する。
本実施の形態4にかかる機器制御システム300によれば、家電機器110に内蔵される外部通信装置60において、外部通信装置60の記憶容量の削減を実現しつつ、機器毎の使用条件に対応する、接続されている家電機器110に特化したソフトウェアに外部通信装置60のソフトウェアをアップデートが可能である、という効果を奏する。
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、実施の形態の技術同士を組み合わせることも可能であるし、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。