JP6345568B2 - Network-compatible home appliances - Google Patents
Network-compatible home appliances Download PDFInfo
- Publication number
- JP6345568B2 JP6345568B2 JP2014211830A JP2014211830A JP6345568B2 JP 6345568 B2 JP6345568 B2 JP 6345568B2 JP 2014211830 A JP2014211830 A JP 2014211830A JP 2014211830 A JP2014211830 A JP 2014211830A JP 6345568 B2 JP6345568 B2 JP 6345568B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- display
- network
- unit
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Stored Programmes (AREA)
Description
本発明は、ネットワーク接続された家電機器のソフトウェア更新方式に関する。 The present invention relates to a software update method for home appliances connected to a network.
ネットワーク接続したエアコンなどの家電機器の機能をインターネット経由で使うサービスが普及しつつある。また、同時にインターネット接続を利用し、商品出荷後にソフトウェアの機能強化や、ソフトウェアの障害を修正するため、インターネット経由での上記家電機器本体のプログラムを更新するような仕組みも使われ始めている。このような家電機器のソフトウェアに対する、ソフトウェア更新については、更新途中でのネットワーク途絶などのソフトウェア更新失敗時のサービス停止を回避するための方法が必要になる。このため、不揮発性メモリを2つの領域に分け、1つの領域を動作領域、もう1つの領域を待機領域とし、ソフトウェア更新においては待機領域のソフトウェアを書替え、書替え成功すれば動作領域と待機領域を入れ替えて動作させる方式がある(特許文献1参照)。 Services that use functions of home appliances such as networked air conditioners via the Internet are becoming popular. At the same time, a mechanism is being used to update the program of the above-mentioned home appliance device via the Internet in order to simultaneously use the Internet connection and enhance software functions after product shipment or to correct software failures. As for software update for such home appliance software, a method for avoiding a service stop at the time of software update failure such as a network interruption in the middle of the update is required. For this reason, the non-volatile memory is divided into two areas, one area as the operation area and the other area as the standby area. In the software update, the software in the standby area is rewritten. There is a method of switching and operating (see Patent Document 1).
この方式ではソフトウェア更新がないときにも、通常動作に必要とする不揮発性メモリ領域の2倍の容量の不揮発性メモリが必要となる。ネットワーク接続されていることを前提として、書替え失敗時に再度ダウンロードし、バックアップ用の不揮発性メモリ領域を削減する方式がある(特許文献2参照)。 This method requires a non-volatile memory having a capacity twice that of the non-volatile memory area required for normal operation even when there is no software update. On the premise that the network is connected, there is a method of downloading again at the time of rewriting failure and reducing the non-volatile memory area for backup (see Patent Document 2).
しかしながら、特許文献2の方式においては、ソフトウェア更新するプログラム(以降アップデータプログラムと呼ぶ)を書替える方法がなく、例えば、書替え処理において、一部領域が書替えできないなどのソフトウェア障害が発生した場合においては、ネットワーク経由で更新することができなくなってしまう。 However, in the method of Patent Document 2, there is no method for rewriting a program for updating software (hereinafter referred to as an updater program). For example, in the case where a software failure occurs such that a partial area cannot be rewritten in the rewriting process. It becomes impossible to update via the network.
また、このような家電機器のソフトウェアをネットワーク経由でソフトウェア更新するような場合においては、更新対象となる家電機器のソフトウェアのバージョンが常に同じであるとは限らない。さまざまなバージョンのソフトウェアからソフトウェア更新を行う場合に、それぞれ書替え前のバージョンに対応した前処理あるいは後処理が必要になる。このようないろいろなバージョンのソフトウェアの家電機器から、ソフトウェア更新を実施することが困難な場合があった。 In addition, when the software of such home appliances is updated via a network, the version of the software of the home appliance to be updated is not always the same. When updating software from various versions of software, pre-processing or post-processing corresponding to the version before rewriting is required. In some cases, it has been difficult to update software from such various versions of household electrical appliances.
当発明は、かかる点に鑑みてなされたものであり、その目的とするところは、不揮発性メモリを有効に使いつつ、ネットワーク経由で、安全に、かつさまざまなバージョンのソフトウェアが動作している家電機器からのソフトウェア更新を可能にする方式を提供するものである。 The present invention has been made in view of the above points, and an object of the present invention is to make home appliances in which various versions of software operate safely and securely via a network while using a nonvolatile memory effectively. A method for enabling software update from a device is provided.
本発明の一態様に係るネットワーク対応の家電機器は、揮発性メモリと、プログラムを格納する第一の領域、およびプログラムを格納する第二の領域を持つ不揮発性メモリと、サーバと通信するためのネットワークインタフェースと、ユーザに機器の状態を通知するための表示装置とを備え、前記不揮発性メモリの前記第一の領域に格納されたプログラムが、サーバよりプログラムをダウンロードして、前記揮発性メモリに格納し、前記ダウンロードしたプログラムが、サーバと通信し、前記不揮発性メモリの前記第二の領域のプログラムを書替える。 A network-compatible home appliance according to one embodiment of the present invention is provided for communicating with a server, a volatile memory, a non-volatile memory having a first area for storing a program, and a second area for storing a program. A network interface; and a display device for notifying a user of the state of the device. A program stored in the first area of the nonvolatile memory downloads the program from a server and stores the program in the volatile memory. The stored and downloaded program communicates with the server and rewrites the program in the second area of the non-volatile memory.
本発明の一態様に係るネットワーク対応の家電機器によれば、不揮発性メモリに通常動作に不必要な領域を確保する必要がなく、コストを削減できる。また、さまざまなバージョンのソフトウェアの家電機器のソフトウェア更新や、更新時のソフトウェア障害を回避することを可能とする。 According to the network-compatible household electrical appliance according to one embodiment of the present invention, it is not necessary to secure an area unnecessary for normal operation in the nonvolatile memory, and the cost can be reduced. In addition, it is possible to update software of home appliances of various versions of software and avoid software failures at the time of update.
(実施の形態1)
(概要)
以下、本発明に係るネットワーク対応の家電機器の一態様として、ネットワーク経由でのソフトウェア更新機能を持つ、ネットワーク対応家電機器100について説明する。まず、図1〜図3を用いて、ネットワーク対応家電機器100の概要を説明する。
(Embodiment 1)
(Overview)
Hereinafter, a network-compatible household appliance 100 having a software update function via a network will be described as an embodiment of the network-compatible household appliance according to the present invention. First, the outline | summary of the network corresponding household appliances 100 is demonstrated using FIGS. 1-3.
ネットワーク対応家電機器100は、ブートローダプログラム、メインプログラム、およびアップデータプログラムの3つの独立したプログラムによって制御される。それぞれのプログラムについては、ある1つのプログラムの動作が終了し、別のプログラムが開始するまで、別のプログラムは動作しない。 The network-compatible home appliance 100 is controlled by three independent programs: a boot loader program, a main program, and an updater program. For each program, another program does not operate until the operation of one program ends and another program starts.
ブートローダプログラムは、ネットワーク対応家電機器100が起動したときに最初に動くプログラムで、通常はメインプログラムへ処理を移行する。ソフトウェア更新が必要な場合には、ブートローダプログラムは、ネットワーク140経由で、アップデータプログラムをサーバ103よりダウンロードし、アップデータプログラムへ処理を移行する。
The boot loader program is a program that runs first when the network-compatible home appliance 100 is activated, and normally shifts the processing to the main program. When software update is necessary, the boot loader program downloads the updater program from the
メインプログラムは、ネットワーク140経由での家電機器に対する命令の処理および、サーバ103にソフトウェア更新情報が登録された場合に、その情報を取得し、ソフトウェア更新を行うために起動モード210(図3を参照)を「更新起動」値に変更し、ブートローダプログラムへ移行する。なお、ブートローダプログラムへの移行は通常リセット動作により行う。
The main program processes instructions for home appliances via the network 140, and when software update information is registered in the
また、メインプログラムはバージョン情報を持ち、ソフトウェア更新の対象である。通常、ある時点で複数のバージョンのメインプログラムが存在している。バージョン情報は数値を用いて表す。例えばバージョン番号の一番大きいプログラムは最新のメインプログラムであることを表す。 The main program has version information and is a target for software update. Usually, there are multiple versions of the main program at some point. Version information is expressed using numerical values. For example, the program with the largest version number represents the latest main program.
アップデータプログラムは、ネットワーク140経由で、サーバ103より最新のメインプログラムをダウンロードし、不揮発性メモリ121に書かれているメインプログラムを更新する。
The updater program downloads the latest main program from the
サーバ103は、ネットワーク140経由で、ネットワークI/F(インターフェース)10がネットワーク対応家電機器100からの要求を受け、通信処理部11により、要求に応じた処理を行う。ネットワーク対応家電機器100の現在動作しているメインプログラムのバージョンより、新しいメインプログラムの有無についての問合せについては、通信処理部11は、データ管理部12経由でデータ保存装置13に問合せ、新しいバージョンのメインプログラムがあるかどうかを返答する。また、通信処理部11は、ネットワーク140およびネットワークI/F10経由で、ネットワーク対応家電機器100から、新しいメインプログラムのバージョンに対応するアップデータプログラム及び新しいバージョンのメインプログラムの取得要求があったときには、データ管理部12経由でデータ保存装置13から情報を入手し、要求する情報を返す。
In the
以下、本実施の形態1に係るネットワーク対応家電機器100の構成について図面を参照しながら説明する。 Hereinafter, the configuration of the network-compatible home appliance 100 according to the first embodiment will be described with reference to the drawings.
(構成)
図1は、ネットワーク対応家電機器100の主要なハードウェア構成を示すブロック図である。
(Constitution)
FIG. 1 is a block diagram showing a main hardware configuration of network-compatible home appliance 100.
同図に示されるように、ネットワーク対応家電機器100は、ハードウェアとしてはコンピュータシステムであり、集積回路110と、入力装置130と、表示装置131と、ネットワークI/F132と、制御する家電133とから構成される。そして、集積回路110は、CPU120と、不揮発性メモリ121と、メインメモリ122と、タイマー123と、クロックジェネレータ124と、バス125と入力I/F126と、出力I/F127と、ネットワークコントローラ128と、家電I/F129とから構成される。
As shown in the figure, the network-compatible home appliance 100 is a computer system as hardware, and includes an integrated circuit 110, an
不揮発性メモリ121は、通常フラッシュメモリから構成される。メインメモリ122は、揮発性メモリであって、例えばRAM(Random Access Memory)から構成される。いずれもバス125に接続され、CPU120の動作を規定するプログラムと、CPU120が利用するデータとを記憶する。
The
バス125は、CPU120と、不揮発性メモリ121と、メインメモリ122と、タイマー123と、クロックジェネレータ124と、入力I/F126と、出力I/F127と、ネットワークコントローラ128と、家電I/F129とに接続され、接続される回路間の信号を伝達する機能を有する。
The bus 125 is connected to the
入力I/F126と出力I/F127とは、それぞれ、バス125と入力装置130、バス125と表示装置131に接続され、それぞれ、接続される回路間の信号のやりとりを仲介する機能を有する。
The input I /
ネットワークコントローラ128は、バス125とネットワークI/F132に接続され、接続される回路間の信号のやりとりを仲介する機能を有する。
The
家電I/F129は、バス125と家電133に接続され、接続される回路間の信号のやりとりを仲介する機能を有する。
The home appliance I /
入力装置130は、スイッチ装置等から構成され、入力I/F126に接続され、プログラムを実行するCPU120によって制御され、ネットワーク対応家電機器100を利用するユーザからの起動処理の切替えなどを受付ける機能を有する。例えば、スイッチを押しながら電源を投入した場合には、ネットワーク対応家電機器100が検査モードに入るなどの切替え処理をするために、入力装置130が用いられる。
The
表示装置131は、LED等から構成され、出力I/F127に接続され、プログラムを実行するCPU120によって制御され、CPU120から送られる信号に基づいて、ユーザにネットワーク対応家電機器100がどのような状態であるかを知らせる機能を持つ。例えば、表示装置131は、LEDが点滅しているときは、サーバ103との接続に問題があることを示したり、LEDが2回点滅する場合には、検査モードで起動していることを示したりすることで、エラー発生時の問題の切り分けなどに利用される。また企業がカスタマサポート等で、ネットワーク対応家電機器100の状態を問合せする場合に、表示装置131は、遠隔で状態を知るための手段となる。このため、この表示装置131の表す内容は、簡潔でかつ問題把握などに必要な内容を網羅する必要がある。
The
CPU120は、バス125に接続され、不揮発性メモリ121あるいはメインメモリ122に記憶されるプログラムを実行することで、入力装置130と、表示装置131と、ネットワークI/F132と、家電133とを制御して、ネットワーク対応家電機器100を、プログラムを実行制御するコンピュータシステムとして機能させる機能を有する。
The
ネットワークI/F132は、イーサーネット(登録商標)などのネットワーク140と接続し、信号をやりとりする機能を持つ。ネットワークI/F132は、ネットワークコントローラ128が指示した手順に従って、ネットワーク140を経由し、サーバ103と通信を行う。
The network I /
家電133は、ライトやエアコンなどの機能を実現する機器であり、家電I/F129からの指示を受け、電源を入れたり、切ったりする機能を持つ。また、家電I/F129からの状態の問合せに対して、現在電源が入っているのか、入っていないのかなどの状態を返す機能を持つ。
The
ここで、CPU120は、不揮発性メモリ121およびメインメモリ122に記憶されるプログラムを実行することで、ネットワークコントローラ128や、家電I/F129を経由してデータをサーバ103および家電133とやり取りすることで、ネットワーク140経由での家電133の制御を実現する。
Here, the
また、ネットワーク対応家電機器100は、サーバ103より現在動作しているプログラムとは別のプログラムをダウンロードして、不揮発性メモリ121のプログラムを書替えすることで、新機能を追加し、あるいは、ソフトウェアの障害に対応することを可能にする。
In addition, the network-compatible home appliance 100 adds a new function by downloading a program different from the currently running program from the
このソフトウェア更新処理については、後程、図およびフローチャートを用いて詳細に説明する。 This software update process will be described later in detail with reference to the drawings and flowcharts.
上記ハードウェア構成を備えるネットワーク対応家電機器100について、以下、機能面から見た機能構成について図面を参照しながら説明する。 The network-compatible home appliance 100 having the above-described hardware configuration will be described below with reference to the drawings with respect to the functional configuration viewed from the functional aspect.
図2は、ブートローダプログラム20が動作しているときの、ネットワーク対応家電機器100の機能構成の一例を示すブロック図である。すでに説明した図1と同じ構成要素については同じ符号を用い、説明を省略する。 FIG. 2 is a block diagram illustrating an example of a functional configuration of the network-compatible home appliance 100 when the boot loader program 20 is operating. The same components as those already described with reference to FIG.
ブートローダプログラム20は、機器が電源を投入して起動したとき、あるいはリセットして再起動したときに最初に動作するプログラムである。ブートローダプログラム20は、起動判定部21と、起動情報保持部22と、UI表示部23と、ダウンロード制御部24と、通信処理部25とから構成される。
The boot loader program 20 is a program that operates first when the device is started by turning on the power or reset and restarted. The boot loader program 20 includes a
起動判定部21は、起動情報保持部22経由で、不揮発性メモリ121に記録されている起動情報に基づいて、ブートローダプログラム20によって起動されるプログラムを切替える。
The
起動情報保持部22は、不揮発性メモリ121に記録されている、起動情報パラメタテーブル200(図3参照)を管理し、起動判定部21からの要求に対して、起動モード210の値を返答する。
The activation
起動情報パラメタテーブル200は、起動モード210から構成される。
The activation information parameter table 200 includes an
起動モード210は、「通常起動」と「更新起動」の2つの値を持ち、ブートローダプログラム20が、通常起動を行うため、メインプログラムを起動するか、更新起動を行うため、アップデータプログラムをダウンロードして起動するかを判断するために用いる。
The
UI表示部23は、出力I/F127を使って、表示装置131を制御する。UI表示部23は、タイマー123を制御し、表示装置131の表示間隔を制御する。例えば表示装置131にLEDを用いた場合に、UI表示部23は、LEDの表示間隔が1秒おきの点滅表示を行うため、1秒を計測するためにタイマー123を用いる。
The
また、UI表示部23は、ダウンロード制御部24または通信処理部25からのUI表示モードの変更通知を受け、表示する内容を切り替える。
In addition, the
UI表示部23は、UI表示モードの変更通知を受けると、UI表示部23の内部にあるUI表示パラメタテーブル300(図4参照)のUI表示モード310に変更内容を設定する。
When the
UI表示モード310に設定される値と、設定される値に対応するUI表示の一例を、UI表示モードの設定値とLED表示400(図5参照)に示す。この例における機器は、表示装置131として、緑と赤の2つのLEDを持つ。
An example of a value set in the
UI表示モード310は、通信未設定411、ネットワーク未接続412、アドレス未取得413、サーバ未接続414、ソフトウェア更新状態415、家電制御エラー416、不揮発性メモリ書込みエラー417、および正常起動418のうちのいずれかの設定値を取る。
The
UI表示モード310に通信未設定411が設定されているときのLED表示動作(UI表示)は、緑と赤の両方のLEDが常時点灯することである。この表示によりユーザは、機器が起動して初期設定中であることを認識できる。
The LED display operation (UI display) when the
UI表示モード310にネットワーク未接続412が設定されているときのLED表示動作(UI表示)は、緑のLEDが常時点灯し、赤のLEDが0.5秒間隔で点滅することである。この表示によりユーザは、機器がネットワークに接続できていないエラーであることを認識できる。
The LED display operation (UI display) when the network unconnected 412 is set in the
UI表示モード310にアドレス未取得413が設定されているときのLED表示動作(UI表示)は、緑のLEDが常時点灯し、赤のLEDが1秒間隔で点滅することである。この表示によりユーザは、機器がネットワークに接続できているが、アドレス取得中であることを認識できる。また、通常この状態が長く続けば、ユーザはネットワーク140からのアドレス取得において何らかの問題が生じていることを認識できる。
The LED display operation (UI display) when the
UI表示モード310にサーバ未接続414が設定されているときのLED表示動作(UI表示)は、緑のLEDが常時点灯し、赤LEDが0.25秒間隔で点滅することである。この表示によりユーザは、機器がネットワーク140に接続できているが、サーバ103と接続中であることがわかる。この状態が長く場合、ユーザは、ネットワーク140のサーバ103への途中経路に問題があるか、サーバ103がダウンしている場合を想定して対応を取ることができる。
The LED display operation (UI display) when the
UI表示モード310にソフトウェア更新状態415が設定されているときのLED表示動作(UI表示)は、緑のLEDと赤のLEDが0.5秒周期で交互に2回ずつ点滅することである。この表示によりユーザは、機器がサーバ103と接続でき、ソフトウェア更新処理を実行していることを認識できる。
The LED display operation (UI display) when the
UI表示モード310に家電制御エラー416が設定されているときのLED表示動作(UI表示)は、緑のLEDと赤のLEDが同時に1秒間隔で点滅することである。この表示によりユーザは、機器がサーバ103からの指示を受けることはできるが、家電133の制御にエラーが発生していることを認識できる。
The LED display operation (UI display) when the home
UI表示モード310に不揮発性メモリ書込みエラー417が設定されているときのLED表示動作(UI表示)は、緑のLEDと赤のLEDが同時に0.5秒間隔で点滅することである。この表示によりユーザは、ソフトウェア更新処理において、不揮発性メモリで異常が発生していることを認識できる。
The LED display operation (UI display) when the nonvolatile
UI表示モード310に正常起動418が設定されているときのLED表示動作(UI表示)は、緑のLEDによる常時点灯と、赤のLEDによる消灯である。この表示によりユーザは、ネットワーク対応家電機器100が通常起動し、エラーなく動作していることを認識できる。
The LED display operation (UI display) when the
ダウンロード制御部24は、起動判定部21が更新起動を行う場合に起動判定部21より呼び出される。
The
ダウンロード制御部24は、通信処理部25およびネットワークI/F132を通して、サーバ103と通信を行う。サーバ103には、通信を通して、新しいバージョンの更新ソフトウェアに対するアップデータプログラムを要求する。サーバ103は、アップデータプログラムの要求をネットワークI/F10より受信すると、通信処理部11がデータ管理部12を通して、データ保存装置13に保存されている指定されたバージョンのアップデータプログラムを入手し、通信処理部11がネットワーク対応家電機器100のブートローダプログラム20に返答する。
The
ダウンロード制御部24は、通信処理部25経由でサーバ103よりアップデータプログラムを入手すると、それをメインメモリ122に保存する。
When the
ダウンロード制御部24は、アップデータプログラム40のダウンロードが完了すると、アップデータプログラム40を起動する。
When the download of the updater program 40 is completed, the
ダウンロード制御部24は、アップデータプログラムのダウンロードを開始すると、UI表示部23に対して、UI表示モード310をソフトウェア更新状態415に設定することで、ソフトウェア更新が開始したことをユーザに知らせることができる。なお、さらにUI表示部23が高度な表示機能を有する場合には、ダウンロードの進捗状況を表示することも可能である。
When downloading of the updater program is started, the
通信処理部25は、ダウンロード制御部24の指示で、ネットワークI/F132を経由してサーバ103と通信を行う。
The
通信処理部25は、ネットワークI/F132の状況およびサーバ103との通信の状況をUI表示部23に表示するように指示する。例えば、ネットワーク140と接続できない場合には、ネットワーク接続不可状態をUI表示部23に通知する。これにより、UI表示部23は、LEDの早い点滅でユーザにネットワーク140あるいはネットワークI/F132に異常があることを通知する。
The
このようにブートローダプログラム20は、ネットワーク対応家電機器100の起動処理を行う。 In this way, the boot loader program 20 performs the startup process of the network-compatible home appliance 100.
ブートローダプログラム20の処理について、フローチャートを用いて詳細に説明する。 The process of the boot loader program 20 will be described in detail using a flowchart.
図6は、ブートローダプログラム20が起動して、メインプログラム30あるいはアップデータプログラム40を起動する処理のフローチャートである。 FIG. 6 is a flowchart of a process for starting the main program 30 or the updater program 40 when the boot loader program 20 is started.
ブートローダプログラム20が起動すると、起動判定部21は、起動情報保持部22に起動モードを問合せる(S101)。
When the boot loader program 20 is activated, the
起動判定部21は、起動モード210が「通常起動」値か、「更新起動」値かを確認し(S102)、「通常起動」値であればステップS103を実行する。「更新起動」値であればステップS104を実行する。
The
起動判定部21は、不揮発性メモリ121上にあるメインプログラム30を実行する(S103)。
The
起動判定部21は、ダウンロード制御部24を実行する(S104)。
The
ダウンロード制御部24は、UI表示部23にあるUI表示モード310を通信未設定411に変更する(S105)。
The
ダウンロード制御部24は、サーバ103と接続したら、UI表示部23にあるUI表示モード310をソフトウェア更新状態415に変更する(S106)。
When connected to the
ダウンロード制御部24は、アップデータプログラム40を、サーバ103よりダウンロードする(S107)。
The
ダウンロード制御部24は、アップデータプログラム40を実行する(S108)。
The
図7は、メインプログラム30が動作しているときの、ネットワーク対応家電機器100の機能構成の一例を示すブロック図である。すでに説明した図1〜図5と同じ構成要素については同じ符号を用い、説明を省略する。 FIG. 7 is a block diagram illustrating an example of a functional configuration of the network-compatible home appliance 100 when the main program 30 is operating. The same components as those already described with reference to FIGS.
メインプログラム30は、通常起動で動作するプログラムである。メインプログラム30は、問合せ部31と、通信処理部32と、起動情報保持部33と、UI表示部34と、家電制御部35とから構成される。
The main program 30 is a program that operates normally. The main program 30 includes an
問合せ部31は、例えば1日に1回などの一定時間間隔で、通信処理部32経由でサーバ103に対して現在のバージョンより新しいメインプログラム30が存在するかどうかを問合せする。サーバ103は、ネットワーク対応家電機器100からの問合せを、ネットワークI/F10で受信し通信処理部11が処理する。通信処理部11は、データ管理部12に対して、データ保存装置13に保存されている、指定されたバージョンより新しいメインプログラム30の有無を問合せ、その結果をネットワークI/F10経由でネットワーク対応家電機器100に返答する。
The
問合せ部31は、サーバ103からの返答を通信処理部32経由で受信する。現在のバージョンより新しいメインプログラム30が存在した場合には、起動情報保持部33に対して起動情報パラメタテーブル200の、起動モード210の値に、「更新起動」値をセットするように指示する。「更新起動」値をセットすると、問合せ部31は再起動処理を行い、ブートローダプログラム20を呼び出す。
The
通信処理部32は、問合せ部31より、サーバ103への現在のメインプログラム30より新しいバージョンのメインプログラム30の有無の問合せの要求を受け、ネットワークI/F132およびネットワーク140を経由してサーバ103に問合せを行う。
The
通信処理部32はサーバ103からの要求を受けて、家電制御部35に対して家電133の制御を指示する。例えば、通信処理部32は、エアコンの冷房をONにすることや、室温設定を25℃に変更するなどの制御を指示する。
Upon receiving a request from the
通信処理部32は、ネットワーク140との接続状態や、サーバ103との接続状態について、UI表示部34に対してUI表示モード310を設定する。
The
起動情報保持部33は、問合せ部31よりサーバ103への新バージョンのメインプログラム30の有無の問合せの結果を受けて、不揮発性メモリ121内の起動情報パラメタテーブル200の、起動モード210の値を書替える。
The activation
UI表示部34は、出力I/F127を使って、表示装置131を制御する。UI表示部34は、タイマー123を制御し、表示装置131の表示間隔を制御する。例えば、UI表示部34は、表示装置131にLEDを用いた場合に、LEDの表示間隔が1秒おきの点滅表示を行うため、1秒を計測するためにタイマー123を用いる。
The
また、UI表示部34は、通信処理部32および家電制御部35からのUI表示モードの変更通知を受け、表示する内容を切り替える。
In addition, the
UI表示部34は、UI表示モードの変更通知を受けると、UI表示部34の内部にあるUI表示パラメタテーブル300(図4参照)のUI表示モード310に変更内容を設定する。
When the
UI表示モード310に設定される値と、設定される値に対応するUI表示の一例については、前記のUI表示モードの設定値とLED表示400(図5参照)に示した通りある。
An example of a value set in the
家電制御部35は、通信処理部32経由でサーバ103からの指示を受信し、家電I/F129を用いて家電133を制御する。例えば、家電制御部35は、サーバ103からの指示で、エアコンを冷房状態に変更するなど、家電133に対する処理を行う。
The home
家電制御部35は、家電133の状態やサーバ103からの要求の状態の表示を、UI表示部34に指示することで、それらの状態をユーザに知らせることができる。例えば、家電133が異常な時には、家電制御部35は、UI表示部34のUI表示モード310に家電制御エラー416を設定することで、UI表示部34が図5に記載の該当する表示を行う。このUI表示によりユーザに異常状態を知らせる。
The home
このようにメインプログラム30は、サーバ103からの家電133の制御要求処理を行うとともに、サーバ103に対して定期的に新しいバージョンのメインプログラム30の有無を問合せ、新しいバージョンのメインプログラム30があれば再起動し更新処理を開始する。
In this way, the main program 30 performs control request processing of the
メインプログラム30は、このように2つの機能を持つ。この2つの機能は通常別のタスクとして起動し、同時処理するようにするが、一つのタスクで2つの機能を実施することも可能である。 The main program 30 has two functions in this way. These two functions are usually started as separate tasks and processed at the same time, but it is also possible to implement two functions in one task.
メインプログラム30の処理について、フローチャートを用いて詳細に説明する。 The processing of the main program 30 will be described in detail using a flowchart.
図8は、ブートローダプログラム20より、メインプログラム30が起動した後の処理のフローチャートである。メインプログラム30は家電制御タスクと、更新問合せタスクの2つのタスクを動作させて処理を行う。ここでタスクとはメインプログラム30の中で同時に処理を実行できる処理の単位のことである。 FIG. 8 is a flowchart of processing after the main program 30 is activated by the boot loader program 20. The main program 30 performs processing by operating two tasks, a home appliance control task and an update inquiry task. Here, a task is a unit of processing that can execute processing simultaneously in the main program 30.
メインプログラム30が起動すると、家電制御タスクと、更新問合せタスクの2つのタスクを起動する(S111)。 When the main program 30 is activated, two tasks of a home appliance control task and an update inquiry task are activated (S111).
家電制御タスクが起動すると、家電制御部35を実行し、UI表示部34のUI表示モード310に通信未設定411を設定する(S112)。
When the home appliance control task is activated, the home
通信処理部32は、サーバ103と接続し、サーバ103からの制御要求を待つ。この時にサーバ接続が成功すれば、UI表示部34のUI表示モード310に正常起動418を設定する(S113)。
The
通信処理部32は、サーバ103から通信があると、家電制御部35に通知し、家電制御部35が制御要求の有無を確認する(S114)。制御要求がなかった場合には、ステップS113を実行する。制御要求があった場合には、ステップS115を実行する。
When there is communication from the
ステップS115では、家電制御部35は、家電I/F129経由で家電133を制御し、結果を通信処理部32経由でサーバ103に返す(S115)。処理が完了すると、S113を実行する。
In step S115, the home
更新問合せタスクが起動すると、問合せ部31を実行する(S116)。
When the update query task is activated, the
問合せ部31は、通信処理部32経由でサーバ103に対して現在のメインプログラム30より新しいバージョンのメインプログラム30の有無を問合せる(S117)。
The
問合せ部31は、問合せ結果を確認し、現在のメインプログラム30より新しいバージョンのメインプログラム30がない場合には、ステップS119を実行する。現在のメインプログラム30より新しいバージョンのメインプログラム30があった場合には、ステップS120を実行する(S118)。
The
問合せ部31は、24時間など定められた一定時間休止したのちに(S119)、ステップS117を実行する。
The
問合せ部31は、起動情報保持部33の起動モード210に「更新起動」値を設定するよう指示する(S120)。
The
問合せ部31は、再起動のため、家電制御タスクを終了させる(S121)。
The
問合せ部31は、再起動を実施しブートローダプログラム20を起動する(S122)。
The
図9は、アップデータプログラム40が動作しているときの、ネットワーク対応家電機器100の機能構成の一例を示すブロック図である。すでに説明した図1〜図5と同じ構成要素については同じ符号を用い、説明を省略する。 FIG. 9 is a block diagram illustrating an example of a functional configuration of the network-compatible home appliance 100 when the updater program 40 is operating. The same components as those already described with reference to FIGS.
アップデータプログラム40は、更新起動時において、ブートローダプログラム20により、サーバ103よりダウンロードされ、起動するプログラムである。アップデータプログラム40は、ダウンロード制御部41と、通信処理部42と、UI表示部43と、書込み処理部44と、起動情報保持部45とから構成される。
The updater program 40 is a program that is downloaded from the
ダウンロード制御部41は、通信処理部42経由でサーバ103に対して、現在のバージョンより新しいメインプログラム30をダウンロードする。サーバ103は、ネットワーク対応家電機器100から、指定されたバージョンの取得要求を、ネットワークI/F10で受信し、通信処理部11が処理する。通信処理部11は、データ管理部12に対して、データ保存装置13に保存されている、指定されたバージョンのメインプログラム30を要求して取得し、その結果をネットワークI/F10経由でネットワーク対応家電機器100に返答する。
The
なおダウンロード制御部41は、メインプログラム30のダウンロードを開始すると、UI表示部43に対して、UI表示モードをソフトウェア更新状態415に設定することで、ソフトウェア更新処理が継続していることをユーザに知らせることができる。なお、さらにUI表示部43が高度な表示機能を有する場合には、ダウンロードの進捗状況を表示することも可能である。
When downloading of the main program 30 is started, the
通信処理部42は、ダウンロード制御部41より、サーバ103への新バージョンのメインプログラム30の取得要求を受け、ネットワークI/F132およびネットワーク140を経由してサーバ103に要求を行う。
The
ダウンロード制御部41は、ダウンロードしたメインプログラム30を用いて、書込み処理部44に対して不揮発性メモリ121のメインプログラム30を更新するように指示する。
The
ダウンロード制御部41は、不揮発性メモリ121のメインプログラム30の更新が完了すると、起動情報保持部45に対して、不揮発性メモリ121内の起動情報パラメタテーブル200の、起動モード210の値を「通常起動」値に書替えるように指示する。
When the update of the main program 30 in the
通信処理部42は、ネットワーク140との接続状態や、サーバ103との接続状態について、UI表示部43に対して表示モードを設定し、ユーザにネットワーク140やサーバ103との接続状態を通知する。
The
UI表示部43は、出力I/F127を使って、表示装置131を制御する。UI表示部43は、タイマー123を制御し、表示装置131の表示間隔を制御する。例えば表示装置131にLEDを用いた場合に、UI表示部43は、LEDの表示間隔が1秒おきの点滅表示を行うため、1秒を計測するためにタイマー123を用いる。
The
また、UI表示部43は、ダウンロード制御部41、通信処理部42および書込み処理部44からのUI表示モードの変更通知を受け、表示する内容を切り替える。
In addition, the
UI表示部43は、UI表示モードの変更通知を受けると、UI表示部43の内部にあるUI表示パラメタテーブル300(図4参照)のUI表示モード310に変更内容を設定する。
When the
UI表示モード310に設定される値と、設定される値に対応するUI表示の一例については、前記のUI表示モードの設定値とLED表示400(図5参照)に示した通りある。
An example of a value set in the
書込み処理部44は、ダウンロード制御部41からの指示を受け、ダウンロード制御部41がダウンロードしたメインプログラム30を用いて、現在記録されている不揮発性メモリ121に記録されているメインプログラム30を上書きして更新する。
The
書込み処理部44は、不揮発性メモリ121への書込みがエラーの場合に、UI表示部43に対してUI表示モード310を不揮発性メモリ書込みエラー417に変更するように通知し、ユーザに異常を知らせる。
The
起動情報保持部45は、ダウンロード制御部41によるダウンロードの完了時に、不揮発性メモリ121内の起動情報パラメタテーブル200の、起動モード210の値を「通常起動」値に書替える。
The activation
このようにアップデータプログラム40は、サーバ103からの家電133の最新のメインプログラム30をダウンロードし、現在記録されている不揮発性メモリ121のメインプログラム30を書替えることで更新処理を行う。
In this way, the updater program 40 performs the update process by downloading the latest main program 30 of the
アップデータプログラム40の処理について、フローチャートを用いて詳細に説明する。 The process of the updater program 40 will be described in detail using a flowchart.
図10は、ブートローダプログラム20により、アップデータプログラムがダウンロードされ、起動した後の処理のフローチャートである。 FIG. 10 is a flowchart of processing after the update program is downloaded and started by the boot loader program 20.
アップデータプログラム40は起動すると、ダウンロード制御部41を実行する(S131)。
When the updater program 40 is activated, the
ダウンロード制御部41は、UI表示部43のUI表示モード310を通信未設定411に設定する(S132)。
The
ダウンロード制御部41は、通信処理部42を通してサーバ103と接続し、サーバ103と接続完了すればUI表示部43のUI表示モード310をソフトウェア更新状態415に変更する(S133)。
The
ダウンロード制御部41は、サーバ103より現在のメインプログラム30のバージョンより新しいバージョンのメインプログラム30を指定してダウンロードする(S134)。
The
ダウンロード制御部41は、サーバ103よりダウンロードしたメインプログラム30を不揮発性メモリ121のメインプログラム30が書かれている領域に上書きする(S135)。
The
なお、ステップS134およびS135について、すべてのメインプログラム30をメインメモリ122にダウンロードしてから不揮発性メモリ121に記録してもよいし、メインメモリ122の節約のため、メインプログラム30を分割してダウンロードし、ダウンロードした部分からすぐに不揮発性メモリ121を書替えていく方式も可能とする。
As for steps S134 and S135, all the main programs 30 may be downloaded to the
ダウンロード制御部41は新しいバージョンのメインプログラム30のすべての領域をダウンロードし、かつ不揮発性メモリ121への書込みが正常に完了すると、起動情報保持部45の起動モード210に「通常起動」値を設定する(S136)。
When the
ダウンロード制御部41は、再起動処理を行い、ブートローダプログラム20を起動する(S137)。
The
本実施の形態により、不揮発性メモリ121をメインプログラム30の2倍量持つ必要なく、ソフトウェア更新が可能になる。また、ソフトウェア更新プログラムの障害時には、サーバ103からソフトウェア更新の都度ダウンロードしてくるアップデータプログラム40を修正することができるので、ソフトウェア更新プログラム自体の耐障害性を高め、さまざまなネットワーク対応家電機器100のソフトウェア更新を可能にする。
According to the present embodiment, it is possible to update the software without having to have the
(実施の形態2)
(概要)
実施の形態1および実施の形態2における、処理の流れと、UI表示について、図11を用いて説明する。
(Embodiment 2)
(Overview)
The processing flow and UI display in the first and second embodiments will be described with reference to FIG.
前述の実施の形態1において、ソフトウェア更新が始まると、時刻T01においてブートローダプログラム20が起動し、ブートローダプログラム20は、通信処理の初期設定を行う。時刻T02において、ブートローダプログラム20が通信設定を完了すると、ブートローダプログラム20はアドレスの取得処理を行う。時刻T03において、ブートローダプログラム20がアドレス取得できると、ブートローダプログラム20はサーバ103への接続を行う。時刻T04において、ブートローダプログラム20がサーバ103と接続できると、ブートローダプログラム20はアップデータプログラム40のダウンロードを行う。時刻T05においてブートローダプログラム20がアップデータプログラム40のダウンロードを完了すると、ブートローダプログラム20はアップデータプログラム40の起動を行い、アップデータプログラム40は通信処理の初期設定を再度行う。時刻T06において、アップデータプログラム40が通信設定を完了すると、アップデータプログラム40はアドレスの取得処理を行う。時刻T07において、アップデータプログラム40がアドレス取得できると、アップデータプログラム40はサーバ103への接続を行う。時刻T08において、アップデータプログラム40がサーバ103と接続できると、アップデータプログラム40はメインプログラム30のダウンロードおよび不揮発性メモリ121への書込みを行う。時刻T09においてアップデータプログラム40がメインプログラム30のダウンロードおよび不揮発性メモリ121への書込みを完了すると、アップデータプログラム40は再起動処理を行い、ブートローダプログラム20を実行する。
In the first embodiment, when the software update is started, the boot loader program 20 is activated at time T01, and the boot loader program 20 performs an initial setting of the communication process. When the boot loader program 20 completes the communication setting at time T02, the boot loader program 20 performs an address acquisition process. When the boot loader program 20 can acquire an address at time T03, the boot loader program 20 connects to the
この一連の処理において、実施の形態1のUI表示を、図5記載のUI表示モード310の設定値とLED表示動作の例を用いて説明する。
In this series of processes, the UI display according to the first embodiment will be described using the setting value of the
時刻T01〜時刻T02の間は、ブートローダプログラム20はUI表示モード310に通信未設定411を設定するため、緑のLEDおよび赤のLEDはともに点灯状態になる。時刻T02〜時刻T03の間は、ブートローダプログラム20はUI表示モード310にアドレス未取得413を設定するため、緑のLEDが常時点灯し、赤のLEDは、1秒間隔で点滅する。時刻T03〜時刻T04の間は、ブートローダプログラム20はUI表示モード310にサーバ未接続414を設定するため、緑のLEDが常時点灯し、赤のLEDは、0.5秒間隔で点滅する。時刻T04〜時刻T05の間は、ブートローダプログラム20はUI表示モード310にソフトウェア更新状態415を設定するため、緑のLEDおよび赤のLEDは、0.5秒間隔で2回ずつ交互に点滅動作を行う。時刻T05〜時刻T06の間は、アップデータプログラム40はUI表示モード310に通信未設定411を設定するため、緑のLEDおよび赤のLEDはともに点灯状態になる。時刻T06〜時刻T07の間は、アップデータプログラム40はUI表示モード310にアドレス未取得413を設定するため、緑のLEDが常時点灯し、赤のLEDは、1秒間隔で点滅する。時刻T07〜時刻T08の間は、アップデータプログラム40はUI表示モード310にサーバ未接続414を設定するため、緑のLEDが常時点灯し、赤のLEDは、0.5秒間隔で点滅する。時刻T08〜時刻T09の間は、アップデータプログラム40はUI表示モード310にソフトウェア更新状態415を設定するため、緑のLEDおよび赤のLEDは、0.5秒間隔で2回ずつ交互に点滅動作を行う。時刻T09以降、ブートローダプログラム20は再度起動し、メインプログラム30を起動する。
Between time T01 and time T02, since the boot loader program 20 sets the
このようなソフトウェア更新処理にかかる時間は通常数分であり、その際に前記のように複雑にUI表示が切り替わる。このため、何か障害があり上記ソフトウェア更新処理が繰り返すような場合、どのような問題が発生しているのかユーザが把握するのが難しくなる場合がある。 The time required for such software update processing is usually several minutes, and at that time, the UI display is switched in a complicated manner as described above. For this reason, when there is a failure and the software update process is repeated, it may be difficult for the user to understand what kind of problem is occurring.
この問題を解決するため、実施の形態2においては、ブートローダプログラム50からアップデータプログラム60を起動する場合のUI表示において、ブートローダプログラム50にUI状態保存部27および、アップデータプログラム60にUI状態読取部47を追加する。これにより、ブートローダプログラム50が最終に表示していたUI表示モード310を、アップデータプログラム60のUI表示モード310に設定し、UI表示を継承するようにする。この機構により、ブートローダプログラム50からアップデータプログラム60へプログラムが切り替わっても、図11におけるT04〜T09までの間、UI表示モード310を、同一のUI表示モード設定値(ソフトウェア更新状態415)にすることで、エラー等が発生しない限り同一のUI表示を継続することができる。この仕組みにより、ユーザはソフトウェア更新処理が継続して実施されていることを認識することができる。
In order to solve this problem, in the second embodiment, in the UI display when the updater program 60 is started from the boot loader program 50, the UI
図12は、実施の形態2における、ブートローダプログラム50が動作しているときの、ネットワーク対応家電機器100の機能構成の一例を示すブロック図である。すでに説明した図1〜図2と同じ構成要素については同じ符号を用い、説明を省略する。 FIG. 12 is a block diagram illustrating an example of a functional configuration of the network-compatible home appliance 100 when the boot loader program 50 is operating in the second embodiment. The same components as those already described with reference to FIGS.
ブートローダプログラム50は、機器が電源を投入して起動したとき、あるいはリセットして再起動したときに最初に動作するプログラムである。ブートローダプログラム50は、起動判定部21と、起動情報保持部22と、UI表示部23と、ダウンロード制御部26と、通信処理部25と、UI状態保存部27とから構成される。
The boot loader program 50 is a program that operates first when the device is started by turning on the power or reset and restarted. The boot loader program 50 includes a
起動判定部21は、起動情報保持部22経由で、不揮発性メモリ121に記録されている起動情報に基づいて、ブートローダプログラム50が起動するプログラムを切替える。
The
起動情報保持部22は、不揮発性メモリ121に記録されている、起動情報パラメタテーブル200(図3参照)を管理し、起動判定部21からの要求に対して、起動モード210の値を返答する。
The activation
UI表示部23は、出力I/F127を使って、表示装置131を制御する。UI表示部23は、タイマー123を制御し、表示装置131の表示間隔を制御する。例えば表示装置131にLEDを用いた場合に、UI表示部23は、LEDの表示間隔が1秒おきの点滅表示を行うため、1秒を計測するためにタイマー123を用いる。
The
また、UI表示部23はダウンロード制御部26または通信処理部25からのUI表示モードの変更通知を受け、表示する内容を切り替える。
In addition, the
UI表示部23は、UI表示モードの変更通知を受けると、UI表示部23の内部にあるUI表示パラメタテーブル300(図4参照)のUI表示モード310に変更内容を設定する。
When the
UI表示モード310に設定される値と、設定される値に対応するUI表示の一例を、UI表示モードの設定値とLED表示400(図5参照)に示す。この例における機器は、表示装置131として、緑と赤の2つのLEDを持つ。
An example of a value set in the
ダウンロード制御部26は、起動判定部21が更新起動を行う場合に起動判定部21より呼び出される。
The
ダウンロード制御部26は、通信処理部25およびネットワークI/F132を通して、サーバ103と通信を行う。サーバ103には、通信を通して、新しいバージョンのメインプログラム30に対するアップデータプログラム60を要求する。サーバ103は、アップデータプログラム60の要求をネットワークI/F10より受信すると、通信処理部11がデータ管理部12を通して、データ保存装置13に保存されている指定されたバージョンのアップデータプログラム60を入手し、通信処理部11がネットワーク対応家電機器100のブートローダプログラム50に返答する。
The
ダウンロード制御部26は、通信処理部25経由でサーバ103よりアップデータプログラム60を入手すると、それをメインメモリ122に保存する。
When the
ダウンロード制御部26は、アップデータプログラム60のダウンロードが完了すると、UI状態保存部27を呼び出し、現在表示中のUI情報およびネットワーク情報を保存する。その後、ダウンロード制御部26は、アップデータプログラム60を起動する。
When the download of the updater program 60 is completed, the
ダウンロード制御部26は、アップデータプログラム60のダウンロードを開始すると、UI表示部23に対して、UI表示モード310をソフトウェア更新状態415に設定することで、ソフトウェア更新が開始したことをユーザに知らせることができる。なお、さらにUI表示部23が高度な表示機能を有する場合には、ダウンロードの進捗状況を表示することも可能である。
When downloading of the updater program 60 is started, the
通信処理部25は、ダウンロード制御部26の指示で、ネットワークI/F132を経由してサーバ103と通信を行う。
The
通信処理部25は、ネットワークI/F132の状況およびサーバ103との通信の状況をUI表示部23に表示するように指示する。例えば、ネットワーク140と接続できない場合には、ネットワーク接続不可状態をUI表示部23に通知する。これにより、UI表示部23は、LEDの早い点滅でユーザにネットワーク140あるいはネットワークI/F132に異常があることを通知する。
The
通信処理部25は、ダウンロード制御部26の指示で、ネットワークI/F132を経由してサーバ103と通信を行う。
The
UI状態保存部27は、ダウンロード制御部26から起動され、UI表示部23が持つ、UI表示に関する情報および通信処理部25が持つネットワーク設定情報を、メインメモリ122内のUI状態保持パラメタテーブル500(図13参照)に退避する。
The UI
UI状態保持パラメタテーブル500は、UI表示モード510と、表示タイマー値511と、ネットワーク設定値512とから構成される。
The UI state holding parameter table 500 includes a
UI表示モード510は、UI表示モード310の設定値を退避するための領域である。
The
表示タイマー値511は、UI表示部23が現在の表示モードを表示開始してからの周期を退避するための領域である。表示タイマー値に退避する値について、図14および図15のタイミングチャートを用いて説明する。
The
図14は、表示タイマー値511を用いなかった場合のUI表示の例である。この例において、UI表示部23は、0.5秒間隔でLEDを2回点滅させ、その後2秒LEDを消灯する、周期表示を行っている。ブートローダプログラム50でこのUI表示をしている途中で、アップデータプログラム60に切り替わった場合について説明する。
FIG. 14 shows an example of UI display when the
時刻T20において、前記周期表示を開始し、0.5秒のLED ON動作の後に、0.5秒のLED OFF動作、また再び0.5秒のLED ON動作をした後で、LED OFFを行う(時刻T21)。こののち、2秒のLED OFF時間を設けることで、ユーザはLEDが2回点滅していることを認識できる。 At time T20, the period display is started, and after 0.5 second LED ON operation, 0.5 second LED OFF operation is performed, and after 0.5 second LED ON operation is performed again, LED OFF is performed. (Time T21). Thereafter, by providing the LED OFF time of 2 seconds, the user can recognize that the LED blinks twice.
この2回目の周期が時刻T22に開始し、2回のLED ON、LED OFF動作を行った(時刻T23)後で、0.5秒後にアップデータプログラム60に切り替わった場合を想定する。この場合、アップデータプログラム60は、UI表示モード310を継承し、時刻T31より0.5秒のLED ON動作を開始する。しかしながら、T31から2回のLED ON、LED OFF動作を行うことで、ユーザからは、LEDが4回点滅しているように見えてしまう。このような表示をすることによりユーザの状態把握を困難にしてしまう可能性がある。
It is assumed that the second cycle starts at time T22, the LED ON / LED OFF operation is performed twice (time T23), and then the updater program 60 is switched after 0.5 seconds. In this case, the updater program 60 inherits the
図15を用いて、表示タイマー値511の保存により、図14で説明した問題を解決する手順について説明する。
A procedure for solving the problem described in FIG. 14 by storing the
時刻T20において、0.5秒のLED ON動作の後に、0.5秒のLED OFF動作、また再び0.5秒のLED ON動作をした後で、LED OFFを行う(時刻T21)。こののち、2秒のLED OFF時間の後に、この2周期目が開始する。 At time T20, after the LED ON operation for 0.5 seconds, the LED OFF operation for 0.5 seconds and the LED ON operation for 0.5 seconds again are performed, and then the LED OFF is performed (time T21). After this, the second period starts after the LED OFF time of 2 seconds.
時刻T23に、2回のLED ON、LED OFF動作を行った後で、0.5秒後にアップデータプログラム60に切り替わった場合、表示タイマー値には、現在時刻から2回目の周期T22を差し引いた値、この場合には2秒を保存する。ブートローダプログラム20より起動されたアップデータプログラム60は、UI表示モード310を継承し、時刻T31よりUI表示を再開する。この場合、表示タイマー値511に2秒が保存されているため、開始周期より2秒経過したところよりUI表示を再開する。このため、2秒間のLED OFFが始まってから0.5秒経過したところより再開し、残り1.5秒の間LED OFFを継続したのちに(時刻T32)、3周期目のLEDの点滅動作を行う。
When switching to the updater program 60 after 0.5 seconds after performing LED ON / OFF operation twice at time T23, the value obtained by subtracting the second cycle T22 from the current time is displayed. In this case, save 2 seconds. The updater program 60 started by the boot loader program 20 inherits the
このように処理することで、UI表示の一貫性を保つことができ、ユーザがソフトウェア更新状態を把握しやすくなる。 By processing in this way, UI display consistency can be maintained, and the user can easily grasp the software update state.
ネットワーク設定値512は、通信処理部25よりネットワークI/F132に設定しているアドレス情報など、可変の設定値を退避する。通常アドレス情報の取得には時間がかかるため、ネットワーク設定値512を退避することで、アップデータプログラム60が起動してから、ソフトウェア更新処理を行うまでの時間を短縮することができる。
The
なお、表示タイマー値511およびネットワーク設定値512については、動作に必須ではないため、メインメモリの領域サイズや、処理負荷を考慮し省略することも可能である。
Note that the
このようにブートローダプログラム50は、ネットワーク対応家電機器100の起動処理を行う。 In this way, the boot loader program 50 performs the startup process of the network-compatible home appliance 100.
ブートローダプログラム50の処理について、フローチャートを用いて詳細に説明する。 The process of the boot loader program 50 will be described in detail using a flowchart.
図16は、ブートローダプログラム50が起動して、メインプログラム30あるいはアップデータプログラム60を起動する処理のフローチャートである。 FIG. 16 is a flowchart of a process for starting the main program 30 or the updater program 60 when the boot loader program 50 is started.
ブートローダプログラム50が起動すると、起動判定部21は、最初に起動情報保持部22に起動モード210を問合せる(S201)。
When the boot loader program 50 is activated, the
起動判定部21は、起動モード210が「通常起動」値か、「更新起動」値かを確認し(S202)、「通常起動」値であればステップS203を実行する。「更新起動」値であればステップS204を実行する。
The
起動判定部21は、不揮発性メモリ121上にあるメインプログラム30を実行する(S203)。
The
起動判定部21は、ダウンロード制御部26を実行する(S204)。
The
ダウンロード制御部26は、UI表示部23に対して、UI表示モード310を通信未設定411に変更する(S205)。
The
ダウンロード制御部26は、サーバ103と接続したら、UI表示部23に対して、UI表示モード310をソフトウェア更新状態415に変更する(S206)。
When connected to the
ダウンロード制御部26は、アップデータプログラム60を、サーバ103よりダウンロードする(S207)。
The
ダウンロード制御部26は、UI状態保存部27を呼び出し、UI表示モード510、表示タイマー値511、ネットワーク設定値512を退避する(S208)。
The
ダウンロード制御部26は、アップデータプログラム60を実行する(S209)。
The
図17は、アップデータプログラム60が動作しているときの、ネットワーク対応家電機器100の機能構成の一例を示すブロック図である。すでに説明した図1〜図5と同じ構成要素については同じ符号を用い、説明を省略する。 FIG. 17 is a block diagram illustrating an example of a functional configuration of the network-compatible home appliance 100 when the updater program 60 is operating. The same components as those already described with reference to FIGS.
アップデータプログラム60は、更新起動時において、ブートローダプログラム50により、サーバ103よりダウンロードされ、起動するプログラムである。アップデータプログラム60は、ダウンロード制御部46と、通信処理部42と、UI表示部43と、書込み処理部44と、起動情報保持部45と、UI状態読取部47とから構成される。
The updater program 60 is a program that is downloaded from the
ダウンロード制御部46は、UI状態読取部47を実行し、UI表示状態およびネットワーク設定を復元する。
The
ダウンロード制御部46は、通信処理部42経由でサーバ103に対して、現在のバージョンより新しいメインプログラム30をダウンロードする。サーバ103は、ネットワーク対応家電機器100から、指定されたバージョンの取得要求を、ネットワークI/F10で受信し、通信処理部11が処理する。通信処理部11は、データ管理部12に対して、データ保存装置13に保存されている、指定されたバージョンのメインプログラム30を要求して取得し、その結果をネットワークI/F10経由でネットワーク対応家電機器100に返答する。
The
なおダウンロード制御部46は、メインプログラム30のダウンロードを開始すると、UI表示部43に対して、UI表示モードをソフトウェア更新状態415に設定することで、ソフトウェア更新処理が継続していることをユーザに知らせることができる。なお、さらにUI表示部43が高度な表示機能を有する場合には、ダウンロードの進捗状況を表示することも可能である。
When downloading of the main program 30 is started, the
通信処理部42は、ダウンロード制御部46より、サーバ103への新バージョンのメインプログラム30の取得要求を受け、ネットワークI/F132およびネットワーク140を経由してサーバ103に要求を行う。
The
ダウンロード制御部46は、ダウンロードしたメインプログラム30を用いて、書込み処理部44に対して不揮発性メモリ121のメインプログラム30を更新するように指示する。
The
ダウンロード制御部46は、不揮発性メモリ121のメインプログラム30の更新が完了すると、起動情報保持部45に対して、不揮発性メモリ121内の起動情報パラメタテーブル200の、起動モード210の値を「通常起動」値に書替えるように指示する。
When the update of the main program 30 in the
通信処理部42は、ネットワーク140との接続状態や、サーバ103との接続状態について、UI表示部43に対して表示モードを設定し、ユーザにネットワーク140やサーバ103との接続状態を通知する。
The
UI表示部43は、出力I/F127を使って、表示装置131を制御する。UI表示部43は、タイマー123を制御し、表示装置131の表示間隔を制御する。例えば表示装置131にLEDを用いた場合に、UI表示部43は、LEDの表示間隔が1秒おきの点滅表示を行うため、1秒を計測するためにタイマー123を用いる。
The
また、UI表示部43は、ダウンロード制御部46、通信処理部42および書込み処理部44からのUI表示モードの変更通知を受け、表示する内容を切り替える。
In addition, the
UI表示部43は、UI表示モードの変更通知を受けると、UI表示部43の内部にあるUI表示パラメタテーブル300(図4参照)のUI表示モード310に変更内容を設定する。
When the
UI表示モード310に設定される値と、設定される値に対応するUI表示の一例については、前記のUI表示モードの設定値とLED表示400(図5参照)に示した通りある。
An example of a value set in the
書込み処理部44は、ダウンロード制御部46からの指示を受け、ダウンロード制御部46がダウンロードしたメインプログラム30を用いて、現在記録されている不揮発性メモリ121に記録されているメインプログラム30を上書きして更新する。
The
書込み処理部44は、不揮発性メモリ121への書込みがエラーの場合に、UI表示部43に対してUI表示モード310を不揮発性メモリ書込みエラー417に変更するように通知し、ユーザに異常を知らせる。
The
起動情報保持部45は、ダウンロード制御部46によるダウンロードの完了時に、不揮発性メモリ121内の起動情報パラメタテーブル200の、起動モード210の値を「通常起動」値に書替える。
The activation
UI状態読取部47は、ダウンロード制御部46より呼び出され、メインメモリ122に保存されているUI状態保持パラメタテーブル500から、UI表示モード510および表示タイマー値511を読取って、UI表示部43に設定する。
The UI
UI状態読取部47は、UI状態保持パラメタテーブル500から、ネットワーク設定値512を読取り、通信処理部42経由で、ネットワークI/F132にセットする。
The UI
このようにアップデータプログラム60は、サーバ103からの家電133の最新のメインプログラム30をダウンロードし、現在記録されている不揮発性メモリ121のメインプログラム30を書替えることで更新処理を行う。
In this way, the updater program 60 performs the update process by downloading the latest main program 30 of the
アップデータプログラム60の処理について、フローチャートを用いて詳細に説明する。 The process of the updater program 60 will be described in detail using a flowchart.
図18は、ブートローダプログラム50より、アップデータプログラム60がダウンロードされ、起動した後の処理のフローチャートである。 FIG. 18 is a flowchart of processing after the updater program 60 is downloaded from the boot loader program 50 and started.
アップデータプログラム60は起動すると、ダウンロード制御部46を実行する(S221)。 When the updater program 60 is activated, it executes the download control unit 46 (S221).
ダウンロード制御部46は、UI状態読取部47を起動し、UI表示モード、表示タイマー値、ネットワーク設定情報を読取り、UI表示部43および通信処理部42に復元指示する(S222)。
The
ダウンロード制御部46は、サーバ103より現在のメインプログラム30より新しいメインプログラム30を指定してダウンロードする(S223)。
The
ダウンロード制御部46は、サーバ103よりダウンロードしたメインプログラム30を不揮発性メモリのメインプログラム30が書かれている領域に上書きする(S224)。
The
なお、ステップS223およびS224について、すべてのメインプログラム30をダウンロードしてから不揮発性メモリ121に記録してもよいし、メインメモリ122の節約のため、メインプログラム30の一部をダウンロードして不揮発性メモリ121の一部を書替えていく方式も可能とする。
As for steps S223 and S224, all the main program 30 may be downloaded and then recorded in the
ダウンロード制御部46は新しいバージョンのメインプログラム30のすべての領域をダウンロードし、かつ不揮発性メモリ121への書込みが正常に完了すると、起動情報保持部45の起動モードに「通常起動」値を設定する(S225)。
When the
ダウンロード制御部46は、再起動処理を行い、ブートローダプログラム50を起動する(S226)。
The
本実施の形態により、不要な不揮発性メモリ121を持つことなくコストダウンを図ることができ、かつ実施の形態1で課題であった、ソフトウェア更新方式において、複数プログラムを起動する際のUIの一貫性を保つことができ、ユーザが動作を把握しやすくなる。ひいては家電機器におけるカスタマサポートで機器の状態を問合せる際に、間違った情報を伝える可能性が下がりコストダウンにつながる。
According to the present embodiment, the cost can be reduced without having an unnecessary
また、前述の説明はあらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。 In addition, the above description is merely an example of the present invention in all points, and is not intended to limit the scope thereof. It goes without saying that various improvements and modifications can be made without departing from the scope of the present invention.
本発明にかかるネットワーク対応家電機器のソフトウェア更新方式については、コストダウン要請の厳しい白物家電などの制御ソフトや、家電機器とネットワークをつなぐネットワーク機器、複数の家電機器を束ねてネットワーク接続機能を提供するゲートウェイのようなシステムにおいて有用である。 As for the software update method for network-compatible home appliances according to the present invention, it provides control software for white goods that require strict cost reduction, network devices that connect home appliances to the network, and a network connection function that bundles multiple home appliances. This is useful in systems such as gateways.
10 ネットワークI/F(サーバ)
11 通信処理部(サーバ)
12 データ管理部
13 データ保存装置
20 ブートローダプログラム(実施の形態1)
21 起動判定部
22 起動情報保持部(ブートローダプログラム)
23 UI表示部(ブートローダプログラム)
24 ダウンロード制御部(実施の形態1のブートローダプログラム)
25 通信処理部(ブートローダプログラム)
26 ダウンロード制御部(実施の形態2のブートローダプログラム)
27 UI状態保存部(実施の形態2のブートローダプログラム)
30 メインプログラム
31 問合せ部(メインプログラム)
32 通信処理部(メインプログラム)
33 起動情報保持部(メインプログラム)
34 UI表示部(メインプログラム)
35 家電制御部(メインプログラム)
40 アップデータプログラム(実施の形態1)
41 ダウンロード制御部(実施の形態1のアップデータプログラム)
42 通信処理部(アップデータプログラム)
43 UI表示部(アップデータプログラム)
44 書込み処理部(アップデータプログラム)
45 起動情報保持部(アップデータプログラム)
46 ダウンロード制御部(実施の形態2のアップデータプログラム)
47 UI状態読取部(実施の形態2のアップデータプログラム)
50 ブートローダプログラム(実施の形態2)
60 アップデータプログラム(実施の形態2)
100 ネットワーク対応家電機器
103 サーバ
110 集積回路
120 CPU
121 不揮発性メモリ
122 メインメモリ
123 タイマー
124 クロックジェネレータ
125 バス
126 入力I/F
127 出力I/F
128 ネットワークコントローラ
129 家電I/F
130 入力装置
131 表示装置
132 ネットワークI/F
133 家電
140 ネットワーク
10 Network I / F (Server)
11 Communication processing unit (server)
12
21
23 UI display (boot loader program)
24 Download control unit (boot loader program according to the first embodiment)
25 Communication processor (boot loader program)
26 Download control unit (boot loader program according to the second embodiment)
27 UI state storage unit (boot loader program according to the second embodiment)
30
32 Communication processor (main program)
33 Startup information holding unit (main program)
34 UI display (main program)
35 Home Appliance Control Unit (Main Program)
40 Updater program (Embodiment 1)
41 Download Control Unit (Updater Program of Embodiment 1)
42 Communication processor (updater program)
43 UI display (updater program)
44 Write processor (updater program)
45 Startup information holding unit (updater program)
46 Download Control Unit (Updater Program of Embodiment 2)
47 UI status reading unit (updater program of the second embodiment)
50 Boot loader program (Embodiment 2)
60 Updater program (Embodiment 2)
100
121
127 Output I / F
130
133 Home appliances 140 Network
Claims (1)
プログラムを格納する第一の領域、およびプログラムを格納する第二の領域を持つ不揮発性メモリと、
サーバと通信するためのネットワークインタフェースと、
ユーザに機器の状態を通知するための表示装置とを備え、
前記不揮発性メモリの前記第一の領域に格納されたプログラムが、サーバよりプログラムをダウンロードして、前記揮発性メモリに格納し、
前記ダウンロードしたプログラムが、サーバと通信し、前記不揮発性メモリの前記第二の領域のプログラムを書替え、
前記第一の領域に格納されたプログラムは、サーバからプログラムをダウンロードする際に、前記表示装置によって表示されるユーザインタフェースの表示状態を、前記揮発性メモリに退避し、
前記ダウンロードしたプログラムが起動時に、前記退避したユーザインタフェースの表示状態を読取り、ユーザインタフェースの表示状態を復帰する
ネットワーク対応の家電機器。 Volatile memory,
A non-volatile memory having a first area for storing the program and a second area for storing the program;
A network interface for communicating with the server;
A display device for notifying the user of the state of the device,
The program stored in the first area of the non-volatile memory downloads the program from the server, stores it in the volatile memory,
The downloaded program communicates with a server, rewrites the program in the second area of the nonvolatile memory ,
When the program stored in the first area is downloaded from the server, the display state of the user interface displayed by the display device is saved in the volatile memory,
A network-compatible home appliance that reads the saved user interface display state and restores the user interface display state when the downloaded program is activated .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014211830A JP6345568B2 (en) | 2014-10-16 | 2014-10-16 | Network-compatible home appliances |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014211830A JP6345568B2 (en) | 2014-10-16 | 2014-10-16 | Network-compatible home appliances |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016081292A JP2016081292A (en) | 2016-05-16 |
JP6345568B2 true JP6345568B2 (en) | 2018-06-20 |
Family
ID=55958799
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014211830A Expired - Fee Related JP6345568B2 (en) | 2014-10-16 | 2014-10-16 | Network-compatible home appliances |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6345568B2 (en) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3401521B2 (en) * | 1995-06-22 | 2003-04-28 | 富士通株式会社 | Information processing device having error status display function |
KR100517546B1 (en) * | 1999-07-16 | 2005-09-28 | 삼성전자주식회사 | Portable computer displaying post code on led indicator |
JP2001084145A (en) * | 1999-09-13 | 2001-03-30 | Canon Inc | Image pickup device and method for receiving its control program and recording medium |
JP4639934B2 (en) * | 2005-05-06 | 2011-02-23 | 株式会社デンソー | Vehicle control system |
JP2009169524A (en) * | 2008-01-11 | 2009-07-30 | Panasonic Electric Works Co Ltd | Network system for home appliance |
JP5113699B2 (en) * | 2008-09-24 | 2013-01-09 | 株式会社日立ソリューションズ | Firmware update system and update image generation / distribution server device |
JP5079036B2 (en) * | 2010-02-23 | 2012-11-21 | 三菱電機株式会社 | Home appliance adapter |
JP2013012107A (en) * | 2011-06-30 | 2013-01-17 | Panasonic Corp | Network household electrical appliance and firmware rewriting method |
-
2014
- 2014-10-16 JP JP2014211830A patent/JP6345568B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2016081292A (en) | 2016-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9110843B2 (en) | Rack and method thereof for simultaneously updating basic input output systems | |
CN111045866B (en) | BMC fault processing method and device, electronic equipment and storage medium | |
JP6116682B2 (en) | Air conditioning system | |
JP4888718B2 (en) | Distributed control system | |
CN108170451B (en) | Method and system for controlling BIOS version upgrading by server BMC | |
JP2018132957A (en) | Control unit and control program updating method | |
JP2008165627A (en) | Built-in device and control method | |
RU2602378C9 (en) | Rack with plurality of rack control modules and method of updating firmware used for rack | |
KR20130038149A (en) | In-vehicle apparatus | |
WO2019207729A1 (en) | Industrial computer, industrial computer system, operating system update method, and program | |
JP3952893B2 (en) | Network device and automatic program update method | |
WO2015098811A1 (en) | Electronic device | |
JP2018132956A (en) | Control unit and control program updating method | |
US20170264768A1 (en) | Information processing apparatus and restart executing method | |
JP6345568B2 (en) | Network-compatible home appliances | |
JP5985066B2 (en) | Air conditioning system and update method | |
JP7147525B2 (en) | Communication device and control method | |
JP2014170306A (en) | Information processing device, automatic recovery method from startup fault, and automatic recovery program from startup fault | |
TWI541724B (en) | Circuit and method for writing bios code into bios | |
JP5508297B2 (en) | Setting information reference activation type control device and setting information management method | |
JP2017021498A (en) | Control system and controller therefor | |
JP6457756B2 (en) | Information processing apparatus, control method thereof, and program | |
JPH0689181A (en) | System for updating program by down load | |
JP2019061387A (en) | Storage battery system, firmware updating method and firmware updating program | |
CN116185459A (en) | Method, device, equipment and medium for starting firmware update |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170512 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20171219 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180201 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20180508 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180523 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6345568 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |