(57)【要約】【課題】間欠動作するセンサノードのコマンド情報を効率的に設定する。【解決手段】集計サーバ１００は、センサノード５０から、環境情報の測定結果と識別子とを受信した場合に、受信した識別子に対応するコマンド情報が、記憶装置に登録されているか否かを判定する。集計サーバ１００は、識別子に対応するコマンド情報が記憶装置に登録されている場合に、識別子により識別されるセンサノード５０が停止する前に、識別子に対応するコマンド情報をセンサノード５０に送信する。【選択図】図１
2018194892.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
起動および停止の制御が行われ、起動期間に環境情報の測定を行うセンサノードを識別する識別子と、前記センサノードに設定するコマンド情報とを受け付けた場合に、受け付けた識別子とコマンド情報とを対応付けて記憶装置に登録し、
センサノードから、環境情報の測定結果と識別子とを受信した場合に、受信した識別子に対応するコマンド情報が、前記記憶装置に登録されているか否かを判定し、
識別子に対応するコマンド情報が前記記憶装置に登録されている場合に、識別子により識別されるセンサノードが停止する前に、識別子に対応するコマンド情報をセンサノードに送信する
処理を実行させることを特徴とする制御プログラム。
【請求項２】
前記コマンド情報は、前記センサノードが起動してから停止するまでの期間および停止してから起動するまでの期間を示す情報であることを特徴とする請求項１に記載の制御プログラム。
【請求項３】
前記センサノードは、環境情報として河川の流速を測定することを特徴とする請求項１または２に記載の制御プログラム。
【請求項４】
コンピュータが実行する制御方法であって、
起動および停止の制御が行われ、起動期間に環境情報の測定を行うセンサノードを識別する識別子と、前記センサノードに設定するコマンド情報とを受け付けた場合に、受け付けた識別子とコマンド情報とを対応付けて記憶装置に登録し、
センサノードから、環境情報の測定結果と識別子とを受信した場合に、受信した識別子に対応するコマンド情報が、前記記憶装置に登録されているか否かを判定し、
識別子に対応するコマンド情報が前記記憶装置に登録されている場合に、識別子により識別されるセンサノードが停止する前に、識別子に対応するコマンド情報をセンサノードに送信する
処理を実行することを特徴とする制御方法。
【請求項５】
起動および停止の制御が行われ、起動期間に環境情報の測定を行うセンサノードを識別する識別子と、前記センサノードに設定するコマンド情報とを受け付けた場合に、受け付けた識別子とコマンド情報とを対応付けて記憶装置に登録する受付部と、
センサノードから、環境情報の測定結果と識別子とを受信した場合に、受信した識別子に対応するコマンド情報が、前記記憶装置に登録されているか否かを判定し、識別子に対応するコマンド情報が前記記憶装置に登録されている場合に、識別子により識別されるセンサノードが停止する前に、識別子に対応するコマンド情報をセンサノードに送信する送信制御部と、
を有することを特徴とする制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御プログラム等に関する。
【背景技術】
【０００２】
近年、センサノード、中継器、基地局、管理サーバ等から構成されるセンサネットシステムがある。センサネットシステムで用いられるセンサノードは、無線通信機能およびセンサ機能を搭載し、センシングした情報を、中継局、基地局を介して、管理サーバに送信する。
【０００３】
センサノードは、長期間電池で稼働させるために、省電力で動作することが好ましく、例えば、間欠動作を行う。起動期間中のセンサノードは、センシングやデータ送信のようなタスクを実行し、停止期間中は、無線通信装置等のハードウェアを停止させ、マイコンも低電力モードで休眠させる。例えば、センサノードは、予め設定されるコマンド情報に基づいて、起動、停止を繰り返し、起動期間中にセンシングした情報を管理サーバに送信する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−１６３２４２号公報
【特許文献２】特開２００８−３０６４７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来技術では、間欠動作するセンサノードのコマンド情報を効率的に設定することができないという問題がある。
【０００６】
間欠動作を行うセンサノードは、起動期間中に、管理サーバに対するコネクションを張り、センシングした情報を管理サーバに送信する。一方、停止期間中のセンサノードは、無線通信機能等を停止し、コネクションを切断するため、外部装置からの通信を受け付けない。センサノードは、予め設定されるコマンド情報に基づき、自立的に間欠動作を行うため、管理サーバ等の外部サーバからセンサノードのコマンド情報を設定することが難しい。
【０００７】
１つの側面では、本発明は、間欠動作するセンサノードのコマンド情報を効率的に設定することができる制御プログラム、制御方法および制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
第１の案では、コンピュータに下記の処理を実行させる。コンピュータは、起動および停止の制御が行われ、起動期間に環境情報の測定を行うセンサノードを識別する識別子と、センサノードに設定するコマンド情報とを受け付けた場合に、受け付けた識別子とコマンド情報とを対応付けて記憶装置に登録する。コンピュータは、センサノードから、環境情報の測定結果と識別子とを受信した場合に、受信した識別子に対応するコマンド情報が、記憶装置に登録されているか否かを判定する。コンピュータは、識別子に対応するコマンド情報が記憶装置に登録されている場合に、識別子により識別されるセンサノードが停止する前に、識別子に対応するコマンド情報をセンサノードに送信する。
【発明の効果】
【０００９】
間欠動作するセンサノードのコマンド情報を効率的に設定することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、本実施例に係るセンサネットシステムの一例を示す図である。
【図２】図２は、センサノードの外観の一例を示す図である。
【図３】図３は、センサノードの構成を示す機能ブロック図である。
【図４】図４は、集計サーバの構成を示す機能ブロック図である。
【図５】図５は、管理テーブルのデータ構造の一例を示す図である。
【図６】図６は、受信流速データの一例を示す図である。
【図７】図７は、本実施例に係るセンサネットシステムの処理手順を示すフローチャートである。
【図８】図８は、センサノードの処理手順を示すフローチャートである。
【図９】図９は、集計サーバの処理手順を示すフローチャートである。
【図１０】図１０は、集計サーバと同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下に、本願の開示する制御プログラム、制御方法および制御装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例】
【００１２】
図１は、本実施例に係るセンサネットシステムの一例を示す図である。図１に示すように、このセンサネットシステムは、河川事務所１に、無線モジュール５ａ、５ｂと、データ収集サーバ１５ａ、１５ｂと、スイッチ２０と、保守端末６０と、集計サーバ１００とを有する。また、センサネットシステムは、中継局１０ａ、１０ｂと、センサノード５０ａ、５０ｂ、５０ｃ、５０ｄとを有する。
【００１３】
センサノード５０ａ、５０ｂと、中継局１０ａとは無線ＬＡＮ（Local  Area  Network）により接続し、無線通信を利用してデータの送受信を行う。センサノード５０ｃ、５０ｄと、中継局１０ｂとは無線ＬＡＮにより接続し、無線通信を利用してデータの送受信を行う。
【００１４】
中継局１０ａと無線モジュール５ａとは無線ＬＡＮにより接続し、無線通信を利用してデータの送受信を行う。中継局１０ｂと無線モジュール５ｂとは無線ＬＡＮにより接続し、無線通信を利用してデータの送受信を行う。
【００１５】
無線モジュール５ａとデータ収集サーバ１５ａとは、ＬＡＮ等により接続し、データの送受信を行う。無線モジュール５ｂとデータ収集サーバ１５ｂとは、ＬＡＮ等により接続し、データの送受信を行う。
【００１６】
データ収集サーバ１５ａ、１５ｂと、保守端末６０と、集計サーバ１００とは、スイッチ２０により相互に接続される。
【００１７】
以下の説明では、中継局１０ａ、１０ｂをまとめて、中継局１０と表記する。無線モジュール５ａ、５ｂをまとめて、無線モジュール５と表記する。データ収集サーバ１５ａ、１５ｂをまとめて、データ収集サーバ１５と表記する。
【００１８】
センサノード５０ａ〜５０ｄは、河川に設置され、河川の流速を測定する装置である。以下の説明では適宜、センサノード５０ａ〜５０ｄをまとめてセンサノード５０と表記する。センサノード５０は、コマンドデータを基にして、間欠動作を行う。コマンドデータは、センサノード５０の起動期間と、停止期間とが定義された情報である。
【００１９】
図２は、センサノードの外観の一例を示す図である。ここでは一例として、センサノード５０ａを用いて説明する。センサノード５０ｂ〜５０ｄの外観は、センサノード５０ａと同様であるため、説明を省略する。図２に示すように、センサノード５０ａに接続される流速センサ５１は、河川２中に配置されている。流速センサ５１は、河川２の流速を測定するセンサである。例えば、流速センサ５１から出力される流速のデータは、２進数で表現される１２ビットの情報である。以下の説明では、流速センサ５１が測定する流速のデータを「流速データ」と表記する。
【００２０】
センサノード５０は、起動期間になると、流速センサ５１を用いて河川２の流速を測定する。センサノード５０は、計測した流速データを、中継局１０を介して、データ収集サーバ１５に送信する。センサノード５０が送信する流速データには、送信元のセンサノード５０を識別する識別子と、流速データを送信した送信時刻の情報等が含まれる。また、センサノード５０は、起動期間中に、集計サーバ１００から、コマンドデータを受信した場合には、コマンドデータを更新する。
【００２１】
一方、センサノード５０は、停止期間になると、次の起動期間開始までのタイマをセットし、無線モジュール等のハードウェアを停止させ、各装置を低電力モードで休眠させる。
【００２２】
データ収集サーバ１５は、中継局１０、無線モジュール５を介して、センサノード５０とデータ通信を実行する。データ収集サーバ１５は、センサノード５０の起動期間中に送信される流速データを受信し、受信した流速データを、集計サーバ１００に送信する。また、データ収集サーバ１５は、センサノード５０宛のコマンドデータを集計サーバ１００から受信した場合に、受信したコマンドデータを、センサノード５０に送信する。
【００２３】
スイッチ２０は、データ収集サーバ１５ａ、１５ｂと、保守端末６０と、集計サーバ１００と接続するＬ（Layer）２スイッチである。
【００２４】
保守端末６０は、保守者が利用する端末装置であり、ＰＣ（Personal  Computer）、ノートＰＣ、タブレット端末等に対応する。例えば、保守者は、保守端末６０を操作して、集計サーバ１００にアクセスし、センサノード５０のコマンドデータ等を設定する。
【００２５】
集計サーバ１００は、データ収集サーバ１５を介して、センサノード５０から流速データを受信し、受信した流速データを記憶部に登録する。また、集計サーバ１００は、流速データを受信したタイミングで、流速データの送信元のセンサノード５０に対するコマンドデータが更新されているか否かを判定する。集計サーバ１００は、流速データの送信元のセンサノード５０に対するコマンドデータが更新されていると判定した場合には、直ちに更新後のコマンドデータを、送信元のセンサノード５０に通知することで、コマンドデータを更新させる。
【００２６】
上記のように、集計サーバ１００は、センサノード５０から流速データを受信した際に、センサノード５０のコマンドデータが更新されている場合に、コマンドデータを通知して、コマンドデータを更新させる。これにより、センサノード５０が起動している間に、コマンドデータを通知することができるので、省電力化を行うべく、間欠動作するセンサノード５０のコマンド情報を効率的に設定することができる。また、本システムでは、センサノード５０に特別な変更を加えなくても、コマンドデータを更新できるため、コストを削減することも可能である。
【００２７】
続いて、図１に示したセンサノード５０の構成の一例について説明する。図３は、センサノードの構成を示す機能ブロック図である。図３に示すように、このセンサノード５０ａは、流速センサ５１と、無線モジュール５２と、タイマ５３と、バッテリ５４と、電源管理部５５と、記憶部５６と、制御モジュール５７とを有する。センサノード５０ｂ〜５０ｄの構成は、センサノード５０ａの構成と同様である。
【００２８】
流速センサ５１は、図２で説明したように、河川２中に設置され、河川２の流速を測定するセンサである。流速センサ５１は、測定した流速データを、制御モジュール５７に出力する。
【００２９】
無線モジュール５２は、センサノード５０ａの起動期間中において、無線ＬＡＮにより、中継局１０ａと接続し、データ収集サーバ１５、集計サーバ１００とデータ通信を実行する処理部である。後述する制御モジュール５７は、無線モジュール５２を用いて、データ収集サーバ１５、集計サーバ１００とデータをやり取りする。
【００３０】
タイマ５３は、現在の時刻データを、電源管理部５５および制御モジュール５７に出力するタイマである。
【００３１】
バッテリ５４は、電源管理部５５を介して、流速センサ５１、無線モジュール５２、制御モジュール５７、記憶部５６に対して電力を供給するバッテリである。例えば、バッテリ５４は、交換または充電可能な電池等に対応する。
【００３２】
電源管理部５５は、バッテリ５４の電力の供給先を管理する装置である。電源管理部５５は、「起動期間中」において、流速センサ５１、無線モジュール５２、タイマ５３、記憶部５６、制御モジュール５７に電力を供給する。電源管理部５５は、「停止期間中」において、記憶部５６、タイマ５３に電力を供給する。例えば、電源管理部５５は、タイマ５３から出力される時刻データと、コマンドデータ５６ｂとを基にして、現在の期間が、起動期間であるか、停止期間であるかを判定する。
【００３３】
記憶部５６は、流速データ５６ａと、コマンドデータ５６ｂとを有する。記憶部５６は、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ（Flash  Memory）などの半導体メモリ素子や、ＨＤＤ（Hard  Disk  Drive）などの記憶装置に対応する。
【００３４】
流速データ５６ａは、流速センサ５１により測定される河川２の流速のデータである。例えば、流速データ５６ａは、２進数で表現される１２ビットの情報である。
【００３５】
コマンドデータ５６ｂは、センサノード５０ａの起動期間と、停止期間とを定義する情報である。
【００３６】
制御モジュール５７は、登録部５７ａと、更新部５７ｂと、送信部５７ａを有する。制御モジュール５７は、起動期間中において、電源管理部５５から電力の供給を受けて処理を実行する。制御モジュール５７は、停止期間中は、電源管理部５５からの供給が中断され、スリープ状態に移行する。制御モジュール５７は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などによって実現できる。また、制御モジュール５７は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などのハードワイヤードロジックによっても実現できる。
【００３７】
登録部５７ａは、流速センサ５１から流速データ５６ａを取得し、取得した流速データ５６ａを、記憶部５６に登録する処理部である。
【００３８】
更新部５７ｂは、集計サーバ１００からコマンドデータを受信した場合に、受信したコマンドデータにより、コマンドデータ５６ｂを更新する処理部である。
【００３９】
また、集計サーバ１００から送信されるコマンドデータには、集計サーバ１００がコマンドデータを送信した時刻の情報が含まれている。更新部５７ｂは、かかる時刻と、タイマ５３の時刻とが異なっている場合には、タイマ５３の時刻を、コマンドデータの時刻に修正する。なお、更新部５７ｂは、コマンドデータの時刻と、タイマ５３の時刻との誤差が閾値未満である場合には、上記の修正をスキップしても良い。
【００４０】
送信部５７ａは、起動期間中に、登録部５７ａにより流速データ５６ａが記憶部５６に登録されると、流速データ５６ａを、データ収集サーバ１５ａに送信する処理部である。送信部５７ａは、流速データ５６ａを送信する場合に、流速データ５６ａに、センサノード５０ａの識別子と、送信時刻の情報とを付加するものとする。送信部５７ａは、送信時刻の情報を、タイマ５３から取得する。
【００４１】
続いて、図１に示した集計サーバ１００の構成の一例について説明する。図４は、集計サーバの構成を示す機能ブロック図である。図４に示すように、この集計サーバ１００は、通信部１１０、入力部１２０、表示部１３０、タイマ１４０、記憶部１５０、制御部１６０を有する。
【００４２】
通信部１１０は、スイッチ２０を介して、データ収集サーバ１５および保守端末６０とデータ通信を実行する処理部である。また、通信部１１０は、データ収集サーバ１５、無線モジュール５、中継局１０を介して、センサノード５０とデータ通信を実行する。後述する制御部１６０は、通信部１１０を介して、センサノード５０、データ収集サーバ１５、保守端末６０とデータをやり取りする。
【００４３】
入力部１２０は、集計サーバ１００に各種の情報を入力するための入力装置である。例えば、入力部１２０は、キーボードやマウス、タッチパネル等に対応する。
【００４４】
表示部１３０は、制御部１６０から出力される各種の情報を表示する表示装置である。例えば、表示部１３０は、液晶ディスプレイやタッチパネル等に対応する。
【００４５】
タイマ１４０は、現在の時刻データを、制御部１６０に出力するタイマである。
【００４６】
記憶部１５０は、管理テーブル１５１を有する。記憶部１５０は、ＲＡＭ、ＲＯＭ、フラッシュメモリなどの半導体メモリ素子や、ＨＤＤなどの記憶装置に対応する。
【００４７】
管理部テーブル１５１は、センサノード５０から受信する流速データ等を保持するテーブルである。図５は、管理テーブルのデータ構造の一例を示す図である。図５に示すように、この管理テーブル１５１は、識別子と、受信流速データと、コマンドデータと、コマンド更新フラグと、時刻設定フラグとを対応付ける。
【００４８】
識別子は、流速データの送信元となるセンサノード５０を一意に識別する情報である。識別子は、例えば、センサノード５０のＭＡＣ（Media  Access  Control）アドレスであっても良い。受信流速データは、センサノード５０から受信する流速データである。
【００４９】
コマンドデータは、センサノード５０に設定するコマンドデータである。コマンド更新フラグは、対応するコマンドデータが更新されたか否かを示す情報である。コマンド更新フラグが「オン」である場合には、コマンドデータが更新されていることを示す。コマンド更新フラグが「オフ」である場合には、コマンドデータが更新されていないことを示す。
【００５０】
時刻設定フラグは、センサノード５０に時刻を設定したか否かを示す情報である。時刻設定フラグが「オン」である場合には、センサノード５０に正しい時刻が設定されていることを示す。時刻設定フラグが「オフ」である場合には、センサノード５０に正しい時刻が設定されていないことを示す。
【００５１】
続いて、図５に示した受信流速データの一例について説明する。図６は、受信流速データの一例を示す図である。図６は、図５に示したある識別子に対応する受信流速データであるとする。図６に示すように、受信流速データは、流速データと、送信時刻と、受信時刻とを対応付ける。流速データは、センサノード５０から送信される流速データである。送信時刻は、センサノード５０が流速データを送信した時刻を示す。受信時刻は、センサノード５０から流速データを受信した時刻を示す。
【００５２】
制御部１６０は、受付部１６１と、登録部１６２と、送信制御部１６３と、演算部１６４とを有する。制御部１６０は、ＣＰＵやＭＰＵなどによって実現できる。また、制御部１６０は、ＡＳＩＣやＦＰＧＡなどのハードワイヤードロジックによっても実現できる。
【００５３】
受付部１６１は、保守端末６０から、コマンドデータの設定要求を受け付ける処理部である。例えば、コマンドデータの設定要求には、コマンドデータと、このコマンドデータを設定するセンサノード５０の識別子が含まれているものとする。受付部１５１は、コマンドデータの設定要求を基にして、管理テーブル１５１のコマンドデータを更新し、更新したコマンドデータに対応するコマンド更新フラグを「オン」に設定する。
【００５４】
例えば、受付部１６１は、識別子「センサノード５０ａ」のコマンドデータを受信した場合には、管理テーブル１５１の識別子「センサノード５０ａ」に対応するレコードに、コマンドデータを登録する。また、受付部１６１は、識別子「センサノード５０ａ」に対応するコマンド更新フラグを「オン」に設定する。
【００５５】
登録部１６２は、センサノード５０から流速データを受信し、受信した流速データを管理テーブル１５１に登録する処理部である。例えば、登録部１６２は、流速データに付加されている識別子をキーにして、管理テーブル１５１の受信流速データの該当領域に流速データを登録する。また、登録部１６２は、流速データを登録する場合に、送信時刻および受信時刻を対応付けて登録する。送信時刻は、センサノード５０から受信する流速データに付加されている。受信時刻は、登録部１６２が流速データを受信した際のタイマ１４０の時刻を示す。
【００５６】
登録部１６２は、流速データの送信時刻と、受信時刻とを比較し、送信時刻と受信時刻との差が閾値未満である場合に、流速データの識別子に対応する時刻設定フラグを「オン」に設定する。登録部１６２は、流速データの送信時刻と、受信時刻とを比較し、送信時刻と受信時刻との差が閾値以上である場合に、流速データの識別子に対応する時刻設定フラグを「オフ」に設定する。
【００５７】
登録部１６２は、流速データを受信した場合に、流速データに付加されるセンサノード５０の識別子の情報を、送信制御部１６３に出力する。
【００５８】
送信制御部１６３は、流速データの送信元となるセンサノード５０に対応するコマンドデータが更新されている場合に、コマンドデータを送信元のセンサノード５０に送信する処理部である。これにより、センサノード５０が停止する前に、識別子に対応するコマンドデータをセンサノード５０に送信することが可能となる。以下において、送信制御部１６３の処理の一例について説明する。
【００５９】
送信制御部１６３は、流速データに付加される識別子を受け付けると、管理テーブル１５１の識別子に対応するコマンド更新フラグが「オン」となっているか否かを判定する。送信制御部１６３は、識別子に対応するコマンド更新フラグが「オン」となっている場合には、識別子に対応付けられるコマンドデータを、識別子に対応するセンサノード５０に送信する。送信制御部１６３は、コマンドデータを送信した後に、識別子に対応するコマンド更新フラグを「オフ」に変更する。なお、送信制御部１６３は、コマンドデータをセンサノード５０に送信する場合には、タイマ１４０から時刻を取得し、コマンドデータに送信時刻の情報を付加する。
【００６０】
例えば、送信制御部１６３は、センサノード５０ａから流速データを受信し、識別子「センサノード５０ａ」に対応するコマンド更新フラグが「オン」となっている場合には、センサノード５０ａに対して、コマンドデータを送信する。送信制御部１６３は、識別子「センサノード５０ａ」に対応するコマンド更新フラグを「オフ」に変更する。
【００６１】
演算部１６４は、管理テーブル１５１に格納された１２ビットの流速データを所定の計算アルゴリズムに適用することで、流速を演算する処理部である。例えば、１２ビットのビット列の状態では、管理者が流速を容易に把握できないが、演算部１６４が流速を演算し、管理者が演算結果を参照することで、流速を理解することができる。演算部１６４は、識別子と対応付けて、演算結果を、管理テーブル１５１に登録しても良いし、表示部１３０に表示させても良い。
【００６２】
次に、本実施例に係るセンサネットシステムの処理手順について説明する。図７は、本実施例に係るセンサネットシステムの処理手順を示すフローチャートである。図７では、中継局１０ａ、無線モジュール５ａ、スイッチ２０の記載を省略する。ここでは、センサノード５０ａを用いて、説明を行う。
【００６３】
図７に示すように、センサノード５０ａは起動し（ステップＳ１１）、流速データをデータ収集サーバ１５に送信する（ステップＳ１２）。データ収集サーバ１５は、流速データを集計サーバ１００に転送する（ステップＳ１３）。
【００６４】
集計サーバ１００は、流速データを受信し、記憶部１５０に登録する（ステップＳ１４）。集計サーバ１００は、流速データの送信元となるセンサノード５０ａに関するコマンドデータが更新されていない場合には（ステップＳ１５，Ｎｏ）、ステップＳ１６の処理をスキップする。
【００６５】
一方、集計サーバ１００は、センサノード５０ａに関するコマンドデータが更新されている場合には（ステップＳ１５，Ｙｅｓ）、ステップＳ１６に移行する。集計サーバ１００は、コマンドデータをデータ収集サーバ１５に送信する（ステップＳ１６）。
【００６６】
データ収集サーバ１５は、コマンドデータをセンサノード５０ａに転送する（ステップＳ１７）。センサノード５０ａは、コマンドデータを受信した場合に、更新する（ステップＳ１８）。センサノード５０ａは、スリープ状態に移行する（ステップＳ１９）。
【００６７】
図７に示すように、集計サーバ１００は、流速データを受信した場合に、コマンドデータの更新の可否を判定し、判定結果に応じて、コマンドデータをセンサノード５０ａに送信する。このため、センサノード５０ａの起動期間中に、コマンドデータを通知して設定することができる。
【００６８】
次に、センサノード５０の処理手順の一例について説明する。図８は、センサノードの処理手順を示すフローチャートである。図８に示すように、センサノード５０の電源管理部５５は、コマンドデータ５６ｂを参照し、起動期間であるか否かを判定する（ステップＳ１０１）。電源管理部５５は、起動期間でない場合には（ステップＳ１０２，Ｎｏ）、ステップＳ１０１に移行する。
【００６９】
電源管理部５５は、起動期間である場合には（ステップＳ１０２，Ｙｅｓ）、電力供給を開始する（ステップＳ１０３）。センサノード５０の制御モジュール５７は、流速センサ５１を用いて流速データ５６ａを測定する（ステップＳ１０４）。制御モジュール５７は、流速データ５６ａを記憶部５６に格納する（ステップＳ１０５）。
【００７０】
制御モジュール５７は、識別子と送信時刻とを付加した流速データを送信する（ステップＳ１０６）。制御モジュール５７は、更新対象となるコマンドデータを受信したか否かを判定する（ステップＳ１０７）。制御モジュール５７は、更新対象となるコマンドデータを受信していない場合には（ステップＳ１０８，Ｎｏ）、ステップＳ１１０に移行する。
【００７１】
制御モジュール５７は、更新対象となるコマンドデータを受信した場合には（ステップＳ１０８，Ｙｅｓ）、コマンドデータ５６ｂを更新する（ステップＳ１０９）。
【００７２】
電源管理部５５は、コマンドデータ５６ｂを参照し、停止期間であるか否かを判定する（ステップＳ１１０）。電源管理部５５は、停止期間でない場合には（ステップＳ１１１，Ｎｏ）、ステップＳ１０７に移行する。
【００７３】
一方、電源管理部５５は、停止期間である場合には（ステップＳ１１１，Ｙｅｓ）、電源供給を停止し（ステップＳ１１２）、ステップＳ１０１に移行する。
【００７４】
次に、集計サーバ１００の処理手順の一例について説明する。図９は、集計サーバの処理手順を示すフローチャートである。図９に示すように、集計サーバ１００の登録部１６２は、センサノード５０から流速データを受信したか否かを判定する（ステップＳ２０１）。登録部１６２は、流速データを受信していない場合には（ステップＳ２０２，Ｎｏ）、ステップＳ２０１に移行する。
【００７５】
登録部１６２は、流速データを受信した場合には（ステップＳ２０２，Ｙｅｓ）、流速データを管理テーブル１５１に登録する（ステップＳ２０３）。送信制御部１６３は、流速データの識別子に対応するコンテンツデータが更新されているか否かを判定する（ステップＳ２０４）。
【００７６】
送信制御部１６３は、送信データの識別子に対応するコンテンツデータが更新されていない場合には（ステップＳ２０５，Ｎｏ）、ステップＳ２０１に移行する。一方、送信制御部１６３は、送信データの識別子に対応するコンテンツデータが更新されている場合には（ステップＳ２０５，Ｙｅｓ）、ステップＳ２０６に移行する。送信制御部１６３は、流速データの識別子に対応するセンサノード５０にコマンドデータを送信する（ステップＳ２０６）。
【００７７】
次に、本実施例に係るセンサネットシステムの集計サーバ１００の効果について説明する。集計サーバ１００は、センサノード５０から流速データを受信した際に、センサノード５０のコマンドデータが更新されている場合に、コマンドデータを通知して、コマンドデータを更新させる。これにより、センサノード５０が起動している間に、コマンドデータを通知することができるので、省電力化を行うべく、間欠動作するセンサノード５０のコマンド情報を効率的に設定することができる。また、本システムでは、センサノード５０に特別な変更を加えなくても、コマンドデータを更新できるため、コストを削減することも可能である。
【００７８】
次に、上記実施例に示した集計サーバ１００と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図１０は、集計サーバと同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【００７９】
図１０に示すように、コンピュータ２００は、各種演算処理を実行するＣＰＵ２０１と、ユーザからのデータの入力を受け付ける入力装置２０２と、ディスプレイ２０３とを有する。また、コンピュータ２００は、記憶媒体からプログラム等を読み取る読み取り装置２０４と、ネットワークを介して他のコンピュータとの間でデータの授受を行うインターフェース装置２０５とを有する。また、コンピュータ２００は、各種情報を一時記憶するＲＡＭ２０６と、ハードディスク装置２０７とを有する。そして、各装置２０１〜２０７は、バス２０８に接続される。
【００８０】
ハードディスク装置２０７は、受付プログラム２０７ａ、登録プログラム２０７ｂ、送信制御プログラム２０７ｃを有する。ＣＰＵ２０１は、受付プログラム２０７ａ、登録プログラム２０７ｂ、送信制御プログラム２０７ｃを読み出してＲＡＭ２０６に展開する。
【００８１】
受付プログラム２０７ａは、受付プロセス２０６ａとして機能する。登録プログラム２０７ｂは、登録プロセス２０６ｂとして機能する。送信制御プログラム２０７ｃは、送信制御プロセス２０６ｃとして機能する。
【００８２】
受付プロセス２０６ａの処理は、受付部１６１の処理に対応する。登録プロセス２０６ｂの処理は、登録部１６２の処理に対応する。送信制御プロセス２０６ｃの処理は、送信制御部１６３の処理に対応する。
【００８３】
なお、各プログラム２０７ａ〜２０７ｃについては、必ずしも最初からハードディスク装置２０７に記憶させておかなくても良い。例えば、コンピュータ２００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ２００が各プログラム２０７ａ〜２０７ｃを読み出して実行するようにしても良い。
【００８４】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００８５】
（付記１）コンピュータに、
起動および停止の制御が行われ、起動期間に環境情報の測定を行うセンサノードを識別する識別子と、前記センサノードに設定するコマンド情報とを受け付けた場合に、受け付けた識別子とコマンド情報とを対応付けて記憶装置に登録し、
センサノードから、環境情報の測定結果と識別子とを受信した場合に、受信した識別子に対応するコマンド情報が、前記記憶装置に登録されているか否かを判定し、
識別子に対応するコマンド情報が前記記憶装置に登録されている場合に、識別子により識別されるセンサノードが停止する前に、識別子に対応するコマンド情報をセンサノードに送信する
処理を実行させることを特徴とする制御プログラム。
【００８６】
（付記２）前記コマンド情報は、前記センサノードが起動してから停止するまでの期間および停止してから起動するまでの期間を示す情報であることを特徴とする付記１に記載の制御プログラム。
【００８７】
（付記３）前記センサノードは、環境情報として河川の流速を測定することを特徴とする付記１または２に記載の制御プログラム。
【００８８】
（付記４）コンピュータが実行する制御方法であって、
起動および停止の制御が行われ、起動期間に環境情報の測定を行うセンサノードを識別する識別子と、前記センサノードに設定するコマンド情報とを受け付けた場合に、受け付けた識別子とコマンド情報とを対応付けて記憶装置に登録し、
センサノードから、環境情報の測定結果と識別子とを受信した場合に、受信した識別子に対応するコマンド情報が、前記記憶装置に登録されているか否かを判定し、
識別子に対応するコマンド情報が前記記憶装置に登録されている場合に、識別子により識別されるセンサノードが停止する前に、識別子に対応するコマンド情報をセンサノードに送信する
処理を実行することを特徴とする制御方法。
【００８９】
（付記５）前記コマンド情報は、前記センサノードが起動してから停止するまでの期間および停止してから起動するまでの期間を示す情報であることを特徴とする付記４に記載の制御方法。
【００９０】
（付記６）前記センサノードは、環境情報として河川の流速を測定することを特徴とする付記４または５に記載の制御方法。
【００９１】
（付記７）起動および停止の制御が行われ、起動期間に環境情報の測定を行うセンサノードを識別する識別子と、前記センサノードに設定するコマンド情報とを受け付けた場合に、受け付けた識別子とコマンド情報とを対応付けて記憶装置に登録する受付部と、
センサノードから、環境情報の測定結果と識別子とを受信した場合に、受信した識別子に対応するコマンド情報が、前記記憶装置に登録されているか否かを判定し、識別子に対応するコマンド情報が前記記憶装置に登録されている場合に、識別子により識別されるセンサノードが停止する前に、識別子に対応するコマンド情報をセンサノードに送信する送信制御部と、
を有することを特徴とする制御装置。
【００９２】
（付記８）前記コマンド情報は、前記センサノードが起動してから停止するまでの期間および停止してから起動するまでの期間を示す情報であることを特徴とする付記７に記載の制御装置。
【００９３】
（付記９）前記センサノードは、環境情報として河川の流速を測定することを特徴とする付記７または８に記載の制御装置。
【符号の説明】
【００９４】
５ａ、５ｂ  無線モジュール
１０ａ、１０ｂ  中継局
１５ａ、１５ｂ  データ収集サーバ
２０  スイッチ
５０ａ、５０ｂ、５０ｃ、５０ｄ  センサノード
６０  保守端末
１００  集計サーバ
【図１】
2018194892.tif 000003
【図２】
2018194892.tif 000004
【図３】
2018194892.tif 000005
【図４】
2018194892.tif 000006
【図５】
2018194892.tif 000007
【図６】
2018194892.tif 000008
【図７】
2018194892.tif 000009
【図８】
2018194892.tif 000010
【図９】
2018194892.tif 000011
【図１０】
2018194892.tif 000012