JP6207782B1 - Software generation system, information processing apparatus, and program - Google Patents
Software generation system, information processing apparatus, and program Download PDFInfo
- 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
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,
家電等の電気機器をネットワークに接続させ、このネットワークを介して電気機器を外部から制御したり、電気機器から情報を出力させたりするには、この電気機器に通信機能を持たせ、電気機器の制御装置やセンサとの間で情報交換を行うことが必要となる。そして、電気機器には多くの種類が存在し、様々な機能が設けられているため、電気機器の通信機能を制御するソフトウェアは、制御しようとする電気機器の種類や機能に応じて個別に生成されていた。このようなソフトウェアを人手で生成する作業には、一般に、非常に多くの時間と手間がかかる。そのため、かかるソフトウェアを手軽に生成する手段の提供が望まれていた。
本発明の目的は、制御対象機器の通信機能を制御して当該制御対象機器を制御する命令を受け付けたり当該制御対象機器から情報を出力したりさせるソフトウェアを簡易に生成することを目的とする。
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.
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
<背景>
まず、本実施の形態の背景について説明する。
近年、例えば家電等の電気機器をネットワークに接続し、これらの電気機器を制御するために、ホームネットワーク用の通信規格の業界標準化が進められている。そして、複数のメーカーで共通的に使用される通信規格が作成され、マルチベンダでの相互接続環境が整備されつつある。このような共通の通信規格には、例えば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
このような構成において、ユーザが端末装置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
さらに説明すると、図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
このように構成された通信制御基板400は、家電制御用ソフトウェアの制御により、端末装置100からの制御信号を受け付けて電気機器200の機能実行手段を制御したり、機能実行手段から取得した情報を端末装置100へ出力したりする。ここで、機能実行手段としては、電気機器200の各種の機能を制御する制御装置、種々の動作を実行するアクチュエータ、電気機器200の動作に関する情報を取得する種々のセンサ等を例示することができる。例えば、電気機器200がエアコンディショナの場合について説明する。エアコンディショナ内には、独自の機能プログラムにより、例えば温度を設定したり風量を設定したりするための制御装置が予め搭載されている。そして、家電制御用ソフトウェアにより制御される通信制御基板400が、端末装置100から受信した温度設定命令や風量設定命令を制御装置に送って温度や風量の設定をさせたり、センサから温度や風量の設定値や測定値を取得して端末装置100へ送信したりすることができるようになる。
The
そして、本実施の形態では、ユーザが画面に従って入力することにより、上述したような電気機器の通信機能を制御するための家電制御用ソフトウェアを生成するソフトウェア生成システムを提供する。また、本実施の形態では、電気機器の通信機能を制御するためのソフトウェアの一例として、電気機器の通信機能を制御するために電気機器に組み込まれるソフトウェアであるファームウェアを例にして説明する。 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
利用者端末10は、ファームウェア生成システム1を利用する利用者が操作するコンピュータ装置であり、例えば、PCや携帯情報端末等が例示される。この利用者端末10は、ファームウェアを生成するために利用者が入力した情報(以下、利用者入力情報と称する)を受け付ける。この利用者入力情報には、例えば、ファームウェアがインストールされた通信制御基板400(図1参照)により実現される通信機能を介して制御しようとする対象の機器(以下、対象機器と称する)の種類を指定する情報や、対象機器における制御しようとする機能を指定する情報が含まれる。そして、利用者端末10は、受け付けた利用者入力情報をファームウェア生成サーバ20にて識別可能(処理可能)な形式へ変換して、ファームウェア生成サーバ20へ送信する。以下では、利用者入力情報に変換を施した変換後のデータを、「サーバ送信用データ」と称する。本実施の形態では、制御対象機器の情報をサーバに送信する端末装置の一例として、利用者端末10が用いられる。
The
情報処理装置の一例としてのファームウェア生成サーバ20は、対象機器の通信機能を制御するためのファームウェアを生成するコンピュータ装置であり、例えば、PC、ワークステーション等が例示される。このファームウェア生成サーバ20は、利用者端末10から受信したサーバ送信用データを基に、ファームウェアを生成する。本実施の形態では、制御対象機器の通信機能を制御するためのソフトウェアを生成するサーバの一例として、ファームウェア生成サーバ20が用いられる。
The
ネットワーク30は、利用者端末10とファームウェア生成サーバ20との間の情報通信に用いられる通信手段であり、例えば、インターネット、LAN(Local Area Network)等である。
The
<ハードウェア構成>
次に、本実施の形態に係るファームウェア生成サーバ20および利用者端末10のハードウェア構成について説明する。図3は、本実施の形態に係るファームウェア生成サーバ20又は利用者端末10として用いられるコンピュータのハードウェア構成例を示す図である。
<Hardware configuration>
Next, the hardware configuration of the
図示するように、ファームウェア生成サーバ20は、演算手段であるCPU(Central Processing Unit)20aと、主記憶手段であるメモリ20cを備える。また、外部デバイスとして、磁気ディスク装置(HDD:Hard Disk Drive)20g、ネットワークインタフェース20f、ディスプレイ装置を含む表示機構20d、音声機構20h、キーボードやマウス等の入力デバイス20i等を備える。
As shown in the figure, the
図3に示す構成例では、メモリ20cおよび表示機構20dは、システムコントローラ20bを介してCPU20aに接続されている。また、ネットワークインタフェース20f、磁気ディスク装置20g、音声機構20hおよび入力デバイス20iは、I/Oコントローラ20eを介してシステムコントローラ20bと接続されている。各構成要素は、システム・バスや入出力バス等の各種のバスによって接続される。
In the configuration example shown in FIG. 3, the
また、図3において、磁気ディスク装置20gにはOSのプログラムやアプリケーション・プログラムが格納されている。そして、これらのプログラムがメモリ20cに読み込まれてCPU20aに実行されることにより、ファームウェア生成サーバ20の各種機能が実現される。
In FIG. 3, the
なお、図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
図示するように、利用者端末10は、利用者が入力した利用者入力情報を受け付ける入力情報受付部11と、受け付けた利用者入力情報をサーバ送信用データへ変換するデータ変換部12と、サーバ送信用データをファームウェア生成サーバ20へ送信するデータ送信部13とを備える。
As illustrated, a
入力情報受付部11は、利用者が入力した利用者入力情報を受け付ける。より具体的には、利用者は、例えば利用者端末10の表示機構により表示画面に表示される画面上で、対象機器を選択したり、対象機器において制御しようとする機能を選択したりすることにより、利用者入力情報を入力する。付言すると、対象機器に関してファームウェアを生成するために特定を要する項目がメニュー表示されるため、利用者は、表示されたメニューに基づき項目を選択して情報を入力すれば良い。利用者入力情報、および利用者入力情報を入力する際の画面の詳細については、後述する。本実施の形態では、入力情報受付部11は、表示手段、操作受け付け手段の一例として捉えることもできる。
The input
データ変換部12は、入力情報受付部11が受け付けた利用者入力情報を、サーバ送信用データへ変換する。サーバ送信用データの詳細については、後述する。
The
データ送信部13は、データ変換部12により生成されたサーバ送信用データを、ファームウェア生成サーバ20へ送信する。
The
なお、図4に示す利用者端末10を構成する各機能部は、ソフトウェアとハードウェア資源とが協働することにより実現される。具体的には、利用者端末10を図3に示したコンピュータにて実現した場合、例えば、磁気ディスク装置20gに格納されているOSのプログラムやアプリケーション・プログラムが、メモリ20cに読み込まれてCPU20aに実行されることにより、入力情報受付部11、データ変換部12、データ送信部13の各機能が実現される。
Note that each functional unit constituting the
<ファームウェア生成サーバの機能構成>
次に、ファームウェア生成サーバ20の機能構成について説明する。図5は、本実施の形態に係るファームウェア生成サーバ20の機能構成例を示したブロック図である。
<Functional configuration of firmware generation server>
Next, the functional configuration of the
図示するように、ファームウェア生成サーバ20は、主にデータの処理に関わる機能部として、サーバ送信用データを受け付けるデータ受付部21と、サーバ送信用データを基に、後述するソースコード(データ部)を生成するソースコード生成部22と、ソースコード(データ部)と後述するソースコード(手続き部)とを結合してファームウェアを生成するファームウェア生成部23とを備える。また、ファームウェア生成サーバ20は、主にデータの格納に関わる機能部として、後述するソースコード生成用フォーマットを格納するフォーマット格納部24と、ソースコード(手続き部)を格納するソースコード格納部25とを備える。
As shown in the figure, the
データ受付部21は、利用者端末10からサーバ送信用データを受け付ける。本実施の形態では、制御対象機器の情報を受け付ける受付部の一例として、データ受付部21が用いられる。
The
ソースコード生成部22は、フォーマット格納部24から、ソースコード(データ部)を生成するために使用するフォーマット(以下、ソースコード生成用フォーマットと称する)を取得する。そして、ソースコード生成部22は、サーバ送信用データをソースコード生成用フォーマットに適用し、ソースコード生成用フォーマットに適合するようにサーバ送信用データを変換して、ソースコード(データ部)を生成する。ソースコード生成部22がソースコード(データ部)を生成する処理の詳細については、後述する。本実施の形態では、予め定められた第1のコードのフォーマットの一例として、ソースコード生成用フォーマットが用いられる。また、第1のコードの一例として、ソースコード(データ部)が用いられる。さらに、第1のコードを生成するコード生成部の一例として、ソースコード生成部22が用いられる。
The source
ファームウェア生成部23は、ソースコード格納部25から、予め定められたコードであるソースコード(手続き部)を取得する。このソースコード(手続き部)は、ソースコード(データ部)を参照して実行する手続きが記述されたコードである。さらに説明すると、このソースコード(手続き部)は、ソースコード(データ部)に記述された対象機器の機能を実現する機能実現手段との間で情報交換を行うための手続きが記述されたコードである。
The
そして、ファームウェア生成部23は、取得したソースコード(手続き部)と、ソースコード生成部22により生成されたソースコード(データ部)とを結合して、ファームウェアのソースコードを生成する。また、ファームウェア生成部23は、生成したソースコードをコンパイルして、ファームウェアを生成する。そして、ファームウェア生成部23は、生成したファームウェアを利用者端末10へ送信する。本実施の形態では、予め用意された第2のコードの一例として、ソースコード(手続き部)が用いられる。また、制御対象機器の通信機能を制御するソフトウェアを生成するソフトウェア生成部の一例として、ファームウェア生成部23が用いられる。
Then, the
付言すると、ソースコード生成部22が生成するソースコード(データ部)は、利用者が入力した利用者入力情報に応じて内容が変わる。一方で、ソースコード(手続き部)は、利用者が入力した利用者入力情報によらず一定である。言い換えると、ソースコード(手続き部)は、その記述内容が対象機器の種類および対象機器の機能によらない固定的なコードである。即ち、ソースコード(手続き部)は、ソースコード(データ部)がどのような内容であっても対応できるように、予め定められている。ソースコード(手続き部)の詳細については、後述する。
In other words, the content of the source code (data portion) generated by the source
フォーマット格納部24は、ソースコード生成用フォーマットを格納する。本実施の形態では、第1のコードのフォーマットを格納したフォーマット格納部の一例として、フォーマット格納部24が用いられる。
The
ソースコード格納部25は、ソースコード(手続き部)を格納する。本実施の形態では、第2のコードを格納したコード格納部の一例として、ソースコード格納部25が用いられる。
The source
なお、図5に示すファームウェア生成サーバ20を構成する各機能部は、ソフトウェアとハードウェア資源とが協働することにより実現される。具体的には、ファームウェア生成サーバ20を図3に示したコンピュータにて実現した場合、磁気ディスク装置20gに格納されているOSのプログラムやアプリケーション・プログラムが、メモリ20cに読み込まれてCPU20aに実行されることにより、データ受付部21、ソースコード生成部22、ファームウェア生成部23の各機能が実現される。また、フォーマット格納部24、ソースコード格納部25は、メモリ20cや磁気ディスク装置20g等の記憶手段により実現される。
Note that each functional unit constituting the
<利用者入力情報の説明>
次に、利用者が画面上で入力する利用者入力情報について説明する。図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
次に、利用者が例えば「住宅・設備関連機器」のボタン1Aを選択すると、図7(b)に示す画面が表示される。ここでは、「電動ブラインド・日よけ」、「電動シャッター」、「電動雨戸・シャッター」など、「住宅・設備関連機器」のグループに含まれる機器が一覧で示される。各グループにどのような機器が分類されるかについては、ECHONET Liteで規定されている。利用者は、この一覧の中から「電動ブラインド・日よけ」のボタン1Bを選択すれば良い。なお、ここで選択される「電動ブラインド・日よけ」の情報は、図6に示す利用者入力情報の中の「機器種別」に対応する情報である。
Next, when the user selects, for example, the
利用者が「電動ブラインド・日よけ」を選択すると、次に、図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
利用者がこれらの情報を入力すると、次に、図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
そして、図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
同様に、「異常発生状態」の「取得」、「開閉動作設定」の「取得」および「操作」についても、「ピンタイプ」、「関数」、「変数」の設定が行われる。
また、「状態変更時通知」については、対象機器が自機の状態の変更有無を確認する間隔(ポーリング間隔)の設定が行われる。このポーリング間隔の設定により、対象機器は、ポーリング間隔毎に自機の状態の変更有無を確認し、状態変更がある場合には外部の機器へ通知するように制御される。図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”
<サーバ送信用データの説明>
次に、図12を参照しながら、利用者端末10のデータ変換部12が生成するサーバ送信用データについて説明する。ここでは、データ変換部12が、図6に示す利用者入力情報を変換して、サーバ送信用データを生成するものとして説明する。
<Description of server transmission data>
Next, server transmission data generated by the
図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
<ソースコード生成部による処理の説明>
次に、図13(a)、(b)を参照しながら、ソースコード生成部22による処理について説明する。ここでは、ソースコード生成部22が、図12に示すキーを基に生成されるサーバ送信用データからソースコード(データ部)を生成するものとして説明する。
<Description of processing by source code generation unit>
Next, processing by the source
図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
<ファームウェア生成部による処理の説明>
次に、図14(a),(b)を参照しながら、ファームウェア生成部23による処理について説明する。図14(a),(b)は、ファームウェア生成部23により生成されるファームウェアのコードの一例を示す概念図である。
<Description of processing by firmware generation unit>
Next, processing performed by the
図14(a)に示すソースコード(データ部)は、利用者が入力した利用者入力情報に応じて、ソースコード生成部22により生成されたものである。図示の例は、サーバ送信用データを「機器種別」のソースコード生成用フォーマットに適用して生成されたソースコード(データ部)を示している。より具体的には、利用者が、対象機器としてエアコンおよび冷蔵庫を選択した場合を示している。
The source code (data part) shown in FIG. 14A is generated by the source
また、図14(a)に示すソースコード(手続き部)は、ソースコード格納部25に格納されているものであり、利用者入力情報によらず一定である。図示の例では、「機器種別」に対応したソースコード(手続き部)を示しており、利用者がどのような機器を対象機器として選択したとしても対応できるように、予め定められている。例えば、図示のソースコード(手続き部)の3行目「全機器共通手続き(受信データ)」は、ファームウェアが外部からデータを受信した場合に、その受信データに基づいてどのような種類の家電についても実行できるように記述されたコードである。
Further, the source code (procedure part) shown in FIG. 14A is stored in the source
また、図14(b)に示すソースコード(データ部)も、利用者が入力した利用者入力情報に応じて、ソースコード生成部22により生成されたものである。図示の例は、サーバ送信用データを「機能種別」のソースコード生成用フォーマットに適用して生成されたソースコード(データ部)を示している。より具体的には、利用者が、エアコンにて制御しようとする機能として、「温度自動」、「冷房モード」、「消費電力」を選択し、冷蔵庫にて制御しようとする機能として、「ドア開閉」、「急速冷蔵」、「消費電力」を選択した場合を示している。
The source code (data portion) shown in FIG. 14B is also generated by the source
また、図14(b)に示すソースコード(手続き部)も、ソースコード格納部25に格納されているものであり、利用者入力情報によらず一定である。図示の例では、「機能種別」に対応したソースコード(手続き部)を示しており、利用者がどのような機器を対象機器として選択し、対象機器において制御しようとする機能としてどのような機能を選択したとしても対応できるように、予め定められている。例えば、図示のソースコード(手続き部)の3行目「全機能共通手続き(受信データ)」は、ファームウェアが外部からデータを受信した場合に、その受信データに基づいてどのような家電の機能についても実行できるように記述されたコードである。
The source code (procedure part) shown in FIG. 14B is also stored in the source
このように、ソースコード(データ部)は、各ソースコード生成用フォーマットに応じて生成され、それと対応するソースコード(手続き部)が予め定められている。図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
次に、ファームウェア生成部23により生成されたファームウェアが実際に動作する場合の処理について説明する。ここでは、一例として、利用者が、エアコンを操作する入力を行い、そのデータ(以下、受信データAと称することとする)をファームウェアが受信したものとして説明する。
Next, processing when the firmware generated by the
ファームウェアの処理としては、「機器種別」、「命令種別」、「機能種別」、「データ種別」、「インタフェース種別」に対応するそれぞれのソースコード(手続き部)の処理が順番に実行される。
初めに、「機器種別」に対応するソースコード(手続き部)の処理が実行される。その際、「機器種別」に対応するソースコード(データ部)が参照される。ここでは、受信データ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
まず、利用者が利用者端末10の画面上で利用者入力情報を入力することにより、入力情報受付部11は、利用者入力情報を受け付ける(ステップ101)。次に、データ変換部12は、受け付けた利用者入力情報に対応するキーを用いて、利用者入力情報を変換してサーバ送信用データを生成する(ステップ102)。次に、データ送信部13は、生成されたサーバ送信用データをファームウェア生成サーバ20へ送信する(ステップ103)。
First, when the user inputs user input information on the screen of the
次に、データ受付部21は、利用者端末10からサーバ送信用データを受け付ける(ステップ104)。次に、ソースコード生成部22は、フォーマット格納部24に格納されているソースコード生成用フォーマットを取得する。そして、ソースコード生成部22は、取得したソースコード生成用フォーマットを用いて、利用者端末10から受け付けたサーバ送信用データを変換してソースコード(データ部)を生成する(ステップ105)。次に、ファームウェア生成部23は、ソースコード格納部25からソースコード(手続き部)を取得する。そして、ファームウェア生成部23は、取得したソースコード(手続き部)と、生成されたソースコード(データ部)とを足し合わせて、ファームウェアを生成する(ステップ106)。そして、本処理フローは終了する。
Next, the
また、ファームウェアが生成された後には、例えば、利用者が利用者端末10にてファームウェアを取得する操作を行うことにより、生成されたファームウェアがファームウェア生成サーバ20から利用者端末10へ送信される。利用者は、送信されてきたファームウェアを、例えば通信制御基板にインストールし、その通信制御基板を対象機器に搭載することにより、対象機器の通信機能が制御される。ただし、通信制御基板を対象機器に搭載する構成に限られるものではなく、例えば、対象機器を制御する他の制御装置に通信制御基板を搭載して、この制御装置がファームウェアにより対象機器の通信機能を制御することとしても良い。
Further, after the firmware is generated, for example, when the user performs an operation of acquiring the firmware at the
なお、本実施の形態では、対象機器に、対象機器の各種の機能を制御する制御装置等が備えられているものとして説明したが、対象機器の中には、例えば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
以上説明したように、本実施の形態に係るファームウェア生成システム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
また、例えば、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
なお、本実施の形態では、利用者端末10がサーバ送信用データをファームウェア生成サーバ20へ送信し、ファームウェア生成サーバ20がファームウェアを生成する構成としたが、このような構成に限られるものではない。例えば、利用者端末10が、ファームウェア生成サーバ20の機能を有し、利用者端末10にてファームウェアを生成するような構成であっても良い。言い換えると、利用者端末10が、ファームウェア生成サーバ20のデータ受付部21、ソースコード生成部22、ファームウェア生成部23、フォーマット格納部24、ソースコード格納部25等の機能を備えることとしても良い。この場合、利用者端末10は、情報処理装置の一例として捉えることができる。
In the present embodiment, the
また、本発明の実施の形態を実現するプログラムは、磁気記録媒体(磁気テープ、磁気ディスクなど)、光記録媒体(光ディスクなど)、光磁気記録媒体、半導体メモリなどのコンピュータが読取可能な記録媒体に記憶した状態で提供し得る。また、インターネットなどの通信手段を用いて提供することも可能である。 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.
を特徴とする、請求項4に記載の情報処理装置。The information processing apparatus according to claim 4, wherein:
を特徴とする、請求項4又は5に記載の情報処理装置。The information processing apparatus according to claim 4, wherein:
前記第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:
を特徴とする、請求項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 .
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)
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)
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 |
-
2017
- 2017-03-08 JP JP2017043648A patent/JP6207782B1/en active Active
Patent Citations (1)
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 |