(57)【要約】【課題】  機器の制御を行うのに有利な技術を提供する。【解決手段】  制御装置と通信可能に接続された機器を制御する方法であって、制御方法は機器のファームウエアの書き換え制御ステップを含み、前記書き換え制御ステップは、前記機器のファームウエアの書き換えの指示に応じて、前記機器のファームウエアを外部装置から取得するステップと、前記ファームウエアの書き換えの指示に応じてスクリプトを実行することにより前記機器をファームウエアの書き換えが可能な状態に制御し、前記取得したファームウエアを前記機器へ転送するステップと、前記機器のファームウエアを前記転送されたファームウエアに書き換えさせるステップと、を含み、前記スクリプトは指示により外部装置から取得される。【選択図】  図１
2019219873.tif 000002
【特許請求の範囲】
【請求項１】
制御装置と通信可能に接続された機器を、前記制御装置によって制御する方法であって、
前記制御する方法は、前記機器のファームウエアの書き換え制御ステップを含み、前記書き換え制御ステップは、
前記機器のファームウエアの書き換えの指示に応じて、ファームウエアの書き換えを行うためのスクリプトを外部装置から取得するステップと、
前記ファームウエアの書き換えを行うためのスクリプトを実行するステップであって、ファームウエアを外部装置から取得すること、前記機器をファームウエアの書き換えが可能な状態に制御すること、前記取得したファームウエアを前記機器へ転送すること、を含むステップと、
前記機器のファームウエアを、前記転送されたファームウエアに書き換えさせるステップと、を含む方法。
【請求項２】
前記制御する方法は、前記機器からのデータの読出し制御ステップをさらに含み、
前記読出し制御ステップは、データの読出しの指示に応じて、データの読出しを行うためのスクリプトを外部装置から取得するステップと、
前記データの読出しを行うためのスクリプトを実行することにより前記機器からデータを読出し、前記データを外部装置へ出力するステップと、
を含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記機器からのデータは、前記機器に接続される外部機器のデータを含むことを特徴とする請求項２に記載の方法。
【請求項４】
前記ファームウエアの書き換えの指示はＳＭＳ（ショートメッセージ）又はＰＵＳＨ通知によることを特徴とする請求項１乃至３のいずれか１項に記載の方法。
【請求項５】
前記ファームウエアを前記外部装置から取得することは、前記機器において利用できる複数のファームウエアの内から、所定のファームウエアを取得することを含むことを特徴とする請求項１乃至４のいずれか１項に記載の方法。
【請求項６】
前記制御する方法は、前記制御装置と通信可能に接続された通信ユニットを介して外部装置との通信を行うステップさらに含むことを特徴とする請求項１乃至５のいずれか１項に記載の方法。
【請求項７】
処理部と、
メモリと、
機器と通信可能に接続されるインタフェース部と、を備える制御装置であって、
前記処理部は前記機器のファームウエアの書き換えを制御し、
前記書き換えの制御は、
前記処理部が前記機器のファームウエアの書き換えの指示に応じて、前記機器のファームウエアの書き換えのためのスクリプトを外部装置から取得し、書き換えのためのスクリプトを実行することにより、
ファームウエアを外部装置から取得すること、前記機器をファームウエアの書き換えが可能な状態に制御すること、前記取得したファームウエアを前記機器へ転送すること、を含むことを特徴とする
制御装置。
【請求項８】
前記処理部は、さらに前記機器からのデータの読出しを制御し、前記データの読出しの制御は、前記処理部がデータ読出しの指示に応じてデータの読出しのためのスクリプトを外部装置から取得し、前記データの読み出しのためのスクリプトを実行することにより、前記機器からデータを読出し、前記読み出されたデータを、前記インタフェース部を介して外部装置へ出力することを特徴とする請求項７に記載の制御装置。
【請求項９】
前記機器からのデータは、前記機器に接続される外部機器からのデータを含むことを特徴とする請求項８に記載の制御装置。
【請求項１０】
前記ファームウエアの書き換えの指示はＳＭＳ（ショートメッセージ）又はＰＵＳＨ通知によることを特徴とする請求項７乃至９のいずれか１項に記載の制御装置。
【請求項１１】
前記ファームウエアを外部装置から取得することは、前記機器において利用可能な複数のファームウエアの内から所定のファームウエアを取得することを含むことを特徴とする請求項７乃至１０のいずれか１項に記載の制御装置。
【請求項１２】
前記処理部は、前記インタフェース部と通信可能に接続された通信ユニットを介して外部装置との通信を行うことを特徴とする請求項７乃至１１のいずれか１項に記載の制御装置。
【請求項１３】
制御装置と、
前記制御装置と通信可能に接続された機器と、を含むシステムであって、
前記制御装置は前記機器のファームウエアの書き換え制御を行うことができ、前記書き換え制御は、
前記制御装置が前記機器のファームウエアの書き換えの指示に応じて前記機器のファームウエアの書き換えのためのスクリプトを外部装置から取得し、前記制御装置が前記ファームウエアの書き換えのためのスクリプトを実行することにより、
ファームウエアを外部装置から取得すること、前記機器をファームウエアの書き換えが可能な状態に制御すること、前記取得したファームウエアを前記機器へ転送すること、を行い、
前記機器は、前記機器のファームウエアを前記転送されたファームウエアに書き換えるシステム。
【請求項１４】
前記制御装置は、さらに前記機器からデータの読出しを行うことができ、前記データの読出しは、データの読出しの指示に応じてデータの読出しを行うためのスクリプトを外部装置から取得し、前記データの読出しを行うためのスクリプトを実行することにより前記機器からデータを読出し、前記読出したデータを外部装置へ出力することを特徴とする請求項１３に記載のシステム。
【請求項１５】
前記機器からのデータは前記機器に接続される外部機器からのデータを含むことを特徴とする請求項１４に記載のシステム。
【請求項１６】
前記ファームウエアの書き換えの指示はＳＭＳ（ショートメッセージ）又はＰＵＳＨ通知によることを特徴とする請求項１３乃至１５のいずれか１項に記載のシステム。
【請求項１７】
前記ファームウエアを外部装置から取得することは、前記機器において利用可能な複数のファームウエアの内から所定のファームウエアを外部装置から取得することを含むこと特徴とする請求項１３乃至１６のいずれか１項に記載のシステム。
【請求項１８】
前記制御装置と通信可能に接続された通信ユニットをさらに備え、前記制御装置は前記通信ユニットを介して外部装置との通信を行うことを特徴とする請求項１３乃至１７のいずれか１項に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機器の制御方法、制御装置及びシステムに関する。
【背景技術】
【０００２】
工程管理や環境維持のためにセンサや入出力部を搭載した機器を配置してデータを収集することや装置を制御することが行われている。このような機器は処理部としてＣＰＵが搭載されて、センサが検出したデータを処理してサーバなどへ提供し、またコマンドに応じた外部装置との入出力制御を行うものがある。データの処理はＣＰＵがファームウエアに格納された命令を実行することにより行われる。機器の制御の一つにファームウエアの書き換えがある。特許文献１では、制御機器に組み込まれたシステムプログラムの変更を行う方法として、システムプログラム書き換え装置に、指定された制御機器に転送する手順が記述されている機種情報ファイルと書き換え用システムプログラムを記憶しておき、システムプログラムの更新時に制御機器とデータの授受を行う。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−１７８４９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１では、機種ごとのプログラムを記憶し、制御用ネットワークを介して制御機器とのデータ授受を行う。しかし、プログラムの更新の対象となる機器が多種類あるような場合には、それぞれの機器毎のプログラムを記憶しておき配信する必要がある。そのために装置の規模が大きくなる。一方、機器のマイコンのリソースは小さいものもあり、ネットワークを使った機器の制御、例えばファームウエアの更新手順のような高度な機能をもつことができない場合がある。また現場で機器を使用するユーザにとって、機器の制御がしやすいことも望まれる。本発明は、このような機器の制御を行うのに有利な技術を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、本発明の機器を制御する方法は、前記機器のファームウエアの書き換え制御ステップを含み、前記書き換え制御ステップは、前記機器のファームウエアの書き換えの指示に応じて、ファームウエアの書き換えを行うためのスクリプトを外部装置から取得するステップと、前記ファームウエアの書き換えを行うためのスクリプトを実行するステップであって、ファームウエアを外部装置から取得すること、前記機器をファームウエアの書き換えが可能な状態に制御すること、前記取得したファームウエアを前記機器へ転送すること、を含むステップと、前記機器のファームウエアを、前記転送されたファームウエアに書き換えさせるステップと、を含むことを特徴とする。
【発明の効果】
【０００６】
本発明によれば、機器の制御を行うのに有利な技術を提供することができる。
【図面の簡単な説明】
【０００７】
【図１】実施例に係るシステムの構成例。
【図２】実施例に係るシステムの構成例。
【図３】制御装置と機器との間のインタフェースの例。
【図４】ファームウエアアップデートの例を示すタイムチャート。
【図５】異なる仕様のファームウエアアップデートの例。
【図６】実施例に係るコマンド操作の例。
【図７】実施例に係るシステムの構成例。
【図８】実施例に係るシステムの構成例。
【図９】実施例に係るシステムの構成例。
【発明を実施するための形態】
【０００８】
以下に、本発明の好ましい実施の形態を、添付の図面を用いて説明する。
【０００９】
［システム構成］
本実施例のシステム構成の一例について、図１〜図３により説明する。システムは、例えば制御装置１００と、制御装置１００に制御される機器であるセンサボックス２００、インタフェースボックス３００、ＩＯボックス５００及び通信ユニット４００等から構成される。制御装置１００により制御される機器はホスト機器でもクライアント機器でもよい。
【００１０】
制御装置１００は例えばリアルタイムＯＳで動作する処理部（ＣＰＵ１１０）を備えている。制御装置１００のメモリ１２０は、例えばフラッシュメモリのような書き換えが可能なメモリである。メモリ１２０は、ＣＰＵ１１０が実行するＯＳ、スクリプト、ファームウエアと呼ばれるシステムプログラムなどを記憶している。ここでスクリプトにはＪａｖａＳｃｒｉｐｔ（登録商標）等を用いることができる。メモリ１２０はＣＰＵ１１０に内蔵されてもよいし、ＣＰＵ１１０の外部に配置されてもよい。またその両方であってもよい。また制御装置１００はＣＰＵ１１０が処理を行うために、一時的な記憶に使用するＲＡＭ１３０も備えている。ＲＡＭ１３０はＣＰＵ１１０に内蔵されてもよいし、ＣＰＵ１１０の外部に配置されてもよい。またその両方であってもよい。さらに制御装置１００は外部機器とのデータやコマンドを入出力するためのインタフェース部１４０、１５０、１６０を備えている。本実施例では、機器と制御装置１００とは例えばＵＡＲＴを使ってコマンドやデータを送受信することができる。制御装置１００は例えばＮＢ−ＩｏＴやＬＰＷＡなどのＬＴＥ規格で通信を行うことができる通信モジュール１７０を内蔵し、直接クラウドとの間で通信を行うことができるように構成されてもよいし、イーサネット（登録商標）などの有線ＬＡＮに接続できるインタフェース部を備えてもよい。有線ＬＡＮを使う場合は有線ＬＡＮをインターネットに接続して、クラウド６００のサーバとの間での通信を行うようにしてもよい。制御装置１００の電源は内蔵バッテリでもよいし外部から電源を供給されるようにしてもよい。内蔵バッテリで動作する場合には、通信モジュール１７０にウエイクアップ機能を備えることにより、通常は制御装置１００の動作を停止し、ＳＭＳによる通知等の通信を検出したときに起動するようにして省電力化を図ってもよい。また、ＣＰＵのリアルタイムクロック（ＲＴＣ）を使って所定の周期でウエイクアップするようにしたり、外部の機器からの信号に応じて起動・停止をして省電力を図ってもよい。
【００１１】
センサボックス２００はセンサボックス２００を制御するために処理部（ＣＰＵ２１０）を備えており、制御装置１００からのコマンドを実行することができる。ＣＰＵ２１０はファームウエア２１５に格納された命令を実行する。センサボックス２００のターミナル２５０にはセンサモジュールのような外部機器が接続される。センサボックス２００とセンサモジュールとの間のデータの送受信にはＩ２ＣやＳＰＩ等の通信手段を使うことができる。アナログデータを直接出力するセンサをセンサボックス２００に接続する場合は、センサからのアナログデータをＡ／Ｄコンバータ２２０によりデジタルデータに変換し、Ｉ２Ｃなどのバスを介してＣＰＵ２１０へ入力してもよい。Ｄ／Ａコンバータ２３０はセンサ等をアナログ制御する際に使用される。Ａ／Ｄコンバータ２２０やＤ／Ａコンバータ２３０はＣＰＵに内蔵されたものを使用してもよい。ターミナル２５０に接続されるセンサモジュールは、温度センサ、圧力センサ、光センサ、速度センサ、ロータリセンサ、加速度センサなど任意の種類のセンサモジュールでよい。ターミナル２５０には、直接センサを接続することもできる。またセンサボックス２００の内部にセンサ２４０を備えてもよい。ターミナル２５０に複数個のセンサモジュールを接続して、制御装置１００からのコマンドにより所望のセンサモジュールからセンサデータを取得したり、複数のセンサからのセンサデータを多重化してＣＰＵ２１０に提供してもよい。
【００１２】
ＩＯボックス５００はＩＯボックス５００を制御するための処理部（ＣＰＵ５１０）を備えており、制御装置１００からのコマンドを実行することができる。ＣＰＵ５１０はファームウエア５１５に格納された命令を実行する。ＩＯボックス５００のターミナル５５０には外部機器が接続される。ＩＯボックス５００と外部機器との間の信号の入出力制御には処理部（ＣＰＵ５１０）のＩＯを使うことができる。ＩＯ入出力にはリレーや光ＭＯＳＦＥＴ（フォトモス）を経由する構成でもよい。ターミナル５５０に接続される外部機器は、音響出力デバイスやスイッチなど任意の種類の機器でよい。ＩＯボックス５００にはターミナル５５０からアナログ信号が入力された場合にデジタル信号に変換するＡ／Ｄコンバータ５２０や所定のアナログ値を出力するためのＤ／Ａコンバータ５３０を内蔵してもよい。Ａ／ＤコンバータやＤ／ＡコンバータはＣＰＵ５１０に内蔵されたものを使用してもよい。外部機器のデータやＡ／Ｄコンバータ５２０でデジタル化されたデータは、Ｉ２Ｃなどを介してＣＰＵ５１０へ入力され、ＣＰＵ５１０により処理されて、例えばＵＡＲＴを介して通信可能に接続された制御装置１００へ出力される。制御装置１００との間でＳＰＩ等を用いてデータやコマンドを転送してもよい。
【００１３】
インタフェースボックス３００は、例えばＲＳ−４８５に対応したインタフェースを有し、ＲＳ−４８５によりデータを入出力するＰＬＣを外部機器としてインタフェースボックス３００に接続して、制御装置１００との間でＵＡＲＴを介して通信を行うことができる。インタフェースボックス３００は制御のための処理部（ＣＰＵ３１０）を備えており、制御装置１００からのコマンドを実行することができる。インタフェースボックス３００を介して制御装置１００からのコマンドをＰＬＣに与えて、ＰＬＣの制御をすることができる。インタフェースボックス３００はＲＳ−４８５に対応するタイプの他に、ＲＳ−２３２ＣやＲＳ−４２２、ＵＳＢ等を使用する場合はその規格にあったタイプのものを用意する。
【００１４】
通信ユニット４００は、例えばＷｉＦｉやブルートゥース（Ｂｌｕｅｔｏｏｔｈ）（登録商標）などに対応したＲＦモジュール４１０と送受信のためのアンテナ４２０を備える。制御装置１００との間ではＵＡＲＴにより通信を行い、ＷｉＦｉなどを使い外部装置との間で無線によるデータ通信を行うことができる。通信ユニット４００はゲートウエイ４５０を介して又はアクセスポイント等を介して外部のクラウド６００のサーバに接続することができる。通信ユニット４００は制御のための処理部（ＣＰＵ）を備えており、制御装置１００からのコマンドを実行することができる。
【００１５】
センサボックス２００、インタフェースボックス３００、ＩＯボックス５００、通信ユニット４００を例に制御装置１００に接続されて、制御される機器について説明したが、機器の種類はこれに限られない。
【００１６】
制御装置１００に各種の機器が接続される例を図２により説明する。制御装置１００、センサボックス２００、インタフェースボックス３００及び通信ユニット４００等の機器は制御装置１００に対してコネクタにより直接接続される構造でもよい。制御装置１００とそれぞれの機器との間は所定の形状のコネクタにより直接接続されてもよいし、ケーブルを使って接続することもできる。図２に示される制御装置１００やセンサボックス２００等は６面体の形状をしているが、形状はこれに限らない。またインタフェースボックス３５０のように用途に合わせたターミナルを持つ機器を別に用意して接続してもよい。制御装置１００は、例えば図３に示されるＩＯポートを使って所定の機器を識別したり選択できる。制御装置１００はセンサボックス２００やインタフェースボックス３００、３５０とを接続することにより、制御装置１００と機器間及び機器と接続された外部機器との間で柔軟にデータの入出力を行うことができる。
【００１７】
制御装置１００と各種のボックスとの間の物理的な接続に用いるコネクタは誤接続を防ぐためにセンサボックス２００とインタフェースボックス３００、ＩＯボックス５００、通信ユニット４００等、制御装置１００に接続される機器によって異なる形状のコネクタを使うことができる。また、同じ形状のコネクタを使ってもよい。また、制御装置１００と機器との間のデータやコマンドのやりとりはフォーマットを共通化してＵＡＲＴを使って行うとよい。ソフトウエア的にも、制御装置１００と機器間のコマンドを共通に定義しておくことにより、機器間のソフトウエア終端をすることで機器を交換することや増設することが容易になる。
【００１８】
制御装置１００と制御装置１００に接続される機器との間での通信に使用されるインタフェースの例を図３に示す。ＵＡＲＴはデータやコマンドに使用する。ＳＰＩやＩ２Ｃは主にセンサモジュールとの通信に用いられるが、データやコマンドの通信に用いることもできる。ＡＤＣ（Ａ／Ｄコンバータ）はＡ／Ｄコンバータの入力又は出力であって、アナログセンサ入力等に用いられる。ＤＡＣ（Ｄ／Ａコンバータ）はＤ／Ａコンバータの入力又は出力であって、アナログセンサ制御等に用いられる。ＩＯポートは機器の識別や外部のスイッチからの入力、機器のＣＰＵの制御などに用いられる汎用ＩＯ（ＧＰＩＯ）である。このように機器と制御装置１００との間の信号を電気的にも共通化することにより制御装置１００と他の機器との間のインタフェースを共通にして取扱いを容易にできる。制御装置１００及び機器の回路は直接又は間接にＩＯポート等と接続される。間接的な接続にはゲートやスイッチ、カプラを介した接続がある。間接的に接続することによりＣＰＵに過大な電圧が印加されることを防ぎ、ＣＰＵを保護することができる。
【００１９】
［機器の制御例  １．ファームウエアの更新例］
ここでは図４を用いてセンサボックス２００やインタフェースボックス３００等の機器のファームウエアの更新について説明する。
【００２０】
機器としてセンサボックス２００を例として、センサボックス２００のファームウエア２１５を、制御装置１００により更新する例を説明する。センサボックス２００のファームウエアを更新する必要が発生した場合、クラウド６００から、更新に必要なスクリプトのある場所を示すＵＲＬを含む指示が制御装置１００へ、ＳＭＳ（ショートメッセージ）又はＰＵＳＨ通知などを使って通知される（Ｓ１０１）。この指示は例えばユーザがセンサボックス２００の内部のデバイスを変更したことによりファームウエアを更新したいときなどにユーザにより行われてもよい。また、センサボックス２００のメーカーがファームウエアを更新したいときでもよい。
【００２１】
制御装置１００は通信モジュール１７０を介して、ＵＲＬを格納したＳＭＳメッセージを受信し、メッセージからＵＲＬを取り出して、通知されたＵＲＬへアクセスする（Ｓ１０２）。以下の説明ではメッセージにＵＲＬを格納しているが、メッセージにＵＲＬを格納するのに代えて、予め制御装置１００にＵＲＬを格納しておき、メッセージにはＵＲＬの代わりに識別コードを格納して送信し、受信したメッセージの識別コードに基づいて制御装置１００内のＵＲＬを選択してアクセスするようにしてもよい。制御装置１００によりアクセスされたＨＴＴＰサーバ（不図示）は、アクセスに応答して制御装置１００が更新のために実行するスクリプトを制御装置１００へＨＴＴＰレスポンスとして送信する（Ｓ１０３）。クラウドによるサービスを利用することにより、クラウドの指定されたＵＲＬには予めユーザがファームウエアの書き換えを制御するためのスクリプトを作成して格納しておくことができる。制御装置１００は受信したＨＴＴＰレスポンスに含まれるスクリプトをメモリ１２０に格納する。制御装置１００のメモリ１２０には初期状態においてスクリプトが格納されていなくてもよい。また新しいスクリプトは、メモリ１２０に格納された古いスクリプトに上書きされてもよい。スクリプトを格納するメモリの容量は、制御装置１００が実行するスクリプトの分でよく、複数のスクリプトを格納する必要はない。
【００２２】
制御装置１００はスクリプトを実行することにより、スクリプトに含まれているＵＲＬへアクセスし、制御装置１００はクラウド６００上のサーバ（不図示）に対してセンサボックス２００の新しいファームウエアを要求することができる（Ｓ１０４）。この要求を受けて、クラウド６００のサーバはファームウエアを制御装置１００へ転送する（Ｓ１０５）。制御装置１００はサーバから受信したファームウエアをメモリ１２０又は１３０に記憶する。さらにＣＰＵ１１０はスクリプトを実行して、センサボックス２００のＣＰＵ２１０をローダーモードに設定する。ローダーは、ＣＰＵがフラッシュメモリに格納されているファームウエアを書き換えるためのプログラムのことである。ローダーモードはローダーが起動されたモードのことである。ＣＰＵのローダーモードへの切り換えはＣＰＵの種類に応じて異なるが、ＣＰＵのハードウエアピン制御による切り換えを例に以下に説明する。ローダーモードへの切り換えは例えばＣＰＵ２１０のモードピンをＬレベルにした状態で、ＣＰＵのリセットピンをＬからＨレベルに変化してＣＰＵ２１０をリセットすることにより実行できる。ローダーモードにされたＣＰＵ２１０ではローダーが起動されてファームウエア２１５を書き換えることができる状態にされる（Ｓ１０６）。クラウド６００からの制御装置１００へのファームウエアの転送と、ローダーを起動してファームウエアを書き込みできる状態にする制御とは順序が逆になってもよい。ＣＰＵ２１０のモードピンやリセットの制御は制御装置１００のＩＯポートから行うことができる。
【００２３】
後述するが、ローダーを起動する制御は、センサボックス２００のＣＰＵ２１０のタイプにより異なる。このためにクラウド６００のサーバにＣＰＵの機種に適合したスクリプトを用意しておく。スクリプトは所定のＵＲＬに予めユーザが用意しておくことができる。スクリプトはＣＰＵの種類等に応じて異なるものが必要になるので、制御用のスクリプトを仕様に合わせたテンプレートとして用意しておき、ユーザがスクリプトを作成できるようにしておくとよい。
【００２４】
ローダーが起動されるとセンサボックス２００のＩＯポートに起動ステータスが表示される。起動ステータスが出力されたことを確認して、つまりローダーが起動されたことを確認してから制御装置１００はファームウエアの転送（ＤＬ）の開始を示すＤＬコマンドを送信する（Ｓ１０７）。起動の確認は、制御装置１００がセンサボックス２００へＵＡＲＴを介して確認コマンドを送信し、ＯＫのレスポンスが得られることによって行うタイプのＣＰＵもあるが、ＣＰＵのタイプによっては、制御装置１００はステータスの確認をせずに、リセットからの時間経過をみてＤＬコマンドを送信することもできる。ＤＬコマンドを受信したセンサボックス２００は、準備完了を示すＯＫレスポンスを制御装置１００へ送信する。制御装置１００はこのＯＫレスポンスを受信してからファームウエアの転送を行う（Ｓ１０８）。ファームウエアの転送を受けて書き換えが終了するとセンサボックス２００からコマンド応答Ｓ１０９が送信される。コマンド応答Ｓ１０９を受信した制御装置１００は、ＣＰＵ２１０のモードピンを例えばＨレベルにした状態でリセットピンをＬからＨレベルにすることにより、センサボックスのＣＰＵ２１０をローダーモードからプログラムを実行するメインモードに切り替える（Ｓ１１０）。その後、制御装置１００はセンサボックス２００のメインモードが起動されたことをＩＯポートを監視することにより確認する（Ｓ１１１）。メインモードが起動されたことが確認にされたのに応じてファームウエアの書き換えの完了又は失敗の報告が制御装置１００からクラウド６００のサーバへ通知される（Ｓ１１２）。
【００２５】
次に図５によりローダーの起動の仕方が異なるＣＰＵを有する機器での、ローダーの起動について説明する。ローダーの起動の仕方として仕様ＡのタイプのＣＰＵと仕様ＢのタイプのＣＰＵを例に挙げて説明をする。
仕様Ａ：ローダーを起動するためにＣＰＵのハードウエアピン（例はモードピンとリセットピン）を制御することによりローダーモードにするタイプ。このタイプのＣＰＵを使う場合は制御装置１００に接続される機器のコネクタの所定のＩＯポートにＣＰＵのモードピン及びリセットピンなど書き換えに必要なピンを接続しておく。
仕様Ｂ：コマンド（ソフトウエア）によりＣＰＵのローダーを起動する設定にできるタイプ。このタイプのＣＰＵを使う場合は、起動に必要なコマンドを入力するためのＣＰＵのピンを機器のコネクタの所定のＵＡＲＴ等の通信ポートと接続しておく。ここでＣＰＵのローダーを起動するコマンドは仕様によって異なるが、スクリプトを書き換えることにより任意のコマンドに対応することができる。
【００２６】
先に説明したように、ユーザ等の指示により送信されるＳＭＳ等のメッセージに格納されたＵＲＬの示す場所はＨＴＴＰサーバの所定の格納場所が含まれている。制御装置１００によりアクセスされたＵＲＬからは、所定のスクリプトが制御装置１００へ送信される。したがって、メッセージに格納されるＵＲＬは、仕様ＡのときはＵＲＬ１、仕様ＢのときはＵＲＬ２のように書き分けられることができる。制御装置１００に接続されているセンサボックス２００に内蔵されているＣＰＵが仕様Ａの場合は、制御装置１００は指示されたＵＲＬ１へアクセスして仕様Ａを更新するためのシステムＡ  ＦＷ更新用シーケンスが記述されたスクリプトＡを受信し、メモリ１２０に格納する。制御装置１００（のＣＰＵ１１０）は受信したスクリプトＡを実行して、ＣＰＵ２１０のモードピンとリセットピンを制御してローダーモードに切り替える（Ｓ１０６）。ハードウエアピンを制御することは、センサボックス２００のコネクタの所定のピンに接続されているＣＰＵ２１０のモードピンとリセットピンに対して制御装置１００の対応するＩＯポートから所定のレベルを出力することにより行われる。ＣＰＵが仕様Ｂの場合は、制御装置１００は指示されたＵＲＬ２にアクセスしてシステムＢ  ＦＷ更新用シーケンスが記述されたスクリプトＢを受信する。制御装置１００のＣＰＵ１１０は受信したスクリプトを実行し、ＣＰＵ２１０にコマンドを送信してセンサボックス２００のＣＰＵ２１０のローダーを起動する。
【００２７】
制御装置１００のメモリ１２０は、ファームウエアを更新したい機器のＣＰＵのためのＦＷ更新用シーケンスが記述されたスクリプトを格納できればよく、複数の異なるマイコンの仕様に対する制御のためのスクリプトを複数記憶しておく必要はない。また、スクリプトはユーザが書き換え可能なサーバ上に格納できるようしておくとよい。そうすればセンサボックス２００等の機器が変更された場合や、ＣＰＵが変更された場合でも、ユーザがスクリプトを書き換えてファームウエアの更新に対応することができる。
【００２８】
また本実施例はユーザが基本的な機能を持つアプリケーションプログラムを利用して制御したい場合や拡張された機能を持つアプリケーションプログラムを利用したい場合のように、ファームウエアを使い分けたい場合にも対応できる。例えばＵＲＬ３には基本機能を実行するのに必要なファームウエア更新用シーケンスを用意し、ＵＲＬ４には拡張機能を実行するのに必要なファームウエア更新用シーケンスを用意しておく。制御装置１００へのＳＭＳのメッセージ等に含まれるＵＲＬを、ユーザが必要なファームウエアに応じたスクリプトのＵＲＬとする。これにより制御装置１００はスクリプトを入手して実行することにより所望のファームウエアを入手してセンサボックス２００のファームウエアを書き換えることができる。
【００２９】
センサボックス２００を例にファームウエアの書き換えについて説明したが、制御装置１００に接続される機器はセンサボックス２００に限られず、インタフェースボックス３００などいずれの種類の機器でもよい。
【００３０】
本発明では、多種類の機器が使用される場所でも、制御装置１００は複数種類のファームウエア及び書き換えの手順を記憶しておく必要がない。制御装置に接続される機器の変更に対してはファームウエアを書き換えるためのスクリプトを制御装置１００がアクセスできるクラウドの所定の場所に格納しておく。このために、機器の変更などに柔軟に対応することが容易になる。また指示をＳＭＳやＰＵＳＨ通知により行うことにより、多数の機器のファームウエアの書き換えを一斉に行うことができる。
【００３１】
［機器の制御例  ２．コマンドによる制御例］
次に図６により、クラウド６００から機器にコマンドを送信し、機器にコマンドを実行させて応答をクラウド６００で受信する例について説明をする。
【００３２】
機器としてセンサモジュールが接続されたセンサボックス２００を例に説明をする。所定のＵＲＬにセンサボックス２００からデータを入手するための制御を行うスクリプトを格納しておく。センサボックス２００からデータを入手したい場合、所定のＵＲＬを含む指示メッセージが、制御装置１００へＳＭＳまたはＰＵＳＨ通知などを使って送信される（Ｓ２０１）。指示はセンサデータを入手したいユーザが行ってもよいし、クラウド６００にあるデータ収集サーバがおこなってもよい。制御装置１００は通信モジュール１７０を介してＵＲＬが格納されたメッセージを受信し、メッセージからＵＲＬを取り出して、通知されたＵＲＬへアクセスする（Ｓ２０２）。アクセスされたクラウド６００のＨＴＴＰサーバ（不図示）は、アクセスに応答してセンサボックス２００からデータを取得するためのスクリプトを、ＨＴＴＰレスポンスとして制御装置１００へ送信する（Ｓ２０３）。制御装置１００は受信したスクリプトをメモリ１２０に格納する。スクリプトはメモリ１２０に上書きされてもよい。制御装置１００はスクリプトを実行して、センサボックス２００へセンサデータを読み出すコマンドを送信する（Ｓ２０４）。センサボックス２００のＣＰＵ２１０はコマンドを受信して、指示されたデータをセンサモジュールから取得する処理を行い、センサデータを制御装置１００へ送信する（Ｓ２０５）。制御装置１００は受信したセンサデータを所定の通信フォーマットに変換する処理を行い、スクリプトによって指示されたＵＲＬへデータを処理した結果を送信する（Ｓ２０６）。ＵＲＬで指定されたクラウド上のサーバはデータを収集し、分析を実行してもよい。
【００３３】
センサボックス２００からセンサデータを取得することを例に説明したが、インタフェースボックス３００を制御することもできる。インタフェースボックス３００を制御するスクリプトを入手するために、スクリプトの有るＵＲＬを制御装置１００へＳＭＳ等で送信し、クラウド６００からスクリプトを取得させる。制御装置１００はスクリプトを実行することにより、制御装置１００からインタフェースボックス３００へコマンドを送信して、インタフェースボックス３００を制御する。また、センサボックス２００と通信ユニット４００を制御装置１００に接続して、センサボックス２００から取得したセンサデータを、通信ユニット４００へ送信し、通信ユニット４００を介して外部装置へ送信することもスクリプトによる制御により行うことができる。
【００３４】
ユーザが制御装置１００を介してセンサボックス２００等の機器を制御するためのスクリプトを作成し、クラウドの所定のＵＲＬに格納しておく。ＵＲＬが格納されたＳＭＳ等でスクリプトを受信する指示を制御装置１００へ送信することにより機器の制御を行ったりデータ収集を行うことができる。
【００３５】
以上のように、本発明では、制御装置１００は機器の制御手順を予め記憶しておく必要はなく、利用する機器の種類が変わっても対応することが容易である。またユーザがクラウドに格納するスクリプトを書き換えることにより柔軟に機器の制御を行うことができる。そのため、特定の機器専用のソフトウエアが不要になり、センサの種類やファームウエアバージョンの変更をしたり、アクチュエータ等のハードウエアが交換されたり、ユーザが最初に設定した条件と違う条件でデータを収集したい場合や機器に対する制御をユーザが変更したい場合にも、制御を簡単に変更することができる。また、ユーザが遠隔にいてもＳＭＳやＰＵＳＨ通知等を使って機器の制御を容易に行うことができる。
【００３６】
［機器の制御例  ３．データ通信例］
図７により、複数の機器と制御装置１００との間の通信と機器の制御について説明をする。図７は制御装置１００にセンサボックス２００、インタフェースボックス３００、通信ユニット４００が接続された例を示す。制御装置１００がスクリプトを受信する指示を受信し、指示に含まれるＵＲＬへアクセスしてスクリプトを入手する。制御装置１００のＣＰＵ１１０がスクリプトを実行することにより、センサボックス２００からセンサデータを取得すること、インタフェースボックス３００を介して外部機器を制御し、データを取得すること、通信ユニット４００を介して外部のクラウド６００上のサーバと通信を行うことができる。
【００３７】
図８により、制御装置１００による機器の利用の例を説明する。図８（Ａ）は制御装置１００にセンサボックス２００と通信ユニット４００が接続されている例を示す。この例では、センサモジュール２６０からのセンサデータをセンサボックス２００で取得し、制御装置１００の通信モジュール１７０によって外部のクラウド６００へ送信することができる。
【００３８】
制御装置１００の動作を制御するスクリプトはクラウドの所定のＵＲＬの場所に格納される。まず制御装置１００はこの動作を制御するためのスクリプトを取得する旨の通知を、ＳＭＳやＰＵＳＨ通知等で受信する。制御装置１００はメッセージに格納されているＵＲＬへアクセスして、ＵＲＬの場所にあるスクリプトを取得し、メモリ１２０に格納する。スクリプトはメモリ１２０に上書きされてもよい。制御装置１００はメモリ１２０に格納されたスクリプトを実行する。センサモジュール２６０はセンサボックス２００のＳＰＩ端子又はＩ２Ｃ端子に接続されてもよい。センサからのアナログデータ等は、ＡＤＣ（Ａ／Ｄコンバータ）端子に入力される。また、アナログ信号によるセンサ制御等が必要な場合は、ＤＡＣ（Ｄ／Ａコンバータ）端子と接続される。センサボックス２００と制御装置１００との間はＵＡＲＴ及び汎用ＩＯポートとで接続される。ＵＡＲＴはコマンドやデータ通信に用いることができる。汎用ＩＯはセンサボックスの識別や制御に用いることができる。センサボックス２００への制御コマンドはセンサ特有のものを定義しておくことができる。例えば、センサデータの読出し、センサの条件設定（サンプリング周期、測定レンジの変更等）、センサのキャリブレーションの実行、センサの選択、センサボックス２００内での処理のための各種演算の指令、データの平滑化や積分などのセンサデータに対する処理アルゴリズムの選択や設定などがある。スクリプトの実行により、制御装置１００はセンサボックス２００を選択し、センサボックス２００へ制御コマンドを発行する。センサボックスは制御コマンドに応じてＩ２Ｃを介してセンサモジュール２６０からセンサデータを取得する。センサからのアナログデータをＡ／Ｄコンバータ２２０によりデジタル化して取得してもよい。センサボックス２００はセンサデータに対する処理を行って、例えばＵＡＲＴにより制御装置１００へセンサデータを送信する。制御装置１００でセンサデータが受信されると、制御装置１００によってセンサデータは外部へ送信されるために定義されたフォーマットに変換されて、制御装置１００から直接ＬＡＮを介して又は通信モジュール１７０を介してクラウド６００へ送信される。
【００３９】
図８（Ｂ）は制御装置１００にＲＳ−４８５用のインタフェースボックス３００と通信ユニット４００が接続されている例を示す。インタフェースボックス３００にはＰＬＣ７００がＲＳ−４８５により接続されている。この例では制御装置１００によりＰＬＣ７００を制御し、得られたデータを、通信ユニット４００を介してクラウドへ送信する。
【００４０】
制御装置１００の動作を制御するスクリプトが所定のＵＲＬの場所に格納されている。まず、スクリプトを取得する指示が、制御装置１００においてＳＭＳやＰＵＳＨ通知等により受信される。制御装置１００はメッセージに格納されたＵＲＬを取り出して、ＵＲＬへアクセスして、格納されているスクリプトを取得しメモリ１２０に格納する。スクリプトはメモリ１２０に上書きされてもよい。制御装置１００はメモリ１２０に格納したスクリプトを実行する。制御装置１００とインタフェースボックス３００とはコマンドとデータ通信のためのＵＡＲＴ及び汎用ＩＯによって接続されてもよい。汎用ＩＯはインタフェースボックス３００の制御や識別のために用いることができる。制御装置１００と通信ユニット４００とはＵＡＲＴ、ＳＰＩ、汎用ＩＯなどで接続できる。インタフェースボックス３００はＵＡＲＴとＲＳ−４８５との間のデータを相互に変換することができる。スクリプトの実行により、制御装置１００から発行されたＰＬＣ制御データはインタフェースボックスへ送信され、インタフェースボックス３００でＲＳ−４８５に変換されてＰＬＣ７００へ転送される。ＰＬＣ７００からのデータはインタフェースボックス３００でＵＡＲＴに変換されて制御装置１００へ転送される。データは制御装置１００において外部へ送信するために定義されたフォーマットに変換されて通信ユニットへ送信される。制御装置１００は通信ユニット４００をスクリプトにより制御して、クラウド６００へデータを送信させる。スクリプトを実行してＰＬＣ７００が所定の状態になったときにＰＬＣ７００が送信するデータを取得して、クラウドへ送信するように制御することもできる。
【００４１】
図８（Ｃ）はブルートゥースでデータを送受信できるＢＬＥモジュールにセンサが搭載されたＢＬＥセンサ８００からのデータを通信ユニット４００−１で受信し、制御装置１００の制御の下で通信ユニット４００−２からクラウドへ送信する例である。通信ユニット４００−１と制御装置１００とはＵＡＲＴと汎用ＩＯとで接続される。ＵＡＲＴはコマンド制御とデータ通信に使用される。汎用ＩＯは通信ユニット４００−１の識別に使われる。また通信ユニット４００−２と制御装置１００とは、ＵＡＲＴ、ＳＰＩ、汎用ＩＯで接続されてもよい。通信ユニット４００−１はＢＬＥ通信機能を有し、ＢＬＥセンサ８００と通信することができる。制御装置１００の動作を制御するスクリプトが所定のＵＲＬの場所に格納されている。ＳＭＳ又はＰＵＳＨ通知の指示により、クラウド６００から制御装置１００がスクリプトを受信する。スクリプトはメモリ１２０に格納される。スクリプトは前のスクリプトがあるときは、上書きされてもよい。制御装置１００はスクリプトを実行して、通信ユニット４００−１へコマンドを送信する。コマンドはＢＬＥセンサ８００へ転送され、例えばＢＬＥセンサ８００からデータ読出しを指示する。ＢＬＥセンサ８００からのデータは通信ユニット４００−１で受信されて、制御装置１００へ転送される。制御装置１００は受信したデータを外部へ送信するためのフォーマットに変換して、通信ユニット４００−２へ送信し、通信ユニット４００−２から外部のクラウド６００へ送信される。これらの制御は制御装置１００においてスクリプトが実行されることにより実行される。
【００４２】
この例でも、制御装置１００は機器の制御手順を制御指示より前に予め記憶しておく必要はなく、将来利用する機器の種類が変わっても、利用する機器を制御するスクリプトを取得するだけで制御することができる。また機器を組み合わせることにより収集したデータをいろいろな形式で外部装置へ提供することができる。
【００４３】
［機器の制御例  ４．入出力の例］
図９により、ＩＯボックス５００を使って入出力を行う例について説明する。図９（Ａ）の例では、制御装置１００と、出力手段９００が接続されているＩＯボックス５００とが接続されている。出力手段９００はブザーのような音響出力でもＬＥＤのような光出力でもよい。ＩＯボックス５００と制御装置１００との間は汎用ＩＯで接続する。制御装置１００が実行するスクリプトはＳＭＳやＰＵＳＨ通知の指示に応じてクラウド６００から取得される。制御装置１００はスクリプトを実行して、汎用ＩＯを介してＩＯボックス５００を制御して出力手段９００から音響等を出力することができる。
【００４４】
図９（Ｂ）の例では、制御装置１００と入力手段としてスイッチ９１０が接続されているＩＯボックス５００とが接続されている。ＩＯボックス５００と制御装置１００との間は汎用ＩＯで接続する。この例ではスイッチ９１０はＩＯボックス５００の汎用ＩＯと接続されて、ＩＯボックス５００の内部をスルーして、制御装置１００の汎用ＩＯに入力されているとする。制御装置１００が実行するスクリプトはＳＭＳやＰＵＳＨ通知の指示に応じてクラウド６００から取得される。制御装置１００はスクリプトを実行して、ＩＯボックス５００に接続されているスイッチ９１０の状態を直接監視することができる。これらの例でも受信されたスクリプトはメモリ１２０に上書きして格納されてもよい。
【００４５】
以上のように、本発明では、制御装置１００は機器の制御のためのスクリプトを予め記憶しておく必要はなく、制御のためのスクリプトを取得する指示の都度、クラウド６００からスクリプトを取得する。クラウドによるサービスを利用して、ユーザがスクリプトを作成して所定のＵＲＬに格納し、スクリプトに基づいて制御を柔軟に行うこともできる。将来利用する機器の種類が変わっても、利用する機器を制御するスクリプトを作成してクラウドに格納しておけば、制御装置１００が指示に応じてスクリプトを取得することにより機器の制御をすることができ、機器が多種、多数使用されていてもニーズに応じて制御を実行することができる。
【００４６】
本発明は、以上説明した様々な制御を任意に組み合わせて使用することも含む。例えば、センサボックス２００からデータを収集し、通信ユニット４００からＷｉＦｉで外部装置へ送信する組み合わせにおいて、センサボックスや通信ユニットのファームウエアの書き換えを行うことができる。
【符号の説明】
【００４７】
１００：制御装置、１１０：ＣＰＵ、１２０：メモリ、１３０：ＲＡＭ、１４０、１５０、１６０：インタフェース部、１７０：通信モジュール、２００：センサボックス、２１０：ＣＰＵ、２１５：ＦＷ（ファームウエア）、２２０：Ａ／Ｄコンバータ、２３０：Ｄ／Ａコンバータ、２４０：センサ、２５０：ターミナル、３００：インタフェースボックス、３１０：ＣＰＵ、３１５：ＦＷ（ファームウエア）、３２０：ドライバ／レシーバ、３３０：インタフェース部、４００：通信ユニット、４１０：ＲＦモジュール、４２０：アンテナ、４５０：ゲートウエイ、５００：ＩＯボックス、５１０：ＣＰＵ、５１５：ＦＷ（ファームウエア）５２０、：Ａ／Ｄコンバータ、５３０：Ｄ／Ａコンバータ、５５０：ターミナル、６００：クラウド
【図１】
2019219873.tif 000003
【図２】
2019219873.tif 000004
【図３】
2019219873.tif 000005
【図４】
2019219873.tif 000006
【図５】
2019219873.tif 000007
【図６】
2019219873.tif 000008
【図７】
2019219873.tif 000009
【図８】
2019219873.tif 000010
【図９】
2019219873.tif 000011
【手続補正書】
【提出日】令和1年5月29日(2019.5.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
制御装置と通信可能に接続された機器を、前記制御装置によって制御する方法であって、
前記制御する方法は、前記機器のファームウエアの書き換え制御ステップを含み、前記書き換え制御ステップは、
機器のファームウエアの書き換えの指示を受信するステップであって、前記書き換えの指示がファームウエアの書き換えを行うためのスクリプトの取得先を識別する第１の取得先情報を含む、受信するステップと、
前記第１の取得先情報に基づいて、前記ファームウエアの書き換えを行うためのスクリプトを外部装置から取得するステップと、
前記ファームウエアの書き換えを行うためのスクリプトを実行して、ファームウエアを外部装置から取得すること、前記機器をファームウエアの書き換えが可能な状態に制御すること、前記取得したファームウエアを前記機器へ転送すること、前記機器のファームウエアを、前記転送されたファームウエアに書き換えさせることを実行するステップと、を含む方法。
【請求項２】
前記制御する方法は、前記機器からのデータの読出し制御ステップをさらに含み、
前記読出し制御ステップは、データの読出しの指示を受信するステップであって、前記読出しの指示はデータの読出しを行うためのスクリプトの取得先を識別する第２の取得先情報を含む、受信するステップと、
前記第２の取得先情報に基づいて、データの読出しを行うためのスクリプトを外部装置から取得するステップと、
前記データの読出しを行うためのスクリプトを実行することにより前記機器からデータを読出し、前記データを外部装置へ出力するステップと、
を含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記機器からのデータは、前記機器に接続される外部機器のデータを含むことを特徴とする請求項２に記載の方法。
【請求項４】
前記指示はＳＭＳ（ショートメッセージ）又はＰＵＳＨ通知によることを特徴とする請求項１乃至３のいずれか１項に記載の方法。
【請求項５】
前記ファームウエアを前記外部装置から取得することは、前記機器において利用できる複数のファームウエアの内の所定のファームウエアを指定して取得することを含むことを特徴とする請求項１乃至４のいずれか１項に記載の方法。
【請求項６】
前記制御する方法は、前記制御装置と通信可能に接続された通信ユニットを介して外部装置との通信を行うステップさらに含むことを特徴とする請求項１乃至５のいずれか１項に記載の方法。
【請求項７】
処理部と、
メモリと、
機器と通信可能に接続されるインタフェース部と、を備える制御装置であって、
前記処理部は前記機器のファームウエアの書き換えを制御し、
前記書き換えの制御は、
前記処理部がファームウエアの書き換えを行うためのスクリプトの取得先を識別する第１の取得先情報を含む前記機器のファームウエアの書き換えの指示を受信し、
前記処理部が前記第１の取得先情報に基づいて、前記機器のファームウエアの書き換えを行うためのスクリプトを外部装置から取得し、
前記処理部が前記機器のファームウエアの書き換えを行うためのスクリプトを実行することにより、
ファームウエアを外部装置から取得すること、前記機器をファームウエアの書き換えが可能な状態に制御すること、前記取得したファームウエアを前記機器へ転送すること、前記機器のファームウエアを、前記転送されたファームウエアに書き換えさせること、を含むことを特徴とする
制御装置。
【請求項８】
前記処理部は、さらに前記機器からのデータの読出しを制御し、前記データの読出しの制御は、
前記処理部がデータの読出しを行うためのスクリプトの取得先を識別する第２の取得先情報を含むデータの読出しの指示を受信し、
前記処理部が前記第２の取得先情報に基づいてデータの読出しを行うためのスクリプトを外部装置から取得し、前記データの読み出しを行うためのスクリプトを実行することにより、
前記機器からデータを読出し、前記読み出されたデータを、前記インタフェース部を介して外部装置へ出力すること、を含むことを特徴とする請求項７に記載の制御装置。
【請求項９】
前記機器からのデータは、前記機器に接続される外部機器からのデータを含むことを特徴とする請求項８に記載の制御装置。
【請求項１０】
前記指示はＳＭＳ（ショートメッセージ）又はＰＵＳＨ通知によることを特徴とする請求項７乃至９のいずれか１項に記載の制御装置。
【請求項１１】
前記ファームウエアを外部装置から取得することは、前記機器において利用可能な複数のファームウエアの内の所定のファームウエアを指定して取得することを含むことを特徴とする請求項７乃至１０のいずれか１項に記載の制御装置。
【請求項１２】
前記処理部は、前記インタフェース部と通信可能に接続された通信ユニットを介して外部装置との通信を行うことを特徴とする請求項７乃至１１いずれか１項に記載の制御装置。
【請求項１３】
制御装置と、
前記制御装置と通信可能に接続された機器と、を含むシステムであって、
前記制御装置は前記機器のファームウエアの書き換え制御を行うことができ、前記書き換え制御は、
前記制御装置が前記機器のファームウエアの書き換えを行うためのスクリプトの取得先を識別する第１の取得先情報を含む、前記機器のファームウエアの書き換えの指示を受信し、
前記制御装置が前記第１の取得先情報に基づいて前記機器のファームウエアの書き換えを行うためのスクリプトを外部装置から取得し、
前記制御装置が前記ファームウエアの書き換えのためのスクリプトを実行することにより、
ファームウエアを外部装置から取得すること、前記機器をファームウエアの書き換えが可能な状態に制御すること、前記取得したファームウエアを前記機器へ転送すること、前記機器のファームウエアを、前記転送されたファームウエアに書き換えさせること、を含み、
前記機器は、前記機器のファームウエアを前記転送されたファームウエアに書き換えるシステム。
【請求項１４】
前記制御装置は、さらに前記機器からデータの読出しを行うことができ、前記データの読出しは、
データの読出しを行うためのスクリプトの取得先を識別する第２の取得先情報を含むデータの読出しの指示を受信し、
前記第２の取得先情報に基づいてデータの読出しを行うためのスクリプトを外部装置から取得し、前記データの読出しを行うためのスクリプトを実行することにより前記機器からデータを読出し、前記読出したデータを外部装置へ出力すること、を含むことを特徴とする請求項１３に記載のシステム。
【請求項１５】
前記機器からのデータは前記機器に接続される外部機器からのデータを含むことを特徴とする請求項１４に記載のシステム。
【請求項１６】
前記指示はＳＭＳ（ショートメッセージ）又はＰＵＳＨ通知によることを特徴とする請求項１３乃至１５のいずれか１項に記載のシステム。
【請求項１７】
前記ファームウエアを外部装置から取得することは、前記機器において利用可能な複数のファームウエアの内の指定された所定のファームウエアを外部装置から取得することを含むこと特徴とする請求項１３乃至１６のいずれか１項に記載のシステム。
【請求項１８】
前記制御装置と通信可能に接続された通信ユニットをさらに備え、前記制御装置は前記通信ユニットを介して外部装置との通信を行うことを特徴とする請求項１３乃至１７のいずれか１項に記載のシステム。