JP6207782B1 - Software generation system, information processing apparatus, and program - Google Patents

Software generation system, information processing apparatus, and program Download PDF

Info

Publication number
JP6207782B1
JP6207782B1 JP2017043648A JP2017043648A JP6207782B1 JP 6207782 B1 JP6207782 B1 JP 6207782B1 JP 2017043648 A JP2017043648 A JP 2017043648A JP 2017043648 A JP2017043648 A JP 2017043648A JP 6207782 B1 JP6207782 B1 JP 6207782B1
Authority
JP
Japan
Prior art keywords
code
target device
control target
function
information
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.)
Active
Application number
JP2017043648A
Other languages
Japanese (ja)
Other versions
JP2018018498A (en
Inventor
杉浦 隆幸
隆幸 杉浦
昌也 上床
昌也 上床
成海 平井
成海 平井
由基 水野
由基 水野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NetAgent Co Ltd
Original Assignee
NetAgent Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NetAgent Co Ltd filed Critical NetAgent Co Ltd
Priority to JP2017043648A priority Critical patent/JP6207782B1/en
Application granted granted Critical
Publication of JP6207782B1 publication Critical patent/JP6207782B1/en
Publication of JP2018018498A publication Critical patent/JP2018018498A/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】制御対象機器の通信機能を制御して当該制御対象機器を制御する命令を受け付け当該制御対象機器から情報を出力させるソフトウェアを簡易に生成する。【解決手段】ファームウェア生成システムは、制御対象機器の種類および特定の機能の情報を含む制御対象機器の情報を受け付けて制御対象機器の通信機能を制御するためのソフトウェアを生成するファームウェア生成サーバ20と、制御対象機器の情報をファームウェア生成サーバ20に送信する利用者端末と、を備える。ファームウェア生成サーバ20は、利用者端末から送信された制御対象機器の情報を予め定められた第1のコードのフォーマットに適用して第1のコードを生成するソースコード生成部22と、ソースコード生成部22により生成された第1のコードおよび予め用意された第2のコードに基づいて、制御対象機器の通信機能を制御するソフトウェアを生成するファームウェア生成部23と、を備える。【選択図】図5Software for controlling a communication function of a control target device to receive a command for controlling the control target device and outputting information from the control target device is easily generated. A firmware generation system includes a firmware generation server that receives information of a control target device including information on the type of the control target device and specific functions, and generates software for controlling the communication function of the control target device; A user terminal that transmits information on the device to be controlled to the firmware generation server 20. The firmware generation server 20 applies the information of the control target device transmitted from the user terminal to a predetermined first code format, and generates a first code, and a source code generation A firmware generation unit 23 configured to generate software for controlling the communication function of the control target device based on the first code generated by the unit 22 and the second code prepared in advance. [Selection] Figure 5

Description

本発明は、ソフトウェア生成システム、情報処理装置およびプログラムに関する。   The present invention relates to a software generation system, an information processing apparatus, and a program.

近年、インターネットの普及に伴い、あらゆるものをネットワークに接続するIoT(Internet of Things)という概念が提案されている。例えば家電等の電気機器をネットワークに接続し、これらの電気機器を制御する技術が知られている。   In recent years, with the spread of the Internet, the concept of IoT (Internet of Things) that connects everything to a network has been proposed. For example, a technique for connecting an electrical device such as a home appliance to a network and controlling the electrical device is known.

例えば、エアコンディショナ等の家電を制御する技術として、特許文献1には、電気機器に制御信号を送信するためのコントローラであって、携帯端末から送信された電気機器に対する指示を、サーバから受信するための通信部と、電気機器に対する制御信号を記憶するための記憶部と、プロセッサとを備え、プロセッサは、通信部から受信した電気機器に対する指示を電気機器に送信するとともに、サーバとの接続が継続されていないと判断した場合には、電気機器に対して、記憶部に記憶された制御信号であって、当該電気機器の特定の状態に対応する制御信号を送信するように構成されている、コントローラが開示されている。   For example, as a technique for controlling home appliances such as an air conditioner, Patent Literature 1 discloses a controller for transmitting a control signal to an electric device, and receives an instruction for the electric device transmitted from a portable terminal from a server. A communication unit for storing the data, a storage unit for storing a control signal for the electric device, and a processor. The processor transmits an instruction for the electric device received from the communication unit to the electric device and is connected to the server. Is determined to be not continued, it is configured to transmit a control signal stored in the storage unit to the electrical device and corresponding to a specific state of the electrical device. A controller is disclosed.

また、例えば、照明器具を制御する技術として、特許文献2には、外部機器から照明光の制御を行う情報を含む制御信号を無線方式または有線方式により受信する通信部と通信部が受信した制御信号を点灯制御信号に変換する信号変換部とを有する通信ユニットと、光源を点灯させる点灯回路部と点灯制御信号に基づいて点灯回路部を制御する点灯制御部とを有する点灯ユニットと、を備え、点灯ユニットと接続する通信ユニットは、外部機器が送信する制御信号の信号方式に応じて通信方式が異なる通信ユニットと交換可能なことを特徴とする点灯装置が開示されている。   For example, as a technique for controlling a lighting fixture, Patent Document 2 discloses a communication unit that receives a control signal including information for controlling illumination light from an external device by a wireless method or a wired method, and a control that is received by the communication unit. A communication unit having a signal conversion unit for converting a signal into a lighting control signal, and a lighting unit having a lighting circuit unit for lighting the light source and a lighting control unit for controlling the lighting circuit unit based on the lighting control signal. A lighting device is disclosed in which a communication unit connected to a lighting unit can be replaced with a communication unit having a different communication method in accordance with a signal method of a control signal transmitted by an external device.

特開2015−198424号公報JP-A-2015-198424 特開2015−109196号公報JP2015-109196A

家電等の電気機器をネットワークに接続させ、このネットワークを介して電気機器を外部から制御したり、電気機器から情報を出力させたりするには、この電気機器に通信機能を持たせ、電気機器の制御装置やセンサとの間で情報交換を行うことが必要となる。そして、電気機器には多くの種類が存在し、様々な機能が設けられているため、電気機器の通信機能を制御するソフトウェアは、制御しようとする電気機器の種類や機能に応じて個別に生成されていた。このようなソフトウェアを人手で生成する作業には、一般に、非常に多くの時間と手間がかかる。そのため、かかるソフトウェアを手軽に生成する手段の提供が望まれていた。
本発明の目的は、制御対象機器の通信機能を制御して当該制御対象機器を制御する命令を受け付けたり当該制御対象機器から情報を出力したりさせるソフトウェアを簡易に生成することを目的とする。
To connect electrical equipment such as home appliances to a network and control the electrical equipment from the outside via this network or to output information from the electrical equipment, this electrical equipment has a communication function, It is necessary to exchange information with control devices and sensors. Since there are many types of electrical equipment and various functions are provided, software for controlling the communication function of the electrical equipment is generated individually according to the type and function of the electrical equipment to be controlled. It had been. In general, it takes a lot of time and labor to manually generate such software. Therefore, it has been desired to provide a means for easily generating such software.
An object of the present invention is to easily generate software that controls a communication function of a control target device to receive a command to control the control target device and to output information from the control target device.

かかる目的のもと、本発明は、制御対象機器の種類および特定の機能の情報を含む制御対象機器の情報を受け付けて当該制御対象機器の通信機能を制御するためのソフトウェアを生成するサーバと、前記制御対象機器の情報を前記サーバに送信する端末装置と、を備え、前記サーバは、前記端末装置から送信された前記制御対象機器の情報を予め定められた第1のコードのフォーマットに適用して第1のコードを生成するコード生成部と、前記コード生成部により生成された前記第1のコードおよび予め用意された第2のコードに基づいて、前記制御対象機器の通信機能を制御するソフトウェアを生成するソフトウェア生成部と、を備え、前記第2のコードは、前記第1のコードを参照して前記制御対象機器に前記特定の機能を実行させる手続きが記述された、記述内容が当該制御対象機器の複数の機能に対応するコードであることを特徴とする、ソフトウェア生成システムを提供する。
また、前記端末装置は、前記制御対象機器に関して前記ソフトウェアを生成するために特定を要する項目をメニュー表示する表示手段と、前記表示手段により表示されたメニューに基づき、前記項目を選択することにより前記制御対象機器の情報を入力する操作を受け付ける操作受け付け手段とを備えることを特徴とする。
さらに、前記制御対象機器の情報は、前記項目に応じた複数の種別に分類され、前記第1のコードは、前記複数の種別の種別毎に予め定められた前記第1のコードのフォーマットに則って、当該複数の種別の種別毎に記述され、前記第2のコードは、前記複数の種別の種別毎に記述されたコードであって、前記ソフトウェア生成部は、前記コード生成部により生成された前記第1のコードと前記第2のコードとを前記複数の種別の種別毎に対応させて前記ソフトウェアを生成することを特徴とする。
また、本発明は、制御対象機器の種類および特定の機能の情報を含む制御対象機器の情報を受け付ける受付部と、予め定められた第1のコードのフォーマットを格納したフォーマット格納部と、予め定められた第2のコードを格納したコード格納部と、前記受付部により受け付けた前記制御対象機器の情報を前記フォーマット格納部に格納された前記第1のコードのフォーマットに適用して第1のコードを生成するコード生成部と、前記コード生成部により生成された前記第1のコードおよび前記コード格納部から読み出した前記第2のコードに基づいて、前記制御対象機器の通信機能を制御するソフトウェアを生成するソフトウェア生成部と、を備え、前記第2のコードは、前記第1のコードを参照して前記制御対象機器に前記特定の機能を実行させる手続きが記述された、記述内容が当該制御対象機器の複数の機能に対応するコードであることを特徴とする、情報処理装置を提供する。
また、前記第2のコードは、記述内容が前記制御対象機器の種類および当該制御対象機器の機能によらないコードであることを特徴とする。
さらに、前記手続きは、前記制御対象機器の通信機能を制御するものとして受信したデータに対して行われる処理を含むことを特徴とする。
そして、前記第1のコードのフォーマットは、制御対象機器の通信機能を制御するためのデータの型と当該データが取り得る値の範囲とを指定し、前記手続きは、前記制御対象機器の通信機能を制御するものとして受信したデータが前記型と前記範囲とを満たすか否かを検査する処理を含むことを特徴とする。
また、前記第2のコードは、前記制御対象機器の通信機能を制御し、当該制御対象機器の機能を実現する機能実現手段のうち、前記特定の機能についての機能実現手段との間で情報交換を行うための前記手続きが記述されたコードであることを特徴とする。
さらに、本発明は、コンピュータを、制御対象機器の種類および特定の機能の情報を含む制御対象機器の情報を受け付ける受付手段と、記憶装置から予め定められた第1のコードのフォーマットを読み出し、前記受付手段により受け付けた前記制御対象機器の情報を当該第1のコードのフォーマットに適用して第1のコードを生成するコード生成手段と、記憶装置から予め定められた第2のコードを読み出し、当該第2のコードおよび前記コード生成手段により生成された前記第1のコードに基づいて、前記制御対象機器の通信機能を制御するソフトウェアを生成するソフトウェア生成手段として、機能させ、前記第2のコードは、前記第1のコードを参照して前記制御対象機器に前記特定の機能を実行させる手続きが記述された、記述内容が当該制御対象機器の複数の機能に対応するコードであることを特徴とする、プログラムを提供する。
また、本発明は、異なる製造元による複数の種類の電気機器のうち何れかの電気機器に実行させる特定の機能の情報を受け付ける受付部と、記述内容が電気機器の種類および電気機器の機能によらないコードであって、前記受付部により受け付けた前記情報を用いて前記何れかの電気機器に前記特定の機能を実行させるコードを含み、操作者が遠隔から当該電気機器の通信機能を制御するために当該電気機器に組み込まれるソフトウェアを生成するソフトウェア生成部とを備えることを特徴とする、情報処理装置を提供する。
For this purpose, the present invention is a server that receives information of a control target device including information on the type of the control target device and specific functions, and generates software for controlling the communication function of the control target device; A terminal device that transmits information on the control target device to the server, and the server applies the information on the control target device transmitted from the terminal device to a predetermined first code format. And a software for controlling the communication function of the control target device based on the first code generated by the code generation unit and the second code prepared in advance. A software generation unit for generating the second code, wherein the second code refers to the first code and causes the control target device to execute the specific function. Kiga described, wherein the description contents is code corresponding to the plurality of functions of the control target device, to provide a software generation system.
In addition, the terminal device displays a menu that displays items that need to be specified in order to generate the software for the control target device, and selects the items based on the menu displayed by the display unit. And an operation accepting unit that accepts an operation for inputting information of the control target device.
Further, the information on the control target device is classified into a plurality of types according to the item, and the first code is in accordance with a format of the first code predetermined for each of the plurality of types. The second code is a code described for each of the plurality of types, and the software generation unit is generated by the code generation unit. The software is generated by associating the first code and the second code for each of the plurality of types.
In addition, the present invention provides a receiving unit that receives information on a control target device including information on the type of the control target device and a specific function, a format storage unit that stores a predetermined first code format, A code storage unit storing the received second code, and applying the information of the control target device received by the reception unit to the format of the first code stored in the format storage unit. And a software for controlling a communication function of the control target device based on the first code generated by the code generation unit and the second code read from the code storage unit. A software generation unit for generating the second function, wherein the second code refers to the first code and the control target device has the specific function. Procedures to be executed is described, wherein the description contents is code corresponding to the plurality of functions of the control target device, an information processing apparatus.
Further, the second code is characterized in that a description content does not depend on a type of the control target device and a function of the control target device.
Furthermore, the procedure includes a process performed on data received as a control of the communication function of the device to be controlled.
The format of the first code specifies a data type for controlling the communication function of the control target device and a range of values that the data can take, and the procedure includes the communication function of the control target device. Including a process of checking whether or not the data received as controlling the above satisfies the type and the range.
The second code controls the communication function of the control target device and exchanges information with the function realization unit for the specific function among the function realization units for realizing the function of the control target device. The procedure for performing is a code in which the procedure is described.
Further, according to the present invention, the computer reads out the information of the control target device including information on the type of the control target device and the specific function, and reads a predetermined first code format from the storage device, Applying the information on the control target device received by the receiving unit to the first code format to generate a first code; and reading a predetermined second code from the storage device; Based on the second code and the first code generated by the code generation means, function as software generation means for generating software for controlling the communication function of the control target device, and the second code is Description contents describing a procedure for causing the device to be controlled to execute the specific function with reference to the first code Characterized in that it is a code corresponding to a plurality of functions of the control target device, a program.
In addition, the present invention provides a reception unit that receives information on a specific function to be executed by any one of a plurality of types of electrical devices from different manufacturers, and the description content depends on the type of the electrical device and the function of the electrical device. A code for causing any one of the electric devices to execute the specific function using the information received by the receiving unit, and for an operator to remotely control a communication function of the electric device And a software generation unit that generates software to be incorporated into the electric device.

本発明によれば、制御対象機器の通信機能を制御して当該制御対象機器を制御する命令を受け付けたり当該制御対象機器から情報を出力したりさせるソフトウェアを簡易に生成することができる。   ADVANTAGE OF THE INVENTION According to this invention, the software which controls the communication function of a control object apparatus, receives the command which controls the said control object apparatus, or outputs information from the said control object apparatus can be produced | generated easily.

本実施の形態の背景について説明するための図である。It is a figure for demonstrating the background of this Embodiment. 本実施の形態に係るファームウェア生成システムの全体構成例を示した図である。It is a figure showing the example of whole composition of the firmware generation system concerning this embodiment. 本実施の形態に係るファームウェア生成サーバ又は利用者端末として用いられるコンピュータのハードウェア構成例を示す図である。It is a figure which shows the hardware structural example of the computer used as a firmware production | generation server or user terminal concerning this Embodiment. 本実施の形態に係る利用者端末の機能構成例を示したブロック図である。It is the block diagram which showed the function structural example of the user terminal which concerns on this Embodiment. 本実施の形態に係るファームウェア生成サーバの機能構成例を示したブロック図である。It is the block diagram which showed the function structural example of the firmware generation server which concerns on this Embodiment. 利用者入力情報の一例を示す図である。It is a figure which shows an example of user input information. (a)〜(c)は、利用者入力情報を入力する際に表示される画面の一例を示す図である。(A)-(c) is a figure which shows an example of the screen displayed when inputting user input information. (a)〜(c)は、利用者入力情報を入力する際に表示される画面の一例を示す図である。(A)-(c) is a figure which shows an example of the screen displayed when inputting user input information. (a),(b)は、利用者入力情報を入力する際に表示される画面の一例を示す図である。(A), (b) is a figure which shows an example of the screen displayed when inputting user input information. (a),(b)は、利用者入力情報を入力する際に表示される画面の一例を示す図である。(A), (b) is a figure which shows an example of the screen displayed when inputting user input information. (c)〜(e)は、利用者入力情報を入力する際に表示される画面の一例を示す図である。(C)-(e) is a figure which shows an example of the screen displayed when inputting user input information. (a),(b)は、利用者入力情報を入力する際に表示される画面の一例を示す図である。(A), (b) is a figure which shows an example of the screen displayed when inputting user input information. 利用者入力情報の変換に用いられるキーの一例を示す図である。It is a figure which shows an example of the key used for conversion of user input information. (a)は、サーバ送信用データに適用されるソースコード生成用フォーマットの一例を示す図である。(b)は、ソースコード(データ部)の一例を示す図である。(A) is a figure which shows an example of the format for a source code generation applied to the data for server transmission. (B) is a figure which shows an example of a source code (data part). (a),(b)は、ファームウェア生成部により生成されるファームウェアのコードの一例を示す概念図である。(A), (b) is a conceptual diagram which shows an example of the code | symbol of the firmware produced | generated by the firmware production | generation part. ファームウェア生成システムにおいてファームウェアを生成する処理手順の一例を示したフローチャートである。It is the flowchart which showed an example of the process sequence which produces | generates firmware in a firmware production | generation system.

以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
<背景>
まず、本実施の形態の背景について説明する。
近年、例えば家電等の電気機器をネットワークに接続し、これらの電気機器を制御するために、ホームネットワーク用の通信規格の業界標準化が進められている。そして、複数のメーカーで共通的に使用される通信規格が作成され、マルチベンダでの相互接続環境が整備されつつある。このような共通の通信規格には、例えばECHONET Lite(登録商標)があり、一般社団法人エコーネットコンソーシアムによって標準化が図られている。このような通信規格を用いることにより、ユーザの操作によって家電等の電気機器を制御することができる。
Embodiments of the present invention will be described below in detail with reference to the accompanying drawings.
<Background>
First, the background of the present embodiment will be described.
In recent years, in order to connect electric devices such as home appliances to a network and control these electric devices, standardization of communication standards for home networks has been promoted. A communication standard commonly used by a plurality of manufacturers has been created, and an interconnection environment among multi-vendors is being prepared. Such a common communication standard is, for example, ECHONET Lite (registered trademark), and standardized by the Echonet Consortium. By using such a communication standard, an electric device such as a home appliance can be controlled by a user operation.

図1は、本実施の形態の背景について説明するための図である。端末装置100は、ユーザが使用する端末であり、例えば、PC(personal computer)や携帯情報端末(いわゆる、スマートフォンやタブレット端末等)などを例示することができる。電気機器200は、制御対象の電気機器であり、例えば、エアコンディショナや照明器具、冷蔵庫などの家電を例示することができる。ネットワーク300は、端末装置100と電気機器200との間の情報通信に用いられる通信手段であり、例えば、インターネットを例示することができる。   FIG. 1 is a diagram for explaining the background of the present embodiment. The terminal device 100 is a terminal used by a user, and examples thereof include a PC (personal computer) and a portable information terminal (so-called smartphone, tablet terminal, etc.). The electric device 200 is an electric device to be controlled, and examples thereof include home appliances such as an air conditioner, a lighting fixture, and a refrigerator. The network 300 is a communication unit used for information communication between the terminal device 100 and the electric device 200, and can be exemplified by the Internet, for example.

このような構成において、ユーザが端末装置100を操作することにより、ネットワーク300を介して端末装置100から電気機器200を制御したり、電気機器200から端末装置100へ情報を送信させたりするには、電気機器200に通信機能を持たせ、電気機器200の制御装置やセンサとの間で情報交換を行うことが必要になる。そこで、電気機器200の通信機能を制御して、電気機器200を制御する命令を受け付けたり電気機器200から情報を出力したりさせるためのソフトウェアが用いられる。このようなソフトウェアをインストールした通信制御基板400を電気機器200に搭載することにより、電気機器200の通信機能の制御が行われる。なお、電気機器200の通信機能の制御については、通信制御基板400を搭載することにより新たに電気機器200に備えられた通信機能を制御する場合もあれば、通信制御基板400の搭載前から電気機器200に備えられている通信機能を制御する場合もあるものとする。   In such a configuration, when the user operates the terminal device 100, the electric device 200 is controlled from the terminal device 100 via the network 300, or information is transmitted from the electric device 200 to the terminal device 100. Therefore, it is necessary to provide the electric device 200 with a communication function and exchange information with a control device or sensor of the electric device 200. Therefore, software for controlling the communication function of the electric device 200 to receive a command for controlling the electric device 200 and to output information from the electric device 200 is used. By mounting the communication control board 400 on which such software is installed in the electric device 200, the communication function of the electric device 200 is controlled. Regarding the control of the communication function of the electric device 200, there may be a case where the communication function newly provided in the electric device 200 is controlled by mounting the communication control board 400. It is assumed that the communication function provided in the device 200 may be controlled.

さらに説明すると、図1に示すように、通信制御基板400には、上述したような電気機器200の通信機能を制御するためのソフトウェアである家電制御用ソフトウェアに加えて、通信モジュール制御用ソフトウェアおよび通信モジュールが含まれる。この通信モジュールとしては、例えばBluetooth(登録商標)モジュールを用いることができる。ここで、Bluetoothモジュールは、無線通信規格のモジュールであり、端末装置100のような外部機器と無線通信を行うためのものである。なお、本実施の形態では、Bluetoothモジュールを用いた構成に限られるものではなく、例えば、Wi−Fi(Wireless Fidelity)(登録商標)、Zigbeeなどの他の無線通信規格のモジュールを用いても良い。さらに、無線通信規格のモジュールを用いる構成に限られず、有線の通信規格を備えたモジュールを用いても良い。また、通信モジュール制御用ソフトウェアは、家電制御用ソフトウェアとBluetoothモジュールとの間でデータの送受信を行うためのソフトウェアである。図示の例では、通信モジュール制御用ソフトウェアにおけるプロトコルの一例として、IPv6(Internet Protocol Version 6)、6LoWPAN(IPv6 over Low power Wireless Personal Area Networks)を用いている。なお、通信モジュール制御用ソフトウェアにて用いるプロトコルについても、IPv6、6LoWPAN等のプロトコルに限られるものではなく、家電制御用ソフトウェアがデータの送受信を行うために使用可能なプロトコルであれば、どのようなプロトコルを用いても良い。   More specifically, as shown in FIG. 1, the communication control board 400 includes communication module control software and software for controlling the communication function of the electric device 200 as described above, as well as home appliance control software. A communication module is included. As this communication module, for example, a Bluetooth (registered trademark) module can be used. Here, the Bluetooth module is a module of a wireless communication standard, and is for performing wireless communication with an external device such as the terminal device 100. Note that the present embodiment is not limited to the configuration using the Bluetooth module, and other wireless communication standard modules such as Wi-Fi (Wireless Fidelity) (registered trademark) and Zigbee may be used, for example. . Further, the configuration is not limited to the configuration using the wireless communication standard module, and a module having a wired communication standard may be used. The communication module control software is software for transmitting and receiving data between the home appliance control software and the Bluetooth module. In the illustrated example, IPv6 (Internet Protocol Version 6) and 6LoWPAN (IPv6 over Low power Wireless Personal Area Networks) are used as examples of protocols in the communication module control software. Note that the protocol used in the communication module control software is not limited to protocols such as IPv6 and 6LoWPAN, and any protocol that can be used by the home appliance control software to transmit and receive data. A protocol may be used.

このように構成された通信制御基板400は、家電制御用ソフトウェアの制御により、端末装置100からの制御信号を受け付けて電気機器200の機能実行手段を制御したり、機能実行手段から取得した情報を端末装置100へ出力したりする。ここで、機能実行手段としては、電気機器200の各種の機能を制御する制御装置、種々の動作を実行するアクチュエータ、電気機器200の動作に関する情報を取得する種々のセンサ等を例示することができる。例えば、電気機器200がエアコンディショナの場合について説明する。エアコンディショナ内には、独自の機能プログラムにより、例えば温度を設定したり風量を設定したりするための制御装置が予め搭載されている。そして、家電制御用ソフトウェアにより制御される通信制御基板400が、端末装置100から受信した温度設定命令や風量設定命令を制御装置に送って温度や風量の設定をさせたり、センサから温度や風量の設定値や測定値を取得して端末装置100へ送信したりすることができるようになる。   The communication control board 400 configured as described above receives a control signal from the terminal device 100 under the control of the home appliance control software, controls the function execution unit of the electric device 200, and receives information acquired from the function execution unit. Output to the terminal device 100. Here, examples of the function execution means include a control device that controls various functions of the electric device 200, an actuator that executes various operations, various sensors that acquire information related to the operation of the electric device 200, and the like. . For example, a case where the electric device 200 is an air conditioner will be described. In the air conditioner, for example, a control device for setting a temperature or an air volume is mounted in advance by an original function program. Then, the communication control board 400 controlled by the home appliance control software sends the temperature setting command and the air volume setting command received from the terminal device 100 to the control device to set the temperature and air volume, or the temperature and air volume from the sensor. It becomes possible to acquire setting values and measurement values and transmit them to the terminal device 100.

そして、本実施の形態では、ユーザが画面に従って入力することにより、上述したような電気機器の通信機能を制御するための家電制御用ソフトウェアを生成するソフトウェア生成システムを提供する。また、本実施の形態では、電気機器の通信機能を制御するためのソフトウェアの一例として、電気機器の通信機能を制御するために電気機器に組み込まれるソフトウェアであるファームウェアを例にして説明する。   And in this Embodiment, the software generation system which produces | generates the software for household appliance control for controlling the communication function of the above-mentioned electric equipment as a user inputs according to a screen is provided. In the present embodiment, as an example of software for controlling the communication function of an electric device, firmware that is software incorporated in the electric device in order to control the communication function of the electric device will be described as an example.

なお、以下では、特に家電を制御するための通信規格であるECHONET Liteを用いて説明するが、このような構成に限られるものではない。本実施の形態に係るファームウェア生成システム1は、ECHONET Lite以外の他の通信規格を用いて、家電を含む種々の電気機器を制御する場合にも適用することができる。また、以下では、ファームウェア生成システム1により生成される家電制御用のファームウェアを、単に「ファームウェア」と称する場合がある。   In addition, below, it demonstrates using ECHONET Lite which is a communication standard for controlling a household appliance especially, However, It is not restricted to such a structure. The firmware generation system 1 according to the present embodiment can also be applied to control various electrical devices including home appliances using a communication standard other than ECHONET Lite. Hereinafter, the appliance control firmware generated by the firmware generation system 1 may be simply referred to as “firmware”.

<ファームウェア生成システムの全体構成>
次に、本実施の形態に係るファームウェア生成システム1の全体構成について説明する。図2は、本実施の形態に係るファームウェア生成システム1の全体構成例を示した図である。図示するように、このファームウェア生成システム1は、利用者端末10とファームウェア生成サーバ20とがネットワーク30を介して接続されることにより構成される。
<Overall configuration of firmware generation system>
Next, the overall configuration of the firmware generation system 1 according to the present embodiment will be described. FIG. 2 is a diagram showing an example of the overall configuration of the firmware generation system 1 according to the present embodiment. As illustrated, the firmware generation system 1 is configured by connecting a user terminal 10 and a firmware generation server 20 via a network 30.

利用者端末10は、ファームウェア生成システム1を利用する利用者が操作するコンピュータ装置であり、例えば、PCや携帯情報端末等が例示される。この利用者端末10は、ファームウェアを生成するために利用者が入力した情報(以下、利用者入力情報と称する)を受け付ける。この利用者入力情報には、例えば、ファームウェアがインストールされた通信制御基板400(図1参照)により実現される通信機能を介して制御しようとする対象の機器(以下、対象機器と称する)の種類を指定する情報や、対象機器における制御しようとする機能を指定する情報が含まれる。そして、利用者端末10は、受け付けた利用者入力情報をファームウェア生成サーバ20にて識別可能(処理可能)な形式へ変換して、ファームウェア生成サーバ20へ送信する。以下では、利用者入力情報に変換を施した変換後のデータを、「サーバ送信用データ」と称する。本実施の形態では、制御対象機器の情報をサーバに送信する端末装置の一例として、利用者端末10が用いられる。   The user terminal 10 is a computer device operated by a user who uses the firmware generation system 1, and examples thereof include a PC and a portable information terminal. The user terminal 10 receives information (hereinafter referred to as user input information) input by the user in order to generate firmware. The user input information includes, for example, the type of a target device (hereinafter referred to as a target device) to be controlled via a communication function realized by a communication control board 400 (see FIG. 1) in which firmware is installed. And information specifying the function to be controlled in the target device. The user terminal 10 converts the received user input information into a format that can be identified (processed) by the firmware generation server 20 and transmits the converted information to the firmware generation server 20. Hereinafter, the converted data obtained by converting the user input information is referred to as “server transmission data”. In the present embodiment, a user terminal 10 is used as an example of a terminal device that transmits information on a control target device to a server.

情報処理装置の一例としてのファームウェア生成サーバ20は、対象機器の通信機能を制御するためのファームウェアを生成するコンピュータ装置であり、例えば、PC、ワークステーション等が例示される。このファームウェア生成サーバ20は、利用者端末10から受信したサーバ送信用データを基に、ファームウェアを生成する。本実施の形態では、制御対象機器の通信機能を制御するためのソフトウェアを生成するサーバの一例として、ファームウェア生成サーバ20が用いられる。   The firmware generation server 20 as an example of the information processing apparatus is a computer apparatus that generates firmware for controlling the communication function of the target device, and examples thereof include a PC and a workstation. The firmware generation server 20 generates firmware based on the server transmission data received from the user terminal 10. In the present embodiment, the firmware generation server 20 is used as an example of a server that generates software for controlling the communication function of the control target device.

ネットワーク30は、利用者端末10とファームウェア生成サーバ20との間の情報通信に用いられる通信手段であり、例えば、インターネット、LAN(Local Area Network)等である。   The network 30 is a communication means used for information communication between the user terminal 10 and the firmware generation server 20, and is, for example, the Internet or a LAN (Local Area Network).

<ハードウェア構成>
次に、本実施の形態に係るファームウェア生成サーバ20および利用者端末10のハードウェア構成について説明する。図3は、本実施の形態に係るファームウェア生成サーバ20又は利用者端末10として用いられるコンピュータのハードウェア構成例を示す図である。
<Hardware configuration>
Next, the hardware configuration of the firmware generation server 20 and the user terminal 10 according to the present embodiment will be described. FIG. 3 is a diagram illustrating a hardware configuration example of a computer used as the firmware generation server 20 or the user terminal 10 according to the present embodiment.

図示するように、ファームウェア生成サーバ20は、演算手段であるCPU(Central Processing Unit)20aと、主記憶手段であるメモリ20cを備える。また、外部デバイスとして、磁気ディスク装置(HDD:Hard Disk Drive)20g、ネットワークインタフェース20f、ディスプレイ装置を含む表示機構20d、音声機構20h、キーボードやマウス等の入力デバイス20i等を備える。   As shown in the figure, the firmware generation server 20 includes a CPU (Central Processing Unit) 20a that is a calculation means and a memory 20c that is a main storage means. As external devices, a hard disk drive (HDD) 20g, a network interface 20f, a display mechanism 20d including a display device, an audio mechanism 20h, an input device 20i such as a keyboard and a mouse, and the like are provided.

図3に示す構成例では、メモリ20cおよび表示機構20dは、システムコントローラ20bを介してCPU20aに接続されている。また、ネットワークインタフェース20f、磁気ディスク装置20g、音声機構20hおよび入力デバイス20iは、I/Oコントローラ20eを介してシステムコントローラ20bと接続されている。各構成要素は、システム・バスや入出力バス等の各種のバスによって接続される。   In the configuration example shown in FIG. 3, the memory 20c and the display mechanism 20d are connected to the CPU 20a via the system controller 20b. The network interface 20f, the magnetic disk device 20g, the sound mechanism 20h, and the input device 20i are connected to the system controller 20b via the I / O controller 20e. Each component is connected by various buses such as a system bus and an input / output bus.

また、図3において、磁気ディスク装置20gにはOSのプログラムやアプリケーション・プログラムが格納されている。そして、これらのプログラムがメモリ20cに読み込まれてCPU20aに実行されることにより、ファームウェア生成サーバ20の各種機能が実現される。   In FIG. 3, the magnetic disk device 20g stores an OS program and application programs. These programs are read into the memory 20c and executed by the CPU 20a, thereby realizing various functions of the firmware generation server 20.

なお、図3は、本実施の形態が適用されるのに好適なコンピュータのハードウェア構成を例示するに過ぎない。本実施の形態は、ファームウェアを生成する装置に広く適用できるものであり、図示の構成においてのみ本実施の形態が実現されるのではない。   FIG. 3 merely exemplifies a hardware configuration of a computer suitable for application of the present embodiment. The present embodiment can be widely applied to apparatuses that generate firmware, and the present embodiment is not realized only in the configuration shown in the figure.

<利用者端末の機能構成>
次に、利用者端末10の機能構成について説明する。図4は、本実施の形態に係る利用者端末10の機能構成例を示したブロック図である。
<Functional configuration of user terminal>
Next, the functional configuration of the user terminal 10 will be described. FIG. 4 is a block diagram illustrating a functional configuration example of the user terminal 10 according to the present embodiment.

図示するように、利用者端末10は、利用者が入力した利用者入力情報を受け付ける入力情報受付部11と、受け付けた利用者入力情報をサーバ送信用データへ変換するデータ変換部12と、サーバ送信用データをファームウェア生成サーバ20へ送信するデータ送信部13とを備える。   As illustrated, a user terminal 10 includes an input information receiving unit 11 that receives user input information input by a user, a data conversion unit 12 that converts the received user input information into server transmission data, a server A data transmission unit 13 that transmits the transmission data to the firmware generation server 20.

入力情報受付部11は、利用者が入力した利用者入力情報を受け付ける。より具体的には、利用者は、例えば利用者端末10の表示機構により表示画面に表示される画面上で、対象機器を選択したり、対象機器において制御しようとする機能を選択したりすることにより、利用者入力情報を入力する。付言すると、対象機器に関してファームウェアを生成するために特定を要する項目がメニュー表示されるため、利用者は、表示されたメニューに基づき項目を選択して情報を入力すれば良い。利用者入力情報、および利用者入力情報を入力する際の画面の詳細については、後述する。本実施の形態では、入力情報受付部11は、表示手段、操作受け付け手段の一例として捉えることもできる。   The input information receiving unit 11 receives user input information input by the user. More specifically, for example, the user selects a target device on the screen displayed on the display screen by the display mechanism of the user terminal 10 or selects a function to be controlled in the target device. To input user input information. In other words, items that need to be specified for generating firmware for the target device are displayed in a menu, and the user can select information based on the displayed menu and input information. Details of the user input information and the screen when inputting the user input information will be described later. In the present embodiment, the input information receiving unit 11 can also be regarded as an example of a display unit and an operation receiving unit.

データ変換部12は、入力情報受付部11が受け付けた利用者入力情報を、サーバ送信用データへ変換する。サーバ送信用データの詳細については、後述する。   The data converter 12 converts the user input information received by the input information receiver 11 into server transmission data. Details of the server transmission data will be described later.

データ送信部13は、データ変換部12により生成されたサーバ送信用データを、ファームウェア生成サーバ20へ送信する。   The data transmission unit 13 transmits the server transmission data generated by the data conversion unit 12 to the firmware generation server 20.

なお、図4に示す利用者端末10を構成する各機能部は、ソフトウェアとハードウェア資源とが協働することにより実現される。具体的には、利用者端末10を図3に示したコンピュータにて実現した場合、例えば、磁気ディスク装置20gに格納されているOSのプログラムやアプリケーション・プログラムが、メモリ20cに読み込まれてCPU20aに実行されることにより、入力情報受付部11、データ変換部12、データ送信部13の各機能が実現される。   Note that each functional unit constituting the user terminal 10 shown in FIG. 4 is realized by cooperation of software and hardware resources. Specifically, when the user terminal 10 is realized by the computer shown in FIG. 3, for example, an OS program or application program stored in the magnetic disk device 20g is read into the memory 20c and stored in the CPU 20a. When executed, the functions of the input information receiving unit 11, the data converting unit 12, and the data transmitting unit 13 are realized.

<ファームウェア生成サーバの機能構成>
次に、ファームウェア生成サーバ20の機能構成について説明する。図5は、本実施の形態に係るファームウェア生成サーバ20の機能構成例を示したブロック図である。
<Functional configuration of firmware generation server>
Next, the functional configuration of the firmware generation server 20 will be described. FIG. 5 is a block diagram illustrating a functional configuration example of the firmware generation server 20 according to the present embodiment.

図示するように、ファームウェア生成サーバ20は、主にデータの処理に関わる機能部として、サーバ送信用データを受け付けるデータ受付部21と、サーバ送信用データを基に、後述するソースコード(データ部)を生成するソースコード生成部22と、ソースコード(データ部)と後述するソースコード(手続き部)とを結合してファームウェアを生成するファームウェア生成部23とを備える。また、ファームウェア生成サーバ20は、主にデータの格納に関わる機能部として、後述するソースコード生成用フォーマットを格納するフォーマット格納部24と、ソースコード(手続き部)を格納するソースコード格納部25とを備える。   As shown in the figure, the firmware generation server 20 is a functional unit mainly related to data processing, a data receiving unit 21 that receives server transmission data, and a source code (data unit) described later based on the server transmission data. A source code generation unit 22 that generates the firmware, and a firmware generation unit 23 that combines the source code (data unit) and a source code (procedure unit) described later to generate firmware. Further, the firmware generation server 20 mainly includes a function storage unit for storing data, a format storage unit 24 that stores a source code generation format, which will be described later, and a source code storage unit 25 that stores a source code (procedure unit). Is provided.

データ受付部21は、利用者端末10からサーバ送信用データを受け付ける。本実施の形態では、制御対象機器の情報を受け付ける受付部の一例として、データ受付部21が用いられる。   The data receiving unit 21 receives server transmission data from the user terminal 10. In the present embodiment, a data receiving unit 21 is used as an example of a receiving unit that receives information on a control target device.

ソースコード生成部22は、フォーマット格納部24から、ソースコード(データ部)を生成するために使用するフォーマット(以下、ソースコード生成用フォーマットと称する)を取得する。そして、ソースコード生成部22は、サーバ送信用データをソースコード生成用フォーマットに適用し、ソースコード生成用フォーマットに適合するようにサーバ送信用データを変換して、ソースコード(データ部)を生成する。ソースコード生成部22がソースコード(データ部)を生成する処理の詳細については、後述する。本実施の形態では、予め定められた第1のコードのフォーマットの一例として、ソースコード生成用フォーマットが用いられる。また、第1のコードの一例として、ソースコード(データ部)が用いられる。さらに、第1のコードを生成するコード生成部の一例として、ソースコード生成部22が用いられる。   The source code generation unit 22 acquires a format (hereinafter referred to as a source code generation format) used for generating a source code (data unit) from the format storage unit 24. Then, the source code generation unit 22 applies the server transmission data to the source code generation format, converts the server transmission data to match the source code generation format, and generates a source code (data unit). To do. Details of the process of generating the source code (data part) by the source code generation unit 22 will be described later. In the present embodiment, a source code generation format is used as an example of a predetermined first code format. Further, source code (data part) is used as an example of the first code. Furthermore, a source code generation unit 22 is used as an example of a code generation unit that generates the first code.

ファームウェア生成部23は、ソースコード格納部25から、予め定められたコードであるソースコード(手続き部)を取得する。このソースコード(手続き部)は、ソースコード(データ部)を参照して実行する手続きが記述されたコードである。さらに説明すると、このソースコード(手続き部)は、ソースコード(データ部)に記述された対象機器の機能を実現する機能実現手段との間で情報交換を行うための手続きが記述されたコードである。   The firmware generation unit 23 acquires a source code (procedure unit) that is a predetermined code from the source code storage unit 25. This source code (procedure part) is a code in which a procedure to be executed with reference to the source code (data part) is described. To explain further, this source code (procedure part) is a code that describes a procedure for exchanging information with the function realization means for realizing the function of the target device described in the source code (data part). is there.

そして、ファームウェア生成部23は、取得したソースコード(手続き部)と、ソースコード生成部22により生成されたソースコード(データ部)とを結合して、ファームウェアのソースコードを生成する。また、ファームウェア生成部23は、生成したソースコードをコンパイルして、ファームウェアを生成する。そして、ファームウェア生成部23は、生成したファームウェアを利用者端末10へ送信する。本実施の形態では、予め用意された第2のコードの一例として、ソースコード(手続き部)が用いられる。また、制御対象機器の通信機能を制御するソフトウェアを生成するソフトウェア生成部の一例として、ファームウェア生成部23が用いられる。   Then, the firmware generation unit 23 combines the acquired source code (procedure unit) and the source code (data unit) generated by the source code generation unit 22 to generate a firmware source code. Further, the firmware generation unit 23 compiles the generated source code to generate firmware. Then, the firmware generation unit 23 transmits the generated firmware to the user terminal 10. In the present embodiment, a source code (procedure part) is used as an example of a second code prepared in advance. In addition, a firmware generation unit 23 is used as an example of a software generation unit that generates software for controlling the communication function of the control target device.

付言すると、ソースコード生成部22が生成するソースコード(データ部)は、利用者が入力した利用者入力情報に応じて内容が変わる。一方で、ソースコード(手続き部)は、利用者が入力した利用者入力情報によらず一定である。言い換えると、ソースコード(手続き部)は、その記述内容が対象機器の種類および対象機器の機能によらない固定的なコードである。即ち、ソースコード(手続き部)は、ソースコード(データ部)がどのような内容であっても対応できるように、予め定められている。ソースコード(手続き部)の詳細については、後述する。   In other words, the content of the source code (data portion) generated by the source code generation unit 22 changes according to user input information input by the user. On the other hand, the source code (procedure part) is constant regardless of the user input information input by the user. In other words, the source code (procedure part) is a fixed code whose description does not depend on the type of the target device and the function of the target device. In other words, the source code (procedure part) is determined in advance so that the source code (data part) can cope with any content. Details of the source code (procedure section) will be described later.

フォーマット格納部24は、ソースコード生成用フォーマットを格納する。本実施の形態では、第1のコードのフォーマットを格納したフォーマット格納部の一例として、フォーマット格納部24が用いられる。   The format storage unit 24 stores a source code generation format. In the present embodiment, the format storage unit 24 is used as an example of a format storage unit that stores the format of the first code.

ソースコード格納部25は、ソースコード(手続き部)を格納する。本実施の形態では、第2のコードを格納したコード格納部の一例として、ソースコード格納部25が用いられる。   The source code storage unit 25 stores a source code (procedure unit). In the present embodiment, the source code storage unit 25 is used as an example of a code storage unit that stores the second code.

なお、図5に示すファームウェア生成サーバ20を構成する各機能部は、ソフトウェアとハードウェア資源とが協働することにより実現される。具体的には、ファームウェア生成サーバ20を図3に示したコンピュータにて実現した場合、磁気ディスク装置20gに格納されているOSのプログラムやアプリケーション・プログラムが、メモリ20cに読み込まれてCPU20aに実行されることにより、データ受付部21、ソースコード生成部22、ファームウェア生成部23の各機能が実現される。また、フォーマット格納部24、ソースコード格納部25は、メモリ20cや磁気ディスク装置20g等の記憶手段により実現される。   Note that each functional unit constituting the firmware generation server 20 shown in FIG. 5 is realized by cooperation of software and hardware resources. Specifically, when the firmware generation server 20 is realized by the computer shown in FIG. 3, an OS program or application program stored in the magnetic disk device 20g is read into the memory 20c and executed by the CPU 20a. Thus, each function of the data receiving unit 21, the source code generating unit 22, and the firmware generating unit 23 is realized. The format storage unit 24 and the source code storage unit 25 are realized by storage means such as the memory 20c and the magnetic disk device 20g.

<利用者入力情報の説明>
次に、利用者が画面上で入力する利用者入力情報について説明する。図6は、利用者入力情報の一例を示す図である。図示の例は、対象機器が「単機能照明」の場合の利用者入力情報である。「単機能照明」とは、電源のON・OFF設定や照度レベル設定等の単純な機能しか持たない照明機器である。
<Description of user input information>
Next, user input information that the user inputs on the screen will be described. FIG. 6 is a diagram illustrating an example of user input information. The illustrated example is user input information when the target device is “single function lighting”. “Single-function illumination” is a lighting device having only simple functions such as power ON / OFF setting and illuminance level setting.

より具体的には、「機器種別」は、対象機器の種別を示す。図示の例では「単機能照明」を示している。「機能種別」は、対象機器において制御しようとする機能の種別を示す。図示の例では「動作状態」の機能を示している。「動作状態」とは、電源のON・OFF設定の機能である。「命令種別」は、該当機能において使用する命令の種別を示す。図示の例では、「動作状態」の機能において、取得命令(即ち、単機能照明から情報を取得する命令)、操作命令(即ち、単機能照明を操作する命令)を使用することを示している。   More specifically, “device type” indicates the type of the target device. In the illustrated example, “single function illumination” is shown. “Function type” indicates the type of function to be controlled in the target device. In the illustrated example, the function of “operation state” is shown. The “operation state” is a function for setting the power ON / OFF. “Instruction type” indicates the type of instruction used in the corresponding function. In the example shown in the figure, it is shown that an acquisition command (that is, a command for acquiring information from single-function lighting) and an operation command (that is, a command for operating single-function lighting) are used in the function of “operation state”. .

「インタフェース種別」は、ファームウェアと対象機器(ここでは、単機能照明)との間のインタフェースの種別を示す。そして、「取得用」は、取得命令にて用いられるインタフェースの種別を示し、「操作用」は、操作命令にて用いられるインタフェースの種別を示す。さらに、「ピンタイプ」は、インタフェースにおけるピンの入出力を示す。「I/O関数」は、インタフェースにて対象機器から値を読み込む場合の手続き(又は、対象機器に値を書き込む場合の手続き)を定めた関数を示す。「変数」は、インタフェースに関する変数であり、インタフェースのピンタイプによって、変数の種類や数は変化する。   The “interface type” indicates the type of interface between the firmware and the target device (here, single function lighting). “Acquisition” indicates the type of interface used in the acquisition command, and “For operation” indicates the type of interface used in the operation command. Further, “pin type” indicates input / output of a pin in the interface. The “I / O function” indicates a function that defines a procedure for reading a value from the target device through the interface (or a procedure for writing a value to the target device). The “variable” is a variable related to the interface, and the type and number of variables vary depending on the pin type of the interface.

図示の例では、取得用のインタフェースは「GPIO(General Purpose Input/Output)」であり、「GET_GPIO」の関数を使用する。また、ピンタイプが「GPIO」の場合、「変数」はインタフェースにて用いるピン番号になる。そこで、「PIN27」のピン(ピン番号が27番のピン)を指定している。また、操作用のインタフェースも「GPIO」であり、「SET_GPIO」の関数を使用し、「PIN27」のピンを指定している。   In the illustrated example, the acquisition interface is “GPIO (General Purpose Input / Output)”, and the function “GET_GPIO” is used. When the pin type is “GPIO”, “variable” is a pin number used in the interface. Therefore, the pin of “PIN27” (pin number 27) is designated. The operation interface is also “GPIO”, and the function “SET_GPIO” is used to specify the pin “PIN27”.

ただし、本実施の形態において、利用者入力情報は、図6に示す構成に限られるものではない。例えば、Bluetooth、Wi−Fi、Zigbeeなどの無線通信規格のモジュールを利用者が選択して、利用者入力情報として入力しても良い。   However, in the present embodiment, the user input information is not limited to the configuration shown in FIG. For example, a user may select a wireless communication standard module such as Bluetooth, Wi-Fi, or Zigbee and input it as user input information.

<利用者入力情報を入力する際の画面の説明>
次に、利用者入力情報を入力する際に表示される画面について説明する。図7〜図11は、利用者入力情報を入力する際に表示される画面の一例を示す図である。ここでは、対象機器が「電動ブラインド・日よけ」という家電の場合について説明する。
<Explanation of screen for entering user input information>
Next, a screen displayed when user input information is input will be described. 7 to 11 are diagrams illustrating examples of screens displayed when user input information is input. Here, a case will be described in which the target device is a home appliance “electric blind / shade”.

まず、利用者が利用者端末10からファームウェア生成サーバ20にアクセスすると、ファームウェア生成サーバ20から画面の情報が送信される。そして、利用者端末10にて利用者入力情報を入力するための画面が表示される。ここでは、まず、図7(a)に示す画面が表示される。図示のように、「センサ関連機器」、「空調関連機器」、「住宅・設備関連機器」など、機器のグループが一覧で示される。これらのグループについては、ECHONET Liteで規定されている。   First, when the user accesses the firmware generation server 20 from the user terminal 10, screen information is transmitted from the firmware generation server 20. Then, a screen for inputting user input information on the user terminal 10 is displayed. Here, first, the screen shown in FIG. 7A is displayed. As shown in the figure, a group of devices such as “sensor related devices”, “air conditioning related devices”, “house / equipment related devices” is displayed in a list. These groups are defined in ECHONET Lite.

次に、利用者が例えば「住宅・設備関連機器」のボタン1Aを選択すると、図7(b)に示す画面が表示される。ここでは、「電動ブラインド・日よけ」、「電動シャッター」、「電動雨戸・シャッター」など、「住宅・設備関連機器」のグループに含まれる機器が一覧で示される。各グループにどのような機器が分類されるかについては、ECHONET Liteで規定されている。利用者は、この一覧の中から「電動ブラインド・日よけ」のボタン1Bを選択すれば良い。なお、ここで選択される「電動ブラインド・日よけ」の情報は、図6に示す利用者入力情報の中の「機器種別」に対応する情報である。   Next, when the user selects, for example, the button 1A of “house / equipment related equipment”, the screen shown in FIG. 7B is displayed. Here, a list of devices included in the “house / equipment-related equipment” group such as “electric blinds / shades”, “electric shutters”, “electric shutters / shutters” is shown. What kind of device is classified into each group is defined in ECHONET Lite. The user may select the “electric blind / awning” button 1B from the list. Note that the “electric blind / shade” information selected here is information corresponding to “device type” in the user input information shown in FIG.

利用者が「電動ブラインド・日よけ」を選択すると、次に、図7(c)に示す画面が表示される。この画面は、対象機器(ここでは、電動ブラインド・日よけ)の情報(デバイス情報)の入力を受け付ける画面である。入力される情報は、「メーカーコード」、「事業場コード」、「商品コード」、「製造番号」、「製造年月日」である。「メーカーコード」は、対象機器のメーカーコードであり、エコーネットコンソーシアムより付与される。「事業場コード」は、各メーカーの事業場のコードであり、メーカー毎に規定されている。「商品コード」は、商品毎(機器毎)のコードであり、メーカー毎に規定されている。「製造番号」は、各商品(各機器)に付与される製造番号であり、メーカー毎に規定されている。「製造年月日」は、対象機器を製造した日付であり、メーカー毎に規定されている。なお、ここで選択される情報については図6の例には示していないが、これらの情報も、利用者入力情報としてファームウェア生成サーバ20に送信される。   When the user selects “electric blind / awning”, the screen shown in FIG. 7C is displayed. This screen is a screen that accepts input of information (device information) of the target device (here, the electric blind / awning). The input information includes “maker code”, “business site code”, “product code”, “manufacturing number”, and “manufacturing date”. “Manufacturer code” is the manufacturer code of the target device and is given by the Echonet Consortium. The “business site code” is a code of the business site of each manufacturer, and is defined for each manufacturer. The “product code” is a code for each product (each device) and is defined for each manufacturer. The “manufacturing number” is a manufacturing number assigned to each product (each device) and is defined for each manufacturer. “Manufacturing date” is the date on which the target device is manufactured, and is specified for each manufacturer. Note that the information selected here is not shown in the example of FIG. 6, but such information is also transmitted to the firmware generation server 20 as user input information.

利用者がこれらの情報を入力すると、次に、図8(a)に示す画面が表示される。ここでは、オプションとして選択可能な必須項目(以下、オプション必須と称する)が示される。このオプション必須は、機器の種別(例えば、電動ブラインド・日よけ)毎にECHONET Liteで規定されている項目である。図示の例では「エネルギー」、「快適生活支援」という2つのオプション必須が示されている。例えば、利用者が「エネルギー」の項目1Cを選択すると、以降の設定において、エネルギーの消費を抑制する機能を制御するための設定が行われる。   When the user inputs such information, the screen shown in FIG. 8A is then displayed. Here, required items that can be selected as options (hereinafter referred to as option required) are shown. This optional requirement is an item defined in ECHONET Lite for each type of device (for example, electric blind / awning). In the illustrated example, two options of “energy” and “comfortable life support” are required. For example, when the user selects the “energy” item 1 </ b> C, settings for controlling the function of suppressing energy consumption are performed in the subsequent settings.

利用者がオプション必須の選択可否を入力すると、次に、図8(b)に示す画面が表示される。ここでは、対象機器に対する操作項目が一覧で示される。言い換えると、対象機器において制御しようとする機能として選択可能な機能が、操作項目として一覧で示される。利用者は、この一覧の中から、対象機器において制御しようとする機能を選択(チェック)すれば良い。   When the user inputs whether or not an option is mandatory, a screen shown in FIG. 8B is displayed. Here, a list of operation items for the target device is shown. In other words, functions that can be selected as functions to be controlled in the target device are listed as operation items. The user may select (check) the function to be controlled in the target device from this list.

ここで、操作項目によっては、すでに選択済み(チェック済み)で変更できないようになっている項目(以下、必須項目と称する)も存在する。図示の例では、「動作状態」、「異常発生状態」、「開閉動作設定」が必須項目であり、選択済みになっている。この必須項目についても、機器の種別(例えば、電動ブラインド・日よけ)毎にECHONET
Liteで規定されている。即ち、例えば「電動ブラインド・日よけ」については、「動作状態」、「異常発生状態」、「開閉動作設定」の機能が必須であることがECHONET Liteで規定されているといえる。なお、ここで選択される「動作状態」、「異常発生状態」、「開閉動作設定」などの操作項目の情報は、図6に示す利用者入力情報の中の「機能種別」に対応する情報である。
Here, depending on the operation item, there is an item that has already been selected (checked) and cannot be changed (hereinafter referred to as an essential item). In the illustrated example, “operating state”, “abnormality occurrence state”, and “opening / closing operation setting” are indispensable items and are already selected. Also for this required item, ECHONET for each device type (for example, electric blinds and sunshades)
It is defined by Lite. That is, it can be said that ECHONET Lite stipulates that the functions of “operating state”, “abnormality occurrence state”, and “opening / closing operation setting” are essential for “electric blind / awning”, for example. The information of the operation items such as “operation state”, “abnormality occurrence state”, “open / close operation setting” selected here is information corresponding to “function type” in the user input information shown in FIG. It is.

利用者が操作項目を選択すると、次に、図8(c)に示す画面が表示される。この画面は、操作項目毎に、「取得」、「操作」、「状態変更時通知」を実装するか否か(実装又は未実装)を選択する画面である。ここで、「取得」、「操作」、「状態変更時通知」を実装するか否かの情報は、図6に示す利用者入力情報の中の「命令種別」に対応する情報である。即ち、「取得」は、単機能照明から情報を取得する命令を示す。「操作」は、単機能照明を操作する命令を示す。なお、「状態変更時通知」は、対象機器が自機の状態変更を通知する命令を示す。この命令は、対象機器の状態が変化した場合に、状態が変更したことを対象機器から自発的に外部の機器に通知するための命令である。   When the user selects an operation item, the screen shown in FIG. 8C is displayed. This screen is a screen for selecting whether to implement “acquisition”, “operation”, and “notification at state change” (implemented or not implemented) for each operation item. Here, the information indicating whether or not “acquisition”, “operation”, and “notification at state change” are implemented is information corresponding to “command type” in the user input information shown in FIG. That is, “acquire” indicates a command for acquiring information from the single function illumination. “Operation” indicates a command to operate the single function illumination. The “notification at the time of status change” indicates a command for the target device to notify the status change of the own device. This command is a command for voluntarily notifying an external device that the state has changed when the state of the target device changes.

そして、画面上では、各操作項目の「取得」、「操作」、「状態変更時通知」に設けられた円の図形を左右に移動させることにより、実装するか否かの選択が行われる。例えば、「動作状態」の「取得」では、円の図形1Dが右に移動した状態にあり、「実装」が選択されている。一方、「動作状態」の「操作」では、円の図形1Eが左に移動した状態にあり、「未実装」が選択されている。ここで、利用者が「実装」を選択する場合には、円の図形1Eを図中右方向に移動させれば良い。   Then, on the screen, whether or not to mount is selected by moving the circle figure provided in “acquire”, “operation”, and “notification at state change” of each operation item to the left and right. For example, in “acquisition” of “operation state”, the circle figure 1D is in a state of moving to the right, and “implementation” is selected. On the other hand, in the “operation” of the “operation state”, the circle figure 1E is moved to the left, and “unmounted” is selected. Here, when the user selects “implementation”, the circle figure 1E may be moved rightward in the figure.

なお、ECHONET Liteの規定により、「実装」、「未実装」の設定が固定で決まっており、変更できない項目も存在する。図示の例では、「動作状態」の「取得」、「状態変更時通知」では、円の図形を移動させることはできず、「実装」で固定されている。同様に、「異常発生状態」の「取得」、「状態変更時通知」は「実装」で固定されており、「操作」は「未実装」で固定されている。さらに、「開閉動作設定」の「取得」、「操作」、「状態変更時通知」は「実装」で固定されている。付言すると、利用者が、例えば、「動作状態」の「取得」の項目にある図形1Dを選択すると、図9(a)に示す画面が表示される。図9(a)の画面では、「実装」、「未実装」の設定変更が禁止されている旨のメッセージが示されている。   Note that, according to the ECHONET Lite rule, the settings of “implemented” and “not implemented” are fixed and there are items that cannot be changed. In the example shown in the figure, in the “acquisition” of “operation state” and “notification at the time of state change”, the circle figure cannot be moved, and is fixed at “implementation”. Similarly, “acquisition” and “state change notification” of “abnormality occurrence state” are fixed as “implemented”, and “operation” is fixed as “unimplemented”. Furthermore, “acquisition”, “operation”, and “notification at state change” of “open / close operation setting” are fixed as “implementation”. In other words, when the user selects, for example, the figure 1D in the “acquisition” item of “operation state”, the screen shown in FIG. 9A is displayed. In the screen of FIG. 9A, a message indicating that setting change of “implemented” and “not implemented” is prohibited is shown.

そして、利用者が各操作項目の「取得」、「操作」、「状態変更時通知」について「実装」、「未実装」の選択を完了すると、次に、図9(b)に示す画面が表示される。この画面は、「実装」が選択された操作項目についての設定を行う画面である。図8(c)に示す例では、「動作状態」の「取得」および「状態変更時通知」、「異常発生状態」の「取得」および「状態変更時通知」、「開閉動作設定」の「取得」、「操作」および「状態変更時通知」、の合計7つの操作項目で「実装」が選択されている。そこで、図9(b)に示す画面上では、これらの7つの項目についての設定が行われる。   When the user completes the selection of “implemented” and “not implemented” for “acquisition”, “operation”, and “state change notification” for each operation item, the screen shown in FIG. Is displayed. This screen is a screen for setting the operation item for which “implementation” is selected. In the example shown in FIG. 8C, “Acquisition” and “Notification at status change” of “Operation status”, “Acquisition” and “Notification at status change” of “Error occurrence status”, “Open / close operation setting” “ “Implementation” is selected for a total of seven operation items, “acquisition”, “operation”, and “notification at state change”. Therefore, these seven items are set on the screen shown in FIG.

例えば、「動作状態」の「取得」について設定を行う場合、利用者が図9(b)に示す設定ボタン1Fを選択すると、図10−1(a)に示す画面が表示される。ここでは、「ピンタイプ」、「関数(処理関数)」、「変数」の設定が行われる。ここで設定される「ピンタイプ」、「関数」、「変数」の情報は、図6に示す利用者入力情報の中の「インタフェース種別」の各項目に対応する情報である。   For example, when setting for “acquisition” of “operation state”, when the user selects the setting button 1F shown in FIG. 9B, the screen shown in FIG. 10A is displayed. Here, “pin type”, “function (processing function)”, and “variable” are set. The “pin type”, “function”, and “variable” information set here is information corresponding to each item of “interface type” in the user input information shown in FIG.

そして、図10−1(b)に示すように、ピンタイプとしては、例えば、「未接続」、「GPIO」、「SPI(Serial Peripheral Interface)」、「I2C(Inter-Integrated Circuit)」、「IR(Infrared)」が候補として表示され、利用者は表示された候補の中から使用するピンタイプを選択すれば良い。また、図10−2(c)に示すように、関数についても1又は複数の候補が表示され、利用者は表示された候補の中から使用する関数を選択すれば良い。さらに、図10−2(d)に示すように、変数についても1又は複数の候補が表示される。図示の例では、変数としてピン番号の候補が示されている。例えば、ピン番号の27番を選択する場合、利用者は「PIN27」を選択すれば良い。最終的には、図10−2(e)に示すように、選択した各項目の内容が表示される。利用者は、表示された内容で問題なければ「完了」のボタン1Gを選択する。このようにして、「動作状態」の「取得」についての設定が行われる。   As shown in FIG. 10B, as pin types, for example, “not connected”, “GPIO”, “SPI (Serial Peripheral Interface)”, “I2C (Inter-Integrated Circuit)”, “ “IR (Infrared)” is displayed as a candidate, and the user may select a pin type to be used from the displayed candidates. Also, as shown in FIG. 10-2 (c), one or more candidates are displayed for the function, and the user may select a function to be used from the displayed candidates. Furthermore, as shown in FIG. 10-2 (d), one or more candidates are also displayed for the variable. In the illustrated example, candidate pin numbers are shown as variables. For example, when selecting the pin number 27, the user may select “PIN27”. Finally, as shown in FIG. 10-2 (e), the contents of each selected item are displayed. If there is no problem with the displayed contents, the user selects the “Complete” button 1G. In this way, the setting for “acquisition” of “operation state” is performed.

同様に、「異常発生状態」の「取得」、「開閉動作設定」の「取得」および「操作」についても、「ピンタイプ」、「関数」、「変数」の設定が行われる。
また、「状態変更時通知」については、対象機器が自機の状態の変更有無を確認する間隔(ポーリング間隔)の設定が行われる。このポーリング間隔の設定により、対象機器は、ポーリング間隔毎に自機の状態の変更有無を確認し、状態変更がある場合には外部の機器へ通知するように制御される。図11(a)に示す例では、利用者の入力によりポーリング間隔が100ミリ秒として設定されている。
そして、利用者は、全ての操作項目(ここでは、7つの操作項目)の設定を行った後、「FINISH」のボタン1Hを選択すると、利用者入力情報の入力が完了し、図11(b)に示す画面が表示される。
Similarly, “pin type”, “function”, and “variable” are also set for “acquisition” of “abnormality occurrence state” and “acquisition” and “operation” of “open / close operation setting”.
In addition, regarding “notification at the time of status change”, an interval (polling interval) at which the target device confirms whether or not the status of its own device has been changed is set. By setting this polling interval, the target device is controlled to check whether or not the state of its own device has changed at every polling interval and to notify an external device if there is a state change. In the example shown in FIG. 11A, the polling interval is set as 100 milliseconds by user input.
When the user sets all the operation items (here, seven operation items) and then selects the “FINISH” button 1H, the input of the user input information is completed, and FIG. ) Is displayed.

<サーバ送信用データの説明>
次に、図12を参照しながら、利用者端末10のデータ変換部12が生成するサーバ送信用データについて説明する。ここでは、データ変換部12が、図6に示す利用者入力情報を変換して、サーバ送信用データを生成するものとして説明する。
<Description of server transmission data>
Next, server transmission data generated by the data conversion unit 12 of the user terminal 10 will be described with reference to FIG. Here, description will be made assuming that the data conversion unit 12 converts the user input information shown in FIG. 6 to generate server transmission data.

図12は、利用者入力情報の変換に用いられるキーの一例を示す図である。このようなキーは、ECHONET Liteにて規定されている。また、本実施の形態において独自に規定したキーも存在する。図12に示すキーのうち、「0x0201」、「0x0001」のキーは、本実施の形態において独自に規定したキーであり、その他のキーはECHONET Liteにて規定されたものである。   FIG. 12 is a diagram illustrating an example of keys used for conversion of user input information. Such a key is defined in ECHONET Lite. There is also a key uniquely defined in the present embodiment. Of the keys shown in FIG. 12, the keys “0x0201” and “0x0001” are keys uniquely defined in the present embodiment, and the other keys are defined by ECHONET Lite.

より具体的には、「0x02」のキーは、「単機能照明」のclass_groupコードを意味し、「単機能照明」が属しているグループである「住宅・設備関連機器」のキーを示す。「0x91」のキーは、「単機能照明」のclassコードを意味し、「単機能照明」のキーを示す。「0x01」のキーは、「単機能照明」のinstanceコードを意味し、対象機器を一意に識別するために付与されるキーである。instanceコードが付与されることにより、1つのファームウェアで複数の対象機器の通信機能を制御する場合であっても、ファームウェアにてそれぞれの対象機器を識別できるようになる。   More specifically, the key “0x02” means a class_group code of “single function lighting”, and indicates a key of “house / equipment related equipment” that is a group to which “single function lighting” belongs. The key “0x91” means a “single function lighting” class code, and indicates a “single function lighting” key. The key “0x01” means an instance code of “single function lighting”, and is a key given to uniquely identify a target device. By giving the instance code, even when the communication function of a plurality of target devices is controlled by one firmware, each target device can be identified by the firmware.

また、「0x80」のキーは、「単機能照明」のpropertyコードを意味し、「単機能照明」の機能種別である「動作状態」を意味するキーである。「get」のキーは、命令種別である「取得」を意味するキーである。「set」のキーは、命令種別である「操作」を意味するキーである。「0x0201」のキーは、GPIOで用いられる取得用のI/O関数のコードを意味するキーである。「0x0001」のキーは、GPIOで用いられる操作用のI/O関数のコードを意味するキーである。「27」は、インタフェースで用いられるピン番号を意味するキーである。「GPIO」は、インタフェースで用いられるピンの入出力(GPIO)を意味するキーである。   The key “0x80” means a property code of “single function lighting”, and is a key that means “operation state” that is a function type of “single function lighting”. The “get” key is a key meaning “acquisition” which is an instruction type. The “set” key is a key meaning “operation” which is an instruction type. The key “0x0201” is a key that means a code of an acquisition I / O function used in GPIO. The key “0x0001” is a key that represents a code of an operation I / O function used in GPIO. “27” is a key indicating a pin number used in the interface. “GPIO” is a key which means input / output (GPIO) of a pin used in the interface.

そして、サーバ送信用データは、図12に示すキーを用いて、図6に示す利用者入力情報を変換することにより生成される。
より具体的には、例えば、サーバ送信用データには、「住宅・設備関連機器」、「単機能照明」のキーである「0x02」、「0x91」のキーの情報が含まれている。これは、図6に示す利用者入力情報の「機器種別」の「単機能照明」の情報に対応する。また、例えば、GPIOで用いられる取得用のI/O関数のキーである「0x0201」のキーの情報が含まれている。さらに、例えば、GPIOで用いられる操作用のI/O関数のキーである「0x0001」のキーの情報が含まれている。これらは、図6の利用者入力情報の「I/O関数」の「GET_GPIO」、「SET_GPIO」の情報に対応する。その他、サーバ送信用データには、図12に示す「0x01」、「0x80」、「get」、「set」、「27」、「GPIO」のキーの情報が含まれている。
The server transmission data is generated by converting the user input information shown in FIG. 6 using the key shown in FIG.
More specifically, for example, the server transmission data includes information on keys “0x02” and “0x91” which are keys of “house / facility-related equipment” and “single function lighting”. This corresponds to the “single function lighting” information of “device type” of the user input information shown in FIG. Further, for example, information on a key “0x0201” that is a key of an acquisition I / O function used in GPIO is included. Further, for example, information on a key “0x0001” that is a key of an operation I / O function used in GPIO is included. These correspond to the information of “GET_GPIO” and “SET_GPIO” of the “I / O function” of the user input information of FIG. In addition, the server transmission data includes key information of “0x01”, “0x80”, “get”, “set”, “27”, and “GPIO” shown in FIG.

このようにして、データ変換部12は、キーを用いて利用者入力情報を変換し、サーバ送信用データを生成する。なお、図12に示すような各種のキーの一覧は、例えば、利用者端末10が利用者入力情報を入力するための画面を読み込む際に、ファームウェア生成サーバ20から利用者端末10へ送信される。   In this way, the data conversion unit 12 converts the user input information using the key, and generates server transmission data. A list of various keys as shown in FIG. 12 is transmitted from the firmware generation server 20 to the user terminal 10 when the user terminal 10 reads a screen for inputting user input information, for example. .

<ソースコード生成部による処理の説明>
次に、図13(a)、(b)を参照しながら、ソースコード生成部22による処理について説明する。ここでは、ソースコード生成部22が、図12に示すキーを基に生成されるサーバ送信用データからソースコード(データ部)を生成するものとして説明する。
<Description of processing by source code generation unit>
Next, processing by the source code generation unit 22 will be described with reference to FIGS. 13 (a) and 13 (b). Here, description will be made assuming that the source code generation unit 22 generates a source code (data portion) from server transmission data generated based on the key shown in FIG.

図13(a)は、サーバ送信用データに適用されるソースコード生成用フォーマットの一例を示す図である。このソースコード生成用フォーマットは、ECHONET Liteで規定されているものではなく、本実施の形態において独自に規定したものである。   FIG. 13A is a diagram illustrating an example of a source code generation format applied to server transmission data. This source code generation format is not defined in ECHONET Lite, but is uniquely defined in the present embodiment.

ここで、「機器種別」は、対象機器を識別するための情報を含むフォーマットである。「命令種別」は、命令の種別を識別するための情報を含むフォーマットである。「機能種別」は、対象機器において制御しようとする機能の種別を識別するための情報を含むフォーマットである。「データ種別」は、データ形式を識別するための情報を含むフォーマットである。ここで、データ形式とは、例えば、データの型、データが取り得る値の範囲などであり、ECHONET Liteで規定されているものもあれば、利用者が独自に定めたものもあるものとする。「インタフェース種別」は、対象機器との間でデータを送受信する際のインタフェースに関する情報を含むフォーマットである。   Here, “device type” is a format including information for identifying a target device. “Instruction type” is a format including information for identifying the type of instruction. The “function type” is a format including information for identifying the type of function to be controlled in the target device. “Data type” is a format including information for identifying a data format. Here, the data format is, for example, the type of data, the range of values that the data can take, and some are defined in ECHONET Lite, while others are uniquely defined by the user. . The “interface type” is a format including information on an interface when data is transmitted / received to / from the target device.

また、図13(b)は、ソースコード(データ部)の一例を示す図である。図13(b)に示すソースコード(データ部)は、図12に示すキーを基に生成されるサーバ送信用データに、図13(a)のソースコード生成用フォーマットを適用することにより生成される。   FIG. 13B is a diagram illustrating an example of a source code (data portion). The source code (data part) shown in FIG. 13B is generated by applying the source code generation format shown in FIG. 13A to the server transmission data generated based on the key shown in FIG. The

より具体的には、例えば、図13(a)のフォーマット「機器種別」には、対象機器を識別するための情報として、「class_group」、「class」、「instance」のコードが定められている。また、図12に示すキーを基に生成されるサーバ送信用データには、「class_group」として「0x02」、「class」として「単機能照明」のclassコードである「0x91」、「instance」として「0x01」が含まれている。そこで、「機器種別」のフォーマットの「class_group」、「class」、「instance」を、「0x02」、「0x91」、「0x01」で置換する。このようにして、図13(b)に示すソースコード(データ部)のデータa1のコードが生成される。   More specifically, for example, in the format “device type” in FIG. 13A, codes of “class_group”, “class”, and “instance” are defined as information for identifying the target device. . Further, the server transmission data generated based on the key shown in FIG. 12 includes “0x02” as “class_group”, “0x91” as the class code of “single function lighting” as “class”, and “instance”. “0x01” is included. Therefore, “class_group”, “class”, and “instance” in the format of “device type” are replaced with “0x02”, “0x91”, and “0x01”. In this way, the code of the data a1 of the source code (data part) shown in FIG. 13B is generated.

同様に、「命令種別」、「機能種別」、「データ種別」、「インタフェース種別」の各フォーマットについて、サーバ送信用データの該当コードで置換することにより、ソースコード(データ部)が生成される。ここで、「命令種別」のフォーマットを置換することにより、図13(b)に示すデータa2のコードが生成される。「機能種別」のフォーマットを置換することにより、図13(b)に示すデータa3のコードが生成される。「データ種別」のフォーマットを置換することにより、図13(b)に示すデータa4のコードが生成される。「インタフェース種別」のフォーマットを置換することにより、図13(b)に示すデータa5のコードが生成される。   Similarly, the source code (data part) is generated by replacing each format of “instruction type”, “function type”, “data type”, and “interface type” with the corresponding code of the server transmission data. . Here, the code of the data a2 shown in FIG. 13B is generated by replacing the format of “instruction type”. By replacing the format of “function type”, the code of the data a3 shown in FIG. 13B is generated. By replacing the format of “data type”, the code of data a4 shown in FIG. 13B is generated. By replacing the format of “interface type”, the code of the data a5 shown in FIG. 13B is generated.

なお、ソースコード生成用フォーマットの各フォーマットでは、フォーマット間で関係のある情報同士が対応付けられている。そのため、各フォーマットから生成されるソースコード(データ部)のデータ(図示の例ではデータa1〜データa5)についても、データ間で関係のある情報同士が対応付けられている。
例えば、ソースコード(データ部)のデータa1には、1又は複数の対象機器の情報が記述される。ここで、ソースコード(データ部)のデータa2には命令種別の情報が記述されるが、データa1に記述されたどの対象機器の命令種別かがわかるように、対象機器と命令種別とを対応付けて記述される。さらに、ソースコード(データ部)のデータa3には機能の情報が記述されるが、どの対象機器のどの命令種別を使用する機能かがわかるように、データa1の対象機器及びデータa2の命令種別と対応付けて、機能の情報が記述される。同様に、データa4、データa5でも、データ間で関係のある情報同士が対応付けられる。
In each format of the source code generation format, information related to the formats is associated with each other. For this reason, the source code (data portion) data (data a1 to data a5 in the illustrated example) generated from each format is also associated with information related to each other.
For example, information of one or a plurality of target devices is described in the data a1 of the source code (data part). Here, the instruction type information is described in the data a2 of the source code (data part), but the target device is associated with the instruction type so that the target type of the target device described in the data a1 can be known. It is written with a description. Furthermore, although the function information is described in the data a3 of the source code (data part), the target device of the data a1 and the command type of the data a2 so that it can be understood which function type of which target device is used. The function information is described in association with. Similarly, in data a4 and data a5, information related to each other is associated with each other.

また、ここでは、ソースコード生成用フォーマットとして、「機器種別」、「命令種別」、「機能種別」、「データ種別」、「インタフェース種別」の5つのフォーマットについて説明した。このうち、「機器種別」、「命令種別」、「機能種別」、「データ種別」の4つのフォーマットは、サーバ送信用データの内容によらず共通に用いられる。一方、「インタフェース種別」は、使用するインタフェースに応じたフォーマットが用いられる。例えば、「GPIO」のインタフェースが使用される場合には、「GPIO」用のフォーマットが用いられる。また、例えば、「SPI」のインタフェースが使用される場合には、「SPI」用のフォーマットが用いられる。   Here, the five formats of “device type”, “command type”, “function type”, “data type”, and “interface type” have been described as the source code generation format. Of these, the four formats of “device type”, “command type”, “function type”, and “data type” are commonly used regardless of the contents of the server transmission data. On the other hand, the “interface type” uses a format corresponding to the interface to be used. For example, when the “GPIO” interface is used, the format for “GPIO” is used. For example, when an “SPI” interface is used, a format for “SPI” is used.

このようにして、ソースコード生成部22は、サーバ送信用データに対してソースコード生成用フォーマットを適用して、ソースコード(データ部)を生成する。付言すると、ソースコード(データ部)は、対象機器の種類および特定の機能をソースコード生成用フォーマットに則って記述されたコードであると捉えることができる。また、本実施の形態において、対象機器において制御しようとする機能は、特定の機能の一例として用いられる。   In this way, the source code generation unit 22 applies the source code generation format to the server transmission data to generate a source code (data portion). In other words, the source code (data part) can be regarded as a code in which the type and specific function of the target device are described in accordance with the source code generation format. In the present embodiment, the function to be controlled in the target device is used as an example of a specific function.

<ファームウェア生成部による処理の説明>
次に、図14(a),(b)を参照しながら、ファームウェア生成部23による処理について説明する。図14(a),(b)は、ファームウェア生成部23により生成されるファームウェアのコードの一例を示す概念図である。
<Description of processing by firmware generation unit>
Next, processing performed by the firmware generation unit 23 will be described with reference to FIGS. 14 (a) and 14 (b). FIGS. 14A and 14B are conceptual diagrams illustrating an example of firmware codes generated by the firmware generation unit 23.

図14(a)に示すソースコード(データ部)は、利用者が入力した利用者入力情報に応じて、ソースコード生成部22により生成されたものである。図示の例は、サーバ送信用データを「機器種別」のソースコード生成用フォーマットに適用して生成されたソースコード(データ部)を示している。より具体的には、利用者が、対象機器としてエアコンおよび冷蔵庫を選択した場合を示している。   The source code (data part) shown in FIG. 14A is generated by the source code generation part 22 in accordance with user input information input by the user. The illustrated example shows a source code (data portion) generated by applying server transmission data to a “device type” source code generation format. More specifically, the case where the user selects an air conditioner and a refrigerator as the target devices is shown.

また、図14(a)に示すソースコード(手続き部)は、ソースコード格納部25に格納されているものであり、利用者入力情報によらず一定である。図示の例では、「機器種別」に対応したソースコード(手続き部)を示しており、利用者がどのような機器を対象機器として選択したとしても対応できるように、予め定められている。例えば、図示のソースコード(手続き部)の3行目「全機器共通手続き(受信データ)」は、ファームウェアが外部からデータを受信した場合に、その受信データに基づいてどのような種類の家電についても実行できるように記述されたコードである。   Further, the source code (procedure part) shown in FIG. 14A is stored in the source code storage part 25 and is constant regardless of the user input information. In the example shown in the figure, a source code (procedure part) corresponding to “device type” is shown, which is determined in advance so as to be able to cope with any device selected as a target device by the user. For example, the third line “procedure common to all devices (received data)” in the source code (procedure section) shown in the figure shows what kind of home appliances the firmware receives when receiving data from the outside. This code is written so that it can be executed.

また、図14(b)に示すソースコード(データ部)も、利用者が入力した利用者入力情報に応じて、ソースコード生成部22により生成されたものである。図示の例は、サーバ送信用データを「機能種別」のソースコード生成用フォーマットに適用して生成されたソースコード(データ部)を示している。より具体的には、利用者が、エアコンにて制御しようとする機能として、「温度自動」、「冷房モード」、「消費電力」を選択し、冷蔵庫にて制御しようとする機能として、「ドア開閉」、「急速冷蔵」、「消費電力」を選択した場合を示している。   The source code (data portion) shown in FIG. 14B is also generated by the source code generation unit 22 in accordance with user input information input by the user. The illustrated example shows a source code (data portion) generated by applying server transmission data to a “function type” source code generation format. More specifically, the user selects “automatic temperature”, “cooling mode”, “power consumption” as the function to be controlled by the air conditioner, and “door” is the function to be controlled by the refrigerator. In this example, “open / close”, “rapid refrigeration”, and “power consumption” are selected.

また、図14(b)に示すソースコード(手続き部)も、ソースコード格納部25に格納されているものであり、利用者入力情報によらず一定である。図示の例では、「機能種別」に対応したソースコード(手続き部)を示しており、利用者がどのような機器を対象機器として選択し、対象機器において制御しようとする機能としてどのような機能を選択したとしても対応できるように、予め定められている。例えば、図示のソースコード(手続き部)の3行目「全機能共通手続き(受信データ)」は、ファームウェアが外部からデータを受信した場合に、その受信データに基づいてどのような家電の機能についても実行できるように記述されたコードである。   The source code (procedure part) shown in FIG. 14B is also stored in the source code storage part 25 and is constant regardless of the user input information. In the example shown in the figure, the source code (procedure part) corresponding to “function type” is shown, and what kind of function is selected as a function that the user selects as a target device and is controlled by the target device. Even if selected, it is determined in advance so that it can be handled. For example, in the source code (procedure section) shown in the figure, the “all function common procedure (received data)” indicates what function of the home appliance is based on the received data when the firmware receives data from the outside. This code is written so that it can be executed.

このように、ソースコード(データ部)は、各ソースコード生成用フォーマットに応じて生成され、それと対応するソースコード(手続き部)が予め定められている。図14(a)に示すソースコードは、「機器種別」に対応するソースコード(データ部)およびソースコード(手続き部)であり、図14(b)に示すソースコードは、「機能種別」に対応するソースコード(データ部)およびソースコード(手続き部)である。また、図14には示していないが、「命令種別」に対応するソースコード(データ部)およびソースコード(手続き部)、「データ種別」に対応するソースコード(データ部)およびソースコード(手続き部)、「インタフェース種別」に対応するソースコード(データ部)およびソースコード(手続き部)なども存在する。そして、ファームウェア生成部23は、これらの各フォーマットに対応するソースコード(データ部)とソースコード(手続き部)とを全て足し合わせる(結合する)ことにより、ファームウェアのソースコードを生成する。付言すると、ファームウェアのソースコードは、ソースコード(データ部)とソースコード(手続き部)とが分離して記述されたコードであると捉えることができる。   Thus, the source code (data part) is generated according to each source code generation format, and the corresponding source code (procedure part) is determined in advance. The source code shown in FIG. 14A is a source code (data part) and source code (procedure part) corresponding to “device type”, and the source code shown in FIG. Corresponding source code (data part) and source code (procedure part). Although not shown in FIG. 14, source code (data part) and source code (procedure part) corresponding to “instruction type”, and source code (data part) and source code (procedure) corresponding to “data type”. Part), source code (data part) and source code (procedure part) corresponding to “interface type”. Then, the firmware generation unit 23 adds the source code (data part) and the source code (procedure part) corresponding to each of these formats, thereby generating the firmware source code. In addition, the source code of the firmware can be regarded as a code in which the source code (data part) and the source code (procedure part) are described separately.

次に、ファームウェア生成部23により生成されたファームウェアが実際に動作する場合の処理について説明する。ここでは、一例として、利用者が、エアコンを操作する入力を行い、そのデータ(以下、受信データAと称することとする)をファームウェアが受信したものとして説明する。   Next, processing when the firmware generated by the firmware generation unit 23 actually operates will be described. Here, as an example, it is assumed that the user performs input for operating the air conditioner and the data (hereinafter referred to as reception data A) is received by the firmware.

ファームウェアの処理としては、「機器種別」、「命令種別」、「機能種別」、「データ種別」、「インタフェース種別」に対応するそれぞれのソースコード(手続き部)の処理が順番に実行される。
初めに、「機器種別」に対応するソースコード(手続き部)の処理が実行される。その際、「機器種別」に対応するソースコード(データ部)が参照される。ここでは、受信データAで対象機器として指定されたエアコンが、ソースコード(データ部)に記述されているか否かの検査(判定)などが行われる。図14(a)に示す例では、エアコンはソースコード(データ部)に記述されているため、次の処理に進む。一方、受信データAで操作対象として指定された機器がソースコード(データ部)に記述されていない場合には、例えばファームウェアからエラーが返されて処理が終了する。
As firmware processing, processing of each source code (procedure part) corresponding to “device type”, “command type”, “function type”, “data type”, and “interface type” is executed in order.
First, processing of a source code (procedure part) corresponding to “device type” is executed. At that time, a source code (data part) corresponding to “device type” is referred to. Here, an inspection (determination) is performed on whether or not the air conditioner designated as the target device in the reception data A is described in the source code (data portion). In the example shown in FIG. 14A, since the air conditioner is described in the source code (data part), the process proceeds to the next process. On the other hand, if the device specified as the operation target in the received data A is not described in the source code (data part), for example, an error is returned from the firmware and the process ends.

次に「命令種別」に対応するソースコード(手続き部)の処理が実行される。その際、「命令種別」に対応するソースコード(データ部)が参照される。ここでは、受信データAで指定された命令種別(即ち、エアコンの命令種別)が、ソースコード(データ部)に記述されているか否かの検査などが行われる。また、上述したように、ソースコード(データ部)では、関係のある情報同士が対応付けられている。即ち、ソースコード(データ部)には、各家電と命令種別とが対応付けて記述されている。そのため、ここでは、ソースコード(データ部)の中で、エアコンの命令種別が記述された箇所を参照して、検査を行えば良い。なお、「機器種別」に対応するソースコード(手続き部)からは、ソースコード(データ部)の中でエアコンの命令種別が記述された箇所を参照するように指示される。そのため、「命令種別」に対応するソースコード(手続き部)の処理では、該当箇所を参照することができる。   Next, the processing of the source code (procedure part) corresponding to the “instruction type” is executed. At that time, the source code (data part) corresponding to the “instruction type” is referred to. Here, it is checked whether or not the instruction type specified by the reception data A (that is, the instruction type of the air conditioner) is described in the source code (data part). As described above, related information is associated with each other in the source code (data portion). That is, in the source code (data part), each home appliance and the instruction type are described in association with each other. Therefore, here, the inspection may be performed with reference to the portion where the instruction type of the air conditioner is described in the source code (data portion). It should be noted that the source code (procedure part) corresponding to the “device type” is instructed to refer to a location where the instruction type of the air conditioner is described in the source code (data part). Therefore, in the processing of the source code (procedure part) corresponding to “instruction type”, the corresponding part can be referred to.

次に「機能種別」に対応するソースコード(手続き部)の処理が実行される。その際、「機能種別」に対応するソースコード(データ部)が参照される。ここでは、受信データAで指定された機能(即ち、エアコンの機能)が、ソースコード(データ部)に記述されているか否かの検査などが行われる。上述したように、機能に関しても、各家電及び命令種別の情報と対応付けて記述されている。そのため、ここでは、ソースコード(データ部)の中で、エアコン(及び命令種別)に対応する機能が記述された箇所を参照して、検査を行えば良い。なお、「命令種別」に対応するソースコード(手続き部)からは、ソースコード(データ部)の中でエアコン(及び命令種別)に対応する機能が記述された箇所を参照するように指示される。そのため、「機能種別」に対応するソースコード(手続き部)の処理では、該当箇所を参照することができる。   Next, processing of the source code (procedure part) corresponding to the “function type” is executed. At that time, the source code (data part) corresponding to the “function type” is referred to. Here, it is checked whether or not the function designated by the reception data A (that is, the air conditioner function) is described in the source code (data part). As described above, the function is also described in association with information on each home appliance and the command type. Therefore, here, the inspection may be performed with reference to a part where the function corresponding to the air conditioner (and the instruction type) is described in the source code (data part). The source code (procedure part) corresponding to the “instruction type” is instructed to refer to the part where the function corresponding to the air conditioner (and the instruction type) is described in the source code (data part). . Therefore, in the processing of the source code (procedure part) corresponding to the “function type”, the corresponding part can be referred to.

例えば、図14(b)に示す例の場合、受信データAで指定されたエアコンの機能が、「温度自動」、「冷房モード」、「消費電力」の何れかに該当するか順番にチェックする。ここで、受信データAの機能がどの機能にも該当しなければ、エラーとなり処理は終了する。一方、受信データAの機能が、例えば「温度自動」の機能に該当する場合、次の「データ種別」、「インタフェース種別」の処理に進む。   For example, in the case of the example shown in FIG. 14B, it is checked in order whether the function of the air conditioner specified by the reception data A corresponds to any of “automatic temperature”, “cooling mode”, and “power consumption”. . Here, if the function of the reception data A does not correspond to any function, an error occurs and the process ends. On the other hand, when the function of the received data A corresponds to the “automatic temperature” function, for example, the process proceeds to the next “data type” and “interface type”.

同様に、「データ種別」に対応するソースコード(手続き部)の処理が実行される際には、「データ種別」に対応するソースコード(データ部)が参照される。ここでは、受信データAが、ソースコード(データ部)に記述されたデータ形式を満たすか否かの検査などが行われる。さらに、「インタフェース種別」に対応するソースコード(手続き部)の処理が実行される際には、「インタフェース種別」に対応するソースコード(データ部)が参照される。ここでは、受信データAで指定されたデータ送受信の方法が、ソースコード(データ部)に記述されているか否かの検査などが行われる。受信データAで指定されたデータ送受信の方法がソースコード(データ部)に記述されていれば、その送受信の方法で、エアコンに対してデータの送受信が開始される。   Similarly, when the processing of the source code (procedure part) corresponding to “data type” is executed, the source code (data part) corresponding to “data type” is referred to. Here, it is checked whether or not the received data A satisfies the data format described in the source code (data part). Further, when the processing of the source code (procedure part) corresponding to the “interface type” is executed, the source code (data part) corresponding to the “interface type” is referred to. Here, it is checked whether or not the data transmission / reception method specified by the reception data A is described in the source code (data portion). If the data transmission / reception method specified by the reception data A is described in the source code (data part), data transmission / reception is started to the air conditioner by the transmission / reception method.

<ファームウェア生成システム全体の処理の流れ>
次に、ファームウェア生成システム1全体の処理の流れについて説明する。図15は、ファームウェア生成システム1においてファームウェアを生成する処理手順の一例を示したフローチャートである。ここで、ステップ101〜ステップ103の処理は、利用者端末10による処理に該当する。また、ステップ104〜ステップ106の処理は、ファームウェア生成サーバ20の処理に該当する。
<Flow of entire firmware generation system>
Next, the processing flow of the entire firmware generation system 1 will be described. FIG. 15 is a flowchart illustrating an example of a processing procedure for generating firmware in the firmware generation system 1. Here, the processing of step 101 to step 103 corresponds to the processing by the user terminal 10. Further, the processing of step 104 to step 106 corresponds to the processing of the firmware generation server 20.

まず、利用者が利用者端末10の画面上で利用者入力情報を入力することにより、入力情報受付部11は、利用者入力情報を受け付ける(ステップ101)。次に、データ変換部12は、受け付けた利用者入力情報に対応するキーを用いて、利用者入力情報を変換してサーバ送信用データを生成する(ステップ102)。次に、データ送信部13は、生成されたサーバ送信用データをファームウェア生成サーバ20へ送信する(ステップ103)。   First, when the user inputs user input information on the screen of the user terminal 10, the input information receiving unit 11 receives the user input information (step 101). Next, the data conversion unit 12 uses the key corresponding to the received user input information to convert the user input information to generate server transmission data (step 102). Next, the data transmission unit 13 transmits the generated server transmission data to the firmware generation server 20 (step 103).

次に、データ受付部21は、利用者端末10からサーバ送信用データを受け付ける(ステップ104)。次に、ソースコード生成部22は、フォーマット格納部24に格納されているソースコード生成用フォーマットを取得する。そして、ソースコード生成部22は、取得したソースコード生成用フォーマットを用いて、利用者端末10から受け付けたサーバ送信用データを変換してソースコード(データ部)を生成する(ステップ105)。次に、ファームウェア生成部23は、ソースコード格納部25からソースコード(手続き部)を取得する。そして、ファームウェア生成部23は、取得したソースコード(手続き部)と、生成されたソースコード(データ部)とを足し合わせて、ファームウェアを生成する(ステップ106)。そして、本処理フローは終了する。   Next, the data reception unit 21 receives server transmission data from the user terminal 10 (step 104). Next, the source code generation unit 22 acquires the source code generation format stored in the format storage unit 24. Then, the source code generation unit 22 converts the server transmission data received from the user terminal 10 using the acquired source code generation format to generate a source code (data unit) (step 105). Next, the firmware generation unit 23 acquires a source code (procedure unit) from the source code storage unit 25. The firmware generation unit 23 adds the acquired source code (procedure unit) and the generated source code (data unit) to generate firmware (step 106). Then, this processing flow ends.

また、ファームウェアが生成された後には、例えば、利用者が利用者端末10にてファームウェアを取得する操作を行うことにより、生成されたファームウェアがファームウェア生成サーバ20から利用者端末10へ送信される。利用者は、送信されてきたファームウェアを、例えば通信制御基板にインストールし、その通信制御基板を対象機器に搭載することにより、対象機器の通信機能が制御される。ただし、通信制御基板を対象機器に搭載する構成に限られるものではなく、例えば、対象機器を制御する他の制御装置に通信制御基板を搭載して、この制御装置がファームウェアにより対象機器の通信機能を制御することとしても良い。   Further, after the firmware is generated, for example, when the user performs an operation of acquiring the firmware at the user terminal 10, the generated firmware is transmitted from the firmware generation server 20 to the user terminal 10. The user installs the transmitted firmware on a communication control board, for example, and mounts the communication control board on the target device, whereby the communication function of the target device is controlled. However, the configuration is not limited to the configuration in which the communication control board is mounted on the target device. For example, the communication control board is mounted on another control device that controls the target device. It is good also as controlling.

なお、本実施の形態では、対象機器に、対象機器の各種の機能を制御する制御装置等が備えられているものとして説明したが、対象機器の中には、例えばLED(Light Emitting Diode)照明のように制御装置等を備えていない単純な構成のものも存在する。このような単純な構成の対象機器の場合、ファームウェアは、例えば、利用者端末10から受信した命令に従って、対象機器の動作を制御する。即ち、この場合、ファームウェアは、対象機器の通信機能を制御するとともに、対象機器の動作を制御するものとして捉えることができる。   In the present embodiment, the target device is described as including a control device that controls various functions of the target device. However, in the target device, for example, LED (Light Emitting Diode) illumination There is a simple configuration that does not include a control device or the like. In the case of a target device having such a simple configuration, the firmware controls the operation of the target device in accordance with, for example, a command received from the user terminal 10. That is, in this case, the firmware can be regarded as controlling the communication function of the target device and controlling the operation of the target device.

以上説明したように、本実施の形態に係るファームウェア生成システム1では、利用者が操作したい機器の種類や機能等を画面上で選択することにより、選択された機器や機能に対応したファームウェアが生成される。その際、ファームウェア生成サーバ20のファームウェア生成部23は、利用者入力情報に応じて生成されたソースコード(データ部)と、予め定められたソースコード(手続き部)とを足し合わせることにより、ファームウェアを生成する。   As described above, in the firmware generation system 1 according to the present embodiment, the firmware corresponding to the selected device or function is generated by selecting the type or function of the device that the user wants to operate on the screen. Is done. At that time, the firmware generation unit 23 of the firmware generation server 20 adds the source code (data unit) generated according to the user input information and a predetermined source code (procedure unit) to obtain the firmware. Is generated.

また、例えば、ECHONET Liteの規定により、対象機器の候補として新しい機器が追加されたり、対象機器において制御しようとする機能として新しい機能が追加されたりした場合、図12に示すキーのclassコードやpropertyコードが追加される。しかし、ソースコード生成用フォーマットおよびソースコード(手続き部)は変更しなくて良く、そのままのものを用いれば良い。即ち、新しい機器や機能に対応するファームウェアを生成する場合であっても、ソースコード生成部22は、ソースコード生成用フォーマットを用いて、利用者が画面上で選択した機器や機能に対応したソースコード(データ部)を生成する。そして、ファームウェア生成部23は、生成されたソースコード(データ部)とソースコード(手続き部)とを足し合わせることにより、ファームウェアを生成する。   Also, for example, when a new device is added as a candidate for the target device or a new function is added as a function to be controlled in the target device according to the ECHONET Lite rule, the class code or property of the key shown in FIG. Code is added. However, the source code generation format and the source code (procedure section) do not have to be changed, and the source code generation format and source code may be used as they are. That is, even when firmware corresponding to a new device or function is generated, the source code generation unit 22 uses the source code generation format to generate a source corresponding to the device or function selected on the screen by the user. Generate code (data part). Then, the firmware generation unit 23 generates firmware by adding the generated source code (data unit) and the source code (procedure unit).

なお、本実施の形態では、利用者端末10がサーバ送信用データをファームウェア生成サーバ20へ送信し、ファームウェア生成サーバ20がファームウェアを生成する構成としたが、このような構成に限られるものではない。例えば、利用者端末10が、ファームウェア生成サーバ20の機能を有し、利用者端末10にてファームウェアを生成するような構成であっても良い。言い換えると、利用者端末10が、ファームウェア生成サーバ20のデータ受付部21、ソースコード生成部22、ファームウェア生成部23、フォーマット格納部24、ソースコード格納部25等の機能を備えることとしても良い。この場合、利用者端末10は、情報処理装置の一例として捉えることができる。   In the present embodiment, the user terminal 10 transmits server transmission data to the firmware generation server 20, and the firmware generation server 20 generates firmware. However, the present invention is not limited to such a configuration. . For example, the user terminal 10 may have the function of the firmware generation server 20 and the user terminal 10 may generate firmware. In other words, the user terminal 10 may be provided with functions such as the data reception unit 21, the source code generation unit 22, the firmware generation unit 23, the format storage unit 24, and the source code storage unit 25 of the firmware generation server 20. In this case, the user terminal 10 can be regarded as an example of an information processing apparatus.

また、本発明の実施の形態を実現するプログラムは、磁気記録媒体(磁気テープ、磁気ディスクなど)、光記録媒体(光ディスクなど)、光磁気記録媒体、半導体メモリなどのコンピュータが読取可能な記録媒体に記憶した状態で提供し得る。また、インターネットなどの通信手段を用いて提供することも可能である。   In addition, the program for realizing the embodiment of the present invention is a computer-readable recording medium such as a magnetic recording medium (magnetic tape, magnetic disk, etc.), an optical recording medium (optical disk, etc.), a magneto-optical recording medium, and a semiconductor memory. Can be provided in a state stored in the memory. It can also be provided using communication means such as the Internet.

以上、本発明の実施の形態について説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、種々の変更又は改良を加えたものも、本発明の技術的範囲に含まれることは、特許請求の範囲の記載から明らかである。   Although the embodiments of the present invention have been described above, the technical scope of the present invention is not limited to the scope described in the above embodiments. It is clear from the description of the scope of the claims that various modifications or improvements added to the above embodiment are also included in the technical scope of the present invention.

1…ファームウェア生成システム、10…利用者端末、11…入力情報受付部、12…データ変換部、13…データ送信部、20…ファームウェア生成サーバ、21…データ受付部、22…ソースコード生成部、23…ファームウェア生成部、24…フォーマット格納部、25…ソースコード格納部 DESCRIPTION OF SYMBOLS 1 ... Firmware generation system, 10 ... User terminal, 11 ... Input information reception part, 12 ... Data conversion part, 13 ... Data transmission part, 20 ... Firmware generation server, 21 ... Data reception part, 22 ... Source code generation part, 23 ... Firmware generation unit, 24 ... Format storage unit, 25 ... Source code storage unit

Claims (10)

制御対象機器の種類および機能の情報を含む制御対象機器の情報を受け付けて当該制御対象機器の通信機能を制御するためのソフトウェアを生成するサーバと、
前記制御対象機器の情報を前記サーバに送信する端末装置と、を備え、
前記サーバは、
前記端末装置から送信された前記制御対象機器の情報を予め定められた第1のコードのフォーマットに適用して第1のコードを生成するコード生成部と、
前記コード生成部により生成された前記第1のコードおよび予め用意された第2のコードに基づいて、前記制御対象機器の通信機能を制御するソフトウェアを生成するソフトウェア生成部と、を備え、
前記第2のコードは、前記通信機能により受信されるデータの対象となる機能が前記第1のコードにより特定される前記制御対象機器の機能か否かを検査するコードと、当該検査において当該第1のコードにより特定された機能を実行させるためのコードであって記述内容が当該制御対象機器の複数の機能に対応するコードとを含むこと
を特徴とする、ソフトウェア生成システム。
A server that generates a control target device types Oyo software accepts information of the control target device for controlling the communication functions of the control target device including information beauty function,
A terminal device that transmits information on the device to be controlled to the server,
The server
A code generation unit that generates the first code by applying the information on the control target device transmitted from the terminal device to a predetermined first code format;
A software generation unit that generates software for controlling a communication function of the control target device based on the first code generated by the code generation unit and a second code prepared in advance;
The second code includes a code for inspecting whether a function that is a target of data received by the communication function is a function of the control target device specified by the first code, and the second code in the inspection. A software generation system, characterized in that a code for executing a function specified by one code includes a code corresponding to a plurality of functions of the control target device .
前記端末装置は、
前記制御対象機器に関して前記ソフトウェアを生成するために特定を要する項目をメニュー表示する表示手段と、
前記表示手段により表示されたメニューに基づき、前記項目を選択することにより前記制御対象機器の情報を入力する操作を受け付ける操作受け付け手段と
を備えることを特徴とする、請求項1に記載のソフトウェア生成システム。
The terminal device
Display means for displaying a menu of items that need to be specified for generating the software with respect to the control target device;
2. The software generation according to claim 1, further comprising: an operation receiving unit that receives an operation of inputting information on the control target device by selecting the item based on the menu displayed by the display unit. system.
前記制御対象機器の情報は、前記項目に応じた複数の種別に分類され、
前記第1のコードは、前記複数の種別の種別毎に予め定められた前記第1のコードのフォーマットに則って、当該複数の種別の種別毎に記述され、
前記第2のコードは、前記複数の種別の種別毎に記述されたコードであって、
前記ソフトウェア生成部は、前記コード生成部により生成された前記第1のコードと前記第2のコードとを前記複数の種別の種別毎に対応させて前記ソフトウェアを生成すること
を特徴とする、請求項2に記載のソフトウェア生成システム。
The information of the control target device is classified into a plurality of types according to the item,
The first code is described for each of the plurality of types in accordance with the format of the first code predetermined for each of the plurality of types.
The second code is a code described for each of the plurality of types,
The software generation unit generates the software by associating the first code and the second code generated by the code generation unit for each of the plurality of types. Item 3. The software generation system according to Item 2.
制御対象機器の種類および機能の情報を含む制御対象機器の情報を受け付ける受付部と、
予め定められた第1のコードのフォーマットを格納したフォーマット格納部と、
予め定められた第2のコードを格納したコード格納部と、
前記受付部により受け付けた前記制御対象機器の情報を前記フォーマット格納部に格納された前記第1のコードのフォーマットに適用して第1のコードを生成するコード生成部と、
前記コード生成部により生成された前記第1のコードおよび前記コード格納部から読み出した前記第2のコードに基づいて、前記制御対象機器の通信機能を制御するソフトウェアを生成するソフトウェア生成部と、を備え、
前記第2のコードは、前記通信機能により受信されるデータの対象となる機能が前記第1のコードにより特定される前記制御対象機器の機能か否かを検査するコードと、当該検査において当該第1のコードにより特定された機能を実行させるためのコードであって記述内容が当該制御対象機器の複数の機能に対応するコードとを含むこと
を特徴とする、情報処理装置。
A receiver for receiving the information of the control target device includes information type and function of the control target device,
A format storage unit storing a predetermined first code format;
A code storage unit storing a predetermined second code;
A code generation unit configured to generate the first code by applying the control target device information received by the reception unit to the format of the first code stored in the format storage unit;
A software generation unit that generates software for controlling a communication function of the control target device based on the first code generated by the code generation unit and the second code read from the code storage unit; Prepared,
The second code includes a code for inspecting whether a function that is a target of data received by the communication function is a function of the control target device specified by the first code, and the second code in the inspection. An information processing apparatus comprising: a code for executing a function specified by one code, and a description content including a code corresponding to a plurality of functions of the control target device.
前記第2のコードは、さらに、前記通信機能により受信されるデータの対象となる機器が前記第1のコードにより特定される前記制御対象機器か否かを検査するコードと、当該検査において当該第1のコードにより特定された制御対象機器に処理を実行させるためのコードであって記述内容が当該制御対象機器の種類によらないコードとを含むことThe second code further includes a code for inspecting whether a device that is a target of data received by the communication function is the control target device specified by the first code, and the second code in the inspection. A code for causing the control target device specified by the one code to execute a process, the description content including a code not depending on the type of the control target device
を特徴とする、請求項4に記載の情報処理装置。The information processing apparatus according to claim 4, wherein:
前記第2のコードは、さらに、前記通信機能により受信されるデータの対象となる命令種別が前記第1のコードにより特定される前記制御対象機器の命令種別か否かを検査するコードを含むことThe second code further includes a code for checking whether or not an instruction type that is a target of data received by the communication function is an instruction type of the control target device specified by the first code.
を特徴とする、請求項4又は5に記載の情報処理装置。The information processing apparatus according to claim 4, wherein:
前記第1のコードのフォーマットは、制御対象機器の通信機能を制御するためのデータの型と当該データが取り得る値の範囲とを指定し、The format of the first code specifies the type of data for controlling the communication function of the device to be controlled and the range of values that the data can take,
前記第2のコードは、さらに、前記通信機能により受信されるデータが前記型と前記範囲とを満たすか否かを検査するコードを含むことThe second code further includes a code for checking whether data received by the communication function satisfies the type and the range.
を特徴とする、請求項4乃至6の何れか1項に記載の情報処理装置。The information processing apparatus according to claim 4, wherein:
前記第2のコードは、記述内容が前記制御対象機器の種類および当該制御対象機器の機能によらないコードであること
を特徴とする、請求項4乃至7の何れか1項に記載の情報処理装置。
The information processing method according to any one of claims 4 to 7, wherein the second code is a code whose description content does not depend on a type of the control target device and a function of the control target device. apparatus.
制御対象機器の種類および特定の機能の情報を含む制御対象機器の情報を受け付ける受付部と、
予め定められた第1のコードのフォーマットを格納したフォーマット格納部と、
予め定められた第2のコードを格納したコード格納部と、
前記受付部により受け付けた前記制御対象機器の情報を前記フォーマット格納部に格納された前記第1のコードのフォーマットに適用して第1のコードを生成するコード生成部と、
前記コード生成部により生成された前記第1のコードおよび前記コード格納部から読み出した前記第2のコードに基づいて、前記制御対象機器の通信機能を制御するソフトウェアを生成するソフトウェア生成部と、を備え、
前記第2のコードは、前記第1のコードを参照して前記制御対象機器に前記特定の機能を実行させる手続きが記述された、記述内容が当該制御対象機器の複数の機能に対応するコードであり、
前記第1のコードのフォーマットは、制御対象機器の通信機能を制御するためのデータの型と当該データが取り得る値の範囲とを指定し、
前記手続きは、前記制御対象機器の通信機能を制御するものとして受信したデータが前記型と前記範囲とを満たすか否かを検査する処理を含むこと
を特徴とする、情報処理装置。
A receiving unit for receiving information on a control target device including information on a type of the control target device and a specific function;
A format storage unit storing a predetermined first code format;
A code storage unit storing a predetermined second code;
A code generation unit configured to generate the first code by applying the control target device information received by the reception unit to the format of the first code stored in the format storage unit;
A software generation unit that generates software for controlling a communication function of the control target device based on the first code generated by the code generation unit and the second code read from the code storage unit; Prepared,
The second code is a code in which a procedure for causing the control target device to execute the specific function is described with reference to the first code, and the description content corresponds to a plurality of functions of the control target device. Oh it is,
The format of the first code specifies the type of data for controlling the communication function of the device to be controlled and the range of values that the data can take,
The information processing apparatus characterized in that the procedure includes a process of checking whether or not data received as controlling the communication function of the control target device satisfies the type and the range. .
コンピュータを、
制御対象機器の種類および機能の情報を含む制御対象機器の情報を受け付ける受付手段と、
記憶装置から予め定められた第1のコードのフォーマットを読み出し、前記受付手段により受け付けた前記制御対象機器の情報を当該第1のコードのフォーマットに適用して第1のコードを生成するコード生成手段と、
記憶装置から予め定められた第2のコードを読み出し、当該第2のコードおよび前記コード生成手段により生成された前記第1のコードに基づいて、前記制御対象機器の通信機能を制御するソフトウェアを生成するソフトウェア生成手段として、機能させ、
前記第2のコードは、前記通信機能により受信されるデータの対象となる機能が前記第1のコードにより特定される前記制御対象機器の機能か否かを検査するコードと、当該検査において当該第1のコードにより特定された機能を実行させるためのコードであって記述内容が当該制御対象機器の複数の機能に対応するコードとを含むこと
を特徴とする、プログラム。
Computer
A receiving means for receiving information of the control target device includes information type and function of the control target device,
Code generating means for reading a predetermined first code format from the storage device and applying the information of the control target device received by the receiving means to the first code format to generate the first code When,
Reads a predetermined second code from the storage device, and generates software for controlling the communication function of the control target device based on the second code and the first code generated by the code generation means Function as software generation means to
The second code includes a code for inspecting whether a function that is a target of data received by the communication function is a function of the control target device specified by the first code, and the second code in the inspection. A program for executing a function specified by one code, the description content including a code corresponding to a plurality of functions of the control target device .
JP2017043648A 2017-03-08 2017-03-08 Software generation system, information processing apparatus, and program Active JP6207782B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017043648A JP6207782B1 (en) 2017-03-08 2017-03-08 Software generation system, information processing apparatus, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017043648A JP6207782B1 (en) 2017-03-08 2017-03-08 Software generation system, information processing apparatus, and program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2016146801A Division JP6109997B1 (en) 2016-07-26 2016-07-26 Software generation system, information processing apparatus, and program

Publications (2)

Publication Number Publication Date
JP6207782B1 true JP6207782B1 (en) 2017-10-04
JP2018018498A JP2018018498A (en) 2018-02-01

Family

ID=59997789

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017043648A Active JP6207782B1 (en) 2017-03-08 2017-03-08 Software generation system, information processing apparatus, and program

Country Status (1)

Country Link
JP (1) JP6207782B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7385240B2 (en) * 2019-05-31 2023-11-22 コネクトフリー株式会社 Software development equipment and software development program
KR102269335B1 (en) * 2019-10-18 2021-06-24 한전케이디엔주식회사 Apparatus and method for verifying suitability of code algorithm implementation in real time operating system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006215826A (en) * 2005-02-03 2006-08-17 Mitsubishi Electric Corp Program code generation supporting device and method, and program for program code generation supporting method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006215826A (en) * 2005-02-03 2006-08-17 Mitsubishi Electric Corp Program code generation supporting device and method, and program for program code generation supporting method

Also Published As

Publication number Publication date
JP2018018498A (en) 2018-02-01

Similar Documents

Publication Publication Date Title
US11171803B2 (en) Smart home communications architecture
US20100121968A1 (en) System and method for automating operations of household systems from remote applications
US20100004763A1 (en) Gateway device and control device
JP6473743B2 (en) Configuration connection device
US20210281613A1 (en) Method and computing device for converting data received via multiple protocols and outputting the converted data via other protocols
JP6193460B1 (en) Software providing method, information processing apparatus, and program
Salikhov et al. Experience of using bluetooth low energy to develop a sensor data exchange system based on the nrf52832 microcontroller
JP6207782B1 (en) Software generation system, information processing apparatus, and program
JP3757669B2 (en) How to set up a distributed system
EP3379795B1 (en) Dongle and control method therefor
US20190271958A1 (en) Device for remotely controlling an appliance
JP6109997B1 (en) Software generation system, information processing apparatus, and program
US9560167B2 (en) Network system, communication method, server, and terminal
US20180331843A1 (en) Managing communication between gateway and building automation device by installing protocol software in gateway
US11880191B2 (en) Remote activation of the wireless service interface of a control device via a bus system
US10693959B2 (en) Residential automation system, equipment and process that is easy to install, configure and use
JP2013207705A (en) Control device
US20230379404A1 (en) Terminal device, apparatus management server, information processing system, information processing method, and medium
KR20180054157A (en) New IOT(Internet Of Things) device management apparatus and method
CN115981170A (en) Intelligent household management method, device, equipment and storage medium
JP2011191880A (en) Kitchen instrument language conversion apparatus
JP7369967B2 (en) Control device, cloud computer, information processing system, and information processing method
US20240264724A1 (en) Application extensibility for smart device control
JP7521053B2 (en) IoT device integrated control system and IoT device integrated control method
JP2018142776A (en) Network system, information processing method, server, and terminal

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170705

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: 20170829

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170905

R150 Certificate of patent or registration of utility model

Ref document number: 6207782

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250