(57)【要約】【課題】制御対象機器の通信機能を制御して当該制御対象機器を制御する命令を受け付けたり当該制御対象機器から情報を出力したりさせるソフトウェアを簡易に生成する。【解決手段】利用者端末１０の入力情報受付部１１は、制御対象機器の通信機能を制御するためのソフトウェアを生成するのに用いられる情報を入力可能な複数の画面として、予め定められた複数の機器の中から制御対象機器の選択を受け付けるための第１画面、選択された制御対象機器に対して実行される操作の種類の選択を受け付けるための第２画面、選択された操作のためのデータをソフトウェアが搭載される制御部が送受信する際に使用されるインタフェースの設定内容の入力を受け付けるための第３画面を、予め定められた順番で遷移させて表示する。【選択図】図４
2018055629.tif 000002
【特許請求の範囲】
【請求項１】
制御対象機器の通信機能を制御するためのソフトウェアを提供する方法であって、
前記ソフトウェアを生成するのに用いられる情報を入力可能な複数の画面であって、予め定められた順番で遷移して表示手段に表示される複数の画面のうち、予め定められた複数の機器の中から前記制御対象機器の選択を受け付けるための第１画面を表示するステップと、
表示された前記第１画面上で、前記制御対象機器の選択を受け付けるステップと、
前記複数の画面のうち、選択された前記制御対象機器に対して実行される操作の種類の選択を受け付けるための第２画面を表示するステップと、
表示された前記第２画面上で、前記制御対象機器に対して実行される操作の種類の選択を受け付けるステップと、
前記複数の画面のうち、選択された前記操作のためのデータを前記ソフトウェアが搭載される制御部が送受信する際に使用されるインタフェースの設定を受け付けるための第３画面を表示するステップと、
表示された前記第３画面上で、前記インタフェースの設定内容の入力を受け付けるステップと、
前記複数の画面上で受け付けた情報を基に、前記ソフトウェアの生成指示を行うステップと、
を含む、ソフトウェアの提供方法。
【請求項２】
前記第２画面を表示するステップは、当該第２画面として、前記操作の種類を示す操作品目が並んだ画面を表示し、当該画面では、当該操作品目のうち、前記制御対象機器に対して前記ソフトウェアへ搭載することが任意な操作品目については第１の態様で表示し、当該制御対象機器に対して当該ソフトウェアへ搭載することが必須な操作品目については第２の態様で表示し、
前記生成指示を行うステップは、前記第１の態様で表示された操作品目についての選択に基づく設定、及び、前記第２の態様で表示された操作品目についての予め定められた設定を基に、当該生成指示を行うこと、
を特徴とする、請求項１に記載のソフトウェアの提供方法。
【請求項３】
前記操作の種類を示す操作品目に関して、何れの操作品目にも共通に設けられる複数の設定項目が当該操作品目毎に並べられた画面を表示し、当該画面では、当該設定項目のうち、設定するか否かが任意の設定項目については第１の態様で表示し、設定するか否かが予め定められている設定項目については第２の態様で表示するステップをさらに含み、
前記生成指示を行うステップは、前記第１の態様で表示された設定項目についての選択に基づく設定、及び、前記第２の態様で表示された設定項目についての予め定められた設定を基に、当該生成指示を行うこと、
を特徴とする、請求項１に記載のソフトウェアの提供方法。
【請求項４】
前記第３画面を表示するステップは、
前記第１の態様で表示された設定項目のうち設定することが選択された設定項目、及び、前記第２の態様で表示された設定項目のうち設定することが予め定められている設定項目について、当該第３画面を表示すること、
を特徴とする、請求項３に記載のソフトウェアの提供方法。
【請求項５】
前記複数の画面として、前記ソフトウェアが搭載される制御部に含まれる通信モジュールの選択を受け付けるための画面を表示するステップをさらに含み、
前記第３画面を表示するステップは、選択された前記通信モジュールに応じた当該第３画面を表示すること、
を特徴とする、請求項１に記載のソフトウェアの提供方法。
【請求項６】
前記複数の画面として、前記ソフトウェアにおいて前記制御対象機器の通信機能を制御するために用いられる通信規格の選択を受け付けるための画面を表示するステップをさらに含み、
前記第１画面を表示するステップは、選択された前記通信規格に応じた当該第１画面を表示し、
前記第２画面を表示するステップは、選択された前記通信規格に応じた当該第２画面を表示し、
前記第３画面を表示するステップは、選択された前記通信規格に応じた当該第３画面を表示すること、
を特徴とする、請求項１に記載のソフトウェアの提供方法。
【請求項７】
前記生成指示を基に生成される前記ソフトウェアを前記制御部に搭載する指示を受け付けるための画面を表示するステップと、
表示された前記画面上で、前記ソフトウェアを前記制御部に搭載する指示を受け付けるステップとをさらに含むこと、
を特徴とする、請求項１に記載のソフトウェアの提供方法。
【請求項８】
制御対象機器の通信機能を制御するためのソフトウェアを提供する方法であって、
予め定められた複数の機器を表示するステップと、
表示された前記予め定められた複数の機器の中から前記制御対象機器の選択を受け付けるステップと、
選択された前記制御対象機器に対して実行される操作の種類を示す操作品目が並んだ画面において、当該操作品目のうち、当該制御対象機器に対して前記ソフトウェアへ搭載することが任意な操作品目については第１の態様で表示し、当該制御対象機器に対して当該ソフトウェアへ搭載することが必須な操作品目については第２の態様で表示するステップと、
前記第１の態様で表示された操作品目についての選択を受け付けるステップと、
前記第１の態様で表示された操作品目についての選択に基づく設定、及び、前記第２の態様で表示された操作品目についての予め定められた設定を基に、前記ソフトウェアの生成指示を行うステップと、
を含む、ソフトウェアの提供方法。
【請求項９】
前記制御対象機器の選択を受け付けた後、１又は複数の操作品目と予め対応付けられたオプション項目の選択を受け付けるための画面を表示し、当該オプション項目の選択を受け付けた場合、前記操作品目が並んだ画面において、当該操作品目のうち選択された当該オプション項目に対応する操作品目を前記第２の態様で表示するステップをさらに含むこと、
を特徴とする、請求項８に記載のソフトウェアの提供方法。
【請求項１０】
制御対象機器の通信機能を制御するためのソフトウェアを提供する方法であって、
予め定められた複数の機器を表示するステップと、
表示された前記予め定められた複数の機器の中から前記制御対象機器の選択を受け付けるステップと、
選択された前記制御対象機器に対して実行される操作の種類を示す操作品目に関して、何れの操作品目にも共通に設けられる複数の設定項目が当該操作品目毎に並べられた画面において、当該設定項目のうち、設定するか否かが任意の設定項目については第１の態様で表示し、設定するか否かが予め定められている設定項目については第２の態様で表示するステップと、
前記第１の態様で表示された設定項目についての選択を受け付けるステップと、
前記第１の態様で表示された設定項目についての選択に基づく設定、及び、前記第２の態様で表示された設定項目についての予め定められた設定を基に、前記ソフトウェアの生成指示を行うステップと、
を含む、ソフトウェアの提供方法。
【請求項１１】
前記第１の態様で表示された設定項目のうち設定することが選択された設定項目、及び、前記第２の態様で表示された設定項目のうち設定することが予め定められている設定項目について、前記ソフトウェアが搭載される制御部がデータを送受信する際のインタフェースの形式、当該インタフェースを介して当該制御部と前記制御対象機器との間でデータをやり取りする場合の手続きを定めた処理関数、及び当該処理関数にて用いられるパラメータの設定を受け付けるための１又は複数の画面を表示するステップをさらに含むこと、
を特徴とする、請求項１０に記載のソフトウェアの提供方法。
【請求項１２】
前記第１の態様で表示された設定項目のうち設定することが選択された設定項目、及び、前記第２の態様で表示された設定項目のうち設定することが予め定められている設定項目について、前記制御対象機器が自機の状態の変更有無を確認する間隔を設定するための画面を表示するステップをさらに含むこと、
を特徴とする、請求項１０に記載のソフトウェアの提供方法。
【請求項１３】
制御対象機器の通信機能を制御するためのソフトウェアを提供する方法であって、
予め定められた複数の機器を表示するステップと、
表示された前記予め定められた複数の機器の中から前記制御対象機器の選択を受け付けるステップと、
選択された前記制御対象機器の通信機能を制御するためのソフトウェアへ付与される付与情報を受け付けるための画面を表示するステップと、
表示された前記画面上で前記付与情報を受け付けて、受け付けた当該付与情報を記憶部に記憶するステップと、
前記制御対象機器についての前記付与情報を受け付けた後に、表示された前記予め定められた複数の機器の中から他の制御対象機器の選択を受け付けた場合に、前記記憶部に記憶された当該付与情報を読み込んで、読み込んだ当該付与情報が入力された状態で、選択された当該他の制御対象機器の通信機能を制御するためのソフトウェアへ付与される付与情報を受け付けるための画面を表示するステップと、
を含む、ソフトウェアの提供方法。
【請求項１４】
前記付与情報は、前記ソフトウェアを識別するために当該ソフトウェアへ固有に付与される情報であること、
を特徴とする、請求項１３に記載のソフトウェアの提供方法。
【請求項１５】
制御対象機器の通信機能を制御するためのソフトウェアを生成するのに用いられる情報を入力可能な複数の画面を、遷移させて表示する表示部と、
前記表示部に表示された画面上で行われる操作者の操作入力により、前記ソフトウェアを生成するのに用いられる情報を受け付ける受付部と、
前記受付部が受け付けた情報を基に、前記ソフトウェアを生成する外部装置に対して当該ソフトウェアの生成指示を送信する送信部と、を備え、
前記表示部は、前記複数の画面として、予め定められた複数の機器の中から前記制御対象機器の選択を受け付けるための第１画面、選択された当該制御対象機器に対して実行される操作の種類の選択を受け付けるための第２画面、選択された当該操作のためのデータを前記ソフトウェアが搭載される制御部が送受信する際に使用されるインタフェースの設定内容の入力を受け付けるための第３画面を、予め定められた順番で遷移させて表示すること、
を特徴とする、情報処理装置。
【請求項１６】
制御対象機器の通信機能を制御するためのソフトウェアを生成するのに用いられる情報を入力可能な画面を表示する表示部と、
前記表示部に表示された画面上で行われる操作者の操作入力により、前記ソフトウェアを生成するのに用いられる情報を受け付ける受付部と、
前記受付部が受け付けた情報を基に、前記ソフトウェアを生成する外部装置に対して当該ソフトウェアの生成指示を送信する送信部と、を備え、
前記表示部は、予め定められた複数の機器を表示し、前記受付部が当該予め定められた複数の機器の中から前記制御対象機器の選択を受け付けた場合、選択された当該制御対象機器に対して実行される操作の種類を示す操作品目が並んだ画面を表示し、当該画面では、当該操作品目のうち、当該制御対象機器に対して前記ソフトウェアへ搭載することが任意な操作品目については第１の態様で表示し、当該制御対象機器に対して前記ソフトウェアへ搭載することが必須な操作品目については第２の態様で表示し、
前記受付部は、前記第１の態様で表示された操作品目について、前記ソフトウェアへ搭載するか否かの選択を受け付け、前記第２の態様で表示された操作品目について、当該ソフトウェアへ搭載するか否かの選択を受け付けないこと、
を特徴とする、情報処理装置。
【請求項１７】
制御対象機器の通信機能を制御するためのソフトウェアを生成するのに用いられる情報を入力可能な画面を表示する表示部と、
前記表示部に表示された画面上で行われる操作者の操作入力により、前記ソフトウェアを生成するのに用いられる情報を受け付ける受付部と、
前記受付部が受け付けた情報を基に、前記ソフトウェアを生成する外部装置に対して当該ソフトウェアの生成指示を送信する送信部と、を備え、
前記表示部は、予め定められた複数の機器を表示し、前記受付部が当該予め定められた複数の機器の中から前記制御対象機器の選択を受け付けた場合、選択された当該制御対象機器に対して実行される操作の種類を示す操作品目に関して、何れの操作品目にも共通に設けられる複数の設定項目が当該操作品目毎に並べられた画面を表示し、当該画面では、当該設定項目のうち、設定するか否かが任意の設定項目については第１の態様で表示し、設定するか否かが予め定められている設定項目については第２の態様で表示し、
前記受付部は、前記第１の態様で表示された設定項目について、操作者が設定内容を入力するか否かの選択を受け付け、前記第２の態様で表示された設定項目について、操作者が設定内容を入力するか否かの選択を受け付けないこと、
を特徴とする、情報処理装置。
【請求項１８】
制御対象機器の通信機能を制御するためのソフトウェアを生成するのに用いられる情報を入力可能な画面を表示する表示部と、
前記表示部に表示された画面上で行われる操作者の操作入力により、前記ソフトウェアを生成するのに用いられる情報を受け付ける受付部と、
前記受付部が受け付けた情報を基に、前記ソフトウェアを生成する外部装置に対して当該ソフトウェアの生成指示を送信する送信部と、を備え、
前記表示部は、予め定められた複数の機器の中から前記受付部が前記制御対象機器の選択を受け付けた場合に表示する画面であって、前記ソフトウェアへ付与される情報を当該受付部により受け付けるための画面を表示し、他の制御対象機器が選択された際に受け付けた付与情報がある場合には、受け付けた当該付与情報を当該画面上に表示すること、
を特徴とする、情報処理装置。
【請求項１９】
画面を表示する表示手段を有するコンピュータに、
制御対象機器の通信機能を制御するためのソフトウェアを生成するのに用いられる情報を入力可能な複数の画面であって、予め定められた順番で遷移して前記表示手段に表示される複数の画面のうち、予め定められた複数の機器が表示された第１画面上で、当該制御対象機器の選択を受け付ける第１受付機能と、
前記複数の画面のうち、前記第１受付機能にて選択が受け付けられた前記制御対象機器に対して実行される操作の種類が表示された第２画面上で、当該制御対象機器に対して実行される操作の種類の選択を受け付ける第２受付機能と、
前記複数の画面のうち、前記第２受付機能にて受け付けられた前記操作のためのデータを前記ソフトウェアが搭載される制御部が送受信する際に使用されるインタフェースの設定を受け付けるための第３画面上で、当該インタフェースの設定内容の入力を受け付ける第３受付機能と、
前記複数の画面上で受け付けた情報を基に、前記ソフトウェアの生成指示を行う生成指示機能と、
を実現させるためのプログラム。
【請求項２０】
画面を表示する表示手段を有するコンピュータに、
制御対象機器の通信機能を制御するためのソフトウェアを生成するのに用いられる情報を入力可能な画面として前記表示手段に表示された画面上で行われる操作者の操作入力により、当該ソフトウェアを生成するのに用いられる情報を受け付ける受付機能と、
前記受付機能が受け付けた情報を基に、前記ソフトウェアの生成指示を行う生成指示機能とを実現させ、
前記受付機能は、前記表示手段に表示された予め定められた複数の機器の中から前記制御対象機器の選択を受け付けた場合に当該表示手段に表示される画面であって、選択された当該制御対象機器に対して実行される操作の種類を示す操作品目が並んだ画面において、当該操作品目のうち、当該制御対象機器に対して前記ソフトウェアへ搭載することが任意な操作品目については第１の態様で表示し、当該制御対象機器に対して当該ソフトウェアへ搭載することが必須な操作品目については第２の態様で表示し、当該第１の態様で表示された操作品目について、当該ソフトウェアへ搭載するか否かの選択を受け付け、当該第２の態様で表示された操作品目について、当該ソフトウェアへ搭載するか否かの選択を受け付けないこと、
を特徴とする、プログラム。
【請求項２１】
画面を表示する表示手段を有するコンピュータに、
制御対象機器の通信機能を制御するためのソフトウェアを生成するのに用いられる情報を入力可能な画面として前記表示手段に表示された画面上で行われる操作者の操作入力により、当該ソフトウェアを生成するのに用いられる情報を受け付ける受付機能と、
前記受付機能が受け付けた情報を基に、前記ソフトウェアの生成指示を行う生成指示機能とを実現させ、
前記受付機能は、前記表示手段に表示された予め定められた複数の機器の中から前記制御対象機器の選択を受け付けた場合に当該表示手段に表示される画面であって、選択された当該制御対象機器に対して実行される操作の種類を示す操作品目に関して、何れの操作品目にも共通に設けられる複数の設定項目が当該操作品目毎に並べられた画面において、当該設定項目のうち、設定するか否かが任意の設定項目については第１の態様で表示し、設定するか否かが予め定められている設定項目については第２の態様で表示し、当該第１の態様で表示された設定項目について、操作者が設定内容を入力するか否かの選択を受け付け、当該第２の態様で表示された設定項目について、操作者が設定内容を入力するか否かの選択を受け付けないこと、
を特徴とする、プログラム。
【請求項２２】
画面を表示する表示手段を有するコンピュータに、
制御対象機器の通信機能を制御するためのソフトウェアを生成するのに用いられる情報を入力可能な画面として前記表示手段に表示された画面上で行われる操作者の操作入力により、当該ソフトウェアを生成するのに用いられる情報を受け付ける受付機能と、
前記受付機能が受け付けた情報を基に、前記ソフトウェアの生成指示を行う生成指示機能とを実現させ、
前記受付機能は、前記表示手段に表示された予め定められた複数の機器の中から前記制御対象機器の選択を受け付けた場合に当該表示手段に表示される画面であって、前記ソフトウェアへ付与される付与情報を受け付けるための画面を表示し、他の制御対象機器が選択された際に受け付けた付与情報がある場合には、受け付けた当該付与情報を当該画面上に表示し、当該付与情報の編集を受け付けること、
を特徴とする、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアの提供方法、情報処理装置およびプログラムに関する。
【背景技術】
【０００２】
近年、インターネットの普及に伴い、あらゆるものをネットワークに接続するＩｏＴ（Internet of Things）という概念が提案されている。例えば家電等の電気機器をネットワークに接続し、これらの電気機器を制御する技術が知られている。
【０００３】
例えば、エアコンディショナ等の家電を制御する技術として、特許文献１には、電気機器に制御信号を送信するためのコントローラであって、携帯端末から送信された電気機器に対する指示を、サーバから受信するための通信部と、電気機器に対する制御信号を記憶するための記憶部と、プロセッサとを備え、プロセッサは、通信部から受信した電気機器に対する指示を電気機器に送信するとともに、サーバとの接続が継続されていないと判断した場合には、電気機器に対して、記憶部に記憶された制御信号であって、当該電気機器の特定の状態に対応する制御信号を送信するように構成されている、コントローラが開示されている。
【０００４】
また、例えば、照明器具を制御する技術として、特許文献２には、外部機器から照明光の制御を行う情報を含む制御信号を無線方式または有線方式により受信する通信部と通信部が受信した制御信号を点灯制御信号に変換する信号変換部とを有する通信ユニットと、光源を点灯させる点灯回路部と点灯制御信号に基づいて点灯回路部を制御する点灯制御部とを有する点灯ユニットと、を備え、点灯ユニットと接続する通信ユニットは、外部機器が送信する制御信号の信号方式に応じて通信方式が異なる通信ユニットと交換可能なことを特徴とする点灯装置が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１５−１９８４２４号公報
【特許文献２】特開２０１５−１０９１９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
家電等の電気機器をネットワークに接続させ、このネットワークを介して電気機器を外部から制御したり、電気機器から情報を出力させたりするには、この電気機器に通信機能を持たせ、電気機器の制御装置やセンサとの間で情報交換を行うことが必要となる。そして、電気機器には多くの種類が存在し、様々な機能が設けられているため、電気機器の通信機能を制御するソフトウェアは、制御しようとする電気機器の種類や機能に応じて個別に生成されていた。このようなソフトウェアを人手で生成する作業には、一般に、非常に多くの時間と手間がかかる。そのため、かかるソフトウェアを手軽に生成する手段の提供が望まれていた。
本発明の目的は、制御対象機器の通信機能を制御して当該制御対象機器を制御する命令を受け付けたり当該制御対象機器から情報を出力したりさせるソフトウェアを簡易に生成することを目的とする。
【課題を解決するための手段】
【０００７】
かかる目的のもと、本発明は、制御対象機器の通信機能を制御するためのソフトウェアを提供する方法であって、前記ソフトウェアを生成するのに用いられる情報を入力可能な複数の画面であって、予め定められた順番で遷移して表示手段に表示される複数の画面のうち、予め定められた複数の機器の中から前記制御対象機器の選択を受け付けるための第１画面を表示するステップと、表示された前記第１画面上で、前記制御対象機器の選択を受け付けるステップと、前記複数の画面のうち、選択された前記制御対象機器に対して実行される操作の種類の選択を受け付けるための第２画面を表示するステップと、表示された前記第２画面上で、前記制御対象機器に対して実行される操作の種類の選択を受け付けるステップと、前記複数の画面のうち、選択された前記操作のためのデータを前記ソフトウェアが搭載される制御部が送受信する際に使用されるインタフェースの設定を受け付けるための第３画面を表示するステップと、表示された前記第３画面上で、前記インタフェースの設定内容の入力を受け付けるステップと、前記複数の画面上で受け付けた情報を基に、前記ソフトウェアの生成指示を行うステップと、を含む、ソフトウェアの提供方法である。
また、前記第２画面を表示するステップは、当該第２画面として、前記操作の種類を示す操作品目が並んだ画面を表示し、当該画面では、当該操作品目のうち、前記制御対象機器に対して前記ソフトウェアへ搭載することが任意な操作品目については第１の態様で表示し、当該制御対象機器に対して当該ソフトウェアへ搭載することが必須な操作品目については第２の態様で表示し、前記生成指示を行うステップは、前記第１の態様で表示された操作品目についての選択に基づく設定、及び、前記第２の態様で表示された操作品目についての予め定められた設定を基に、当該生成指示を行うこと、を特徴とする。
さらに、このソフトウェアの提供方法は、前記操作の種類を示す操作品目に関して、何れの操作品目にも共通に設けられる複数の設定項目が当該操作品目毎に並べられた画面を表示し、当該画面では、当該設定項目のうち、設定するか否かが任意の設定項目については第１の態様で表示し、設定するか否かが予め定められている設定項目については第２の態様で表示するステップをさらに含み、前記生成指示を行うステップは、前記第１の態様で表示された設定項目についての選択に基づく設定、及び、前記第２の態様で表示された設定項目についての予め定められた設定を基に、当該生成指示を行うこと、を特徴とする。
また、前記第３画面を表示するステップは、前記第１の態様で表示された設定項目のうち設定することが選択された設定項目、及び、前記第２の態様で表示された設定項目のうち設定することが予め定められている設定項目について、当該第３画面を表示すること、を特徴とする。
さらに、このソフトウェアの提供方法は、前記複数の画面として、前記ソフトウェアが搭載される制御部に含まれる通信モジュールの選択を受け付けるための画面を表示するステップをさらに含み、前記第３画面を表示するステップは、選択された前記通信モジュールに応じた当該第３画面を表示すること、を特徴とする。
また、このソフトウェアの提供方法は、前記複数の画面として、前記ソフトウェアにおいて前記制御対象機器の通信機能を制御するために用いられる通信規格の選択を受け付けるための画面を表示するステップをさらに含み、前記第１画面を表示するステップは、選択された前記通信規格に応じた当該第１画面を表示し、前記第２画面を表示するステップは、選択された前記通信規格に応じた当該第２画面を表示し、前記第３画面を表示するステップは、選択された前記通信規格に応じた当該第３画面を表示すること、を特徴とする。
また、このソフトウェアの提供方法は、前記生成指示を基に生成される前記ソフトウェアを前記制御部に搭載する指示を受け付けるための画面を表示するステップと、表示された前記画面上で、前記ソフトウェアを前記制御部に搭載する指示を受け付けるステップとをさらに含むこと、を特徴とする。
さらに、本発明は、制御対象機器の通信機能を制御するためのソフトウェアを提供する方法であって、予め定められた複数の機器を表示するステップと、表示された前記予め定められた複数の機器の中から前記制御対象機器の選択を受け付けるステップと、選択された前記制御対象機器に対して実行される操作の種類を示す操作品目が並んだ画面において、当該操作品目のうち、当該制御対象機器に対して前記ソフトウェアへ搭載することが任意な操作品目については第１の態様で表示し、当該制御対象機器に対して当該ソフトウェアへ搭載することが必須な操作品目については第２の態様で表示するステップと、前記第１の態様で表示された操作品目についての選択を受け付けるステップと、前記第１の態様で表示された操作品目についての選択に基づく設定、及び、前記第２の態様で表示された操作品目についての予め定められた設定を基に、前記ソフトウェアの生成指示を行うステップと、を含む、ソフトウェアの提供方法である。
このソフトウェアの提供方法は、前記制御対象機器の選択を受け付けた後、１又は複数の操作品目と予め対応付けられたオプション項目の選択を受け付けるための画面を表示し、当該オプション項目の選択を受け付けた場合、前記操作品目が並んだ画面において、当該操作品目のうち選択された当該オプション項目に対応する操作品目を前記第２の態様で表示するステップをさらに含むこと、を特徴とする。
また、本発明は、制御対象機器の通信機能を制御するためのソフトウェアを提供する方法であって、予め定められた複数の機器を表示するステップと、表示された前記予め定められた複数の機器の中から前記制御対象機器の選択を受け付けるステップと、選択された前記制御対象機器に対して実行される操作の種類を示す操作品目に関して、何れの操作品目にも共通に設けられる複数の設定項目が当該操作品目毎に並べられた画面において、当該設定項目のうち、設定するか否かが任意の設定項目については第１の態様で表示し、設定するか否かが予め定められている設定項目については第２の態様で表示するステップと、前記第１の態様で表示された設定項目についての選択を受け付けるステップと、前記第１の態様で表示された設定項目についての選択に基づく設定、及び、前記第２の態様で表示された設定項目についての予め定められた設定を基に、前記ソフトウェアの生成指示を行うステップと、を含む、ソフトウェアの提供方法である。
このソフトウェアの提供方法は、前記第１の態様で表示された設定項目のうち設定することが選択された設定項目、及び、前記第２の態様で表示された設定項目のうち設定することが予め定められている設定項目について、前記ソフトウェアが搭載される制御部がデータを送受信する際のインタフェースの形式、当該インタフェースを介して当該制御部と前記制御対象機器との間でデータをやり取りする場合の手続きを定めた処理関数、及び当該処理関数にて用いられるパラメータの設定を受け付けるための１又は複数の画面を表示するステップをさらに含むこと、を特徴とする。
また、このソフトウェアの提供方法は、前記第１の態様で表示された設定項目のうち設定することが選択された設定項目、及び、前記第２の態様で表示された設定項目のうち設定することが予め定められている設定項目について、前記制御対象機器が自機の状態の変更有無を確認する間隔を設定するための画面を表示するステップをさらに含むこと、を特徴とする。
さらに、本発明は、制御対象機器の通信機能を制御するためのソフトウェアを提供する方法であって、予め定められた複数の機器を表示するステップと、表示された前記予め定められた複数の機器の中から前記制御対象機器の選択を受け付けるステップと、選択された前記制御対象機器の通信機能を制御するためのソフトウェアへ付与される付与情報を受け付けるための画面を表示するステップと、表示された前記画面上で前記付与情報を受け付けて、受け付けた当該付与情報を記憶部に記憶するステップと、前記制御対象機器についての前記付与情報を受け付けた後に、表示された前記予め定められた複数の機器の中から他の制御対象機器の選択を受け付けた場合に、前記記憶部に記憶された当該付与情報を読み込んで、読み込んだ当該付与情報が入力された状態で、選択された当該他の制御対象機器の通信機能を制御するためのソフトウェアへ付与される付与情報を受け付けるための画面を表示するステップと、を含む、ソフトウェアの提供方法である。
前記付与情報は、前記ソフトウェアを識別するために当該ソフトウェアへ固有に付与される情報であること、を特徴とする。
また、本発明は、制御対象機器の通信機能を制御するためのソフトウェアを生成するのに用いられる情報を入力可能な複数の画面を、遷移させて表示する表示部と、前記表示部に表示された画面上で行われる操作者の操作入力により、前記ソフトウェアを生成するのに用いられる情報を受け付ける受付部と、前記受付部が受け付けた情報を基に、前記ソフトウェアを生成する外部装置に対して当該ソフトウェアの生成指示を送信する送信部と、を備え、前記表示部は、前記複数の画面として、予め定められた複数の機器の中から前記制御対象機器の選択を受け付けるための第１画面、選択された当該制御対象機器に対して実行される操作の種類の選択を受け付けるための第２画面、選択された当該操作のためのデータを前記ソフトウェアが搭載される制御部が送受信する際に使用されるインタフェースの設定内容の入力を受け付けるための第３画面を、予め定められた順番で遷移させて表示すること、を特徴とする、情報処理装置である。
さらに、本発明は、制御対象機器の通信機能を制御するためのソフトウェアを生成するのに用いられる情報を入力可能な画面を表示する表示部と、前記表示部に表示された画面上で行われる操作者の操作入力により、前記ソフトウェアを生成するのに用いられる情報を受け付ける受付部と、前記受付部が受け付けた情報を基に、前記ソフトウェアを生成する外部装置に対して当該ソフトウェアの生成指示を送信する送信部と、を備え、前記表示部は、予め定められた複数の機器を表示し、前記受付部が当該予め定められた複数の機器の中から前記制御対象機器の選択を受け付けた場合、選択された当該制御対象機器に対して実行される操作の種類を示す操作品目が並んだ画面を表示し、当該画面では、当該操作品目のうち、当該制御対象機器に対して前記ソフトウェアへ搭載することが任意な操作品目については第１の態様で表示し、当該制御対象機器に対して前記ソフトウェアへ搭載することが必須な操作品目については第２の態様で表示し、前記受付部は、前記第１の態様で表示された操作品目について、前記ソフトウェアへ搭載するか否かの選択を受け付け、前記第２の態様で表示された操作品目について、当該ソフトウェアへ搭載するか否かの選択を受け付けないこと、を特徴とする、情報処理装置である。
また、本発明は、制御対象機器の通信機能を制御するためのソフトウェアを生成するのに用いられる情報を入力可能な画面を表示する表示部と、前記表示部に表示された画面上で行われる操作者の操作入力により、前記ソフトウェアを生成するのに用いられる情報を受け付ける受付部と、前記受付部が受け付けた情報を基に、前記ソフトウェアを生成する外部装置に対して当該ソフトウェアの生成指示を送信する送信部と、を備え、前記表示部は、予め定められた複数の機器を表示し、前記受付部が当該予め定められた複数の機器の中から前記制御対象機器の選択を受け付けた場合、選択された当該制御対象機器に対して実行される操作の種類を示す操作品目に関して、何れの操作品目にも共通に設けられる複数の設定項目が当該操作品目毎に並べられた画面を表示し、当該画面では、当該設定項目のうち、設定するか否かが任意の設定項目については第１の態様で表示し、設定するか否かが予め定められている設定項目については第２の態様で表示し、前記受付部は、前記第１の態様で表示された設定項目について、操作者が設定内容を入力するか否かの選択を受け付け、前記第２の態様で表示された設定項目について、操作者が設定内容を入力するか否かの選択を受け付けないこと、を特徴とする、情報処理装置である。
さらに、本発明は、制御対象機器の通信機能を制御するためのソフトウェアを生成するのに用いられる情報を入力可能な画面を表示する表示部と、前記表示部に表示された画面上で行われる操作者の操作入力により、前記ソフトウェアを生成するのに用いられる情報を受け付ける受付部と、前記受付部が受け付けた情報を基に、前記ソフトウェアを生成する外部装置に対して当該ソフトウェアの生成指示を送信する送信部と、を備え、前記表示部は、予め定められた複数の機器の中から前記受付部が前記制御対象機器の選択を受け付けた場合に表示する画面であって、前記ソフトウェアへ付与される情報を当該受付部により受け付けるための画面を表示し、他の制御対象機器が選択された際に受け付けた付与情報がある場合には、受け付けた当該付与情報を当該画面上に表示すること、を特徴とする、情報処理装置である。
また、本発明は、画面を表示する表示手段を有するコンピュータに、制御対象機器の通信機能を制御するためのソフトウェアを生成するのに用いられる情報を入力可能な複数の画面であって、予め定められた順番で遷移して前記表示手段に表示される複数の画面のうち、予め定められた複数の機器が表示された第１画面上で、当該制御対象機器の選択を受け付ける第１受付機能と、前記複数の画面のうち、前記第１受付機能にて選択が受け付けられた前記制御対象機器に対して実行される操作の種類が表示された第２画面上で、当該制御対象機器に対して実行される操作の種類の選択を受け付ける第２受付機能と、前記複数の画面のうち、前記第２受付機能にて受け付けられた前記操作のためのデータを前記ソフトウェアが搭載される制御部が送受信する際に使用されるインタフェースの設定を受け付けるための第３画面上で、当該インタフェースの設定内容の入力を受け付ける第３受付機能と、前記複数の画面上で受け付けた情報を基に、前記ソフトウェアの生成指示を行う生成指示機能と、を実現させるためのプログラムである。
さらに、本発明は、画面を表示する表示手段を有するコンピュータに、制御対象機器の通信機能を制御するためのソフトウェアを生成するのに用いられる情報を入力可能な画面として前記表示手段に表示された画面上で行われる操作者の操作入力により、当該ソフトウェアを生成するのに用いられる情報を受け付ける受付機能と、前記受付機能が受け付けた情報を基に、前記ソフトウェアの生成指示を行う生成指示機能とを実現させ、前記受付機能は、前記表示手段に表示された予め定められた複数の機器の中から前記制御対象機器の選択を受け付けた場合に当該表示手段に表示される画面であって、選択された当該制御対象機器に対して実行される操作の種類を示す操作品目が並んだ画面において、当該操作品目のうち、当該制御対象機器に対して前記ソフトウェアへ搭載することが任意な操作品目については第１の態様で表示し、当該制御対象機器に対して当該ソフトウェアへ搭載することが必須な操作品目については第２の態様で表示し、当該第１の態様で表示された操作品目について、当該ソフトウェアへ搭載するか否かの選択を受け付け、当該第２の態様で表示された操作品目について、当該ソフトウェアへ搭載するか否かの選択を受け付けないこと、を特徴とする、プログラムである。
また、本発明は、画面を表示する表示手段を有するコンピュータに、制御対象機器の通信機能を制御するためのソフトウェアを生成するのに用いられる情報を入力可能な画面として前記表示手段に表示された画面上で行われる操作者の操作入力により、当該ソフトウェアを生成するのに用いられる情報を受け付ける受付機能と、前記受付機能が受け付けた情報を基に、前記ソフトウェアの生成指示を行う生成指示機能とを実現させ、前記受付機能は、前記表示手段に表示された予め定められた複数の機器の中から前記制御対象機器の選択を受け付けた場合に当該表示手段に表示される画面であって、選択された当該制御対象機器に対して実行される操作の種類を示す操作品目に関して、何れの操作品目にも共通に設けられる複数の設定項目が当該操作品目毎に並べられた画面において、当該設定項目のうち、設定するか否かが任意の設定項目については第１の態様で表示し、設定するか否かが予め定められている設定項目については第２の態様で表示し、当該第１の態様で表示された設定項目について、操作者が設定内容を入力するか否かの選択を受け付け、当該第２の態様で表示された設定項目について、操作者が設定内容を入力するか否かの選択を受け付けないこと、を特徴とする、プログラムである。
さらに、本発明は、画面を表示する表示手段を有するコンピュータに、制御対象機器の通信機能を制御するためのソフトウェアを生成するのに用いられる情報を入力可能な画面として前記表示手段に表示された画面上で行われる操作者の操作入力により、当該ソフトウェアを生成するのに用いられる情報を受け付ける受付機能と、前記受付機能が受け付けた情報を基に、前記ソフトウェアの生成指示を行う生成指示機能とを実現させ、前記受付機能は、前記表示手段に表示された予め定められた複数の機器の中から前記制御対象機器の選択を受け付けた場合に当該表示手段に表示される画面であって、前記ソフトウェアへ付与される付与情報を受け付けるための画面を表示し、他の制御対象機器が選択された際に受け付けた付与情報がある場合には、受け付けた当該付与情報を当該画面上に表示し、当該付与情報の編集を受け付けること、を特徴とする、プログラムである。
【発明の効果】
【０００８】
本発明によれば、制御対象機器の通信機能を制御して当該制御対象機器を制御する命令を受け付けたり当該制御対象機器から情報を出力したりさせるソフトウェアを簡易に生成することができる。
【図面の簡単な説明】
【０００９】
【図１】本実施の形態の背景について説明するための図である。
【図２】本実施の形態に係るファームウェア生成システムの全体構成例を示した図である。
【図３】本実施の形態に係るファームウェア生成サーバ又は利用者端末として用いられるコンピュータのハードウェア構成例を示す図である。
【図４】本実施の形態に係る利用者端末の機能構成例を示したブロック図である。
【図５】本実施の形態に係るファームウェア生成サーバの機能構成例を示したブロック図である。
【図６】利用者入力情報の一例を示す図である。
【図７】（ａ）〜（ｃ）は、利用者入力情報を入力する際に表示される画面の一例を示す図である。
【図８】（ａ），（ｂ）は、利用者入力情報を入力する際に表示される画面の一例を示す図である。
【図９】（ａ），（ｂ）は、利用者入力情報を入力する際に表示される画面の一例を示す図である。
【図１０】（ａ）〜（ｃ）は、利用者入力情報を入力する際に表示される画面の一例を示す図である。
【図１１−１】（ａ），（ｂ）は、利用者入力情報を入力する際に表示される画面の一例を示す図である。
【図１１−２】（ｃ）〜（ｅ）は、利用者入力情報を入力する際に表示される画面の一例を示す図である。
【図１２】（ａ）〜（ｃ）は、利用者入力情報を入力する際に表示される画面の一例を示す図である。
【図１３】（ａ），（ｂ）は、利用者入力情報を入力する際に表示される画面の一例を示す図である。
【図１４】（ａ），（ｂ）は、利用者入力情報を入力する際に表示される画面の一例を示す図である。
【図１５】利用者入力情報の変換に用いられるキーの一例を示す図である。
【図１６】（ａ）は、サーバ送信用データに適用されるソースコード生成用フォーマットの一例を示す図である。（ｂ）は、ソースコード（データ部）の一例を示す図である。
【図１７】（ａ），（ｂ）は、ファームウェア生成部により生成されるファームウェアのコードの一例を示す概念図である。
【図１８】ファームウェア生成システムにおいてファームウェアを生成する処理手順の一例を示したフローチャートである。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
＜背景＞
まず、本実施の形態の背景について説明する。
近年、例えば家電等の電気機器をネットワークに接続し、これらの電気機器を制御するために、ホームネットワーク用の通信規格の業界標準化が進められている。そして、複数のメーカーで共通的に使用される通信規格が作成され、マルチベンダでの相互接続環境が整備されつつある。このような共通の通信規格には、例えばＥＣＨＯＮＥＴ  Ｌｉｔｅ（登録商標）があり、一般社団法人エコーネットコンソーシアムによって標準化が図られている。このような通信規格を用いることにより、ユーザの操作によって家電等の電気機器を制御することができる。
【００１１】
図１は、本実施の形態の背景について説明するための図である。端末装置１００は、ユーザが使用する端末であり、例えば、ＰＣ（personal computer）や携帯情報端末（いわゆる、スマートフォンやタブレット端末等）などを例示することができる。電気機器２００は、制御対象の電気機器であり、例えば、エアコンディショナや照明器具、冷蔵庫などの家電を例示することができる。ネットワーク３００は、端末装置１００と電気機器２００との間の情報通信に用いられる通信手段であり、例えば、インターネットを例示することができる。
【００１２】
このような構成において、ユーザが端末装置１００を操作することにより、ネットワーク３００を介して端末装置１００から電気機器２００を制御したり、電気機器２００から端末装置１００へ情報を送信させたりするには、電気機器２００に通信機能を持たせ、電気機器２００の制御装置やセンサとの間で情報交換を行うことが必要になる。そこで、電気機器２００の通信機能を制御して、電気機器２００を制御する命令を受け付けたり電気機器２００から情報を出力したりさせるためのソフトウェアが用いられる。このようなソフトウェアをインストールした制御部（電子回路基板）の一例としての通信制御基板４００を電気機器２００に搭載することにより、電気機器２００の通信機能の制御が行われる。なお、電気機器２００の通信機能の制御については、通信制御基板４００を搭載することにより新たに電気機器２００に備えられた通信機能を制御する場合もあれば、通信制御基板４００の搭載前から電気機器２００に備えられている通信機能を制御する場合もあるものとする。
【００１３】
さらに説明すると、図１に示すように、通信制御基板４００には、上述したような電気機器２００の通信機能を制御するためのソフトウェアである家電制御用ソフトウェアに加えて、通信モジュール制御用ソフトウェアおよび通信モジュールが含まれる。この通信モジュールとしては、例えばＢｌｕｅｔｏｏｔｈ（登録商標）モジュールを用いることができる。ここで、Ｂｌｕｅｔｏｏｔｈモジュールは、無線通信規格のモジュールであり、端末装置１００のような外部機器と無線通信を行うためのものである。なお、本実施の形態では、Ｂｌｕｅｔｏｏｔｈモジュールを用いた構成に限られるものではなく、例えば、Ｗｉ−Ｆｉ（Wireless Fidelity）（登録商標）、Ｚｉｇｂｅｅなどの他の無線通信規格のモジュールを用いても良い。さらに、無線通信規格のモジュールを用いる構成に限られず、有線の通信規格を備えたモジュールを用いても良い。また、通信モジュール制御用ソフトウェアは、家電制御用ソフトウェアとＢｌｕｅｔｏｏｔｈモジュールとの間でデータの送受信を行うためのソフトウェアである。図示の例では、通信モジュール制御用ソフトウェアにおけるプロトコルの一例として、ＩＰｖ６（Internet Protocol Version 6）、６ＬｏＷＰＡＮ（IPv6 over Low power Wireless Personal Area Networks）を用いている。なお、通信モジュール制御用ソフトウェアにて用いるプロトコルについても、ＩＰｖ６、６ＬｏＷＰＡＮ等のプロトコルに限られるものではなく、家電制御用ソフトウェアがデータの送受信を行うために使用可能なプロトコルであれば、どのようなプロトコルを用いても良い。
【００１４】
このように構成された通信制御基板４００は、家電制御用ソフトウェアの制御により、端末装置１００からの制御信号を受け付けて電気機器２００の機能実行手段を制御したり、機能実行手段から取得した情報を端末装置１００へ出力したりする。ここで、機能実行手段としては、電気機器２００の各種の機能を制御する制御装置、種々の動作を実行するアクチュエータ、電気機器２００の動作に関する情報を取得する種々のセンサ等を例示することができる。例えば、電気機器２００がエアコンディショナの場合について説明する。エアコンディショナ内には、独自の機能プログラムにより、例えば温度を設定したり風量を設定したりするための制御装置が予め搭載されている。そして、家電制御用ソフトウェアにより制御される通信制御基板４００が、端末装置１００から受信した温度設定命令や風量設定命令を制御装置に送って温度や風量の設定をさせたり、センサから温度や風量の設定値や測定値を取得して端末装置１００へ送信したりすることができるようになる。
【００１５】
そして、本実施の形態では、ユーザが画面に従って入力することにより、上述したような電気機器の通信機能を制御するための家電制御用ソフトウェアを生成（提供）するソフトウェア生成システム（ソフトウェアの提供方法）を提供する。また、本実施の形態では、電気機器の通信機能を制御するためのソフトウェアの一例として、電気機器の通信機能を制御するために電気機器に組み込まれるソフトウェアであるファームウェアを例にして説明する。
【００１６】
なお、以下では、特に家電を制御するための通信規格であるＥＣＨＯＮＥＴ  Ｌｉｔｅを用いて説明するが、このような構成に限られるものではない。本実施の形態に係るファームウェア生成システム１は、ＥＣＨＯＮＥＴ  Ｌｉｔｅ以外の他の通信規格を用いて、家電を含む種々の電気機器を制御する場合にも適用することができる。また、以下では、ファームウェア生成システム１により生成される家電制御用のファームウェアを、単に「ファームウェア」と称する場合がある。
【００１７】
＜ファームウェア生成システムの全体構成＞
次に、本実施の形態に係るファームウェア生成システム１の全体構成について説明する。図２は、本実施の形態に係るファームウェア生成システム１の全体構成例を示した図である。図示するように、このファームウェア生成システム１は、利用者端末１０とファームウェア生成サーバ２０とがネットワーク３０を介して接続されることにより構成される。
【００１８】
情報処理装置の一例としての利用者端末１０は、ファームウェア生成システム１を利用する利用者が操作するコンピュータ装置であり、例えば、ＰＣや携帯情報端末等が例示される。この利用者端末１０は、ファームウェアを生成するために利用者が入力した情報（以下、利用者入力情報と称する）を受け付ける。この利用者入力情報には、例えば、ファームウェアがインストールされた通信制御基板４００（図１参照）により実現される通信機能を介して制御しようとする対象の機器（以下、対象機器と称する）の種類を指定する情報や、対象機器における制御しようとする機能を指定する情報が含まれる。そして、利用者端末１０は、受け付けた利用者入力情報をファームウェア生成サーバ２０にて識別可能（処理可能）な形式へ変換して、ファームウェア生成サーバ２０へ送信する。以下では、利用者入力情報に変換を施した変換後のデータを、「サーバ送信用データ」と称する。
【００１９】
ファームウェア生成サーバ２０は、対象機器の通信機能を制御するためのファームウェアを生成するコンピュータ装置であり、例えば、ＰＣ、ワークステーション等が例示される。このファームウェア生成サーバ２０は、利用者端末１０から受信したサーバ送信用データを基に、ファームウェアを生成する。本実施の形態では、制御対象機器の通信機能を制御するためのソフトウェアを生成する外部装置の一例として、ファームウェア生成サーバ２０が用いられる。
【００２０】
ネットワーク３０は、利用者端末１０とファームウェア生成サーバ２０との間の情報通信に用いられる通信手段であり、例えば、インターネット、ＬＡＮ（Local Area Network）等である。
【００２１】
＜ハードウェア構成＞
次に、本実施の形態に係るファームウェア生成サーバ２０および利用者端末１０のハードウェア構成について説明する。図３は、本実施の形態に係るファームウェア生成サーバ２０又は利用者端末１０として用いられるコンピュータのハードウェア構成例を示す図である。
【００２２】
図示するように、ファームウェア生成サーバ２０又は利用者端末１０は、演算手段であるＣＰＵ（Central Processing Unit）２０ａと、主記憶手段であるメモリ２０ｃを備える。また、外部デバイスとして、磁気ディスク装置（ＨＤＤ：Hard Disk Drive）２０ｇ、ネットワークインタフェース２０ｆ、ディスプレイ装置を含む表示機構２０ｄ、音声機構２０ｈ、キーボードやマウス等の入力デバイス２０ｉ等を備える。
【００２３】
図３に示す構成例では、メモリ２０ｃおよび表示機構２０ｄは、システムコントローラ２０ｂを介してＣＰＵ２０ａに接続されている。また、ネットワークインタフェース２０ｆ、磁気ディスク装置２０ｇ、音声機構２０ｈおよび入力デバイス２０ｉは、Ｉ／Ｏコントローラ２０ｅを介してシステムコントローラ２０ｂと接続されている。各構成要素は、システム・バスや入出力バス等の各種のバスによって接続される。
【００２４】
また、図３において、磁気ディスク装置２０ｇにはＯＳのプログラムやアプリケーション・プログラムが格納されている。そして、これらのプログラムがメモリ２０ｃに読み込まれてＣＰＵ２０ａに実行されることにより、ファームウェア生成サーバ２０又は利用者端末１０の各種機能が実現される。
【００２５】
なお、図３は、本実施の形態が適用されるのに好適なコンピュータのハードウェア構成を例示するに過ぎない。本実施の形態は、ファームウェアを生成する装置に広く適用できるものであり、図示の構成においてのみ本実施の形態が実現されるのではない。
【００２６】
＜利用者端末の機能構成＞
次に、利用者端末１０の機能構成について説明する。図４は、本実施の形態に係る利用者端末１０の機能構成例を示したブロック図である。
【００２７】
図示するように、利用者端末１０は、利用者が入力した利用者入力情報を受け付ける入力情報受付部１１と、受け付けた利用者入力情報をサーバ送信用データへ変換するデータ変換部１２と、サーバ送信用データをファームウェア生成サーバ２０へ送信するデータ送信部１３とを備える。
【００２８】
入力情報受付部１１は、利用者が入力した利用者入力情報を受け付ける。より具体的には、利用者は、例えば利用者端末１０の表示機構により表示画面に表示される画面上で、対象機器を選択したり、対象機器において制御しようとする機能を選択したりすることにより、利用者入力情報を入力する。付言すると、対象機器に関してファームウェアを生成するために特定を要する項目がメニュー表示されるため、利用者は、表示されたメニューに基づき項目を選択して情報を入力すれば良い。利用者入力情報、および利用者入力情報を入力する際の画面の詳細については、後述する。本実施の形態では、入力情報受付部１１は、表示部、受付部の一例として捉えることもできる。
【００２９】
データ変換部１２は、入力情報受付部１１が受け付けた利用者入力情報を、サーバ送信用データへ変換する。サーバ送信用データの詳細については、後述する。
【００３０】
データ送信部１３は、データ変換部１２により生成されたサーバ送信用データを、ファームウェア生成サーバ２０へ送信する。本実施の形態では、データ送信部１３は、ソフトウェアを生成する外部装置に対してソフトウェアの生成指示を送信する送信部の一例として捉えることもできる。
【００３１】
なお、図４に示す利用者端末１０を構成する各機能部は、ソフトウェアとハードウェア資源とが協働することにより実現される。具体的には、利用者端末１０を図３に示したコンピュータにて実現した場合、例えば、磁気ディスク装置２０ｇに格納されているＯＳのプログラムやアプリケーション・プログラムが、メモリ２０ｃに読み込まれてＣＰＵ２０ａに実行されることにより、入力情報受付部１１、データ変換部１２、データ送信部１３の各機能が実現される。
【００３２】
＜ファームウェア生成サーバの機能構成＞
次に、ファームウェア生成サーバ２０の機能構成について説明する。図５は、本実施の形態に係るファームウェア生成サーバ２０の機能構成例を示したブロック図である。
【００３３】
図示するように、ファームウェア生成サーバ２０は、主にデータの処理に関わる機能部として、サーバ送信用データを受け付けるデータ受付部２１と、サーバ送信用データを基に、後述するソースコード（データ部）を生成するソースコード生成部２２と、ソースコード（データ部）と後述するソースコード（手続き部）とを結合してファームウェアを生成するファームウェア生成部２３とを備える。また、ファームウェア生成サーバ２０は、主にデータの格納に関わる機能部として、後述するソースコード生成用フォーマットを格納するフォーマット格納部２４と、ソースコード（手続き部）を格納するソースコード格納部２５とを備える。
【００３４】
データ受付部２１は、利用者端末１０からサーバ送信用データを受け付ける。
【００３５】
ソースコード生成部２２は、フォーマット格納部２４から、ソースコード（データ部）を生成するために使用するフォーマット（以下、ソースコード生成用フォーマットと称する）を取得する。そして、ソースコード生成部２２は、サーバ送信用データをソースコード生成用フォーマットに適用し、ソースコード生成用フォーマットに適合するようにサーバ送信用データを変換して、ソースコード（データ部）を生成する。ソースコード生成部２２がソースコード（データ部）を生成する処理の詳細については、後述する。
【００３６】
ファームウェア生成部２３は、ソースコード格納部２５から、予め定められたコードであるソースコード（手続き部）を取得する。このソースコード（手続き部）は、ソースコード（データ部）を参照して実行する手続きが記述されたコードである。さらに説明すると、このソースコード（手続き部）は、ソースコード（データ部）に記述された対象機器の機能を実現する機能実現手段との間で情報交換を行うための手続きが記述されたコードである。
【００３７】
そして、ファームウェア生成部２３は、取得したソースコード（手続き部）と、ソースコード生成部２２により生成されたソースコード（データ部）とを結合して、ファームウェアのソースコードを生成する。また、ファームウェア生成部２３は、生成したソースコードをコンパイルして、ファームウェアを生成する。そして、ファームウェア生成部２３は、生成したファームウェアを利用者端末１０へ送信する。
【００３８】
付言すると、ソースコード生成部２２が生成するソースコード（データ部）は、利用者が入力した利用者入力情報に応じて内容が変わる。一方で、ソースコード（手続き部）は、利用者が入力した利用者入力情報によらず一定である。言い換えると、ソースコード（手続き部）は、その記述内容が対象機器の種類および対象機器の機能によらない固定的なコードである。即ち、ソースコード（手続き部）は、ソースコード（データ部）がどのような内容であっても対応できるように、予め定められている。ソースコード（手続き部）の詳細については、後述する。
【００３９】
フォーマット格納部２４は、ソースコード生成用フォーマットを格納する。
【００４０】
ソースコード格納部２５は、ソースコード（手続き部）を格納する。
【００４１】
なお、図５に示すファームウェア生成サーバ２０を構成する各機能部は、ソフトウェアとハードウェア資源とが協働することにより実現される。具体的には、ファームウェア生成サーバ２０を図３に示したコンピュータにて実現した場合、磁気ディスク装置２０ｇに格納されているＯＳのプログラムやアプリケーション・プログラムが、メモリ２０ｃに読み込まれてＣＰＵ２０ａに実行されることにより、データ受付部２１、ソースコード生成部２２、ファームウェア生成部２３の各機能が実現される。また、フォーマット格納部２４、ソースコード格納部２５は、メモリ２０ｃや磁気ディスク装置２０ｇ等の記憶手段により実現される。
【００４２】
＜利用者入力情報の説明＞
次に、利用者が画面上で入力する利用者入力情報について説明する。図６は、利用者入力情報の一例を示す図である。図示の例は、対象機器が「単機能照明」の場合の利用者入力情報である。「単機能照明」とは、電源のＯＮ・ＯＦＦ設定や照度レベル設定等の単純な機能しか持たない照明機器である。
【００４３】
より具体的には、「機器種別」は、対象機器の種別を示す。図示の例では「単機能照明」を示している。「機能種別」は、対象機器において制御しようとする機能の種別を示す。図示の例では「動作状態」の機能を示している。「動作状態」とは、電源のＯＮ・ＯＦＦ設定の機能である。「命令種別」は、該当機能において使用する命令の種別を示す。図示の例では、「動作状態」の機能において、取得命令（即ち、単機能照明から情報を取得する命令）、操作命令（即ち、単機能照明を操作する命令）を使用することを示している。
【００４４】
「インタフェース種別」は、ファームウェア（言い換えると、ファームウェアがインストールされた通信制御基板４００（図１参照））が対象機器（ここでは、単機能照明）との間でデータを送受信する際のインタフェースの種別を示す。そして、「取得用」は、取得命令にて用いられるインタフェースの種別を示し、「操作用」は、操作命令にて用いられるインタフェースの種別を示す。さらに、「ピンタイプ」は、インタフェースにおけるピンの入出力を示す。言い換えると、「ピンタイプ」は、ファームウェア（ファームウェアがインストールされた通信制御基板４００）が対象機器との間でデータを送受信する際のインタフェースの形式を示す。なお、本実施の形態では、インタフェースの形式の一例としてピンタイプを挙げているが、インタフェースの形式に関して利用者が入力する情報としては、ピンタイプの情報に限られるものではない。「Ｉ／Ｏ関数」は、インタフェースにて対象機器から値を読み込む場合の手続き（又は、対象機器に値を書き込む場合の手続き）を定めた関数を示す。言い換えると、「Ｉ／Ｏ関数」は、インタフェースを介して（ここでは、ピンを介して）ファームウェア（ファームウェアがインストールされた通信制御基板４００）と対象機器との間でデータをやり取りする場合の手続きを定めた関数（処理関数）の一例として捉えることができる。「パラメータ」は、インタフェースに関するパラメータ、言い換えると、Ｉ／Ｏ関数（処理関数）にて用いられるパラメータであり、インタフェースのピンタイプによって、パラメータの種類や数は変化する。
【００４５】
図示の例では、取得用のインタフェースは「ＧＰＩＯ（General Purpose Input/Output）」であり、「ＧＥＴ＿ＧＰＩＯ」の関数を使用する。また、ピンタイプが「ＧＰＩＯ」の場合、「パラメータ」はインタフェースにて用いるピン番号になる。そこで、「ＰＩＮ２７」のピン（ピン番号が２７番のピン）を指定している。また、操作用のインタフェースも「ＧＰＩＯ」であり、「ＳＥＴ＿ＧＰＩＯ」の関数を使用し、「ＰＩＮ２７」のピンを指定している。
【００４６】
ただし、本実施の形態において、利用者入力情報は、図６に示す構成に限られるものではない。例えば、Ｂｌｕｅｔｏｏｔｈ、Ｗｉ−Ｆｉ、Ｚｉｇｂｅｅなどの通信制御基板４００に含まれる通信モジュールを利用者が選択して、利用者入力情報として入力しても良い。また、本実施の形態では、家電を制御するための通信規格であるＥＣＨＯＮＥＴ  Ｌｉｔｅを用いているが、上述したように、ＥＣＨＯＮＥＴ  Ｌｉｔｅ以外の他の通信規格を用いても良い。そこで、例えば、電気機器を制御するための通信規格を利用者が選択して、利用者入力情報として入力しても良い。
【００４７】
＜利用者入力情報を入力する際の画面の説明＞
次に、利用者入力情報を入力する際に表示される画面について説明する。図７〜図１４は、利用者入力情報を入力する際に表示される画面の一例を示す図である。図７〜図１４に示すように、利用者端末１０は、利用者入力情報の入力のために複数の画面を予め定められた順番で遷移して表示する。
例えば、利用者入力情報を入力するために１つの画面が表示され、その画面上で利用者入力情報を全て入力する場合には、一画面上で入力する情報が多くなり利用者の操作が煩雑になる場合がある。本実施の形態で表示される複数の画面では、例えば、利用者が画面上で利用者入力情報を入力すると、入力した情報が引き継がれて次の画面が表示される。このように、複数の画面が遷移して表示されることにより、一画面上で入力する情報が減り、利用者は画面に従って利用者入力情報を入力すれば良いため、ファームウェアの生成を簡易に行うことができる。また、例えば、複数の画面において、前の画面で入力した情報が引き継がれずに次の画面が表示される場合には、それぞれの画面上で、両立しない相互に矛盾した情報が利用者によって入力されてしまう場合がある。本実施の形態で表示される複数の画面では、前の画面で入力した情報が引き継がれて次の画面が表示されるため、複数の画面上で入力される情報の整合性が保たれ、例えば、相互に矛盾した情報を入力したために利用者が情報を入力し直すような手間が軽減される。なお、ここでは、対象機器が「電動ブラインド・日よけ」という家電の場合について説明する。
【００４８】
まず、利用者が利用者端末１０からファームウェア生成サーバ２０にアクセスすると、ファームウェア生成サーバ２０から画面の情報が送信される。そして、利用者端末１０にて利用者入力情報を入力するための画面が表示される。なお、ここでファームウェア生成サーバ２０から利用者端末１０へ送信される画面の情報は、ファームウェアを生成するのに用いられる情報を受け付ける受付機能、ファームウェアの生成指示を行う生成指示機能を実現させるためのプログラムの一例として捉えることができる。即ち、利用者端末１０は、ファームウェア生成サーバ２０から画面の情報を受信することにより、入力情報受付部１１にて画面を表示し、利用者から利用者入力情報を受け付けて、受け付けた利用者入力情報を基にソフトウェアの生成指示を行う。
【００４９】
ここでは、まず、図７（ａ）に示す画面が表示される。図示のように、「センサ関連機器」、「空調関連機器」、「住宅・設備関連機器」など、機器のグループが一覧で示される。これらのグループについては、ＥＣＨＯＮＥＴ  Ｌｉｔｅで規定されている。
【００５０】
次に、利用者が例えば「住宅・設備関連機器」のボタン１Ａを選択すると、図７（ｂ）に示す画面が表示される。ここでは、「電動ブラインド・日よけ」、「電動シャッター」、「電動雨戸・シャッター」など、「住宅・設備関連機器」のグループに含まれる機器が一覧で示される。各グループにどのような機器が分類されるかについては、ＥＣＨＯＮＥＴ  Ｌｉｔｅで規定されている。利用者は、この一覧の中から「電動ブラインド・日よけ」のボタン１Ｂを選択すれば良い。なお、ここで選択される「電動ブラインド・日よけ」の情報は、図６に示す利用者入力情報の中の「機器種別」に対応する情報である。本実施の形態では、第１画面の一例として、図７（ａ），（ｂ）に示す画面が用いられる。
【００５１】
利用者が「電動ブラインド・日よけ」を選択すると、次に、図７（ｃ）に示す画面が表示される。この画面は、対象機器（ここでは、電動ブラインド・日よけ）を制御するためのファームウェアの情報（デバイス情報）の入力を受け付ける画面である。具体的には、入力される情報は、「メーカーコード」、「事業場コード」、「商品コード」、「製造番号」、「製造年月日」である。これらの情報は、ファームウェアを識別するためにファームウェアへ固有に付与される情報として捉えることができる。なお、利用者は、マニュアル等により予め定められた規則に従って、これらの情報を入力すれば良い。なお、ここで入力される情報は、ソフトウェアへ付与される付与情報の一例として用いられる。
【００５２】
「メーカーコード」には、例えば、対象機器のメーカーのメーカーコードやファームウェアを生成するメーカーのメーカーコードが入力される。これらのメーカーコードは、エコーネットコンソーシアムより付与される。「事業場コード」は、各メーカーの事業場のコードであり、メーカー毎に規定されたコードが入力される。「商品コード」は、例えば、対象機器の商品コードや通信制御基板４００の商品コードであり、メーカー毎に規定されたコードが入力される。「製造番号」は、例えば、対象機器に付与された製造番号や通信制御基板４００に付与された製造番号であり、メーカー毎に規定された製造番号が入力される。「製造年月日」は、例えば、対象機器を製造した日付や通信制御基板４００を製造した日付であり、メーカー毎に規定された日付が入力される。なお、ここで入力される情報については図６の例には示していないが、これらの情報も、利用者入力情報としてファームウェア生成サーバ２０に送信される。
【００５３】
利用者がこれらの情報を入力すると、次に、図８（ａ）に示す画面が表示される。ここでは、オプションとして選択可能な必須項目（以下、オプション必須と称する）が示される。このオプション必須は、オプション項目の一例であり、機器の種別（例えば、電動ブラインド・日よけ）毎にＥＣＨＯＮＥＴ  Ｌｉｔｅで規定されている項目である。図示の例では「エネルギー」、「快適生活支援」という２つのオプション必須が示されている。例えば、利用者が「エネルギー」の項目１Ｃを選択すると、以降の設定において、エネルギーの消費を抑制する機能を制御するための設定が行われる。より具体的には、オプション必須は、後述する操作項目と予め対応付けられており、利用者がオプション必須を選択すると、選択されたオプション必須に対応する１又は複数の操作項目が選択されることになる。
【００５４】
利用者がオプション必須の選択可否を入力すると、次に、図８（ｂ）に示す画面が表示される。ここでは、対象機器に対する操作項目が並べられ、一覧で示される。言い換えると、対象機器において操作（制御）される機能の候補が、操作項目として一覧で示される。また、これらの操作項目は、対象機器に対して実行される操作の種類を示す項目（操作品目）として捉えることもできる。利用者は、この一覧の中から、対象機器において操作（制御）しようとする機能を選択（チェック）すれば良い。本実施の形態では、第２画面の一例として、図８（ｂ）に示す画面が用いられる。
【００５５】
ここで、操作項目によっては、すでに選択済み（チェック済み）で変更できないような態様（言い換えると、第２の態様の一例）で表示される項目（以下、必須項目と称する）も存在する。図示の例では、「動作状態」、「異常発生状態」、「開閉動作設定」が必須項目であり、選択済みになっている。この必須項目は、対象機器に対して必須な操作内容にあたる操作項目、言い換えると、対象機器に対してファームウェアへ搭載することが必須な機能にあたる操作項目であり、ファームウェアへ搭載するか否かを利用者が選択しようとしても、その選択は受け付けられない。必須項目については、機器の種別（例えば、電動ブラインド・日よけ）毎にＥＣＨＯＮＥＴ  Ｌｉｔｅで規定されている。即ち、例えば「電動ブラインド・日よけ」については、「動作状態」、「異常発生状態」、「開閉動作設定」の機能が必須であることがＥＣＨＯＮＥＴ  Ｌｉｔｅで規定されているといえる。
【００５６】
一方、必須項目ではない操作項目（以下、任意項目と称する）については、利用者が選択可能（チェック可能）な態様（言い換えると、第１の態様の一例）で表示される。この任意項目は、対象機器に対して任意な操作内容にあたる操作項目、言い換えると、対象機器に対してファームウェアへ搭載することが任意な機能にあたる操作項目であり、ファームウェアへ搭載するか否かの選択が受け付けられる。即ち、任意項目については、対象機器において操作する機能として選択するか否かを利用者が自由に決めることができるようになっている。図示の例では、例えば、「メーカー異常コード」、「異常内容」、「タイマ動作設定」などは任意項目であり、利用者の操作によって、選択済み（チェック済み）の状態にしたり、選択が外れた（チェックが外れた）状態にしたりされる。
なお、ここで選択される「動作状態」、「異常発生状態」、「開閉動作設定」、「メーカー異常コード」、「異常内容」、「タイマ動作設定」などの操作項目の情報は、図６に示す利用者入力情報の中の「機能種別」に対応する情報である。
【００５７】
また、上述したように、操作項目とオプション必須とは予め対応付けられているため、図８（ａ）に示す画面上で利用者がオプション必須を選択した場合には、図８（ｂ）に示す画面において、選択したオプション必須の機能に対応する操作項目が必須項目として表示される。例えば、図９（ａ）に示すように、利用者が「エネルギー」のオプション必須を選択したものとする。この場合、図９（ｂ）に示すように、「エネルギー」のオプション必須の機能に対応する操作項目として、例えば、「風検知状態」、「日差し検知状態」の操作項目がすでに選択済みの必須項目として表示される。
【００５８】
図８（ｂ）や図９（ｂ）に示す画面のように、利用者が操作項目を選択すると、次に、図１０（ａ）に示す画面が表示される。この画面は、何れの操作項目にも共通に設けられる複数の設定項目として、「取得」、「操作」、「状態変更時通知」を実装するか否か（実装又は未実装）を設定するための設定項目が操作項目毎に並べられた画面である。言い換えると、操作項目毎に、「取得」、「操作」、「状態変更時通知」を実装するか否か（実装又は未実装）を選択する画面である。ここで、「取得」、「操作」、「状態変更時通知」を実装するか否かの情報は、図６に示す利用者入力情報の中の「命令種別」に対応する情報である。即ち、「取得」は、単機能照明から情報を取得する命令を示す。「操作」は、単機能照明を操作する命令を示す。なお、「状態変更時通知」は、対象機器が自機の状態変更を通知する命令を示す。この命令は、対象機器の状態が変化した場合に、状態が変更したことを対象機器から自発的に外部の機器に通知するための命令である。
【００５９】
そして、画面上では、各操作項目において「取得」、「操作」、「状態変更時通知」が並んでおり、「取得」、「操作」、「状態変更時通知」に設けられた円の図形を左右に移動させることにより、実装するか否かの選択が行われる。例えば、「動作状態」の「取得」では、円の図形１Ｄが右に移動した状態にあり、「実装」が選択されている。一方、「動作状態」の「操作」では、円の図形１Ｅが左に移動した状態にあり、「未実装」が選択されている。ここで、利用者が「実装」を選択する場合には、円の図形１Ｅを図中右方向に移動させれば良い。
【００６０】
なお、ＥＣＨＯＮＥＴ  Ｌｉｔｅの規定により、「実装」、「未実装」が予め固定で決まっている項目、即ち、設定するか否か（実装させて設定内容を入力するか否か）が予め定められている項目も存在する。このような項目は、円の図形を左右に移動できないような態様（言い換えると、第２の態様の一例）で表示される。図示の例では、「動作状態」の「取得」、「状態変更時通知」では、円の図形を移動させることはできず、「実装」で固定されている。同様に、「異常発生状態」の「取得」、「状態変更時通知」は「実装」で固定されており、「操作」は「未実装」で固定されている。さらに、「開閉動作設定」の「取得」、「操作」、「状態変更時通知」は「実装」で固定されている。付言すると、利用者が、例えば、「動作状態」の「取得」の項目にある図形１Ｄを選択しても、「実装」又は「未実装」の選択（設定内容を入力するか否かの選択）は受け付けられず、図１０（ｂ）に示す画面が表示される。図１０（ｂ）の画面では、「実装」、「未実装」の設定変更が禁止されている旨のメッセージが示されている。
【００６１】
また、「動作状態」の「操作」のように、設定するか否か（実装させて設定内容を入力するか否か）が任意のものについては、円の図形が左右に移動可能な態様（言い換えると、第１の態様の一例）で表示される。このような項目については、「実装」又は「未実装」の選択が受け付けられ、利用者は、円の図形を左右に移動させることにより、設定内容を入力するか否かを自由に決めることができる。
【００６２】
そして、利用者が各操作項目の「取得」、「操作」、「状態変更時通知」について「実装」、「未実装」の選択を完了すると、次に、図１０（ｃ）に示す画面が表示される。この画面は、「実装」が選択された操作項目についての設定を行う画面である。言い換えると、この画面では、設定するか否かが任意のものについて、利用者が「実装」を選択した項目や、最初から「実装」の設定が行われている項目についての設定が行われる。また、設定することが予め定められている項目（即ち、「実装」が固定で決まっている項目）についての設定が行われる。図１０（ａ）に示す例では、「動作状態」の「取得」および「状態変更時通知」、「異常発生状態」の「取得」および「状態変更時通知」、「開閉動作設定」の「取得」、「操作」および「状態変更時通知」、の合計７つの操作項目で「実装」が選択されている。そこで、図１０（ｃ）に示す画面上では、これらの７つの項目についての設定が行われる。
【００６３】
例えば、「動作状態」の「取得」について設定を行う場合、利用者が図１０（ｃ）に示す設定ボタン１Ｆを選択すると、図１１−１（ａ）に示す画面が表示される。ここでは、ファームウェアがインストールされた通信制御基板４００（図１参照）が対象機器（ここでは、電動ブラインド・日よけ）との間でデータを送受信する際に使用されるインタフェースについての設定が行われる。より具体的には、「ピンタイプ」、「Ｉ／Ｏ関数」、「パラメータ」の設定が行われる。ここで設定される「ピンタイプ」、「Ｉ／Ｏ関数」、「パラメータ」の情報は、それぞれ、図６に示す利用者入力情報の中の「インタフェース種別」の「ピンタイプ」、「Ｉ／Ｏ関数」、「パラメータ」に対応する情報である。
【００６４】
そして、図１１−１（ｂ）に示すように、ピンタイプとしては、例えば、「未接続」、「ＧＰＩＯ」、「ＳＰＩ（Serial Peripheral Interface）」、「Ｉ２Ｃ（Inter-Integrated Circuit）」、「ＵＡＲＴ（Universal Asynchronous Receiver Transmitter ）」が候補として表示され、利用者は表示された候補の中から使用するピンタイプを選択すれば良い。また、図１１−２（ｃ）に示すように、Ｉ／Ｏ関数についても１又は複数の候補が表示され、利用者は表示された候補の中から使用するＩ／Ｏ関数を選択すれば良い。さらに、図１１−２（ｄ）に示すように、パラメータについても１又は複数の候補が表示される。図示の例では、パラメータとしてピン番号の候補が示されている。例えば、ピン番号の２７番を選択する場合、利用者は「ＰＩＮ２７」を選択すれば良い。最終的には、図１１−２（ｅ）に示すように、選択した各項目の内容が表示される。利用者は、表示された内容で問題なければ「完了」のボタン１Ｇを選択する。このようにして、「動作状態」の「取得」についての設定が行われる。
【００６５】
同様に、「異常発生状態」の「取得」、「開閉動作設定」の「取得」および「操作」についても、「ピンタイプ」、「Ｉ／Ｏ関数」、「パラメータ」の設定が行われる。
また、「状態変更時通知」については、対象機器が自機の状態の変更有無を確認する間隔（ポーリング間隔）の設定が行われる。このポーリング間隔の設定により、対象機器は、ポーリング間隔毎に自機の状態の変更有無を確認し、状態変更がある場合には外部の機器へ通知するように制御される。図１２（ａ）に示す例では、利用者の入力によりポーリング間隔が１００ミリ秒として設定されている。なお、本実施の形態では、第３画面の一例として、図１０（ｃ）、図１１−１、図１１−２に示す画面が用いられる。
【００６６】
そして、利用者は、全ての操作項目（ここでは、７つの操作項目）の設定を行った後、「ＦＩＮＩＳＨ」のボタン１Ｈを選択すると、利用者入力情報の入力が完了し、図１２（ｂ）に示す画面が表示される。この後、利用者が、例えば、画面上でファームウェア生成を受け付けるボタン（不図示）を選択することにより、データ変換部１２が、入力情報受付部１１が受け付けた利用者入力情報をサーバ送信用データへ変換し、データ送信部１３が、サーバ送信用データをファームウェア生成サーバ２０へ送信する。言い換えると、利用者が画面上でファームウェア生成を受け付けるボタンを選択することにより、データ送信部１３は、複数の画面上で受け付けた利用者入力情報を基に、ファームウェア生成サーバ２０に対してソフトウェアの生成指示を行う。
【００６７】
また、ファームウェア生成サーバ２０に対してソフトウェアの生成指示を行った後、図１２（ｃ）に示す画面が表示される。図１２（ｃ）に示す画面は、ファームウェアを通信制御基板４００にインストールするための画面である。言い換えると、生成指示を基に生成されるファームウェアを通信制御基板４００にインストールする指示を受け付けるための画面である。図１２（ｃ）に示す例のように、例えば、ファームウェアをインストールする対象となる複数の通信制御基板４００が表示される。利用者はこれらの通信制御基板４００の中から、ファームウェアをインストールする通信制御基板４００を選択すれば良い。利用者が通信制御基板４００を選択し、さらに「実行」のボタン１Ｉを選択することにより、選択した通信制御基板４００に対してファームウェアをインストールする処理が行われる。より具体的には、利用者端末１０は、「実行」のボタン１Ｉの選択を受け付けると、例えばＢｌｕｅｔｏｏｔｈ等の通信規格により、ファームウェア生成サーバ２０にて生成されたファームウェアを通信制御基板４００に送信してインストールする処理を行う。なお、ファームウェアについては、「実行」のボタン１Ｉが選択されたことを契機にファームウェア生成サーバ２０から利用者端末１０へ送信されることとしても良いが、「実行」のボタン１Ｉが選択される前にファームウェア生成サーバ２０から利用者端末１０へ送信されることとしても良い。
【００６８】
また、本実施の形態では、上述したように、利用者入力情報として、例えばＢｌｕｅｔｏｏｔｈモジュールなどの通信制御基板４００に含まれる通信モジュールを利用者が選択して入力しても良い。さらに、利用者入力情報として、例えばＥＣＨＯＮＥＴ  Ｌｉｔｅなどの電気機器を制御するための通信規格を利用者が選択して入力しても良い。そこで、通信モジュールの選択を受け付けるための画面、電気機器を制御するための通信規格の選択を受け付けるための画面を表示する場合について、説明する。
【００６９】
まず、通信モジュールの選択を受け付けるための画面について説明する。図１３（ａ）に示す画面では、選択可能な通信モジュールとして６つの通信モジュールが表示されている。より具体的には、図１３（ａ）に示す画面のように、各通信モジュールについて、例えば、通信モジュールのメーカー、通信モジュールの種類、型番の情報などが表示される。付言すると、各通信モジュールについて、通信モジュールを識別するための情報が表示される。利用者はこれらの情報を確認し、使用する通信モジュールを選択すれば良い。
【００７０】
図１３（ａ）に示す例では、例えば、メーカーが「Ａ社」、種類が「Ｂｌｕｅｔｏｏｔｈモジュール」、型番が「ａａ」の通信モジュールが示されている。同様に、メーカーが「Ａ社」、種類が「Ｂｌｕｅｔｏｏｔｈモジュール」、型番が「ｂｂ」の通信モジュールが示されている。また、「Ｂｌｕｅｔｏｏｔｈモジュール」以外の通信モジュールとして、「Ｗｉ−Ｆｉモジュール」、「Ｚｉｇｂｅｅモジュール」が示されている。さらに、メーカーについては、「Ａ社」、「Ｂ社」、「Ｃ社」等の複数のメーカーが示されている。
【００７１】
また、この通信モジュールの選択画面は、例えば、利用者が利用者端末１０からファームウェア生成サーバ２０にアクセスした後、最初の画面として表示される。そして、例えば、利用者が通信モジュールを選択した後に、図７（ａ）に示す画面に遷移する。なお、通信モジュールの種類に応じて、通信制御基板４００が対象機器との間でデータを送受信する際のインタフェースの構成が変わる場合がある。インタフェースの構成が変われば、インタフェースについての設定内容も変わる。そのため、インタフェースについての設定を行うための画面及びその画面上で入力可能な情報、即ち、図１１−１及び図１１−２に示す画面の構成及びこれらの画面上で入力可能な情報も変わることになる。
【００７２】
次に、電気機器を制御するための通信規格の選択を受け付ける画面について説明する。図１３（ｂ）に示す画面では、選択可能な通信規格（プロトコル）の一例として、ＥＣＨＯＮＥＴ  Ｌｉｔｅの他に、ＳＥＰ２．０、ＫＮＸを示している。利用者は、これらの通信規格の中から使用する通信規格を選択すれば良い。なお、この通信規格の選択画面は、例えば、利用者が利用者端末１０からファームウェア生成サーバ２０にアクセスした後、最初の画面として表示される。そして、例えば、利用者が通信規格を選択した後に、図１３（ａ）に示す画面や図７（ａ）に示す画面に遷移する。なお、通信規格に応じて、制御可能な対象機器や、対象機器に対して実行可能な操作内容が変わる場合がある。そのため、図７〜図１４に示す画面の構成及びこれらの各画面上で入力可能な情報は、選択される通信規格に応じて変わる場合がある。
【００７３】
また、図７（ｃ）に示す画面では、上述したように、メーカーコード等の情報が入力されるが、利用者が複数の対象機器を選択する場合、１度利用者が入力した情報を引き継ぐことによって、利用者が再度入力することを省略するようにしても良い。言い換えると、図７（ｃ）に示す画面を表示するにあたり、他の対象機器（他の制御対象機器）が選択された際に入力された情報がある場合には、入力された情報をこの画面上に表示して編集を受け付けることとしても良い。
【００７４】
例えば、図１４（ａ）に示す画面のように、対象機器「電動ブラインド・日よけ」について、「メーカーコード」、「事業場コード」、「商品コード」、「製造番号」、「製造年月日」を利用者が入力したとする。この場合、入力された情報は利用者端末１０内の記憶部に記憶される。そして、この後、利用者が他の対象機器として、例えば「電動シャッター」を選択した場合、図１４（ｂ）に示す画面のように、「電動ブラインド・日よけ」にて１度利用者が入力した情報が入力された状態で表示される。言い換えると、利用者が他の対象機器として、例えば「電動シャッター」を選択した場合、記憶部に記憶された「電動ブラインド・日よけ」についての情報が読み込まれて、読み込まれた情報が入力された状態で画面表示が行われる。利用者は、入力された情報を確認し、編集する場合には編集を加えた上で、電動シャッター用の各種情報を設定すれば良い。
なお、利用者が複数の対象機器を選択する場合には、図７（ｃ）に示す画面で入力される情報に限らず、他の画面で入力される情報についても、１度利用者が入力した情報を引き継いで、利用者が再度入力することを省略するようにしても良い。例えば、図１１−１及び図１１−２に示す画面について、利用者が入力した「ピンタイプ」、「Ｉ／Ｏ関数」、「パラメータ」の情報を記憶しておき、他の対象機器が選択された場合に、記憶した情報を読み込んで表示しても良い。この場合、「ピンタイプ」、「Ｉ／Ｏ関数」、「パラメータ」の情報を、ソフトウェアへ付与される付与情報の一例として捉えることができる。
【００７５】
＜サーバ送信用データの説明＞
次に、図１５を参照しながら、利用者端末１０のデータ変換部１２が生成するサーバ送信用データについて説明する。ここでは、データ変換部１２が、図６に示す利用者入力情報を変換して、サーバ送信用データを生成するものとして説明する。
【００７６】
図１５は、利用者入力情報の変換に用いられるキーの一例を示す図である。このようなキーは、ＥＣＨＯＮＥＴ  Ｌｉｔｅにて規定されている。また、本実施の形態において独自に規定したキーも存在する。図１５に示すキーのうち、「０ｘ０２０１」、「０ｘ０００１」のキーは、本実施の形態において独自に規定したキーであり、その他のキーはＥＣＨＯＮＥＴ  Ｌｉｔｅにて規定されたものである。
【００７７】
より具体的には、「０ｘ０２」のキーは、「単機能照明」のｃｌａｓｓ＿ｇｒｏｕｐコードを意味し、「単機能照明」が属しているグループである「住宅・設備関連機器」のキーを示す。「０ｘ９１」のキーは、「単機能照明」のｃｌａｓｓコードを意味し、「単機能照明」のキーを示す。「０ｘ０１」のキーは、「単機能照明」のｉｎｓｔａｎｃｅコードを意味し、対象機器を一意に識別するために付与されるキーである。ｉｎｓｔａｎｃｅコードが付与されることにより、１つのファームウェアで複数の同種の対象機器の通信機能を制御する場合であっても、ファームウェアにてそれぞれの対象機器を識別できるようになる。
【００７８】
また、「０ｘ８０」のキーは、「単機能照明」のｐｒｏｐｅｒｔｙコードを意味し、「単機能照明」の機能種別である「動作状態」を意味するキーである。「ｇｅｔ」のキーは、命令種別である「取得」を意味するキーである。「ｓｅｔ」のキーは、命令種別である「操作」を意味するキーである。「０ｘ０２０１」のキーは、ＧＰＩＯで用いられる取得用のＩ／Ｏ関数のコードを意味するキーである。「０ｘ０００１」のキーは、ＧＰＩＯで用いられる操作用のＩ／Ｏ関数のコードを意味するキーである。「２７」は、インタフェースで用いられるピン番号を意味するキーである。「ＧＰＩＯ」は、インタフェースで用いられるピンの入出力（ＧＰＩＯ）を意味するキーである。
【００７９】
そして、サーバ送信用データは、図１５に示すキーを用いて、図６に示す利用者入力情報を変換することにより生成される。
より具体的には、例えば、サーバ送信用データには、「住宅・設備関連機器」、「単機能照明」のキーである「０ｘ０２」、「０ｘ９１」のキーの情報が含まれている。これは、図６に示す利用者入力情報の「機器種別」の「単機能照明」の情報に対応する。また、例えば、ＧＰＩＯで用いられる取得用のＩ／Ｏ関数のキーである「０ｘ０２０１」のキーの情報が含まれている。さらに、例えば、ＧＰＩＯで用いられる操作用のＩ／Ｏ関数のキーである「０ｘ０００１」のキーの情報が含まれている。これらは、図６の利用者入力情報の「Ｉ／Ｏ関数」の「ＧＥＴ＿ＧＰＩＯ」、「ＳＥＴ＿ＧＰＩＯ」の情報に対応する。その他、サーバ送信用データには、図１５に示す「０ｘ０１」、「０ｘ８０」、「ｇｅｔ」、「ｓｅｔ」、「２７」、「ＧＰＩＯ」のキーの情報が含まれている。
【００８０】
このようにして、データ変換部１２は、キーを用いて利用者入力情報を変換し、サーバ送信用データを生成する。なお、図１５に示すような各種のキーの一覧は、例えば、利用者端末１０が利用者入力情報を入力するための画面を読み込む際に、ファームウェア生成サーバ２０から利用者端末１０へ送信される。
【００８１】
＜ソースコード生成部による処理の説明＞
次に、図１６（ａ）、（ｂ）を参照しながら、ソースコード生成部２２による処理について説明する。ここでは、ソースコード生成部２２が、図１５に示すキーを基に生成されるサーバ送信用データからソースコード（データ部）を生成するものとして説明する。
【００８２】
図１６（ａ）は、サーバ送信用データに適用されるソースコード生成用フォーマットの一例を示す図である。このソースコード生成用フォーマットは、ＥＣＨＯＮＥＴ  Ｌｉｔｅで規定されているものではなく、本実施の形態において独自に規定したものである。
【００８３】
ここで、「機器種別」は、対象機器を識別するための情報を含むフォーマットである。「命令種別」は、命令の種別を識別するための情報を含むフォーマットである。「機能種別」は、対象機器において制御しようとする機能の種別を識別するための情報を含むフォーマットである。「データ種別」は、データ形式を識別するための情報を含むフォーマットである。ここで、データ形式とは、例えば、データの型、データが取り得る値の範囲などであり、ＥＣＨＯＮＥＴ  Ｌｉｔｅで規定されているものもあれば、利用者が独自に定めたものもあるものとする。「インタフェース種別」は、対象機器との間でデータを送受信する際のインタフェースに関する情報を含むフォーマットである。
【００８４】
また、図１６（ｂ）は、ソースコード（データ部）の一例を示す図である。図１６（ｂ）に示すソースコード（データ部）は、図１５に示すキーを基に生成されるサーバ送信用データに、図１６（ａ）のソースコード生成用フォーマットを適用することにより生成される。
【００８５】
より具体的には、例えば、図１６（ａ）のフォーマット「機器種別」には、対象機器を識別するための情報として、「ｃｌａｓｓ＿ｇｒｏｕｐ」、「ｃｌａｓｓ」、「ｉｎｓｔａｎｃｅ」のコードが定められている。また、図１５に示すキーを基に生成されるサーバ送信用データには、「ｃｌａｓｓ＿ｇｒｏｕｐ」として「０ｘ０２」、「ｃｌａｓｓ」として「単機能照明」のｃｌａｓｓコードである「０ｘ９１」、「ｉｎｓｔａｎｃｅ」として「０ｘ０１」が含まれている。そこで、「機器種別」のフォーマットの「ｃｌａｓｓ＿ｇｒｏｕｐ」、「ｃｌａｓｓ」、「ｉｎｓｔａｎｃｅ」を、「０ｘ０２」、「０ｘ９１」、「０ｘ０１」で置換する。このようにして、図１６（ｂ）に示すソースコード（データ部）のデータａ１のコードが生成される。
【００８６】
同様に、「命令種別」、「機能種別」、「データ種別」、「インタフェース種別」の各フォーマットについて、サーバ送信用データの該当コードで置換することにより、ソースコード（データ部）が生成される。ここで、「命令種別」のフォーマットを置換することにより、図１６（ｂ）に示すデータａ２のコードが生成される。「機能種別」のフォーマットを置換することにより、図１６（ｂ）に示すデータａ３のコードが生成される。「データ種別」のフォーマットを置換することにより、図１６（ｂ）に示すデータａ４のコードが生成される。「インタフェース種別」のフォーマットを置換することにより、図１６（ｂ）に示すデータａ５のコードが生成される。
【００８７】
なお、ソースコード生成用フォーマットの各フォーマットでは、フォーマット間で関係のある情報同士が対応付けられている。そのため、各フォーマットから生成されるソースコード（データ部）のデータ（図示の例ではデータａ１〜データａ５）についても、データ間で関係のある情報同士が対応付けられている。
例えば、ソースコード（データ部）のデータａ１には、１又は複数の対象機器の情報が記述される。ここで、ソースコード（データ部）のデータａ２には命令種別の情報が記述されるが、データａ１に記述されたどの対象機器の命令種別かがわかるように、対象機器と命令種別とを対応付けて記述される。さらに、ソースコード（データ部）のデータａ３には機能の情報が記述されるが、どの対象機器のどの命令種別を使用する機能かがわかるように、データａ１の対象機器及びデータａ２の命令種別と対応付けて、機能の情報が記述される。同様に、データａ４、データａ５でも、データ間で関係のある情報同士が対応付けられる。
【００８８】
また、ここでは、ソースコード生成用フォーマットとして、「機器種別」、「命令種別」、「機能種別」、「データ種別」、「インタフェース種別」の５つのフォーマットについて説明した。このうち、「機器種別」、「命令種別」、「機能種別」、「データ種別」の４つのフォーマットは、サーバ送信用データの内容によらず共通に用いられる。一方、「インタフェース種別」は、使用するインタフェースに応じたフォーマットが用いられる。例えば、「ＧＰＩＯ」のインタフェースが使用される場合には、「ＧＰＩＯ」用のフォーマットが用いられる。また、例えば、「ＳＰＩ」のインタフェースが使用される場合には、「ＳＰＩ」用のフォーマットが用いられる。
【００８９】
このようにして、ソースコード生成部２２は、サーバ送信用データに対してソースコード生成用フォーマットを適用して、ソースコード（データ部）を生成する。付言すると、ソースコード（データ部）は、対象機器の種類および特定の機能をソースコード生成用フォーマットに則って記述されたコードであると捉えることができる。
【００９０】
＜ファームウェア生成部による処理の説明＞
次に、図１７（ａ），（ｂ）を参照しながら、ファームウェア生成部２３による処理について説明する。図１７（ａ），（ｂ）は、ファームウェア生成部２３により生成されるファームウェアのコードの一例を示す概念図である。
【００９１】
図１７（ａ）に示すソースコード（データ部）は、利用者が入力した利用者入力情報に応じて、ソースコード生成部２２により生成されたものである。図示の例は、サーバ送信用データを「機器種別」のソースコード生成用フォーマットに適用して生成されたソースコード（データ部）を示している。より具体的には、利用者が、対象機器としてエアコンおよび冷蔵庫を選択した場合を示している。
【００９２】
また、図１７（ａ）に示すソースコード（手続き部）は、ソースコード格納部２５に格納されているものであり、利用者入力情報によらず一定である。図示の例では、「機器種別」に対応したソースコード（手続き部）を示しており、利用者がどのような機器を対象機器として選択したとしても対応できるように、予め定められている。例えば、図示のソースコード（手続き部）の３行目「全機器共通手続き（受信データ）」は、ファームウェアが外部からデータを受信した場合に、その受信データに基づいてどのような種類の家電についても実行できるように記述されたコードである。
【００９３】
また、図１７（ｂ）に示すソースコード（データ部）も、利用者が入力した利用者入力情報に応じて、ソースコード生成部２２により生成されたものである。図示の例は、サーバ送信用データを「機能種別」のソースコード生成用フォーマットに適用して生成されたソースコード（データ部）を示している。より具体的には、利用者が、エアコンにて制御しようとする機能として、「温度自動」、「冷房モード」、「消費電力」を選択し、冷蔵庫にて制御しようとする機能として、「ドア開閉」、「急速冷蔵」、「消費電力」を選択した場合を示している。
【００９４】
また、図１７（ｂ）に示すソースコード（手続き部）も、ソースコード格納部２５に格納されているものであり、利用者入力情報によらず一定である。図示の例では、「機能種別」に対応したソースコード（手続き部）を示しており、利用者がどのような機器を対象機器として選択し、対象機器において制御しようとする機能としてどのような機能を選択したとしても対応できるように、予め定められている。例えば、図示のソースコード（手続き部）の３行目「全機能共通手続き（受信データ）」は、ファームウェアが外部からデータを受信した場合に、その受信データに基づいてどのような家電の機能についても実行できるように記述されたコードである。
【００９５】
このように、ソースコード（データ部）は、各ソースコード生成用フォーマットに応じて生成され、それと対応するソースコード（手続き部）が予め定められている。図１７（ａ）に示すソースコードは、「機器種別」に対応するソースコード（データ部）およびソースコード（手続き部）であり、図１７（ｂ）に示すソースコードは、「機能種別」に対応するソースコード（データ部）およびソースコード（手続き部）である。また、図１７には示していないが、「命令種別」に対応するソースコード（データ部）およびソースコード（手続き部）、「データ種別」に対応するソースコード（データ部）およびソースコード（手続き部）、「インタフェース種別」に対応するソースコード（データ部）およびソースコード（手続き部）なども存在する。そして、ファームウェア生成部２３は、これらの各フォーマットに対応するソースコード（データ部）とソースコード（手続き部）とを全て足し合わせる（結合する）ことにより、ファームウェアのソースコードを生成する。付言すると、ファームウェアのソースコードは、ソースコード（データ部）とソースコード（手続き部）とが分離して記述されたコードであると捉えることができる。
【００９６】
次に、ファームウェア生成部２３により生成されたファームウェアが実際に動作する場合の処理について説明する。ここでは、一例として、利用者が、エアコンを操作する入力を行い、そのデータ（以下、受信データＡと称することとする）をファームウェアが受信したものとして説明する。
【００９７】
ファームウェアの処理としては、「機器種別」、「命令種別」、「機能種別」、「データ種別」、「インタフェース種別」に対応するそれぞれのソースコード（手続き部）の処理が順番に実行される。
初めに、「機器種別」に対応するソースコード（手続き部）の処理が実行される。その際、「機器種別」に対応するソースコード（データ部）が参照される。ここでは、受信データＡで対象機器として指定されたエアコンが、ソースコード（データ部）に記述されているか否かの検査（判定）などが行われる。図１７（ａ）に示す例では、エアコンはソースコード（データ部）に記述されているため、次の処理に進む。一方、受信データＡで操作対象として指定された機器がソースコード（データ部）に記述されていない場合には、例えばファームウェアからエラーが返されて処理が終了する。
【００９８】
次に「命令種別」に対応するソースコード（手続き部）の処理が実行される。その際、「命令種別」に対応するソースコード（データ部）が参照される。ここでは、受信データＡで指定された命令種別（即ち、エアコンの命令種別）が、ソースコード（データ部）に記述されているか否かの検査などが行われる。また、上述したように、ソースコード（データ部）では、関係のある情報同士が対応付けられている。即ち、ソースコード（データ部）には、各家電と命令種別とが対応付けて記述されている。そのため、ここでは、ソースコード（データ部）の中で、エアコンの命令種別が記述された箇所を参照して、検査を行えば良い。なお、「機器種別」に対応するソースコード（手続き部）からは、ソースコード（データ部）の中でエアコンの命令種別が記述された箇所を参照するように指示される。そのため、「命令種別」に対応するソースコード（手続き部）の処理では、該当箇所を参照することができる。
【００９９】
次に「機能種別」に対応するソースコード（手続き部）の処理が実行される。その際、「機能種別」に対応するソースコード（データ部）が参照される。ここでは、受信データＡで指定された機能（即ち、エアコンの機能）が、ソースコード（データ部）に記述されているか否かの検査などが行われる。上述したように、機能に関しても、各家電及び命令種別の情報と対応付けて記述されている。そのため、ここでは、ソースコード（データ部）の中で、エアコン（及び命令種別）に対応する機能が記述された箇所を参照して、検査を行えば良い。なお、「命令種別」に対応するソースコード（手続き部）からは、ソースコード（データ部）の中でエアコン（及び命令種別）に対応する機能が記述された箇所を参照するように指示される。そのため、「機能種別」に対応するソースコード（手続き部）の処理では、該当箇所を参照することができる。
【０１００】
例えば、図１７（ｂ）に示す例の場合、受信データＡで指定されたエアコンの機能が、「温度自動」、「冷房モード」、「消費電力」の何れかに該当するか順番にチェックする。ここで、受信データＡの機能がどの機能にも該当しなければ、エラーとなり処理は終了する。一方、受信データＡの機能が、例えば「温度自動」の機能に該当する場合、次の「データ種別」、「インタフェース種別」の処理に進む。
【０１０１】
同様に、「データ種別」に対応するソースコード（手続き部）の処理が実行される際には、「データ種別」に対応するソースコード（データ部）が参照される。ここでは、受信データＡが、ソースコード（データ部）に記述されたデータ形式を満たすか否かの検査などが行われる。さらに、「インタフェース種別」に対応するソースコード（手続き部）の処理が実行される際には、「インタフェース種別」に対応するソースコード（データ部）が参照される。ここでは、受信データＡで指定されたデータ送受信の方法が、ソースコード（データ部）に記述されているか否かの検査などが行われる。受信データＡで指定されたデータ送受信の方法がソースコード（データ部）に記述されていれば、その送受信の方法で、エアコンに対してデータの送受信が開始される。
【０１０２】
＜ファームウェア生成システム全体の処理の流れ＞
次に、ファームウェア生成システム１全体の処理の流れについて説明する。図１８は、ファームウェア生成システム１においてファームウェアを生成する処理手順の一例を示したフローチャートである。ここで、ステップ１０１〜ステップ１０３の処理は、利用者端末１０による処理に該当する。また、ステップ１０４〜ステップ１０６の処理は、ファームウェア生成サーバ２０の処理に該当する。
【０１０３】
まず、利用者が利用者端末１０の画面上で利用者入力情報を入力することにより、入力情報受付部１１は、利用者入力情報を受け付ける（ステップ１０１）。次に、データ変換部１２は、受け付けた利用者入力情報に対応するキーを用いて、利用者入力情報を変換してサーバ送信用データを生成する（ステップ１０２）。次に、データ送信部１３は、生成されたサーバ送信用データをファームウェア生成サーバ２０へ送信する（ステップ１０３）。
【０１０４】
次に、データ受付部２１は、利用者端末１０からサーバ送信用データを受け付ける（ステップ１０４）。次に、ソースコード生成部２２は、フォーマット格納部２４に格納されているソースコード生成用フォーマットを取得する。そして、ソースコード生成部２２は、取得したソースコード生成用フォーマットを用いて、利用者端末１０から受け付けたサーバ送信用データを変換してソースコード（データ部）を生成する（ステップ１０５）。次に、ファームウェア生成部２３は、ソースコード格納部２５からソースコード（手続き部）を取得する。そして、ファームウェア生成部２３は、取得したソースコード（手続き部）と、生成されたソースコード（データ部）とを足し合わせて、ファームウェアを生成する（ステップ１０６）。そして、本処理フローは終了する。
【０１０５】
また、ファームウェアが生成された後には、例えば、利用者が利用者端末１０にてファームウェアを取得する操作を行うことにより、生成されたファームウェアがファームウェア生成サーバ２０から利用者端末１０へ送信される。利用者は、送信されてきたファームウェアを、例えば通信制御基板にインストールし、その通信制御基板を対象機器に搭載することにより、対象機器の通信機能が制御される。ただし、通信制御基板を対象機器に搭載する構成に限られるものではなく、例えば、対象機器を制御する他の制御装置に通信制御基板を搭載して、この制御装置がファームウェアにより対象機器の通信機能を制御することとしても良い。
【０１０６】
なお、本実施の形態では、対象機器に、対象機器の各種の機能を制御する制御装置等が備えられているものとして説明したが、対象機器の中には、例えばＬＥＤ(Light Emitting Diode)照明のように制御装置等を備えていない単純な構成のものも存在する。このような単純な構成の対象機器の場合、ファームウェアは、例えば、利用者端末１０から受信した命令に従って、対象機器の動作を制御する。即ち、この場合、ファームウェアは、対象機器の通信機能を制御するとともに、対象機器の動作を制御するものとして捉えることができる。
【０１０７】
以上説明したように、本実施の形態に係るファームウェア生成システム１では、利用者が操作したい機器の種類や機能等を画面上で選択することにより、選択された機器や機能に対応したファームウェアが生成される。その際、ファームウェア生成サーバ２０のファームウェア生成部２３は、利用者入力情報に応じて生成されたソースコード（データ部）と、予め定められたソースコード（手続き部）とを足し合わせることにより、ファームウェアを生成する。
【０１０８】
また、例えば、ＥＣＨＯＮＥＴ  Ｌｉｔｅの規定により、対象機器の候補として新しい機器が追加されたり、対象機器において制御しようとする機能として新しい機能が追加されたりした場合、図１５に示すキーのｃｌａｓｓコードやｐｒｏｐｅｒｔｙコードが追加される。しかし、ソースコード生成用フォーマットおよびソースコード（手続き部）は変更しなくて良く、そのままのものを用いれば良い。即ち、新しい機器や機能に対応するファームウェアを生成する場合であっても、ソースコード生成部２２は、ソースコード生成用フォーマットを用いて、利用者が画面上で選択した機器や機能に対応したソースコード（データ部）を生成する。そして、ファームウェア生成部２３は、生成されたソースコード（データ部）とソースコード（手続き部）とを足し合わせることにより、ファームウェアを生成する。
【０１０９】
なお、本実施の形態では、利用者端末１０がサーバ送信用データをファームウェア生成サーバ２０へ送信し、ファームウェア生成サーバ２０がファームウェアを生成する構成としたが、このような構成に限られるものではない。例えば、利用者端末１０が、ファームウェア生成サーバ２０の機能を有し、利用者端末１０にてファームウェアを生成するような構成であっても良い。言い換えると、利用者端末１０が、ファームウェア生成サーバ２０のデータ受付部２１、ソースコード生成部２２、ファームウェア生成部２３、フォーマット格納部２４、ソースコード格納部２５等の機能を備えることとしても良い。この場合、利用者端末１０は、ファームウェアを生成するのに用いられる情報を受け付ける受付機能、ファームウェアの生成指示を行う生成指示機能を実現させるためのプログラムを有し、ファームウェアを生成するものとして捉えることができる。
【０１１０】
また、本発明の実施の形態を実現するプログラムは、磁気記録媒体（磁気テープ、磁気ディスクなど）、光記録媒体（光ディスクなど）、光磁気記録媒体、半導体メモリなどのコンピュータが読取可能な記録媒体に記憶した状態で提供し得る。また、インターネットなどの通信手段を用いて提供することも可能である。
【０１１１】
以上、本発明の実施の形態について説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、種々の変更又は改良を加えたものも、本発明の技術的範囲に含まれることは、特許請求の範囲の記載から明らかである。
【符号の説明】
【０１１２】
１…ファームウェア生成システム、１０…利用者端末、１１…入力情報受付部、１２…データ変換部、１３…データ送信部、２０…ファームウェア生成サーバ、２１…データ受付部、２２…ソースコード生成部、２３…ファームウェア生成部、２４…フォーマット格納部、２５…ソースコード格納部
【図１】
2018055629.tif 000003
【図２】
2018055629.tif 000004
【図３】
2018055629.tif 000005
【図４】
2018055629.tif 000006
【図５】
2018055629.tif 000007
【図６】
2018055629.tif 000008
【図７】
2018055629.tif 000009
【図８】
2018055629.tif 000010
【図９】
2018055629.tif 000011
【図１０】
2018055629.tif 000012
【図１１−１】
2018055629.tif 000013
【図１１−２】
2018055629.tif 000014
【図１２】
2018055629.tif 000015
【図１３】
2018055629.tif 000016
【図１４】
2018055629.tif 000017
【図１５】
2018055629.tif 000018
【図１６】
2018055629.tif 000019
【図１７】
2018055629.tif 000020
【図１８】
2018055629.tif 000021
【手続補正書】
【提出日】平成29年6月12日(2017.6.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
制御対象機器の通信機能を制御するためのソフトウェアを提供する方法であって、
前記ソフトウェアを生成するのに用いられる情報を入力可能な複数の画面であって、予め定められた順番で遷移して表示手段に表示される複数の画面のうち、予め定められた複数の機器の中から前記制御対象機器の選択を受け付けるための第１画面を表示するステップと、
表示された前記第１画面上で、前記制御対象機器の選択を受け付けるステップと、
前記複数の画面のうち、選択された前記制御対象機器に対して実行される操作の種類の選択を受け付けるための第２画面を表示するステップと、
表示された前記第２画面上で、前記制御対象機器に対して実行される操作の種類の選択を受け付けるステップと、
前記複数の画面のうち、選択された前記操作のためのデータを前記ソフトウェアが搭載される制御部が送受信する際に使用されるインタフェースの設定を受け付けるための第３画面を表示するステップと、
表示された前記第３画面上で、前記インタフェースの設定内容の入力を受け付けるステップと、
前記複数の画面上で受け付けた情報を基に、前記ソフトウェアの生成指示を行うステップと、
を含む、ソフトウェアの提供方法。
【請求項２】
前記第２画面を表示するステップは、当該第２画面として、前記操作の種類を示す操作品目が並んだ画面を表示し、当該画面では、当該操作品目のうち、前記制御対象機器に対して前記ソフトウェアへ搭載することが任意な操作品目については第１の態様で表示し、当該制御対象機器に対して当該ソフトウェアへ搭載することが必須な操作品目については第２の態様で表示し、
前記生成指示を行うステップは、前記第１の態様で表示された操作品目についての選択に基づく設定、及び、前記第２の態様で表示された操作品目についての予め定められた設定を基に、当該生成指示を行うこと、
を特徴とする、請求項１に記載のソフトウェアの提供方法。
【請求項３】
前記操作の種類を示す操作品目に関して、何れの操作品目にも共通に設けられる複数の設定項目が当該操作品目毎に並べられた画面を表示し、当該画面では、当該設定項目のうち、設定するか否かが任意の設定項目については第１の態様で表示し、設定するか否かが予め定められている設定項目については第２の態様で表示するステップをさらに含み、
前記生成指示を行うステップは、前記第１の態様で表示された設定項目についての選択に基づく設定、及び、前記第２の態様で表示された設定項目についての予め定められた設定を基に、当該生成指示を行うこと、
を特徴とする、請求項１に記載のソフトウェアの提供方法。
【請求項４】
前記第３画面を表示するステップは、
前記第１の態様で表示された設定項目のうち設定することが選択された設定項目、及び、前記第２の態様で表示された設定項目のうち設定することが予め定められている設定項目について、当該第３画面を表示すること、
を特徴とする、請求項３に記載のソフトウェアの提供方法。
【請求項５】
前記複数の画面として、前記ソフトウェアが搭載される制御部に含まれる通信モジュールの選択を受け付けるための画面を表示するステップをさらに含み、
前記第３画面を表示するステップは、選択された前記通信モジュールに応じた当該第３画面を表示すること、
を特徴とする、請求項１に記載のソフトウェアの提供方法。
【請求項６】
前記複数の画面として、前記ソフトウェアにおいて前記制御対象機器の通信機能を制御するために用いられる通信規格の選択を受け付けるための画面を表示するステップをさらに含み、
前記第１画面を表示するステップは、選択された前記通信規格に応じた当該第１画面を表示し、
前記第２画面を表示するステップは、選択された前記通信規格に応じた当該第２画面を表示し、
前記第３画面を表示するステップは、選択された前記通信規格に応じた当該第３画面を表示すること、
を特徴とする、請求項１に記載のソフトウェアの提供方法。
【請求項７】
前記生成指示を基に生成される前記ソフトウェアを前記制御部に搭載する指示を受け付けるための画面を表示するステップと、
表示された前記画面上で、前記ソフトウェアを前記制御部に搭載する指示を受け付けるステップとをさらに含むこと、
を特徴とする、請求項１に記載のソフトウェアの提供方法。
【請求項８】
制御対象機器の通信機能を制御するためのソフトウェアを提供する方法であって、
予め定められた複数の機器を表示するステップと、
表示された前記予め定められた複数の機器の中から前記制御対象機器の選択を受け付けるステップと、
前記制御対象機器の選択を受け付けた後、選択された当該制御対象機器に対して実行される操作の種類を示す１又は複数の操作品目と予め対応付けられた項目であるオプション項目の選択を受け付けるための画面を表示するステップと、
前記オプション項目の選択を受け付けるステップと、
選択された前記制御対象機器に対して実行される操作の種類を示す操作品目が並んだ画面において、当該操作品目のうち、当該制御対象機器に対して前記ソフトウェアへ搭載することが任意な操作品目については第１の態様で表示し、当該制御対象機器に対して当該ソフトウェアへ搭載することが必須な操作品目については第２の態様で表示し、さらに、前記オプション項目の選択を受け付けた場合には、選択された当該オプション項目に対応する操作品目を当該第２の態様で表示するステップと、
前記第１の態様で表示された操作品目についての選択を受け付けるステップと、
前記第１の態様で表示された操作品目についての選択に基づく設定、及び、前記第２の態様で表示された操作品目についての予め定められた設定を基に、前記ソフトウェアの生成指示を行うステップと、
を含む、ソフトウェアの提供方法。
【請求項９】
制御対象機器の通信機能を制御するためのソフトウェアを提供する方法であって、
予め定められた複数の機器を表示するステップと、
表示された前記予め定められた複数の機器の中から前記制御対象機器の選択を受け付けるステップと、
選択された前記制御対象機器に対して実行される操作の種類を示す操作品目に関して、何れの操作品目にも共通に設けられる複数の設定項目が当該操作品目毎に並べられた画面において、当該設定項目のうち、設定するか否かが任意の設定項目については第１の態様で表示し、設定するか否かが予め定められている設定項目については第２の態様で表示するステップと、
前記第１の態様で表示された設定項目について設定するか否かの選択を受け付けるステップと、
前記第１の態様で表示された設定項目のうち設定することが選択された設定項目、及び、前記第２の態様で表示された設定項目のうち設定することが予め定められている設定項目について、前記ソフトウェアによる前記制御対象機器の通信機能の制御に関する設定を受け付けるための１又は複数の画面を表示するステップと、
前記第１の態様で表示された設定項目のうち設定することが選択された設定項目、及び、前記第２の態様で表示された設定項目のうち設定することが予め定められている設定項目について、前記ソフトウェアによる前記制御対象機器の通信機能の制御に関する設定を受け付けるステップと、
前記第１の態様で表示された設定項目について受け付けた設定、及び、前記第２の態様で表示された設定項目について受け付けた設定を基に、前記ソフトウェアの生成指示を行うステップと、
を含む、ソフトウェアの提供方法。
【請求項１０】
前記ソフトウェアによる前記制御対象機器の通信機能の制御に関する設定を受け付けるための１又は複数の画面として、当該ソフトウェアが搭載される制御部がデータを送受信する際のインタフェースの形式、当該インタフェースを介して当該制御部と当該制御対象機器との間でデータをやり取りする場合の手続きを定めた処理関数、及び当該処理関数にて用いられるパラメータの設定を受け付けるための１又は複数の画面が表示されること、
を特徴とする、請求項９に記載のソフトウェアの提供方法。
【請求項１１】
前記ソフトウェアによる前記制御対象機器の通信機能の制御に関する設定を受け付けるための１又は複数の画面として、当該制御対象機器が自機の状態の変更有無を確認する間隔を設定するための画面が表示されること
を特徴とする、請求項９に記載のソフトウェアの提供方法。
【請求項１２】
制御対象機器の通信機能を制御するためのソフトウェアを提供する方法であって、
予め定められた複数の機器を表示するステップと、
表示された前記予め定められた複数の機器の中から前記制御対象機器の選択を受け付けるステップと、
選択された前記制御対象機器の通信機能を制御するためのソフトウェアへ付与される付与情報を受け付けるための画面を表示するステップと、
表示された前記画面上で前記付与情報を受け付けて、受け付けた当該付与情報を記憶部に記憶するステップと、
前記制御対象機器についての前記付与情報を受け付けた後に、表示された前記予め定められた複数の機器の中から他の制御対象機器の選択を受け付けた場合に、前記記憶部に記憶された当該付与情報を読み込んで、読み込んだ当該付与情報が入力された状態で、選択された当該他の制御対象機器の通信機能を制御するためのソフトウェアへ付与される付与情報を受け付けるための画面を表示するステップと、
を含む、ソフトウェアの提供方法。
【請求項１３】
前記付与情報は、前記ソフトウェアを識別するために当該ソフトウェアへ固有に付与される情報であること、
を特徴とする、請求項１２に記載のソフトウェアの提供方法。
【請求項１４】
制御対象機器の通信機能を制御するためのソフトウェアを生成するのに用いられる情報を入力可能な複数の画面を、遷移させて表示する表示部と、
前記表示部に表示された画面上で行われる操作者の操作入力により、前記ソフトウェアを生成するのに用いられる情報を受け付ける受付部と、
前記受付部が受け付けた情報を基に、前記ソフトウェアを生成する外部装置に対して当該ソフトウェアの生成指示を送信する送信部と、を備え、
前記表示部は、前記複数の画面として、予め定められた複数の機器の中から前記制御対象機器の選択を受け付けるための第１画面、選択された当該制御対象機器に対して実行される操作の種類の選択を受け付けるための第２画面、選択された当該操作のためのデータを前記ソフトウェアが搭載される制御部が送受信する際に使用されるインタフェースの設定内容の入力を受け付けるための第３画面を、予め定められた順番で遷移させて表示すること、
を特徴とする、情報処理装置。
【請求項１５】
制御対象機器の通信機能を制御するためのソフトウェアを生成するのに用いられる情報を入力可能な画面を表示する表示部と、
前記表示部に表示された画面上で行われる操作者の操作入力により、前記ソフトウェアを生成するのに用いられる情報を受け付ける受付部と、
前記受付部が受け付けた情報を基に、前記ソフトウェアを生成する外部装置に対して当該ソフトウェアの生成指示を送信する送信部と、を備え、
前記表示部は、予め定められた複数の機器を表示し、前記受付部が当該予め定められた複数の機器の中から前記制御対象機器の選択を受け付けた場合、選択された当該制御対象機器に対して実行される操作の種類を示す１又は複数の操作品目と予め対応付けられた項目であるオプション項目の選択を受け付けるための第１画面と、選択された当該制御対象機器に対して実行される操作の種類を示す操作品目が並んだ第２画面とを表示し、当該第２画面では、当該操作品目のうち、当該制御対象機器に対して前記ソフトウェアへ搭載することが任意な操作品目については第１の態様で表示し、当該制御対象機器に対して前記ソフトウェアへ搭載することが必須な操作品目については第２の態様で表示し、さらに、当該受付部が当該第１画面において当該オプション項目の選択を受け付けた場合には、選択された当該オプション項目に対応する操作品目を当該第２の態様で表示し、
前記受付部は、前記第２画面において、前記第１の態様で表示された操作品目について、前記ソフトウェアへ搭載するか否かの選択を受け付け、前記第２の態様で表示された操作品目について、当該ソフトウェアへ搭載するか否かの選択を受け付けないこと、
を特徴とする、情報処理装置。
【請求項１６】
制御対象機器の通信機能を制御するためのソフトウェアを生成するのに用いられる情報を入力可能な画面を表示する表示部と、
前記表示部に表示された画面上で行われる操作者の操作入力により、前記ソフトウェアを生成するのに用いられる情報を受け付ける受付部と、
前記受付部が受け付けた情報を基に、前記ソフトウェアを生成する外部装置に対して当該ソフトウェアの生成指示を送信する送信部と、を備え、
前記表示部は、予め定められた複数の機器を表示し、前記受付部が当該予め定められた複数の機器の中から前記制御対象機器の選択を受け付けた場合、選択された当該制御対象機器に対して実行される操作の種類を示す操作品目に関して、何れの操作品目にも共通に設けられる複数の設定項目が当該操作品目毎に並べられた第１画面を表示し、当該第１画面では、当該設定項目のうち、設定するか否かが任意の設定項目については第１の態様で表示し、設定するか否かが予め定められている設定項目については第２の態様で表示し、また、当該第１の態様で表示された設定項目のうち設定することが選択された設定項目、及び、当該第２の態様で表示された設定項目のうち設定することが予め定められている設定項目について、前記ソフトウェアによる当該制御対象機器の通信機能の制御に関する設定を受け付けるための１又は複数の第２画面を表示し、
前記受付部は、前記第１画面において、前記第１の態様で表示された設定項目について設定するか否かの選択を受け付け、前記第２画面において、前記第１の態様で表示された設定項目のうち設定することが選択された設定項目、及び、前記第２の態様で表示された設定項目のうち設定することが予め定められている設定項目について、前記ソフトウェアによる前記制御対象機器の通信機能の制御に関する設定を受け付け、
前記送信部は、前記第１の態様で表示された設定項目について受け付けた設定、及び、前記第２の態様で表示された設定項目について受け付けた設定を基に、前記ソフトウェアの生成指示を送信すること
を特徴とする、情報処理装置。
【請求項１７】
制御対象機器の通信機能を制御するためのソフトウェアを生成するのに用いられる情報を入力可能な画面を表示する表示部と、
前記表示部に表示された画面上で行われる操作者の操作入力により、前記ソフトウェアを生成するのに用いられる情報を受け付ける受付部と、
前記受付部が受け付けた情報を基に、前記ソフトウェアを生成する外部装置に対して当該ソフトウェアの生成指示を送信する送信部と、を備え、
前記表示部は、予め定められた複数の機器の中から前記受付部が前記制御対象機器の選択を受け付けた場合に表示する画面であって、前記ソフトウェアへ付与される情報を当該受付部により受け付けるための画面を表示し、他の制御対象機器が選択された際に受け付けた付与情報がある場合には、受け付けた当該付与情報を当該画面上に表示すること、
を特徴とする、情報処理装置。
【請求項１８】
画面を表示する表示手段を有するコンピュータに、
制御対象機器の通信機能を制御するためのソフトウェアを生成するのに用いられる情報を入力可能な複数の画面であって、予め定められた順番で遷移して前記表示手段に表示される複数の画面のうち、予め定められた複数の機器が表示された第１画面上で、当該制御対象機器の選択を受け付ける第１受付機能と、
前記複数の画面のうち、前記第１受付機能にて選択が受け付けられた前記制御対象機器に対して実行される操作の種類が表示された第２画面上で、当該制御対象機器に対して実行される操作の種類の選択を受け付ける第２受付機能と、
前記複数の画面のうち、前記第２受付機能にて受け付けられた前記操作のためのデータを前記ソフトウェアが搭載される制御部が送受信する際に使用されるインタフェースの設定を受け付けるための第３画面上で、当該インタフェースの設定内容の入力を受け付ける第３受付機能と、
前記複数の画面上で受け付けた情報を基に、前記ソフトウェアの生成指示を行う生成指示機能と、
を実現させるためのプログラム。
【請求項１９】
画面を表示する表示手段を有するコンピュータに、
制御対象機器の通信機能を制御するためのソフトウェアを生成するのに用いられる情報を入力可能な画面として前記表示手段に表示された画面上で行われる操作者の操作入力により、当該ソフトウェアを生成するのに用いられる情報を受け付ける受付機能と、
前記受付機能が受け付けた情報を基に、前記ソフトウェアの生成指示を行う生成指示機能とを実現させ、
前記受付機能は、前記表示手段に表示された予め定められた複数の機器の中から前記制御対象機器の選択を受け付けた場合に当該表示手段に表示される画面であって、選択された当該制御対象機器に対して実行される操作の種類を示す１又は複数の操作品目と予め対応付けられた項目であるオプション項目の選択を受け付けるための第１画面において、当該オプション項目の選択を受け付け、当該表示手段に表示された予め定められた複数の機器の中から当該制御対象機器の選択を受け付けた場合に当該表示手段に表示される画面であって、選択された当該制御対象機器に対して実行される操作の種類を示す操作品目が並んだ第２画面において、当該操作品目のうち、当該制御対象機器に対して前記ソフトウェアへ搭載することが任意な操作品目については第１の態様で表示し、当該制御対象機器に対して当該ソフトウェアへ搭載することが必須な操作品目については第２の態様で表示し、さらに、当該オプション項目の選択を受け付けた場合には、選択された当該オプション項目に対応する操作品目を当該第２の態様で表示し、当該第１の態様で表示された操作品目について、当該ソフトウェアへ搭載するか否かの選択を受け付け、当該第２の態様で表示された操作品目について、当該ソフトウェアへ搭載するか否かの選択を受け付けないこと、
を特徴とする、プログラム。
【請求項２０】
画面を表示する表示手段を有するコンピュータに、
制御対象機器の通信機能を制御するためのソフトウェアを生成するのに用いられる情報を入力可能な画面として前記表示手段に表示された画面上で行われる操作者の操作入力により、当該ソフトウェアを生成するのに用いられる情報を受け付ける受付機能と、
前記受付機能が受け付けた情報を基に、前記ソフトウェアの生成指示を行う生成指示機能とを実現させ、
前記受付機能は、前記表示手段に表示された予め定められた複数の機器の中から前記制御対象機器の選択を受け付けた場合に当該表示手段に表示される画面であって、選択された当該制御対象機器に対して実行される操作の種類を示す操作品目に関して、何れの操作品目にも共通に設けられる複数の設定項目が当該操作品目毎に並べられた第１画面において、当該設定項目のうち、設定するか否かが任意の設定項目については第１の態様で表示し、設定するか否かが予め定められている設定項目については第２の態様で表示し、当該第１の態様で表示された設定項目について設定するか否かの選択を受け付け、また、当該第１の態様で表示された設定項目のうち設定することが選択された設定項目、及び、当該第２の態様で表示された設定項目のうち設定することが予め定められている設定項目について、前記ソフトウェアによる前記制御対象機器の通信機能の制御に関する設定を受け付けるための１又は複数の第２画面を表示し、当該第２画面において、当該第１の態様で表示された設定項目のうち設定することが選択された設定項目、及び、当該第２の態様で表示された設定項目のうち設定することが予め定められている設定項目について、当該ソフトウェアによる当該制御対象機器の通信機能の制御に関する設定を受け付け、
前記生成指示機能は、前記第１の態様で表示された設定項目について受け付けた設定、及び、前記第２の態様で表示された設定項目について受け付けた設定を基に、前記ソフトウェアの生成指示を行うこと
を特徴とする、プログラム。
【請求項２１】
画面を表示する表示手段を有するコンピュータに、
制御対象機器の通信機能を制御するためのソフトウェアを生成するのに用いられる情報を入力可能な画面として前記表示手段に表示された画面上で行われる操作者の操作入力により、当該ソフトウェアを生成するのに用いられる情報を受け付ける受付機能と、
前記受付機能が受け付けた情報を基に、前記ソフトウェアの生成指示を行う生成指示機能とを実現させ、
前記受付機能は、前記表示手段に表示された予め定められた複数の機器の中から前記制御対象機器の選択を受け付けた場合に当該表示手段に表示される画面であって、前記ソフトウェアへ付与される付与情報を受け付けるための画面を表示し、他の制御対象機器が選択された際に受け付けた付与情報がある場合には、受け付けた当該付与情報を当該画面上に表示し、当該付与情報の編集を受け付けること、
を特徴とする、プログラム。