JP6638732B2 - Control system and control method - Google Patents

Control system and control method Download PDF

Info

Publication number
JP6638732B2
JP6638732B2 JP2017545024A JP2017545024A JP6638732B2 JP 6638732 B2 JP6638732 B2 JP 6638732B2 JP 2017545024 A JP2017545024 A JP 2017545024A JP 2017545024 A JP2017545024 A JP 2017545024A JP 6638732 B2 JP6638732 B2 JP 6638732B2
Authority
JP
Japan
Prior art keywords
node
data
unit
script
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017545024A
Other languages
Japanese (ja)
Other versions
JPWO2017064758A1 (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2017064758A1 publication Critical patent/JPWO2017064758A1/en
Application granted granted Critical
Publication of JP6638732B2 publication Critical patent/JP6638732B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C17/00Arrangements for transmitting signals characterised by the use of a wireless electrical link
    • G08C17/02Arrangements for transmitting signals characterised by the use of a wireless electrical link using a radio link
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/38Services specially adapted for particular environments, situations or purposes for collecting sensor information

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Power Sources (AREA)
  • Telephonic Communication Services (AREA)
  • Selective Calling Equipment (AREA)
  • Stored Programmes (AREA)

Description

本発明は、制御システム等に関する。   The present invention relates to a control system and the like.

近年、ワイヤレス通信を行う複数のノードを配置したワイヤレスセンサーネットワークを用いて、サーバが温度や湿度等の各種の環境情報を収集するモニタリング技術が存在する。一般的に各ノードは屋外に設置され、各ノードはバッテリによって動作し、ソーラーパネルを用いてバッテリを充電する。   In recent years, there is a monitoring technology in which a server collects various kinds of environmental information such as temperature and humidity using a wireless sensor network in which a plurality of nodes performing wireless communication are arranged. Generally, each node is installed outdoors, and each node is operated by a battery and charges the battery using a solar panel.

屋外に設置されたノードは、天候や日照の変化に応じて、バッテリの電力残量が変動するため、電力枯渇等を抑止するべく、各ノードの動作周期に関するソフトウェアが適宜変更される。また、上記以外にも、管理者からの要望等により、ノードを動作させるためのソフトウェアが適宜変更される場合もある。   In a node installed outdoors, the remaining power of the battery fluctuates in accordance with changes in weather or sunshine, and software related to the operation cycle of each node is appropriately changed in order to suppress power depletion and the like. In addition to the above, software for operating a node may be changed as appropriate according to a request from an administrator or the like.

特開2006−244120号公報JP-A-2006-244120 特開2006−209457号公報JP 2006-209457 A 特開2006−260281号公報JP 2006-260281 A

しかしながら、上述した従来技術では、システムの運用にかかるコストが増加するという問題がある。   However, in the above-described conventional technology, there is a problem that the cost for operating the system increases.

例えば、各ノードが広範囲に設置されている場合には、管理者の負担を軽減するべく、一度設置したノード上のソフトウェアを更新することなく運用を続けることが望ましい。これを実現させるためには、考慮しうるあらゆる環境や運用の組み合わせに対応可能なソフトウェアをノードに予め実装しておくか、あるいは、汎用PC(Personal Computer)のようにリモート制御によるソフトウェアアップデート機能を実装しておくことになる。しかし、上記のソフトウェアやソフトウェアアップデート機能は、複雑かつ実装量も大きいため、ノードのコストが増加する。また、一般的にソフトウェアの品質はソフトウェア物量とその制御量とに比例して劣化していくため、予めノードに実装した実装量の大きいソフトウェアで複雑な動作をさせようとした場合には、ソフトウェアの品質が低下する。   For example, when each node is installed in a wide range, it is desirable to continue operation without updating software on the node once installed in order to reduce the burden on the administrator. To achieve this, software that can handle all possible combinations of environments and operations can be installed in the node in advance, or a software update function by remote control such as a general-purpose PC (Personal Computer) can be used. Will be implemented. However, the software and the software update function described above are complicated and have a large amount of implementation, which increases the cost of the node. In general, the quality of software deteriorates in proportion to the amount of software and the amount of control of the software. The quality will be reduced.

これに対して、耐環境実装を行わず、運用に対するバリエーションにも対応しないシンプルな実装をノードに対して行うと、機能的に不十分となり、屋外に設置されるノードとしては、機能的に不向きなものとなってしまう。   On the other hand, if a simple implementation that does not support environmental variation and does not correspond to variations in operation is performed on the node, the function will be insufficient, and it will not be functionally suitable for a node installed outdoors. It will be something.

1つの側面では、本発明は、システムの運用にかかるコストが増加することを抑止できる制御システムおよび制御方法を提供することを目的とする。   In one aspect, an object of the present invention is to provide a control system and a control method capable of suppressing an increase in system operation cost.

第1の案では、制御システムは、サーバと複数のノードとを有する。サーバは、送信部を有する。送信部は、ノードに実行させる所定の処理を逐次処理および逐次処理を繰り返し実行させるループ処理の組み合わせで記述したコマンド列のデータをノードに送信する。ノードは、記憶部と、複数のAPI部と、制御部とを有する。記憶部は、サーバから受信したコマンド列のデータを格納する。API部は、予め定められた逐次処理を実行する。制御部は、記憶部に記憶されたコマンド列に基づいて、API部を選択し、選択したAPI部に逐次処理およびループ処理を実行させる。   In the first case, the control system has a server and a plurality of nodes. The server has a transmission unit. The transmitting unit transmits, to the node, data of a command sequence in which a predetermined process to be executed by the node is described in combination with a sequential process and a loop process for repeatedly executing the sequential process. The node has a storage unit, a plurality of API units, and a control unit. The storage unit stores command string data received from the server. The API unit executes a predetermined sequential process. The control unit selects an API unit based on the command sequence stored in the storage unit, and causes the selected API unit to execute a sequential process and a loop process.

システムの運用にかかるコストが増加することを抑止できる。   It is possible to suppress an increase in cost for operating the system.

図1は、本実施例に係る制御システムの一例を示す図である。FIG. 1 is a diagram illustrating an example of a control system according to the present embodiment. 図2は、葉ノードの消費電力と節ノードの消費電力とを説明するための図である。FIG. 2 is a diagram for explaining power consumption of leaf nodes and power consumption of node nodes. 図3は、本実施例に係るサーバの構成を示す機能ブロック図である。FIG. 3 is a functional block diagram illustrating the configuration of the server according to the embodiment. 図4は、制御パラメタAに対応するスクリプトの一例を示す図(1)である。FIG. 4 is a diagram (1) illustrating an example of a script corresponding to the control parameter A. 図5は、制御パラメタAに対応するスクリプトの一例を示す図(2)である。FIG. 5 is a diagram (2) illustrating an example of the script corresponding to the control parameter A. 図6は、制御パラメタBに対応するスクリプトの一例を示す図(1)である。FIG. 6 is a diagram (1) illustrating an example of a script corresponding to the control parameter B. 図7は、制御パラメタBに対応するスクリプトの一例を示す図(2)である。FIG. 7 is a diagram (2) illustrating an example of the script corresponding to the control parameter B. 図8は、ノードの役割を設定するスクリプトの一例を示す図(1)である。FIG. 8 is a diagram (1) illustrating an example of a script for setting the role of a node. 図9は、ノードの役割を設定するスクリプトの一例を示す図(2)である。FIG. 9 is a diagram (2) illustrating an example of a script for setting the role of a node. 図10は、本実施例に係るノードの構成を示す機能ブロック図である。FIG. 10 is a functional block diagram illustrating the configuration of the node according to the present embodiment. 図11は、スクリプトa1,a2を実行した場合のノードの消費電力の一例を示す図である。FIG. 11 is a diagram illustrating an example of power consumption of a node when the scripts a1 and a2 are executed. 図12は、スクリプトb1,b2を実行した場合のノードの消費電力の一例を示す図である。FIG. 12 is a diagram illustrating an example of power consumption of a node when the scripts b1 and b2 are executed. 図13は、サーバの処理手順の一例を示すフローチャートである。FIG. 13 is a flowchart illustrating an example of a processing procedure of the server. 図14は、ノードの処理手順の一例を示すフローチャートである。FIG. 14 is a flowchart illustrating an example of a processing procedure of the node. 図15は、制御プログラムを実行するコンピュータの一例を示す図である。FIG. 15 is a diagram illustrating an example of a computer that executes a control program. 図16は、ノードのハードウェア構成を示す図である。FIG. 16 is a diagram illustrating a hardware configuration of a node.

以下に、本発明にかかる制御システムおよび制御方法の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。   Hereinafter, embodiments of a control system and a control method according to the present invention will be described in detail with reference to the drawings. The present invention is not limited by the embodiment.

図1は、本実施例に係る制御システムの一例を示す図である。図1に示すように、サーバ50と、ゲートウェイ60と、センサーネットワーク70とを有する。センサーネットワーク70は、ノード100a,100b,100c,100d,100e,100f,100g,100h,100i,100j,100k,100lを有する。ここでは、一例として、ノード100a〜100lを示すが、その他のノードが含まれていても良い。以下の説明では、ノード100a〜100lをまとめて、適宜、ノード100と表記する。   FIG. 1 is a diagram illustrating an example of a control system according to the present embodiment. As illustrated in FIG. 1, the server includes a server 50, a gateway 60, and a sensor network 70. The sensor network 70 has nodes 100a, 100b, 100c, 100d, 100e, 100f, 100g, 100h, 100i, 100j, 100k, and 100l. Here, the nodes 100a to 100l are shown as an example, but other nodes may be included. In the following description, the nodes 100a to 100l are collectively referred to as a node 100 as appropriate.

サーバ50は、ネットワーク5を介して、ゲートウェイ60に接続される。ゲートウェイ60は、センサーネットワーク70に接続される。センサーネットワーク70に含まれる各ノード100は、無線通信によって相互に接続される。   The server 50 is connected to the gateway 60 via the network 5. The gateway 60 is connected to the sensor network 70. The nodes 100 included in the sensor network 70 are mutually connected by wireless communication.

サーバ50は、ノード100に実行させる所定の処理を逐次処理およびループ処理の組み合わせで記述したコマンド列の情報をノード100に送信する装置である。   The server 50 is a device that transmits to the node 100 information of a command sequence in which a predetermined process to be executed by the node 100 is described by a combination of a sequential process and a loop process.

ゲートウェイ60は、サーバ50と、センサーネットワーク70との間で送受信されるデータを中継する装置である。   The gateway 60 is a device that relays data transmitted and received between the server 50 and the sensor network 70.

ノード100は、屋外に設置され、バッテリによって動作し、ソーラーパネルを用いてバッテリに電力を充電する。ノード100は、単純なAPI(Application Programming Interface)、ドライバ、逐次処理・ループ処理の制御構造のみを有する。ノード100は、サーバ50から通知されるコマンド列を基にして、逐次処理およびループ処理を実行する。   The node 100 is installed outdoors, is operated by a battery, and charges power to the battery using a solar panel. The node 100 has only a simple API (Application Programming Interface), a driver, and a control structure for sequential processing / loop processing. The node 100 executes the sequential processing and the loop processing based on the command sequence notified from the server 50.

センサーネットワーク70上のノード100は、ソフトウェア的な機能の違いから、節ノードまたは葉ノードに分類される。節ノードは、データ中継を行うセンサーネットワーク70の節となるノード100で、自身のデータを送信するだけではなく、節として接続された隣接ノードからデータを受信し、受信したデータを他の隣接ノードに転送する。これに対して、葉ノードは、自身のデータの送信のみを行うノードである。   The nodes 100 on the sensor network 70 are classified into node nodes or leaf nodes due to differences in software functions. The node is a node 100 of the sensor network 70 that relays data. The node 100 not only transmits its own data, but also receives data from an adjacent node connected as a node, and transmits the received data to another adjacent node. Transfer to On the other hand, a leaf node is a node that only transmits its own data.

節ノードおよび葉ノードの違いは、ソフトウェアのセッティングだけの違いであり、どのノード100も節ノードまたは葉ノードになることができる。しかし、葉ノードの消費電力と、節ノードの消費電力との間には大きな電力差がある。   The difference between a node node and a leaf node is only a setting of software, and any node 100 can be a node node or a leaf node. However, there is a large power difference between the power consumption of the leaf nodes and the power consumption of the node nodes.

図2は、葉ノードの消費電力と節ノードの消費電力とを説明するための図である。図2において、グラフ10Aは、葉ノードの電力波形の一例を示すグラフであり、縦軸は電力を示し、横軸は時間を示す。グラフ10Bは、節ノードの電力波形の一例を示すグラフであり、縦軸は電力を示し、横軸は時間を示す。   FIG. 2 is a diagram for explaining power consumption of leaf nodes and power consumption of node nodes. In FIG. 2, a graph 10A is a graph illustrating an example of a power waveform of a leaf node, in which a vertical axis indicates power and a horizontal axis indicates time. Graph 10B is a graph showing an example of the power waveform of the node, in which the vertical axis represents power and the horizontal axis represents time.

グラフ10Aについて説明する。葉ノードは、ある時刻から時刻t1までの間、待機を行う。待機時の消費電力は、2.1mWとなる。葉ノードは、時刻t1から時刻t2までの間に、葉ノードに設置されたセンサからデータを取得する処理を実行する。葉ノードは、時刻t2から時刻t3までの間に、データ送信前処理を実行する。データ送信前処理を実行する際の消費電力は、98.6mWとなる。葉ノードは、時刻t3から時刻t4までの間に、データ送信を行う。データ送信時の消費電力は126.4mWとなる。葉ノードは、時刻t5から時刻t6までの間に、後処理を実行する。後処理のある時刻では、消費電力が30.6mWとなる。葉ノードは、時刻t6以降では再び、待機状態となる。   The graph 10A will be described. The leaf node waits from a certain time to a time t1. The power consumption during standby is 2.1 mW. The leaf node performs a process of acquiring data from a sensor installed at the leaf node from time t1 to time t2. The leaf node performs pre-data transmission processing from time t2 to time t3. The power consumption when executing the data transmission pre-processing is 98.6 mW. The leaf node performs data transmission between time t3 and time t4. Power consumption during data transmission is 126.4 mW. The leaf node performs post-processing from time t5 to time t6. At a time after the post-processing, the power consumption is 30.6 mW. The leaf node enters the standby state again after time t6.

グラフ10Bについて説明する。節ノードは、ある時刻から時刻t7までの間、隣接ノードからのデータ受信の待機を行う。データ受信の待機時の消費電力は、98.6mWとなる。節ノードは、時刻t7から時刻t8までの間、データ送信を行う。データ送信時の消費電力は126.4mWとなる。   The graph 10B will be described. The node waits for data reception from an adjacent node from a certain time to a time t7. The power consumption during standby for data reception is 98.6 mW. The node node performs data transmission from time t7 to time t8. Power consumption during data transmission is 126.4 mW.

グラフ10Aとグラフ10Bとを比較すると、例えば、葉ノードでは、センサからデータを取得し始めた時刻t1から後処理が完了する時刻t6までの約10ms間に限り、消費電力が大きくなるがそれ以外の時刻の消費電力は小さくなる。これに対して、節ノードは、常時、消費電力が大きくなる。   Comparing the graph 10A with the graph 10B, for example, in the leaf node, the power consumption is increased only for about 10 ms from the time t1 when data acquisition is started from the sensor to the time t6 when the post-processing is completed. The power consumption at the time of becomes smaller. On the other hand, the node node always consumes a large amount of power.

センサーネットワーク70を構成するノード100は、屋外に設置されソーラーパネルによる発電と、バッテリによる充電が行われているが、節ノードの消費電力が大きいため、悪天候やノード100が日陰に位置する場合には、節ノードの電力が枯渇する可能性が高くなる。   The node 100 configuring the sensor network 70 is installed outdoors and is generated by a solar panel and charged by a battery. However, since the power consumption of the node is large, when the node 100 is located in a shade or in bad weather. Means that the power of the node is depleted.

ここで、天候や日陰の状態を考慮し、また、葉や節となるセンサーネットワーク70のトポロジーに起因する消費電力の不均衡を加味することで、制御アルゴリズムを構築することは可能である。しかし、実際に自然環境下におかれた場合には、複雑な因子が絡み合い、実際に運用してみないと分からない事象がある。このため、単純に「XX、YY、ZZの条件の元で、電力閾値がPPより下がったので一時停止する」といった制御アルゴリズムでノード100を独立動作させることは困難である。   Here, it is possible to construct a control algorithm by taking into account the weather and shade conditions, and by taking into account the imbalance in power consumption due to the topology of the sensor network 70 that becomes leaves and nodes. However, when actually placed in a natural environment, there are some events that cannot be understood without actually operating the system because of complicated factors. For this reason, it is difficult to operate the node 100 independently using a control algorithm such as “suspend temporarily because the power threshold value has dropped below PP under the conditions of XX, YY, and ZZ”.

次に、図1に示したサーバ50の構成について説明する。図3は、本実施例に係るサーバの構成を示す機能ブロック図である。図3に示すように、このサーバ50は、通信部51と、記憶部52と、制御部53とを有する。   Next, the configuration of the server 50 shown in FIG. 1 will be described. FIG. 3 is a functional block diagram illustrating the configuration of the server according to the embodiment. As shown in FIG. 3, the server 50 has a communication unit 51, a storage unit 52, and a control unit 53.

通信部51は、ネットワーク5、ゲートウェイ60を介して、センサーネットワーク70のノード100とデータ通信を実行する処理部である。通信部51は、例えば、通信装置に対応する。後述する制御部53は、通信部51を介して、センサーネットワーク70のノード100とデータをやり取りする。   The communication unit 51 is a processing unit that executes data communication with the node 100 of the sensor network 70 via the network 5 and the gateway 60. The communication unit 51 corresponds to, for example, a communication device. The control unit 53 described later exchanges data with the node 100 of the sensor network 70 via the communication unit 51.

記憶部52は、電力データテーブル52bを有する。記憶部52は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子などの記憶装置に対応する。   The storage unit 52 has a power data table 52b. The storage unit 52 corresponds to, for example, a storage device such as a semiconductor memory device such as a random access memory (RAM), a read only memory (ROM), and a flash memory.

電力データテーブル52bは、ノード100を一意に識別する識別情報と、電力データとを対応付けて保持するテーブルである。例えば、電力データは、各ノード100のバッテリに蓄積された電力量の情報である。   The power data table 52b is a table that stores identification information for uniquely identifying the node 100 and power data in association with each other. For example, the power data is information on the amount of power stored in the battery of each node 100.

制御部53は、電力データ取得部53aと、スクリプト生成部53bと、送信部53cとを有する。制御部53は、例えば、ASIC(Application Specific Integrated Circuit)や、FPGA(Field Programmable Gate Array)などの集積装置に対応する。また、制御部53は、例えば、CPUやMPU(Micro Processing Unit)等の電子回路に対応する。   The control unit 53 includes a power data acquisition unit 53a, a script generation unit 53b, and a transmission unit 53c. The control unit 53 corresponds to, for example, an integrated device such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array). The control unit 53 corresponds to, for example, an electronic circuit such as a CPU or an MPU (Micro Processing Unit).

電力データ取得部53aは、各ノード100から電力データを取得する処理部である。電力データ取得部53aは、ノード100から取得した電力データと、ノード100の識別情報とを対応付けて、電力データテーブル52bに格納する。   The power data acquisition unit 53a is a processing unit that acquires power data from each node 100. The power data acquisition unit 53a stores the power data acquired from the node 100 in the power data table 52b in association with the identification information of the node 100.

スクリプト生成部53bは、ノード100に実行させる所定の処理を、逐次処理および逐次処理を繰り返し実行させるコマンド列の情報として生成する処理部である。例えば、コマンド列は、例えば、スクリプト言語で記載される。以下の説明では、スクリプト生成部53bが生成するコマンド列を適宜、スクリプトと表記する。スクリプト生成部53bは、スクリプトの情報を、送信部53cに出力する。   The script generation unit 53b is a processing unit that generates a predetermined process to be executed by the node 100 as information of a sequential process and a command sequence for repeatedly executing the sequential process. For example, the command sequence is described in, for example, a script language. In the following description, a command sequence generated by the script generation unit 53b is appropriately referred to as a script. The script generation unit 53b outputs script information to the transmission unit 53c.

送信部53cは、スクリプト生成部53bから受け付けたスクリプトの情報を、センサーネットワーク70の各ノード100に送信する処理部である。以下の説明では、スクリプトの情報を、適宜、スクリプト情報と表記する。   The transmission unit 53c is a processing unit that transmits information of the script received from the script generation unit 53b to each node 100 of the sensor network 70. In the following description, script information will be referred to as script information as appropriate.

続いて、上述したスクリプト生成部53bが生成するコマンド列の情報について具体的に説明する。   Subsequently, information of the command sequence generated by the script generation unit 53b described above will be specifically described.

まず、サーバ50が、デフォルトでセンサーネットワーク70の各ノード100を運用する場合に送信するスクリプトについて説明する。センサーネットワーク70のデフォルトの運用状態を構成する制御パラメタAの情報は、下記に示すA1,A2,A3となる。
A1:20秒毎にサンプリングを行う。
A2:A1の状態を1分間持続する。
A3:9分間休眠状態とする。
First, a script transmitted when the server 50 operates each node 100 of the sensor network 70 by default will be described. The information of the control parameter A configuring the default operation state of the sensor network 70 is A1, A2, A3 shown below.
A1: Sampling is performed every 20 seconds.
A2: The state of A1 is maintained for one minute.
A3: Sleep for 9 minutes.

サーバ50のスクリプト生成部53bは、デフォルトの運用状態でセンサーネットワーク70を運用する場合には、制御パラメタAに対応するスクリプトを生成する。制御パラメタAに対応するスクリプトは、図4に示すスクリプトa1と、図5に示すスクリプトa2となる。図4および図5は、制御パラメタAに対応するスクリプトの一例を示す図である。   When operating the sensor network 70 in the default operation state, the script generation unit 53b of the server 50 generates a script corresponding to the control parameter A. Scripts corresponding to the control parameter A are a script a1 shown in FIG. 4 and a script a2 shown in FIG. 4 and 5 are diagrams illustrating an example of a script corresponding to the control parameter A.

図4に示すスクリプトa1の1行目は、コマンドを実行するノード100を示している。1行目は「Target:All end device」となっており、コマンドを実行するノード100は、センサーネットワーク70に含まれる全ての葉ノードとなる。スクリプトa1の2行目から5行目までの内容は「{センシングする→センシングしたデータを送信する}という処理を20秒毎に行う」という意味である。このスクリプトa1を取得した葉ノードは、20秒毎にセンシングを行い、センシングしたデータを、サーバ50に送信することになる。   The first line of the script a1 illustrated in FIG. 4 indicates the node 100 that executes the command. The first line is “Target: All end device”, and the node 100 that executes the command is all leaf nodes included in the sensor network 70. The contents from the second line to the fifth line of the script a1 mean that “processing of {sensing → transmitting the sensed data} is performed every 20 seconds”. The leaf node that has acquired the script a1 performs sensing every 20 seconds, and transmits the sensed data to the server 50.

図5に示すスクリプトa2の1行目は、コマンドを実行するノード100を示している。1行目は「Target:All end device」となっており、コマンドを実行するノード100は、センサーネットワーク70に含まれる全ての葉ノードとなる。スクリプトa2の2,3行目の内容は「9分スリープせよ」という意味である。例えば、スクリプトa1に基づきループ動作していたノード100は、スクリプトa2を受信すると、受信した時点から9分間スリープ状態となり、スリープ状態が解除されてから、再度、スクリプトa1に基づくループ動作に復帰する。   The first line of the script a2 illustrated in FIG. 5 indicates the node 100 that executes the command. The first line is “Target: All end device”, and the node 100 that executes the command is all leaf nodes included in the sensor network 70. The contents of the second and third lines of the script a2 mean “sleep for 9 minutes”. For example, upon receiving the script a2, the node 100 that has been performing the loop operation based on the script a1 enters a sleep state for 9 minutes from the time of receiving the script a2, and after returning from the sleep state, returns to the loop operation based on the script a1 again. .

なお、送信部53cが、スクリプトa1をノード100に送信した後に、スクリプトa2を10分毎に送信することで、下記に示す処理を各ノード100に実行させることができる。すなわち、ノード100は、センシングしたデータをサーバ50に送信する処理を20秒毎に実行する処理を1分間継続する。そして、ノード100は、9分間スリープ状態となり、再び、20秒毎のサンプリングを実行する。   Note that the transmitting unit 53c transmits the script a1 to the node 100 and then transmits the script a2 every 10 minutes, whereby each node 100 can execute the following processing. That is, the node 100 continues the process of transmitting the sensed data to the server 50 every 20 seconds for one minute. Then, the node 100 enters the sleep state for 9 minutes, and performs sampling every 20 seconds again.

続いて、サーバ50が、電力が枯渇しそうなあるノード100に送信するスクリプトについて説明する。ここでは、電力が枯渇しそうなあるノード100をノード100Xとする。ノード100Xは、図1に示したノード100a〜100lの何れかに対応する。サーバ50が、ノード100Xを停止させてしまうと、ノード欠損となってしまい、トポロジー的にも歯抜けの問題がでできてしまう。このため、サーバ50は、なるべくノード100Xの運用を続ける。   Next, a script that the server 50 transmits to a node 100 where power is likely to be depleted will be described. Here, a node 100 whose power is likely to be depleted is referred to as a node 100X. The node 100X corresponds to any of the nodes 100a to 100l illustrated in FIG. If the server 50 stops the node 100X, the node will be lost, and a problem will occur in topology. Therefore, the server 50 keeps operating the node 100X as much as possible.

例えば、サーバ50は、各ノード100の発電状態の統計情報から一時的な発電不良からの復帰期待値、あるいは、日昇日没の時間を基にして、ノード100Xをどのように動作させると、ノード100Xの電力枯渇の状態を解消できるのかを判定する。   For example, when the server 50 operates the node 100X based on the expected value of return from temporary power generation failure or the time of sunrise / sunset from the statistical information of the power generation state of each node 100, It is determined whether the power depletion state of the node 100X can be resolved.

例えば、サーバ50のスクリプト生成部53bは、1周期動作でのサンプリングを3回から1回に間引いたコマンド列のスクリプトを生成する。このスクリプトにより、ノード100Xの消費電力が1/3に削減され、ノード100Xの電力が枯渇するまでの時間を長くする。例えば、図4,図5に示す動作を継続すると、日が昇る前に電力枯渇になるが、サンプリング回数を間引くことで、日が昇るまで、動作を継続できる。その後の日照により、ノード100Xのバッテリに電力が充電され、電力枯渇の危機を解消できる。   For example, the script generation unit 53b of the server 50 generates a script of a command sequence in which sampling in one cycle operation is thinned out from three times to one time. With this script, the power consumption of the node 100X is reduced to 1/3, and the time until the power of the node 100X is exhausted is lengthened. For example, if the operations shown in FIGS. 4 and 5 are continued, the power is depleted before the sun rises, but the operation can be continued until the sun rises by thinning out the number of samplings. The power of the battery of the node 100X is charged by the subsequent sunshine, and the danger of power depletion can be resolved.

例えば、電力枯渇を防ぐためにノード100Xに送信する制御パラメタBの情報は、下記に示すB1,B2,B3となる。
B1:60秒毎にサンプリングを行う。
B2:B1の状態1を分間持続する。
B3:9分間休眠状態とする。
For example, information on the control parameter B transmitted to the node 100X to prevent power depletion is B1, B2, and B3 shown below.
B1: Sampling is performed every 60 seconds.
B2: State 1 of B1 is maintained for a minute.
B3: Sleep for 9 minutes.

サーバ50のスクリプト生成部53bは、制御パラメタBに対応するスクリプトを生成する。制御パラメタBに対応するスクリプトは、図6に示すスクリプトb1と、図7に示すスクリプトb2となる。図6および図7は、制御パラメタBに対応するスクリプトの一例を示す図である。   The script generation unit 53b of the server 50 generates a script corresponding to the control parameter B. Scripts corresponding to the control parameter B are a script b1 shown in FIG. 6 and a script b2 shown in FIG. 6 and 7 are diagrams illustrating an example of a script corresponding to the control parameter B.

図6に示すスクリプトb1の1行目は、コマンドを実行するノード100を示している。1行目は「Target:Node X」となっており、コマンドを実行するノード100は、センサーネットワーク70に含まれるノード100Xとなる。スクリプトb1の2行目から5行目までの内容は「{センシングする→センシングしたデータを送信する}という処理を60秒毎に行う」という意味である。このスクリプトb1を取得したノード100Xは、60秒毎にセンシングを行い、センシングしたデータを、サーバ50に送信することになる。   The first line of the script b1 illustrated in FIG. 6 indicates the node 100 that executes the command. The first line is “Target: Node X”, and the node 100 that executes the command is the node 100X included in the sensor network 70. The contents of the script b1 from the second line to the fifth line mean that "processing of {sensing → transmitting sensed data} is performed every 60 seconds". The node 100X that has acquired the script b1 performs sensing every 60 seconds and transmits the sensed data to the server 50.

図7に示すスクリプトb2の1行目は、コマンドを実行するノード100を示している。1行目は「Target:Node ALL end device」となっており、コマンドを実行するノード100は、センサーネットワーク70に含まれる全ノード100となる。スクリプトb2の2,3行目の内容は「9分スリープせよ」という意味である。例えば、スクリプトb1に基づきループ動作していたノード100Xは、スクリプトb2を受信すると、受信した時点から9分間スリープ状態となり、スリープ状態が解除されてから、再度、スクリプトb1に基づくループ動作に復帰する。   The first line of the script b2 shown in FIG. 7 indicates the node 100 that executes the command. The first line is “Target: Node ALL end device”, and the nodes 100 that execute the command are all the nodes 100 included in the sensor network 70. The contents of the second and third lines of the script b2 mean “sleep for 9 minutes”. For example, upon receiving the script b2, the node 100X that has been performing the loop operation based on the script b1 enters a sleep state for 9 minutes from the time of receiving the script b2, and after returning from the sleep state, returns to the loop operation based on the script b1 again. .

なお、送信部53cが、スクリプトb1をノード100Xに送信した後に、スクリプトb2を10分毎に送信することで、下記に示す処理を各ノード100Xに実行させることができる。すなわち、ノード100Xは、センシングしたデータをサーバ50に送信する処理を60秒毎に実行する処理を1分間継続する。そして、ノード100Xは、9分間スリープ状態となり、再び、60秒毎のサンプリングを実行する。   In addition, after transmitting the script b1 to the node 100X, the transmitting unit 53c transmits the script b2 every 10 minutes, whereby each node 100X can execute the following processing. That is, the node 100X continues the process of transmitting the sensed data to the server 50 every 60 seconds for one minute. Then, the node 100X enters the sleep state for 9 minutes, and performs sampling every 60 seconds again.

上記例では、送信部53cが、電力が枯渇しそうなノード100Xに対して、スクリプトb1,b2を送信して、電力の枯渇を防ぐことをしたが、送信部53cは、その他のスクリプトをノード100Xに送信しても良い。例えば、送信部53cは、ノード100Xの役割が節ノードである場合に、ノード100Xの役割を葉ノードに変更することで、電力消費を抑えても良い。   In the above example, the transmitting unit 53c transmits the scripts b1 and b2 to the node 100X where power is likely to be depleted to prevent the power from being depleted. However, the transmitting unit 53c transmits the other scripts to the node 100X. May be sent to For example, when the role of the node 100X is a node, the transmitting unit 53c may reduce power consumption by changing the role of the node 100X to a leaf node.

ここで、例えば、サーバ50は、ノード100Xの電力量が閾値を下回った場合に、ノード100Xの電力が枯渇しそうであると判定する。例えば、サーバ50は、以下の考慮1〜5を基にして、閾値を設定しても良い。   Here, for example, when the power amount of the node 100X falls below the threshold, the server 50 determines that the power of the node 100X is about to be exhausted. For example, the server 50 may set the threshold based on the following considerations 1 to 5.

考慮1:閾値を切った状態が、連続する節ノードでの運用によるものなのか。
考慮2:日没により発電状態が低下し、翌朝には発電が期待されるものなのか。
考慮3:突発的な天候変化に伴い、発電状態が低下した状態になっているのか。
考慮4:元々日陰に設置され、定常的に発電状態が悪いのか。
考慮5:考慮1〜4と、ノードが葉ノードであるか節ノードであるかの組み合わせ。
Consideration 1: Is the state where the threshold is cut off due to operation at successive node nodes?
Consideration 2: Is the power generation state reduced by sunset, and is it expected to be generated the next morning?
Consideration 3: Is the power generation state reduced due to sudden weather change?
Consideration 4: Is it originally installed in the shade and the power generation state is constantly bad?
Consideration 5: A combination of considerations 1-4 and whether the node is a leaf node or a node.

続いて、サーバ50が、各ノード100を複数のグループに分類し、グループ毎に異なるスクリプトを送信する場合について説明する。例えば、サーバ50は、グループ単位で、葉ノードと、節ノードとの役割分担を変更する。グループ単位で、葉ノードと節ノードとの役割分担を変更することで、各ノード100の電力消費の偏りを解消することができる。   Subsequently, a case where the server 50 classifies each node 100 into a plurality of groups and transmits a different script for each group will be described. For example, the server 50 changes the role assignment between the leaf nodes and the node nodes on a group basis. By changing the role assignment between the leaf nodes and the node nodes on a group basis, it is possible to eliminate the bias in the power consumption of each node 100.

ここでは、ノード100が、グループMまたはグループNに分類されているものとする。図8および図9は、ノードの役割を設定するスクリプトの一例を示す図である。   Here, it is assumed that the node 100 is classified into a group M or a group N. 8 and 9 are diagrams illustrating an example of a script for setting the role of a node.

図8に示すスクリプトc1の1行目は、2行目から4行目までのコマンドを実行するノード100を示している。1行目は「Target:Node group M」となっており、コマンドを実行するノード100は、センサーネットワーク70のグループMに属するノード100となる。スクリプトc1の2行目から4行目までの内容は「ノード100の役割を、葉ノード(End device)にする」という意味である。すなわち、グループMに属するノード100は、スクリプトc1を受信すると、役割を葉ノードに設定する。   The first line of the script c1 illustrated in FIG. 8 indicates the node 100 that executes the commands of the second to fourth lines. The first line is “Target: Node group M”, and the node 100 executing the command is the node 100 belonging to the group M of the sensor network 70. The contents of the second to fourth lines of the script c1 mean that “the role of the node 100 is a leaf node (End device)”. That is, upon receiving the script c1, the node 100 belonging to the group M sets the role to a leaf node.

スクリプトc1の5行目は、6行目から8行目までのコマンドを実行するノード100を示している。5行目は「Target:Node group N」となっており、コマンドを実行するノード100は、センサーネットワーク70のグループNに属するノード100になる。スクリプトc1の6行目から8行目までの内容は「ノード100の役割を、節ノード(Router)にする」という意味である。すなわち、グループNに属するノード100は、スクリプトc1を受信すると、役割を節ノードに設定する。   The fifth line of the script c1 indicates the node 100 that executes the commands on the sixth to eighth lines. The fifth line is “Target: Node group N”, and the node 100 executing the command is the node 100 belonging to the group N of the sensor network 70. The contents of the sixth to eighth lines of the script c1 mean that “the role of the node 100 is a node (Router)”. That is, when the node 100 belonging to the group N receives the script c1, the role is set to the node.

スクリプトc1の9行目は、10行目から12行目までのコマンドを実行するノード100を示している。9行目は「Target:All node」となっており、コマンドを実行するノード100は、センサーネットワーク70に含まれる全てのノード100となる。スクリプトc1の10行目から12行目までの内容は「ネットワークを再構築する」という意味である。   The ninth line of the script c1 indicates the node 100 that executes the commands on the tenth to twelfth lines. The ninth line is “Target: All node”, and the nodes 100 executing the command are all the nodes 100 included in the sensor network 70. The contents from the 10th line to the 12th line of the script c1 mean "rebuild the network".

図9に示すスクリプトc2の1行目は、2行目から4行目までのコマンドを実行するノード100を示している。1行目は「Target:Node group N」となっており、コマンドを実行するノード100は、センサーネットワーク70のグループNに属するノード100となる。スクリプトc2の2行目から4行目までの内容は「ノード100の役割を、葉ノード(End device)にする」という意味である。すなわち、グループNに属するノード100は、スクリプトc2を受信すると、役割を葉ノードに設定する。   The first line of the script c2 shown in FIG. 9 indicates the node 100 that executes the commands of the second to fourth lines. The first line is “Target: Node group N”, and the node 100 executing the command is the node 100 belonging to the group N of the sensor network 70. The contents of the second to fourth lines of the script c2 mean that “the role of the node 100 is a leaf node (End device)”. That is, upon receiving the script c2, the node 100 belonging to the group N sets the role to a leaf node.

スクリプトc2の5行目は、6行目から8行目までのコマンドを実行するノード100を示している。5行目は「Target:Node group M」となっており、コマンドを実行するノード100は、センサーネットワーク70のグループMに属するノード100になる。スクリプトc2の6行目から8行目までの内容は「ノード100の役割を、節ノード(Router)にする」という意味である。なわち、グループMに属するノード100は、スクリプトc2を受信すると、役割を節ノードに設定する。   The fifth line of the script c2 indicates the node 100 that executes the commands on the sixth to eighth lines. The fifth line is “Target: Node group M”, and the node 100 that executes the command is the node 100 belonging to the group M of the sensor network 70. The contents of the script c2 from the 6th line to the 8th line mean that "the role of the node 100 is a node (Router)". That is, when the node 100 belonging to the group M receives the script c2, the role is set to the node.

スクリプトc2の9行目は、10行目から12行目までのコマンドを実行するノード100を示している。9行目は「Target:All node」となっており、コマンドを実行するノード100は、センサーネットワーク70に含まれる全てのノード100となる。スクリプトc2の10行目から12行目までの内容は「ネットワークを再構築する」という意味である。   The ninth line of the script c2 indicates the node 100 that executes the commands on the tenth to twelfth lines. The ninth line is “Target: All node”, and the nodes 100 executing the command are all the nodes 100 included in the sensor network 70. The contents of the script c2 from the 10th line to the 12th line mean “rebuild the network”.

次に、図1に示したノード100の構成について説明する。図10は、本実施例に係るノードの構成を示す機能ブロック図である。図10に示すように、このノード100は、API部110a,110b,110c,110d、ドライバ120a,120b,120c,120dを有する。ノード100は、API部110a〜110d以外のAPI部を有していても良い。ノード100は、ドライバ120a〜120d以外のドライバを有していても良い。ノード100は、記憶部130、制御部140を有する。   Next, the configuration of the node 100 shown in FIG. 1 will be described. FIG. 10 is a functional block diagram illustrating the configuration of the node according to the present embodiment. As shown in FIG. 10, the node 100 has API units 110a, 110b, 110c, 110d and drivers 120a, 120b, 120c, 120d. The node 100 may have an API unit other than the API units 110a to 110d. The node 100 may have a driver other than the drivers 120a to 120d. The node 100 has a storage unit 130 and a control unit 140.

API部110aは、制御部140からセンシングの実行コマンドを受け付けた場合に、ドライバ120aを制御して、図示しないセンサからの環境データを取得する処理部である。環境データには、例えば、気温や湿度等のデータが含まれる。   The API unit 110a is a processing unit that, when receiving a sensing execution command from the control unit 140, controls the driver 120a to acquire environment data from a sensor (not shown). The environmental data includes, for example, data such as temperature and humidity.

ドライバ120aは、センサに接続される。ドライバ120aは、センサから環境データを取得し、環境データをAPI部110aに出力するデバイスドライバである。センサは、温度センサ、湿度センサ等に対応する。   The driver 120a is connected to the sensor. The driver 120a is a device driver that acquires environment data from a sensor and outputs the environment data to the API unit 110a. The sensors correspond to temperature sensors, humidity sensors, and the like.

API部110bは、制御部140からデータ送信の実行コマンドを受け付けた場合に、ドライバ120bを制御して、指定されたデータを送信する処理部である。例えば、API部110bは、環境データ、電力データ、スクリプトのデータなどを送信する。また、API部110bは、制御部140からデータ受信の実行コマンドを受け付けた場合に、ドライバ120bを制御して、データ受信を行う。   The API unit 110b is a processing unit that controls the driver 120b and transmits specified data when an execution command of data transmission is received from the control unit 140. For example, the API unit 110b transmits environment data, power data, script data, and the like. When receiving an execution command for data reception from the control unit 140, the API unit 110b controls the driver 120b to perform data reception.

ドライバ120bは、通信装置に接続される。ドライバ120bは、通信装置を操作して、データを送受信するデバイスドライバである。   The driver 120b is connected to a communication device. The driver 120b is a device driver that operates the communication device to transmit and receive data.

API部110cは、制御部140からスリープの実行コマンドを受け付けた場合に、ドライバ120cを制御して、ノード100に対する電源供給を制御する。なお、API部110cおよびドライバ120cは、電源供給を行うパワーモジュールから常時電源供給を受け付けており、ノード100に対する電源供給が停止しても、API部110c、ドライバ120cに対する電源供給は継続するものとする。例えば、API部110cは、X分間のスリープの実行コマンドを受け付けた場合には、このスリープの実行コマンドを受け付けたタイミングから、X分間の間、ノード100に対する電源供給を停止した後、電源供給を再開する。   When a sleep execution command is received from the control unit 140, the API unit 110c controls the driver 120c to control power supply to the node 100. Note that the API unit 110c and the driver 120c always receive power supply from the power module that supplies power, and the power supply to the API unit 110c and the driver 120c continues even if the power supply to the node 100 is stopped. I do. For example, when the API execution unit 110c receives the sleep execution command for X minutes, the API unit 110c stops the power supply to the node 100 for X minutes from the timing when the sleep execution command is received, and then turns off the power supply. To resume.

API部110dは、制御部140から電力データ検出の実行コマンドを受け付けた場合に、ドライバ120dを制御して、図示しないバッテリの電力データを検出する処理部である。   The API unit 110d is a processing unit that controls the driver 120d to detect power data of a battery (not shown) when receiving an execution command of power data detection from the control unit 140.

ドライバ120dは、バッテリに接続される。バッテリの電力データを検出し、検出した電力データをAPI部110dに出力する。   Driver 120d is connected to the battery. The power data of the battery is detected, and the detected power data is output to the API unit 110d.

記憶部130は、識別情報管理テーブル130aと、スクリプト情報130bとを有する。例えば、記憶部130は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子や、HDD(Hard Disk Drive)などの記憶装置に対応する。   The storage unit 130 has an identification information management table 130a and script information 130b. For example, the storage unit 130 corresponds to a semiconductor memory device such as a random access memory (RAM), a read only memory (ROM), or a flash memory, or a storage device such as a hard disk drive (HDD).

識別情報管理テーブル130aは、ノード100を識別するノード識別情報と、ノード100の役割を識別する役割識別情報と、ノード100の属するグループを識別するグループ識別情報とを有する情報である。このうち、役割識別情報は、葉ノード(end device)または節ノード(Router)の何れかに設定される。   The identification information management table 130a is information including node identification information for identifying the node 100, role identification information for identifying the role of the node 100, and group identification information for identifying the group to which the node 100 belongs. Among them, the role identification information is set in either a leaf node (end device) or a node (Router).

スクリプト情報130bは、サーバ50からノード100に送信されるスクリプトの情報に対応する。例えば、スクリプトの情報は、図4〜図9に示したコマンド列の情報である。   The script information 130b corresponds to script information transmitted from the server 50 to the node 100. For example, the information on the script is the information on the command sequence shown in FIGS.

制御部140は、スクリプト情報130bに基づき、API部110a〜110dを制御することで所定の処理を実行する処理部である。制御部140は、ASIC(Application Specific Integrated Circuit)や、FPGA(Field Programmable Gate Array)などの集積装置に対応する。また、制御部140は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等の電子回路に対応する。   The control unit 140 is a processing unit that executes a predetermined process by controlling the API units 110a to 110d based on the script information 130b. The control unit 140 corresponds to an integrated device such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array). The control unit 140 corresponds to, for example, an electronic circuit such as a CPU (Central Processing Unit) and an MPU (Micro Processing Unit).

制御部140は、API部110bを介してスクリプト情報130bを受信すると、受信したスクリプト情報130bを、記憶部130に格納する。制御部140は、識別情報管理テーブル130aを参照し、ノード100が節ノードである場合には、スクリプト情報130bを、API部110bを介して、隣接するノード100に送信する。   When receiving the script information 130b via the API unit 110b, the control unit 140 stores the received script information 130b in the storage unit 130. The control unit 140 refers to the identification information management table 130a and, when the node 100 is a node, transmits the script information 130b to the adjacent node 100 via the API unit 110b.

以下において、スクリプト情報130bに基づいて、制御部140が実行する処理の一例について説明する。制御部140は、スクリプト情報130bに含まれるTargetが、識別情報管理テーブル130aの各識別情報に対応するものである場合には、該当するコマンド列を順次実行する。例えば、制御部140は、Targetで指定されるノード100の識別情報と、識別情報管理テーブル130aのノード識別情報とが一致する場合に、該当するコマンド列を実行する。制御部140は、Targetで指定されるノード100の役割と、識別情報管理テーブル130aの役割識別情報とが一致する場合に、該当するコマンド列を実行する。制御部140は、Targetで指定されるノード100のグループの識別情報と、識別情報管理テーブル130aのグループ識別情報とが一致する場合に、該当するコマンド列を実行する。また、制御部140は、Targetが「All node」である場合には、識別情報管理テーブル130aの各識別情報にかかわらず、該当するコマンド列を順次実行する。   Hereinafter, an example of a process executed by the control unit 140 based on the script information 130b will be described. When the Target included in the script information 130b corresponds to each piece of identification information in the identification information management table 130a, the control unit 140 sequentially executes the corresponding command sequence. For example, when the identification information of the node 100 specified by Target matches the node identification information of the identification information management table 130a, the control unit 140 executes the corresponding command sequence. When the role of the node 100 designated by Target matches the role identification information of the identification information management table 130a, the control unit 140 executes the corresponding command sequence. When the identification information of the group of the node 100 specified by Target matches the group identification information of the identification information management table 130a, the control unit 140 executes the corresponding command sequence. When the target is “All node”, the control unit 140 sequentially executes the corresponding command sequence regardless of the identification information in the identification information management table 130a.

制御部140が、図4、図5に示すスクリプトa1,a2を実行する場合の処理について説明する。一例として、識別情報管理テーブル130aの役割識別情報を「葉ノード(end device)」とする。図4では、スクリプトa1のTargetと、識別情報管理テーブル130aの役割識別情報とが一致するため、制御部140は、2行目から5行目までの処理を実行する。具体的に、制御部140は、センシングの実行コマンドを、API部110aに出力し、かつ、データ送信の実行コマンドをAPI部110bに出力する処理を、20秒毎に実行する。例えば、データ送信で送信されるデータは、API部110aで取得する環境データに対応する。   The processing when the control unit 140 executes the scripts a1 and a2 shown in FIGS. 4 and 5 will be described. As an example, assume that the role identification information of the identification information management table 130a is “leaf node (end device)”. In FIG. 4, since the Target of the script a1 matches the role identification information of the identification information management table 130a, the control unit 140 executes the processing from the second line to the fifth line. Specifically, the control unit 140 executes a process of outputting a sensing execution command to the API unit 110a and outputting a data transmission execution command to the API unit 110b every 20 seconds. For example, data transmitted by data transmission corresponds to environment data acquired by the API unit 110a.

図5では、スクリプトa2のTargetと、識別情報管理テーブル130aの役割識別情報とが一致するため、制御部140は、2,3行目の処理を実行する。具体的に、制御部140は、API部110cに、スリープ(9分間のスリープ)の実行コマンドを出力する。   In FIG. 5, since the Target of the script a2 matches the role identification information of the identification information management table 130a, the control unit 140 executes the processing in the second and third lines. Specifically, the control unit 140 outputs a sleep (9-minute sleep) execution command to the API unit 110c.

図11は、スクリプトa1,a2を実行した場合のノードの消費電力の一例を示す図である。図11の縦軸は消費電力を示し、横軸は時間を示す。例えば、図11に示す例では、制御部140が、スクリプトa1の処理を開始してから1分後に、スクリプトa2の処理を開始する処理を周期的に実行する場合について示す。図11に示すように、20秒毎に、センシングの実行コマンド、データ送信の実行コマンドが出力されるため、1分間の間に、センシングとデータ送信とが3回実行される。   FIG. 11 is a diagram illustrating an example of power consumption of a node when the scripts a1 and a2 are executed. The vertical axis in FIG. 11 indicates power consumption, and the horizontal axis indicates time. For example, the example illustrated in FIG. 11 illustrates a case where the control unit 140 periodically executes a process of starting the process of the script a2 one minute after the process of the script a1 is started. As shown in FIG. 11, a sensing execution command and a data transmission execution command are output every 20 seconds, so that sensing and data transmission are executed three times in one minute.

ここで、センシングおよびデータ送信の所要時間を10msとする。そうすると、ノード100は、1周期で30ms動作し、1時間では180ms動作することになる。センシングとデータ送信に要する消費電力を100mWとすると、1時間当たりのノード100の消費電力は、100mW×180ms/3600s=5×10^(−3)mWとなる。例えば、バッテリの残り電力が、15×10^(−3)mWである場合には、このノード100は、あと3時間で電力枯渇になることが分かる。   Here, it is assumed that the time required for sensing and data transmission is 10 ms. Then, the node 100 operates for 30 ms in one cycle and operates for 180 ms in one hour. Assuming that the power consumption required for sensing and data transmission is 100 mW, the power consumption of the node 100 per hour is 100 mW × 180 ms / 3600 s = 5 × 10 ^ (− 3) mW. For example, when the remaining power of the battery is 15 × 10 ^ (− 3) mW, it can be understood that the power of this node 100 is depleted in 3 hours.

制御部140が、図6、図7に示すスクリプトb1,b2を実行する場合の処理について説明する。一例として、識別情報管理テーブル130aのノード識別情報を「ノード100X」とし、役割識別情報を「葉ノード(end device)」とする。図6では、スクリプトb1のTargetと、識別情報管理テーブル130aのノード識別情報とが一致するため、制御部140は、2行目から5行目までの処理を実行する。具体的に、制御部140は、センシングの実行コマンドを、API部110aに出力し、かつ、データ送信の実行コマンドをAPI部110bに出力する処理を、60秒毎に実行する。例えば、データ送信で送信されるデータは、API部110aで取得する環境データに対応する。   Processing when the control unit 140 executes the scripts b1 and b2 shown in FIGS. 6 and 7 will be described. As an example, the node identification information of the identification information management table 130a is “node 100X”, and the role identification information is “leaf node (end device)”. In FIG. 6, since the Target of the script b1 matches the node identification information of the identification information management table 130a, the control unit 140 executes the processing from the second line to the fifth line. Specifically, the control unit 140 performs a process of outputting a sensing execution command to the API unit 110a and outputting a data transmission execution command to the API unit 110b every 60 seconds. For example, data transmitted by data transmission corresponds to environment data acquired by the API unit 110a.

図7では、スクリプトb2のTargetと、識別情報管理テーブル130aの役割識別情報とが一致するため、制御部140は、2,3行目の処理を実行する。具体的に、制御部140は、API部110cに、スリープ(9分間のスリープ)の実行コマンドを出力する。   In FIG. 7, since the Target of the script b2 matches the role identification information of the identification information management table 130a, the control unit 140 executes the processing in the second and third lines. Specifically, the control unit 140 outputs a sleep (9-minute sleep) execution command to the API unit 110c.

図12は、スクリプトb1,b2を実行した場合のノードの消費電力の一例を示す図である。図12の縦軸は消費電力を示し、横軸は時間を示す。例えば、図12に示す例では、制御部140が、スクリプトb1の処理を開始してから1分後に、スクリプトb2の処理を開始する処理を周期的に実行する場合について示す。図12に示すように、60秒毎に、センシングの実行コマンド、データ送信の実行コマンドが出力されるため、1秒間の間に、センシングとデータ送信とが1回実行される。   FIG. 12 is a diagram illustrating an example of power consumption of a node when the scripts b1 and b2 are executed. The vertical axis in FIG. 12 indicates power consumption, and the horizontal axis indicates time. For example, the example illustrated in FIG. 12 illustrates a case where the control unit 140 periodically executes a process of starting the process of the script b2 one minute after the process of the script b1 is started. As shown in FIG. 12, a sensing execution command and a data transmission execution command are output every 60 seconds, so that sensing and data transmission are performed once during one second.

ここで、センシングおよびデータ送信の所要時間を10msとする。そうすると、ノード100は、1周期で10ms動作し、1時間では60ms動作することになる。センシングとデータ送信に要する消費電力を100mWとすると、1時間当たりのノード100の消費電力は、100mW×60ms/3600s=1.67×10^(−3)mWとなる。例えば、バッテリの残り電力が、15×10^(−3)mWである場合には、このノード100は、あと約9時間で電力枯渇になることが分かる。例えば、図11で説明した場合と比較して、図12では、約3倍、電力枯渇になる時間を延期することができる。   Here, it is assumed that the time required for sensing and data transmission is 10 ms. Then, the node 100 operates for 10 ms in one cycle and operates for 60 ms in one hour. Assuming that the power consumption required for sensing and data transmission is 100 mW, the power consumption of the node 100 per hour is 100 mW × 60 ms / 3600 s = 1.67 × 10 ^ (− 3) mW. For example, when the remaining power of the battery is 15 × 10 ^ (− 3) mW, it can be understood that the power of this node 100 is depleted in about 9 hours. For example, as compared with the case described with reference to FIG. 11, in FIG. 12, the time when the power is depleted can be extended about three times.

制御部140が、図8に示すスクリプトc1を実行する場合の処理について説明する。一例として、識別情報管理テーブル130aのグループ識別情報を「グループM」とする。図8において、制御部140は、1行目のTargetとグループ識別情報とが一致するため、2行目から4行目までのコマンド列を実行する。具体的に、制御部140は、識別情報管理テーブル130aの役割識別情報を「End device」に設定する。   The processing when the control unit 140 executes the script c1 shown in FIG. 8 will be described. As an example, assume that the group identification information in the identification information management table 130a is “group M”. In FIG. 8, the control unit 140 executes the command sequence from the second line to the fourth line because the Target on the first line matches the group identification information. Specifically, the control unit 140 sets the role identification information of the identification information management table 130a to “End device”.

制御部140は、5行目のTargetとグループ識別情報とが一致しないため、6行目から8行目までのコマンド列の実行をスキップする。   The control unit 140 skips the execution of the command sequence from the sixth line to the eighth line because the target on the fifth line does not match the group identification information.

制御部140は、9行目のTargetが「All node」であるため、10行目から12行目までのコマンド列を実行する。具体的に、制御部140は、ネットワークの再構成を実行する。例えば、制御部140は、API部110bを用いて、隣接するノード100との間でハローパケットを送受信し、センサーネットワーク70を再構築する。制御部140が、センサーネットワーク70を再構築する処理は、従来技術と同様の処理を実行してもよい。   The control unit 140 executes the command sequence from the tenth line to the twelfth line because the target on the ninth line is “All node”. Specifically, the control unit 140 executes network reconfiguration. For example, the control unit 140 transmits and receives a hello packet to and from the adjacent node 100 using the API unit 110b, and reconfigures the sensor network 70. The process in which the control unit 140 reconstructs the sensor network 70 may execute the same process as that of the related art.

制御部140が、図9に示すスクリプトc2を実行する場合の処理について説明する。一例として、識別情報管理テーブル130aのグループ識別情報を「グループM」とする。制御部140は、1行目のTargetとグループ識別情報とが一致しないため、2行目から4行目までのコマンド列の実行をスキップする。   The processing when the control unit 140 executes the script c2 shown in FIG. 9 will be described. As an example, assume that the group identification information in the identification information management table 130a is “group M”. The control unit 140 skips the execution of the command sequence from the second line to the fourth line because the Target on the first line does not match the group identification information.

制御部140は、5行目のTargetとグループ識別情報とが一致するため、6行目から8行目までのコマンド列を実行する。具体的に、制御部140は、識別情報管理テーブル130aの役割識別情報を「Router」に設定する。   The control unit 140 executes the command sequence from the sixth line to the eighth line because the target on the fifth line matches the group identification information. Specifically, the control unit 140 sets the role identification information of the identification information management table 130a to “Router”.

制御部140は、9行目のTargetが「All node」であるため、10行目から12行目までのコマンド列を実行する。具体的に、制御部140は、ネットワークの再構成を実行する。例えば、制御部140は、API部110bを用いて、隣接するノード100との間でハローパケットを送受信し、センサーネットワーク70を再構築する。   The control unit 140 executes the command sequence from the tenth line to the twelfth line because the target on the ninth line is “All node”. Specifically, the control unit 140 executes network reconfiguration. For example, the control unit 140 transmits and receives a hello packet to and from the adjacent node 100 using the API unit 110b, and reconfigures the sensor network 70.

ところで、スクリプト情報130bには、上述したコマンド列以外にも、定期的に、電力データをサーバ50に送信するコマンド列が格納されていても良い。制御部140は、かかるコマンド列を実行して、API部110b,110dにコマンドを出力することで、電力データをサーバ50に送信する。   Incidentally, the script information 130b may store a command sequence for periodically transmitting power data to the server 50, in addition to the command sequence described above. The control unit 140 transmits the power string to the server 50 by executing the command sequence and outputting the command to the API units 110b and 110d.

次に、本実施例に係る制御システムのサーバ50およびノード100の処理手順について説明する。図13は、サーバの処理手順の一例を示すフローチャートである。図13に示すように、サーバ50は、センサーネットワーク70の各ノード100にネットワークを構築するためのスクリプト情報を送信することで、センサーネットワーク70を構築する(ステップS101)。   Next, a processing procedure of the server 50 and the node 100 of the control system according to the present embodiment will be described. FIG. 13 is a flowchart illustrating an example of a processing procedure of the server. As shown in FIG. 13, the server 50 constructs the sensor network 70 by transmitting script information for constructing the network to each node 100 of the sensor network 70 (Step S101).

サーバ50は、ノード100から電力データを受信する(ステップS102)。サーバ50は、電力が閾値未満であるか否かを判定する(ステップS103)。サーバ50は、電力が閾値未満でない場合には(ステップS104,No)、再度ステップS102に移行する。   The server 50 receives the power data from the node 100 (Step S102). The server 50 determines whether the power is less than the threshold (Step S103). If the power is not less than the threshold (No at Step S104), the server 50 proceeds to Step S102 again.

一方、サーバ50は、電力が閾値未満である場合には(ステップS104,Yes)、スクリプト情報を生成する(ステップS105)。サーバ50は、スクリプト情報をノード100に送信する(ステップS106)。   On the other hand, if the power is less than the threshold value (step S104, Yes), the server 50 generates script information (step S105). The server 50 transmits the script information to the node 100 (Step S106).

図14は、ノードの処理手順の一例を示すフローチャートである。図14に示すように、ノード100の制御部140は、サーバ50からスクリプト情報130bを受信する(ステップS201)。制御部140は、スクリプト情報130bを記憶部130に格納する(ステップS202)。   FIG. 14 is a flowchart illustrating an example of a processing procedure of the node. As illustrated in FIG. 14, the control unit 140 of the node 100 receives the script information 130b from the server 50 (Step S201). The control unit 140 stores the script information 130b in the storage unit 130 (Step S202).

制御部140は、役割識別情報が「Router(節ノード)」であるか否かを判定する(ステップS203)。制御部140は、役割識別情報が「Router」である場合には(ステップS203,Yes)、スクリプト情報130bを隣接ノードに送信する(ステップS204)。制御部140は、役割識別情報が「Router」でない場合には(ステップS203,No)、ステップS205に移行する。   The control unit 140 determines whether the role identification information is "Router (node)" (step S203). When the role identification information is “Router” (Step S203, Yes), the control unit 140 transmits the script information 130b to the adjacent node (Step S204). If the role identification information is not “Router” (No at Step S203), the control unit 140 proceeds to Step S205.

制御部140は、スクリプト情報130bのTargetと、識別情報管理テーブル130aとを比較して、実行対象となるコマンド列を特定する(ステップS205)。制御部140は、コマンド列に対応する実行コマンドを該当するAPI部に出力する。また、制御部140は、コマンドがループ処理の場合には、繰り返し、実行コマンドをAPI部に出力する(ステップS206)。   The control unit 140 compares the Target of the script information 130b with the identification information management table 130a to specify a command string to be executed (Step S205). The control unit 140 outputs an execution command corresponding to the command sequence to the corresponding API unit. When the command is a loop process, the control unit 140 repeatedly outputs an execution command to the API unit (Step S206).

次に、上記実施例に示したサーバ50と同様の機能を実現する制御プログラムを実行するコンピュータおよびハードウェア構成の一例について説明する。図15は、制御プログラムを実行するコンピュータの一例を示す図である。   Next, an example of a computer and a hardware configuration for executing a control program that realizes the same functions as those of the server 50 described in the above embodiment will be described. FIG. 15 is a diagram illustrating an example of a computer that executes a control program.

図15に示すように、コンピュータ300は、各種演算処理を実行するCPU301と、ユーザからのデータの入力を受け付ける入力装置302と、ディスプレイ303とを有する。また、コンピュータ300は、記憶媒体からプログラム等を読取る読み取り装置304と、ネットワークを介して他のコンピュータとの間でデータの授受を行うインターフェース装置305とを有する。また、コンピュータ300は、各種情報を一時記憶するRAM306と、ハードディスク装置307とを有する。そして、各装置301〜307は、バス308に接続される。   As shown in FIG. 15, the computer 300 includes a CPU 301 that executes various arithmetic processing, an input device 302 that receives input of data from a user, and a display 303. In addition, the computer 300 includes a reading device 304 that reads a program or the like from a storage medium, and an interface device 305 that exchanges data with another computer via a network. Further, the computer 300 has a RAM 306 for temporarily storing various information, and a hard disk device 307. Each of the devices 301 to 307 is connected to the bus 308.

ハードディスク装置307は、電力データ取得プログラム307aと、スクリプト生成プログラム307bと、送信プログラム307cとを有する。CPU301は、電力データ取得プログラム307a、スクリプト生成プログラム307b、送信プログラム307cを読み出してRAM306に展開する。電力データ取得プログラム307aは、電力データ取得プロセス306aとして機能する。スクリプト生成プログラム307bは、スクリプト生成プロセス306bとして機能する。送信プログラム307cは、送信プロセス306cとして機能する。例えば、電力データ取得プロセス306aは、電力データ取得部53aに対応する。スクリプト生成プロセス306bは、スクリプト生成部53bに対応する。送信プロセス306cは、送信部53cに対応する。   The hard disk device 307 has a power data acquisition program 307a, a script generation program 307b, and a transmission program 307c. The CPU 301 reads the power data acquisition program 307a, the script generation program 307b, and the transmission program 307c and expands them on the RAM 306. The power data acquisition program 307a functions as a power data acquisition process 306a. The script generation program 307b functions as a script generation process 306b. The transmission program 307c functions as a transmission process 306c. For example, the power data acquisition process 306a corresponds to the power data acquisition unit 53a. The script generation process 306b corresponds to the script generation unit 53b. The transmission process 306c corresponds to the transmission unit 53c.

なお、電力データ取得プログラム307a、スクリプト生成プログラム307b、送信プログラム307cについては、必ずしも最初からハードディスク装置307に記憶させておかなくても良い。例えば、コンピュータ300に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ300が電力データ取得プログラム307a、スクリプト生成プログラム307b、送信プログラム307cを読み出して実行するようにしてもよい。   The power data acquisition program 307a, the script generation program 307b, and the transmission program 307c do not necessarily need to be stored in the hard disk device 307 from the beginning. For example, each program is stored in a “portable physical medium” such as a flexible disk (FD), a CD-ROM, a DVD disk, a magneto-optical disk, or an IC card inserted into the computer 300. Then, the computer 300 may read and execute the power data acquisition program 307a, the script generation program 307b, and the transmission program 307c.

次に、上記実施例に示したノード100のハードウェア構成の一例について説明する。図16は、ノードのハードウェア構成を示す図である。例えば、ノード100は、エナジーハーベスト素子10、パワーモジュール11、バッテリ12、センサーデバイス13、I/O(Input Output)14、RF(Radio Frequency)15、タイマ16、メモリ17、CPU18を有する。   Next, an example of a hardware configuration of the node 100 described in the above embodiment will be described. FIG. 16 is a diagram illustrating a hardware configuration of a node. For example, the node 100 includes an energy harvesting element 10, a power module 11, a battery 12, a sensor device 13, an I / O (Input Output) 14, an RF (Radio Frequency) 15, a timer 16, a memory 17, and a CPU 18.

エナジーハーベスト素子10は、環境電波や温度などを用いて微弱発電する素子であり、例えば、ソーラーパネル等に対応する。   The energy harvesting element 10 is an element that generates weak power using environmental radio waves, temperature, and the like, and corresponds to, for example, a solar panel or the like.

パワーモジュール11は、エナジーハーベスト素子10、バッテリ12に接続され、ノード100のI/O14、RF15、タイマ16、メモリ17、CPU18に対する電源供給・停止を行う装置である。パワーモジュール11は、タイマ11aと、PMU(Power Management Unit)11bとを有する。タイマ11aは、時間の情報をPMU11bに出力するタイマである。PMU11bは、ノード100のI/O14、RF15、タイマ16、メモリ17、CPU18に対する電源供給・停止を行う。例えば、CPU18から、9秒間スリープせよとの実行コマンドを受け付けた場合には、9秒間、I/O14、RF15、タイマ16、メモリ17、CPU18に対する電源供給を停止することで、ノード100を、スリープ状態に移行させる。バッテリ12は、エナジーハーベスト素子10から生成される電力を蓄積する装置である。   The power module 11 is a device that is connected to the energy harvesting element 10 and the battery 12, and supplies and stops power to the I / O 14, the RF 15, the timer 16, the memory 17, and the CPU 18 of the node 100. The power module 11 has a timer 11a and a PMU (Power Management Unit) 11b. The timer 11a is a timer that outputs time information to the PMU 11b. The PMU 11b supplies and stops power to the I / O 14, the RF 15, the timer 16, the memory 17, and the CPU 18 of the node 100. For example, when an execution command to sleep for 9 seconds is received from the CPU 18, the power supply to the I / O 14, the RF 15, the timer 16, the memory 17, and the CPU 18 is stopped for 9 seconds, thereby causing the node 100 to sleep. Transition to the state. The battery 12 is a device that stores electric power generated from the energy harvesting element 10.

センサーデバイス13は、各種の環境データをセンシングする装置である。I/O14は、センサーデバイス13から環境データを取得する装置である。RF15は、他の装置と無線通信を実行する通信装置である。タイマ16は、CPU18に時間の情報を出力するタイマである。メモリ17は、各種の情報を格納する記憶装置であり、例えば、図10の記憶部130に示した、識別情報管理テーブル130a、スクリプト情報130bを格納する。CPU18は、図10に示した制御部140に対応する装置である。   The sensor device 13 is a device that senses various types of environmental data. The I / O 14 is a device that acquires environmental data from the sensor device 13. The RF 15 is a communication device that performs wireless communication with another device. The timer 16 is a timer that outputs time information to the CPU 18. The memory 17 is a storage device that stores various types of information, and stores, for example, the identification information management table 130a and the script information 130b shown in the storage unit 130 in FIG. The CPU 18 is a device corresponding to the control unit 140 shown in FIG.

次に、本実施例に係る制御システムの効果について説明する。センサーネットワーク70を構成する各ノード100に単純なAPI部、ドライバ、逐次処理・ループ処理の制御構造のみを持たせ、サーバ50側から単純な逐次処理・ループ処理を合わせたスクリプト情報をノード100に通知して実行させるので、センサーネットワーク70の運用コストを削減することができる。   Next, effects of the control system according to the present embodiment will be described. Each node 100 constituting the sensor network 70 has only a simple API unit, a driver, and a control structure for sequential processing / loop processing, and script information combining simple sequential processing / loop processing is sent from the server 50 to the node 100. Since the notification is executed, the operation cost of the sensor network 70 can be reduced.

例えば、従来のノードのように、ノード側に全ロジックを搭載させると、ノード側で2MByteのデータ容量を使用することになる。これに対して、本実施例のように、スクリプト情報をノード100に送信して動作させることで、ノード100側では8kByteのデータ容量の使用ですむ。   For example, if all logic is mounted on the node side as in a conventional node, the node uses a data capacity of 2 MBytes. On the other hand, by transmitting the script information to the node 100 and operating it as in the present embodiment, the node 100 can use the data capacity of 8 kByte.

また、一般に、ソフトウェアは実装量と制御ブランチ量に比例して、潜在バグ率が上昇するが、本実施例で用いるスクリプト情報は、データ量が少ないため、潜在バグ率を従来のノードと比較して低減させることができる。   In general, the potential bug ratio of software increases in proportion to the amount of implementation and the amount of control branches, but the script information used in this embodiment has a small data amount, so the potential bug ratio is compared with that of a conventional node. Can be reduced.

また、本実施例では、ノード100から取得する電力データに基づき、電力枯渇の発生しそうなノード100を特定し、スクリプト情報を用いて、ノード100の役割や、動作のパターンを変更するので、電力枯渇を未然に防止できる。また、判定ロジックを動的に変更することができる。   Further, in the present embodiment, based on the power data acquired from the node 100, the node 100 where power depletion is likely to be specified is specified, and the role and operation pattern of the node 100 are changed using the script information. Depletion can be prevented beforehand. Further, the determination logic can be dynamically changed.

また、本実施例に係るノード100は、役割が節ノードである場合に、サーバ50から受信したコマンド列のデータを、隣接ノードに転送するため、センサーネットワーク70の各ノード100に、スクリプト情報を通知することができる。   Further, when the role is a node, the node 100 according to the present embodiment transmits the script information to each node 100 of the sensor network 70 in order to transfer the command string data received from the server 50 to the adjacent node. Can be notified.

また、本実施例に係るノード100は、識別情報管理テーブル130aに、グループ識別情報を有し、スクリプト情報のTargetで指定されるグループと、グループ識別情報とが一致する場合に、スクリプトのコマンド列を実行する。このため、サーバ50は、グループ毎に、一括して、ノード100の役割や、動作パターンを変更することができる。   Further, the node 100 according to the present embodiment has the group identification information in the identification information management table 130a, and when the group specified by Target of the script information matches the group identification information, the script command sequence Execute For this reason, the server 50 can change the role of the node 100 and the operation pattern collectively for each group.

50 サーバ
60 ゲートウェイ
100a,100b,100c,100d,100e,100f,100g,100h,100i,100j,100k,100l ノード
50 server 60 gateway 100a, 100b, 100c, 100d, 100e, 100f, 100g, 100h, 100i, 100j, 100k, 100l Node

Claims (5)

ネットワークを構成する複数のノードとサーバとを有する制御システムであって、
前記サーバは、
前記ノードに実行させる所定の処理を逐次処理および前記逐次処理を繰り返し実行させるループ処理の組み合わせで記述したコマンド列であって、前記ノードのバッテリに蓄積された電力量の情報と、前記ノードの発電状態の統計情報と、日照日没の時間とを基にして、前記ループ処理の実行頻度を調整した前記コマンド列のデータを生成する生成部と、
前記生成部に生成された前記コマンド列のデータを前記ノードに送信する送信部を有し、
前記ノードは、
ソーラーパネルによって電力が供給されるバッテリによって駆動し、
前記サーバから受信した前記コマンド列のデータを格納する記憶部と、
予め定められた逐次処理を実行する複数のAPI(Application Programming Interface)部と、
前記記憶部に記憶されたコマンド列に基づいて、前記API部を選択し、選択したAPI部に逐次処理およびループ処理を実行させる制御部と
を有することを特徴とする制御システム。
A control system having a plurality of nodes and a server configuring a network,
The server is
A command sequence in which a predetermined process to be executed by the node is described as a combination of a sequential process and a loop process for repeatedly executing the sequential process. A generation unit that generates data of the command sequence in which the execution frequency of the loop processing is adjusted based on the statistical information of the state and the time of sunshine sunset;
A transmission unit that transmits the data of the command sequence generated by the generation unit to the node,
The node is
Powered by a battery powered by solar panels,
A storage unit for storing the data of the command sequence received from the server,
A plurality of API (Application Programming Interface) units for executing predetermined sequential processing;
A control unit that selects the API unit based on a command sequence stored in the storage unit, and causes the selected API unit to execute a sequential process and a loop process.
前記送信部が送信する前記コマンド列のデータは、前記ノードが前記ノードに接続された外部装置からデータを取得する処理と、前記ネットワークを介して前記ノードが前記サーバとデータ通信を行う処理と、前記ノードに供給する電力の制御を行う処理とを、逐次処理およびループ処理の組み合わせで記述したコマンド列のデータであり、前記複数のAPI部は、外部装置からデータを取得するAPI部と、前記ネットワークを介して前記サーバとデータ通信を行うAPI部と、前記ノードに供給する電力の制御を行うAPI部とを含むことを特徴とする請求項1に記載の制御システム。   The data of the command string transmitted by the transmission unit, the node acquires data from an external device connected to the node, and the node performs data communication with the server via the network, A process of controlling the power to be supplied to the node is command sequence data describing a combination of a sequential process and a loop process, wherein the plurality of API units include an API unit that acquires data from an external device; The control system according to claim 1, further comprising: an API unit that performs data communication with the server via a network; and an API unit that controls power supplied to the node. 前記制御部は、前記API部を制御して、前記サーバから受信したコマンド列のデータを、隣接ノードに転送することを特徴とする請求項1または2に記載の制御システム。   The control system according to claim 1, wherein the control unit controls the API unit to transfer command sequence data received from the server to an adjacent node. 前記記憶部は、前記ノードが所属するグループを識別する識別情報を格納し、前記制御部は、前記コマンド列のデータに付与される識別情報と、前記記憶部に格納される識別情報とが一致する場合に、前記コマンド列のデータを実行することを特徴とする請求項1に記載の制御システム。   The storage unit stores identification information for identifying a group to which the node belongs, and the control unit matches the identification information given to the data of the command string with the identification information stored in the storage unit. The control system according to claim 1, wherein when executing, the data of the command sequence is executed. サーバが、ネットワークを構成する各ノードに実行させる所定の処理を逐次処理および前記逐次処理を繰り返し実行させるループ処理の組み合わせで記述したコマンド列のデータであって、前記ノードのバッテリに蓄積された電力量の情報と、前記ノードの発電状態の統計情報と、日照日没の時間とを基にして、前記ループ処理の実行頻度を調整した前記コマンド列のデータを生成し、
生成した前記コマンド列のデータを前記ノードに送信し、
ソーラーパネルによって電力が供給されるバッテリによって駆動する前記ノード、前記サーバから受信した前記コマンド列のデータを記憶装置に格納し、
前記記憶装置に記憶されたコマンド列に基づいて、予め定められた逐次処理を実行する複数のAPI(Application Programming Interface)部を選択し、選択した各API部に逐次処理およびループ処理を実行させる
処理を実行することを特徴とする制御方法。
A server, the data of a command sequence described by a combination of a sequential process and a loop process for repeatedly executing the predetermined process to be executed by each node constituting the network, the power stored in the battery of the node Based on the information of the amount, the statistical information of the power generation state of the node, and the time of sunshine sunset, the data of the command sequence in which the execution frequency of the loop processing is adjusted is generated,
Transmitting the generated data of the command sequence to the node,
The node that is driven by a battery powered by solar panels, and stores data of the command string received from the server to the storage device,
A plurality of API (Application Programming Interface) sections for executing predetermined sequential processing are selected based on a command sequence stored in the storage device, and the selected API sections execute sequential processing and loop processing. A control method characterized by performing:
JP2017545024A 2015-10-13 2015-10-13 Control system and control method Active JP6638732B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/078942 WO2017064758A1 (en) 2015-10-13 2015-10-13 Control system and control method

Publications (2)

Publication Number Publication Date
JPWO2017064758A1 JPWO2017064758A1 (en) 2018-08-02
JP6638732B2 true JP6638732B2 (en) 2020-01-29

Family

ID=58518072

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017545024A Active JP6638732B2 (en) 2015-10-13 2015-10-13 Control system and control method

Country Status (5)

Country Link
US (1) US11011052B2 (en)
JP (1) JP6638732B2 (en)
CN (1) CN108141648B (en)
TW (1) TWI625613B (en)
WO (1) WO2017064758A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019091257A (en) * 2017-11-15 2019-06-13 富士通株式会社 Information processing device, information processing method, and program
JP2020107954A (en) * 2018-12-26 2020-07-09 富士ゼロックス株式会社 Information processing device and program

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7197282B2 (en) * 2001-07-26 2007-03-27 Ericsson Inc. Mobile station loop-back signal processing
US20040092233A1 (en) * 2002-11-08 2004-05-13 Rudrapatna Ashok N. Variable rate closed loop power control for wireless communication systems
JP4367090B2 (en) * 2003-10-31 2009-11-18 日本電気株式会社 Observation result communication terminal and information collection system
US8037123B2 (en) * 2004-08-27 2011-10-11 Microsoft Corporation Securely and efficiently extending data processing pipeline functionality
JP4517866B2 (en) 2005-01-28 2010-08-04 株式会社日立製作所 Sensor data processing method
JP4885463B2 (en) 2005-03-03 2012-02-29 株式会社日立製作所 Sensor network system, sensor data processing method and program
JP4984409B2 (en) 2005-03-17 2012-07-25 富士通株式会社 Script generation program and batch execution system
JP4082706B2 (en) * 2005-04-12 2008-04-30 学校法人早稲田大学 Multiprocessor system and multigrain parallelizing compiler
JP2006344017A (en) 2005-06-09 2006-12-21 Hitachi Ltd Sensor network system and data processing method for sensor network system
JP2007156909A (en) * 2005-12-06 2007-06-21 Ntt Docomo Inc Local network system, control terminal, apparatus to be controlled, control method, and program
US7609158B2 (en) * 2006-10-26 2009-10-27 Cooper Technologies Company Electrical power system control communications network
CN101022287A (en) * 2007-04-09 2007-08-22 互芯集成电路(北京)有限公司 Multi-path detecting method and receiver in code division multiple access communication system
JP2010203964A (en) * 2009-03-04 2010-09-16 Toshiba Corp Monitoring control system of sewerage facility
KR20100134433A (en) * 2009-06-15 2010-12-23 엘지전자 주식회사 Mobile terminal with function control module and the method thereof
CN101931568B (en) * 2009-06-18 2012-08-29 范群哲 Method, device and system for monitoring and controlling network communication node equipment
TWI401979B (en) * 2009-10-14 2013-07-11 Ind Tech Res Inst Access authorization method and apparatus for a wireless sensor network
US8489865B1 (en) * 2010-04-15 2013-07-16 Lockheed Martin Corporation Device, system, and method for single thread command chaining instructions from multiple processor elements
WO2011140434A1 (en) * 2010-05-07 2011-11-10 Bit Wave Pte Ltd Intelligent data collection and transmission based on remote motion sensing
MY158580A (en) * 2010-07-13 2016-10-14 Mimos Berhad Method of communicating data to multiple sensor networks
JP5847440B2 (en) * 2011-06-01 2016-01-20 キヤノン株式会社 Information processing apparatus, control method therefor, and control program
US20130097276A1 (en) * 2011-10-13 2013-04-18 Unisys Corp. Cloud computing integration for sensor networks
CN103176809B (en) * 2011-12-23 2016-04-13 腾讯科技(深圳)有限公司 Application upgrade method and system
US20130201316A1 (en) * 2012-01-09 2013-08-08 May Patents Ltd. System and method for server based control
JP2013191255A (en) * 2012-03-14 2013-09-26 Renesas Electronics Corp Contents reference memory system
US9787721B2 (en) * 2012-12-21 2017-10-10 Telefonaktiebolaget L M Eircsson (Publ) Security information for updating an authorization database in managed networks
JP5924423B2 (en) * 2012-12-26 2016-05-25 富士通株式会社 Information processing method, communication method, communication node, system, and information processing program
US20140245157A1 (en) * 2013-02-22 2014-08-28 Nokia Corporation Method and apparatus for aggregating data for providing content and services via augmented reality
US9467274B2 (en) * 2013-07-25 2016-10-11 Verizon Patent And Licensing Inc. Processing communications via a sensor network
JP6286922B2 (en) * 2013-08-09 2018-03-07 ソニー株式会社 Electronic device, server, electronic device control method, information processing method, and recording medium
TWI511495B (en) * 2013-12-09 2015-12-01 Inst Information Industry Data integration apparatus for use in sensor network
US9973832B2 (en) * 2014-01-31 2018-05-15 Fujikura Ltd. Sensor node and method of controlling sensor node
US10162405B2 (en) * 2015-06-04 2018-12-25 Intel Corporation Graphics processor power management contexts and sequential control loops

Also Published As

Publication number Publication date
CN108141648B (en) 2021-10-26
JPWO2017064758A1 (en) 2018-08-02
US11011052B2 (en) 2021-05-18
WO2017064758A1 (en) 2017-04-20
US20180225128A1 (en) 2018-08-09
TW201719310A (en) 2017-06-01
CN108141648A (en) 2018-06-08
TWI625613B (en) 2018-06-01

Similar Documents

Publication Publication Date Title
US9980220B2 (en) Low power wireless communication device and remote management techniques
US9335816B2 (en) System and method for efficient service-instance oriented energy management in the internet of things
US9680327B2 (en) RF energy harvesting by a network node
CN109309404A (en) O-ring field effect transistor control method and system for battery backup system
US9747111B2 (en) Task execution on a managed node based on compliance with execution policy
CN109964198A (en) Clock control based on voltage associated with microprocessor
CN106020875A (en) Firmware updating management method and device of embedded terminal
JP6638732B2 (en) Control system and control method
Ma et al. NEOFog: Nonvolatility-exploiting optimizations for fog computing
CN102884843B (en) Wireless Personal Network (PAN) coordinator of economize on electricity is realized by enlivening the conversion between sleep state
KR101960736B1 (en) Wireless device and wireless system updating program through wireless network
CN103826246A (en) Multi-band frequency wireless sensor node
Yao et al. Maximum AoI minimization for target monitoring in battery-free wireless sensor networks
Mishra et al. Energy-efficient design of wireless sensor mote using mobile-edge computing and novel scheduling mechanism for self-sustainable next-gen cyber physical system
US11150685B2 (en) Electronic apparatus and method of controlling electronic apparatus
US20210273608A1 (en) System for controlling a photovoltaic system, method and device for controlling the photovoltaic system
CN109901117A (en) A kind of radar method for restarting and device
Mihajlović et al. Modular WSN node for environmental monitoring with energy harvesting support
Yang et al. A distributed real time sensor network for enhancing energy efficiency through ICT
Geißdörfer Methods and Tools for Battery-free Wireless Networks
Menzel et al. Applying wireless sensor networks to renaturation monitoring: From requirements to deployment
US8996904B1 (en) Maintaining clock synchronization between computing devices
CN114577260A (en) Satellite testing method, testing terminal and computer storage medium
Giavatto Design and evaluation of an energy-autonomous wireless sensor network
KR20210126369A (en) Smart sensor based on energy havesting and operation method thereof

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180420

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180420

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190618

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190816

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191209

R150 Certificate of patent or registration of utility model

Ref document number: 6638732

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150