(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-16
(45)【発行日】2022-12-26
(54)【発明の名称】センサデバイスおよびセンサデバイス管理システム、センサデバイスの管理方法
(51)【国際特許分類】
H04W 52/02 20090101AFI20221219BHJP
H04W 4/38 20180101ALI20221219BHJP
【FI】
H04W52/02 110
H04W4/38
(21)【出願番号】P 2019034604
(22)【出願日】2019-02-27
【審査請求日】2021-05-20
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001689
【氏名又は名称】青稜弁理士法人
(72)【発明者】
【氏名】片山 倫太郎
(72)【発明者】
【氏名】藤原 亮介
(72)【発明者】
【氏名】水垣 健一
【審査官】米倉 明日香
(56)【参考文献】
【文献】特開2011-090500(JP,A)
【文献】国際公開第2014/142162(WO,A1)
【文献】特開2016-163242(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04B 7/24- 7/26
H04W 4/00-99/00
3GPP TSG RAN WG1-4
SA WG1-4
CT WG1、4
(57)【特許請求の範囲】
【請求項1】
1または複数のセンサと、
複数の処理を行う複数のプログラムおよびデータを記憶するメモリと、
前記
複数のプログラムの実行により、前記センサによる測定処理、および該測定処理によって生成されるセンサデータの送信処理を行うプロセッサと、
該センサデータを送信する通信部と、を有し、
前記メモリは、
前記プロセッサで処理された該センサデータを保持するバッファと、
前記プロセッサが行う
前記複数の処理を識別する識別子に対応して、前記処理の種別と、前記処理の実行契機と、前記センサデータを送信する契機を規定する契機情報と、を含んで構成される処理ルーチンを保持する処理ルーチンテーブルと、を有し、
前記プロセッサは、前記処理ルーチンテーブルの
、前記識別子に対応する前記処理ルーチンにおける
前記処理の種別に応じた前記プログラムを実行し、前記契機情報に基づいて、測定処理した該センサデータを即時送信するか、または前記バッファに一時格納して所定時間後に送信するように制御する、センサデバイス。
【請求項2】
1または複数のセンサと、
複数の処理を行う複数のプログラムおよびデータを記憶するメモリと、
前記
複数のプログラムの実行により、前記センサによる測定処理、および該測定処理によって生成されるセンサデータの送信処理を行うプロセッサと、
該センサデータを送信する通信部と、を有し、
前記メモリは、
前記プロセッサで処理された該センサデータを保持するバッファと、
前記プロセッサが行う
前記複数の処理を識別する識別子に対応して、前記処理の種別と、前記処理の実行契機と、前記センサデータを送信する契機を規定する契機情報と、
パラメータセット識別情報を含んで構成される処理ルーチンを保持する処理ルーチンテーブルと、
前記処理の種別ごとに、前記処理で用いられる、前記センサによる測定時間、サンプリング数、観測周波数を含むパラメータの組み合わせ(パラメータセット)を規定して、該パラメータセットごとに付与された前記パラメータセット識別情報を有するパラメータセットテーブルと、を有し、
前記プロセッサは、前記処理ルーチンテーブルの
、前記識別子に対応する前記処理ルーチンにおける
前記処理の種別に応じた前記プログラムを実行し、前記契機情報に基づいて、測定処理した該センサデータを即時送信するか、または前記バッファに一時格納して所定時間後に送信するように制御する、
センサデバイス。
【請求項3】
前記プロセッサは、
前記契機情報に関わらず、前記センサによる測定処理結果に基づいて、該測定処理結果を測定処理完了後直ちに送信すること、または該測定処理結果を前記バッファに格納することを決定する、請求項1
または2に記載のセンサデバイス。
【請求項4】
前記プロセッサは、管理サーバからの
コマンドの指示に従って、前記識別子および前記処理の種別により指定される前記処理ルーチンテーブルの内容を追加または変更する、請求項1
または2に記載のセンサデバイス。
【請求項5】
前記プロセッサは、管理サーバからのコマンドの指示に従って、前記処理の種別および前記パラメータセット識別情報に基づいて、前記パラメータセットテーブルの前記パラメータを追加、変更する、
請求項
2に記載のセンサデバイス。
【請求項6】
前記処理ルーチンテーブルは、
前記識別子に対応して、前記処理の重複時に、実行中の処理の終了後に新たな処理を実行するか、新たな処理は中止し実行中の処理を継続するか、実行中の処理を中断して新たな処理を実行するかを示す重複時動作情報を有し、
前記プロセッサは、前記センサデバイスが新たな測定処理(第1の測定処理)のトリガーがかかった際に前記センサデバイスがすでに別の測定処理(第2の測定処理)を実行中の場合、前記重複時動作情報に基づいて、第2の測定処理が終了後に第1の測定処理を実行するか、第2の測定処理を続行し第1の測定処理を中止するか、あるいは、第2の測定処理を中断し第1の測定処理を実行するかを決定する、
請求項
1または2に記載のセンサデバイス。
【請求項7】
前記処理ルーチンテーブルは、
前記識別子に対応して、処理の優先度を示す優先度動作情報を有し、
前記プロセッサは、前記センサデバイスが新たな測定処理(第1の測定処理)のトリガーがかかった際に前記センサデバイスがすでに別の測定処理(第2の測定処理)を実行中の場合、前記優先度
動作情報に基づいて、第1の測定処理より第2の測定処理の優先度が高ければ、第2の測定処理を続行して第1の測定処理を中止し、第1の測定処理より第2の測定処理の優先度が低ければ、第2の測定処理を中断して第1の測定処理を実行する、ことを決定する、
請求項
1または2に記載のセンサデバイス。
【請求項8】
前記メモリは、実行契機が時間である処理について、次回の実行開始タイミングをタイマーキューとして管理するタイマーキューテーブルを保持し、
前記プロセッサは、前記センサデータを即時送信するか、または前記バッファに一時格納した後に、前記タイマーキューテーブルの前記タイマーキューを更新する
請求項1
または2に記載のセンサデバイス。
【請求項9】
前記センサとして、振動センサと、漏水検知センサを有し、
前記メモリは、前記センサの測定処理を行って前記センサデータを生成する測定処理プログラムと、前記センサデータの送信処理を行う送信処理プログラムと、センサデバイスの状態を監視するセンサデバイス状態検知処理プログラムと、漏水検知測定処理プログラムと、地震検知測定処理プログラムと、前記処理ルーチンテーブルの更新処理を行う処理ルーチンテーブル更新プログラムと、を記憶し、
前記プロセッサは
、前記測定処理プログラムと、前記送信処理プログラムと、前記センサデバイス状態検知処理プログラムと、前記漏水検知測定処理プログラムと、前記地震検知測定処理プログラムと、前記処理ルーチンテーブル更新プログラム、を実行する、
請求項1
または2に記載のセンサデバイス。
【請求項10】
ネットワークを介して接続される、センサデバイスと、該センサデバイスを制御して、測定されたセンサデータを取得する管理サーバと、を含むセンサデバイス管理システムであって、
前記センサデバイスは;
1または複数のセンサと、
複数の処理を行う複数のプログラムおよびデータを記憶するメモリと、
前記
複数のプログラムの実行により、前記センサによる測定処理、および該測定処理によって生成されるセンサデータの送信処理を行うプロセッサと、
該センサデータを送信する通信部と、を有し、
前記メモリは、
前記プロセッサで処理された該センサデータを保持するバッファと、
前記プロセッサが行う
前記複数の処理を識別する識別子に対応して、前記処理の種別と、前記処理の実行契機と、前記センサデータを送信する契機を規定する契機情報と、を含んで構成される処理ルーチンを保持する処理ルーチンテーブルと、を有し、
前記プロセッサは、前記処理ルーチンテーブルの
、前記識別子に対応する前記処理ルーチンにおける
前記処理の種別に応じた前記プログラムを実行し、前記契機情報に基づいて、測定処理した該センサデータを即時送信するか、または前記バッファに一時格納して所定時間後に送信するように制御し、
前記管理サーバは;
前記センサデバイスから測定処理結果を受信し、
前記センサデバイスに対して、前記処理ルーチンテーブルの処理ルーチンの追加、または変更、または削除を指示する、センサデバイス管理システム。
【請求項11】
前記管理サーバは、
プログラムを実行する処理装置と、表示画面を表示する入出力インタフェースを有する入出力器と、記憶部と、を有し、
前記表示画面は、
各前記センサデバイスごとに、該センサデバイスの状態、設置エリア、前記処理ルーチンテーブルの確認状況を含む、複数のセンサデバイスのセンサデバイス一覧と、
及び又は、前記センサデバイス一覧から選択された1つの前記センサデバイスが有する、前記処理ルーチンテーブルの内容一覧と、を含
み、さらに、
前記表示画面は、前記処理ルーチンテーブルの内容一覧と共に、
該処理ルーチンテーブルの前記処理ルーチンの追加を指示する行追加ボタン、
該処理ルーチンテーブルの前記処理ルーチンの削除を指示する削除欄、
該処理ルーチンテーブルの前記処理ルーチン内のある項目の変更を指示する更新ボタン、
を表示する
請求項10に記載のセンサデバイス管理システム。
【請求項12】
ネットワークを介して接続される、センサデバイスと、該センサデバイスを制御して、測定されたセンサデータを取得する管理サーバと、を含むセンサデバイス管理方法であって、
前記センサデバイスは;
前記センサデバイスにおいて;
1または複数のセンサが対象を測定するステップと、
メモリが、
複数の処理を行う複数のプログラムおよびデータを記憶するステップと、
プロセッサが、前記
複数のプログラムの実行により、前記センサによる測定処理、および該測定処理によって生成されるセンサデータの送信処理を行うステップと、
通信部が該センサデータを送信するステップと、
バッファが、前記プロセッサで処理された該センサデータを保持すると、
処理ルーチンテーブルが、前記プロセッサが行う
前記複数の処理を識別する識別子に対応して、前記処理の種別と、前記処理の実行契機と、前記センサデータを送信する契機を規定する契機情報と、を含んで構成される処理ルーチンを保持するステップと、
前記プロセッサが、前記処理ルーチンテーブルの
、前記識別子に対応する前記処理ルーチンにおける
前記処理の種別に応じた前記プログラムを実行し、前記契機情報に基づいて、測定処理した該センサデータを即時送信するか、または前記バッファに一時格納して所定時間後に送信するように制御するステップと、
前記管理サーバにおいて;
前記センサデバイスから測定処理結果を受信するステップと、
前記センサデバイスに対して、前記処理ルーチンテーブルの処理ルーチンの追加、または変更、または削除を指示するステップと、
を有するセンサデバイス管理方法。
【請求項13】
ネットワークを介して接続される、センサデバイスと、該センサデバイスを制御して、測定されたセンサデータを取得する管理サーバと、を含むシステムにおけるセンサデバイス管理方法であって、
前記センサデバイスにおいて;
1または複数のセンサが対象を測定するステップと、
メモリが、複数の処理を行う複数のプログラムおよびデータを記憶するステップと、
プロセッサが、前記
複数のプログラムの実行により、前記センサによる測定処理、および該測定処理によって生成されるセンサデータの送信処理を行うステップと、
通信部が該センサデータを送信するステップと、
バッファが、前記プロセッサで処理された該センサデータを保持するステップと、
処理ルーチンテーブルが、前記プロセッサが行う
前記複数の処理を識別する識別子に対応して、前記処理の種別と、前記処理の実行契機と、前記センサデータを送信する契機を規定する契機情報と、
パラメータセット識別情報を含んで構成される処理ルーチンを保持するステップと、
パラメータセットテーブルが、前記処理の種別ごとに、前記処理で用いられる、前記センサによる測定時間、サンプリング数、観測周波数を含むパラメータの組み合わせ(パラメータセット)を規定して、該パラメータセットごとに付与された前記パラメータセット識別情報を保持するステップと、を有し、
前記プロセッサが、前記処理ルーチンテーブルの
、前記識別子に対応する前記処理ルーチンにおける
前記処理の種別に応じた前記プログラムを実行し、前記契機情報に基づいて、測定処理した該センサデータを即時送信するか、または前記バッファに一時格納して所定時間後に送信するように制御するステップと、
を有するセンサデバイス管理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、センサデバイスおよびセンサデバイス管理システム、センサデバイスの管理方法に係り、特にセンサデバイスが行う処理動作の管理に関するものである。
【背景技術】
【0002】
インフラなどの設備に多数のセンサデバイスを設置し、無線ネットワークを通じてセンサデバイスの測定データの収集などを行うIoT(Internet of Things)の実用化の検討が進んでいる。例えば、特許文献1には、監視対象物に設置された複数のセンサからのデータを、サーバが収集して分析し、監視対象物の異常またはその予兆を検出するデータ収集システムが開示されている。
【0003】
通常、IoTでは多数のセンサデバイスを設置するため、センサデバイス1台あたりの製造コストや運用コストを低減することが求められる。例えば、センサデバイスは内蔵する電池により駆動されるが、マンホール内や高所など、センサデバイスが作業者の立ち入りが困難な場所に設置された場合、電池の交換を容易に行えない。また、電池の交換が可能であったとしても、多数のセンサデバイスの電池を交換するとなると、非常に多くのコストがかかってしまう。従って、センサデバイスの電池を長持ちさせるため、センサデバイスは低消費電力である重要である。
【0004】
システム全体の消費電力を低減するために、例えば特許文献2には、無線端末のいずれかと直接または他の1以上の無線端末を介することにより他の全ての無線端末とパケット化されたデータにより通信をする無線通信ネットワークシステムの無線端末が、間欠周期を制御し、予め設定した期間、無線端末の送受信状態を解析し、解析結果に基づいてスリープ期間を延長または短縮する、無線通信ネットワークシステムが開示されている。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2016-163242号公報
【文献】特開2010-28168号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
センサデバイスの消費電力を低減する方法として、間欠動作が挙げられる。間欠動作では、センサデバイスが無線でデータ送信を行う期間(アクティブモード)以外では、センサデバイスの無線モジュールの電源を切り、アクティブモード時に消費電力が低いスリープモードに移行する。
【0007】
センサデバイスが、常に測定処理プログラムの実行後に測定処理結果を無線で送信する場合、頻繁に実行される測定処理プログラムがあると、センサデバイスは頻繁に無線通信を行うため、低消費電力化が困難である。
【0008】
一方、低消費電力化のために測定処理プログラムの実行頻度と関係なく、例えば3日に1回無線でデータ送信のごとく無線通信頻度を固定的に決めると、センサデバイスで測定してから、管理サーバが測定処理結果を取得するまでに、長時間かかり、測定処理結果の新鮮さが低下してしまう。
【0009】
また、センサデバイスでは様々な処理プログラムを実行する。例えば、センサの測定データを加工する測定処理プログラムや、測定処理結果を無線で送信する送信処理プログラムである。センサデバイスは、温度センサ、湿度センサ、振動センサ、地震センサなど、複数のセンサを具備しており、複数種類の測定処理プログラムを実行する場合がある。また、センサデバイスは、単一のセンサの測定データを用いて、複数種類の測定処理プログラムを実行する場合がある。
【0010】
測定処理プログラムの内容や、収集した測定処理結果の使い方などによって、測定処理結果に対する新鮮さの要件は異なる。例えば、センサデバイスの振動センサの測定データを利用して水道管の漏水を検知するアプリケーションでは、漏水量が少なければ、直ちに漏水を検知する必要性が低く、新鮮さの要件は比較的緩い。一方、水道管が埋設された場所付近で、届出のない工事(他工事)が行われている場合、他工事が続けられると水道管を破損してしまうおそれがある。そこで、他工事の実施を検知するアプリケーションは、他工事の発生後、なるべく早く他工事発生を把握する必要があるので、新鮮さの要件が厳しい。
【0011】
このように、センサデバイスは、測定処理の種類によって異なる新鮮さの要件、換言すれば速報性の要件を満たすよう、無線通信を行いつつ、無線通信の頻度を抑制し低消費電力化を実現することが求められる。なお、センサデバイスにおける測定処理の種類によって異なる速報性の要件を如何に満たすかについて、特許文献1には言及されていない。
【0012】
本発明の目的は、センサデバイスの消費電力を抑制することにある。
本発明はまた、センサデバイスが管理する情報の更新処理を容易に行うことにある。
【課題を解決するための手段】
【0013】
本発明に係るセンサデバイスは、好ましい一例によれば、1または複数のセンサと、
プログラムおよびデータを記憶するメモリと、
前記プログラムの実行により、前記センサによる測定処理、および該測定処理によって生成されるセンサデータの送信処理を行うプロセッサと、
該センサデータを送信する通信部と、を有し、
前記メモリは、
前記プロセッサで処理された該センサデータを保持するバッファと、
前記プロセッサが行う処理を識別する識別子に対応して、前記処理の種別と、前記処理の実行契機と、前記センサデータを送信する契機を規定する契機情報と、を含んで構成される処理ルーチンを保持する処理ルーチンテーブルと、を有し、
前記プロセッサは、前記処理ルーチンテーブルの該処理ルーチンにおける処理において、前記契機情報に基づいて、測定処理した該センサデータを即時送信するか、または前記バッファに一時格納して所定時間後に送信するように制御する、センサデバイスとして構成される。
【0014】
本発明に係るセンサデバイス管理システムは、好ましい一例によれば、ネットワークを介して接続される、センサデバイスと、該センサデバイスを制御して、測定されたセンサデータを取得する管理サーバと、を含むセンサデバイス管理システムであって、
前記センサデバイスは;
1または複数のセンサと、
プログラムおよびデータを記憶するメモリと、
前記プログラムの実行により、前記センサによる測定処理、および該測定処理によって生成されるセンサデータの送信処理を行うプロセッサと、
該センサデータを送信する通信部と、を有し、
前記メモリは、
前記プロセッサで処理された該センサデータを保持するバッファと、
前記プロセッサが行う処理を識別する識別子に対応して、前記処理の種別と、前記処理の実行契機と、前記センサデータを送信する契機を規定する契機情報と、を含んで構成される処理ルーチンを保持する処理ルーチンテーブルと、を有し、
前記プロセッサは、前記処理ルーチンテーブルの該処理ルーチンにおける処理において、前記契機情報に基づいて、測定処理した該センサデータを即時送信するか、または前記バッファに一時格納して所定時間後に送信するように制御し、
前記管理サーバは;
前記センサデバイスから測定処理結果を受信し、
前記センサデバイスに対して、前記処理ルーチンテーブルの処理ルーチンの追加、または変更、または削除を指示する、センサデバイス管理システム、として構成される。
本発明はまた、上記センサデバイス管理システムにおけるセンサデバイス管理方法としても把握される。
【発明の効果】
【0015】
本発明によれば、測定処理の種類に応じてセンサデータの送信を柔軟に行うことができ、センサデバイスの消費電力を抑制することができる。また、センサデバイスが管理する情報の更新処理を容易に行うことができる。
【図面の簡単な説明】
【0016】
【
図1】一実施例によるセンサデバイス管理システムの構成を示す図である。
【
図2】一実施例のセンサデバイスの構成を示す図である。
【
図3】一実施例の管理サーバの構成を示す図である。
【
図4】一実施例の処理ルーチンテーブルの構成例を示す図である。
【
図5】一実施例のパラメータセットテーブルの構成例を示す図である。
【
図6】一実施例のタイマーキューテーブルの構成例を示す図である。
【
図7】一実施例の測定共通処理のフローチャートである。
【
図8】一実施例のタイマーキュー更新処理のフローチャートである。
【
図9】一実施例のセンサデバイスが送信タイミングを決定する測定共通処理のフローチャートである。
【
図10】一実施例の無線送信処理のフローチャートである。
【
図11】一実施例のルーチンテーブル更新における動作シーケンスを示す図である。
【
図12】一実施例のルーチンテーブル更新メッセージの構成例を示す図である。
【
図13】一実施例の処理ルーチン追加・変更コマンド、処理ルーチン削除コマンド、パラメータセット追加・変更コマンドの構成例を示す図である。
【
図14】一実施例のルーチンテーブル更新における動作シーケンスを示す図である。
【
図15】一実施例のルーチンテーブル更新における動作シーケンスを示す図である。
【
図16】一実施例の詳細データ取得決定処理のフローチャートである。
【
図17】一実施例の詳細データ取得のためのルーチンテーブル更新メッセージの構成例を示す図である。
【
図18】一実施例の詳細データ取得のためのルーチンテーブル更新後の処理ルーチンテーブルの構成例を示す図である。
【
図19】一実施例の重複時動作および優先度情報を含む処理ルーチンテーブルの構成例を示す図である。
【
図20】一実施例の重複時動作および優先度情報に基づくタイマーキュー更新処理のフローチャートである。
【
図21】一実施例の重複時動作および優先度情報に基づく測定共通処理のフローチャートである。
【
図22】一実施例の重複時動作および優先度情報に基づくタイマーキュー更新処理のフローチャートである。
【
図23】一実施例のセンサデバイス一覧表示画面の表示例である。
【
図24】一実施例のルーチンテーブル確認画面の表示例である。
【
図25】一実施例のルーチンテーブル確認画面の表示例である。
【
図26】一実施例のパラメータセット確認画面の表示例である。
【
図27】一実施例のエリア一覧表示画面の表示例である。
【
図28】一実施例のエリア単位ルーチンテーブル確認画面の表示例である。
【
図29】一実施例のグループ一覧表示画面の表示例である。
【
図30】一実施例のグループ単位ルーチンテーブル確認画面の表示例である。
【
図31】一実施例のグループ編集画面の表示例である。
【発明を実施するための形態】
【0017】
以下、本発明の実施形態を、図面に基づいて詳細に説明する。
図1は、一実施例によるセンサデバイス管理システムの構成を示す図である。
センサデバイス管理システムは、複数のセンサデバイス101、無線ネットワーク102、管理サーバ103、データベース104、アプリケーションサーバ105を含んで構成される。センサデバイス101は無線ネットワーク102を介して管理サーバ103に接続される。無線ネットワーク102は、LPWA(Low Power Wide Area)ネットワークやセルラー通信ネットワークであり、通常、無線基地局やネットワークサーバなどから構成される。
【0018】
センサデバイス101は、温度、湿度、振動などを測定する測定器であり、測定データや測定データを基に作成した情報(以下、これらを纏めて測定処理結果又はセンサデータという)は、無線ネットワーク102を介して管理サーバ103へ送信される。なお、測定データを基に作成した情報とは、例えば測定データの圧縮処理やデータの形式変換のように、データの加工処理を施したものをいう。管理サーバ103は、受信した測定処理結果をデータベース104に格納する。データベース104はネットワーク上に設置されたコンピュータであり、センサデバイス101に関する管理情報や測定処理結果を記憶する。アプリケーションサーバ105は、データベース104からセンサデバイス101に関する管理情報や測定処理結果を取得して、分析や分析結果の表示を行う。
【0019】
図2は、センサデバイス101の構成を示す図である。
センサデバイス101は、制御部201、無線通信部202、センサ203を有して構成され、電池で駆動される。なお、電池(電源)の図示は省略している。
【0020】
制御部201は、マイクロプロセッサ204と、メモリ205を有する。マイクロプロセッサ204はプログラムを実行して、センサ203の測定制御、センサ203の測定データを加工する測定処理、無線通信部202への測定処理結果送信指示、無線通信部202から受信した情報の処理などを行う。メモリ205は処理ルーチンテーブル211、一括送信用バッファ212、タイマーキューテーブル213、パラメータセットテーブル214、センサデバイスの状態を検知して監視するセンサデバイス状態検知処理プログラム221、漏水検知測定処理プログラム222、他工事が行われていることを検知する他工事検知測定処理プログラム223、地震検知測定処理プログラム224、無線送信処理プログラム225、測定共通処理プログラム226、タイマーキュー更新処理プログラム227、処理ルーチンテーブル更新処理プログラム228を記憶する。これらのテーブルの構成とプログラムの処理動作については後述する。無線通信部202は、無線ネットワーク102との間で無線送受信する。センサ203は、温度、湿度、振動など対象の物理的変化等を測定する検知器であり、センサデバイス101は1または複数種類のセンサ203を有する。本実施例では、センサとして、漏水を検知する湿度センサ、及び振動を検知する振動センサを用いる。振動センサは例えば、地震や他工事による地面の振動を検知することができ、他工事検知測定処理プログラム223および地震検知測定処理プログラム224が、振動センサで測定された振動の振幅や周期を基に他工事か又は地震を検知測定する。
【0021】
図3は、管理サーバ103の構成を示す図である。
管理サーバ103は、メモリ(記憶部)301、プロセッサ(処理装置)302、入出力器306を接続する入出力インタフェース303、ネットワークインタフェース304、および外部記憶装置305を有して構成される。管理サーバ103の各機能は、外部記憶装置305に格納されるプログラムがメモリ301に展開されて、プロセッサ302で実行されることで実現する。管理サーバ103はネットワークインタフェース304により、無線ネットワーク102を介してセンサデバイス101と通信する。また管理サーバ103は、ネットワークインタフェース304を介してデータベース104、アプリケーションサーバ105と接続される。
【0022】
メモリ301は、処理ルーチンテーブル311、パラメータセットテーブル312、および詳細データ取得決定処理プログラム321を格納する。処理ルーチンテーブル311とパラメータセットテーブル312は、センサデバイスの処理ルーチンテーブル211とパラメータセットテーブル214を管理するために保持されている。これらのテーブルの構成とプログラムの処理動作については後述する。
なお、後の動作説明(例えば
図11以降)において、「管理サーバ103の処理或いは指示」等の表現が出てくるが、これらは管理サーバ103が有するプロセッサ(処理装置)302がプログラムを実行して行う処理の意味であり、説明の便宜上「管理サーバの処理」云々と述べている。
【0023】
次に、
図4以降の図面を参照して、センサデバイスが処理ルーチンテーブルに基づいて測定処理、および測定処理結果を無線送信する送信処理を行う手順を説明する。
【0024】
図4は、センサデバイス101が保持する処理ルーチンテーブル211の例である。処理ルーチンテーブルは、出荷時等に予めセンサデバイスに書き込まれる。また、管理サーバから102の指示で処理ルーチンテーブル211の内容が更新されることがある。これについては後述する。
【0025】
処理ルーチンテーブル211の各行は1つの処理ルーチンに対応する。各処理ルーチンは、処理ID、Enable、処理種別、実行契機、実行時刻、実行周期、送信契機、パラメータセットIDの項目を含む。処理IDは、センサデバイス101における処理ルーチンを特定するための識別子である。Enableは、センサデバイスが当該の処理を実行すべきかそうでないかを示し、この例ではEnabled(実行対象)またはDisabled(実行対象外)のいずれかを示す。処理種別はセンサデバイスが行う処理の種別を示し、図示の例では、センサデバイス状態検知処理(単に状態と示す)、漏水検知測定処理(漏水と示す)、他工事検知測定処理(他工事と示す)、地震検知測定処理(地震と示す)、一括送信処理(一括送信と示す)、のような種別がある。センサデバイス状態検知処理とは、例えばセンサデバイスの電池の残量を確認したり、センサ203の状態を確認する処理である。
【0026】
実行契機は、センサデバイスが当該の処理を実行開始する時期(タイミングといってもよい)を示しており、この例では時間とイベントのいずれかが選択される。イベント契機での処理の実行開始とは、予め定められたタイミングではなく、イベントの発生を契機として処理を実行開始することであり、例えばセンサデバイスのセンサ(振動センサ)が一定の大きさを超える振動を検知したときに地震検知測定処理を開始するという処理である。実行時刻および実行周期は、実行契機が時間である処理において処理の実行開始時刻および実行する時間周期を示す。送信契機は、測定処理結果を送信する時期を示しており、この例では測定処理後の即時送信または一括送信のいずれかが選択される。一括送信とは、センサデバイス101が測定処理結果をバッファ212に格納しておき、別途、処理ルーチンテーブル上で定義される一括送信処理(処理ID:No6の処理)に基づいて送信するという処理である。パラメータセットIDは、センサデバイスが当該の処理で用いるパラメータセットの識別情報である。
【0027】
次に
図5を参照して、パラメータセットとパラメータセットIDについて説明する。
図5は、漏水検知測定処理に関してセンサデバイス101が保持するパラメータセットテーブル214の例を示す。センサデバイス101は、前述の処理種別ごとにパラメータセットテーブルを保持する。すなわち、パラメータセットIDは、同一センサデバイスの同一処理種別内において一意である。
【0028】
パラメータセットテーブル214は、測定期間、FFT点数(サンプリング数)などの各パラメータに対して、複数の値の組み合わせを持っている。各パラメータに対する値の組み合わせをパラメータセットと呼ぶ。
図5の例では、パラメータセットテーブル214は、パラメータセットID=0、1、2の3つのパラメータセットを持つ。センサデバイスを運用開始する時点で、センサデバイスが少なくとも1つのパラメータセットを持つことが望ましく、例えば、センサデバイス101の出荷時に、パラメータセットID=0とそれに対応する各パラメータの値をデフォルトパラメータセットとして、処理ルーチンテーブル211に書き込んでおくとよい。
【0029】
センサデバイス101は、省電力化のため、処理を行うとき以外はマイクロプロセッサ204をスリープさせておく。センサデバイス101は、処理ルーチンテーブル211で定義される処理実行契機で処理を実行する。即ち、センサデバイス101は、実行契機が時間であれば、実行時刻と実行周期から決定される所定のタイミングで処理を行い、実行契機がイベントであれば、センサが一定の大きさを超える振動を検知したなど所定のイベント発生を契機に処理を行う。
センサデバイス101は、実行契機が時間である処理について、次回の実行開始タイミングをタイマーキューテーブル213で管理する。
【0030】
図6はセンサデバイス101が保持するタイマーキューテーブル213の例を示す。タイマーキューテーブル213は、各処理IDとその次回の実行開始日時の情報を含んでおり、実行開始タイミングが早い順でこれらの情報を持っている。タイマーキューテーブル213の実行開始日時となったとき、あるいは処理の実行契機となるイベントが発生したとき、センサデバイス101は当該の処理を実行する。ここで、処理ルーチンテーブル211上の処理のうち、無線送信に関わるもの(
図5の例では処理ID=6)を送信処理、それ以外(
図5の例では処理ID=1~5)を測定処理と呼ぶ。
【0031】
次に、
図7を参照して、センサデバイス101が行う測定処理を説明する。
図7は、測定処理種別間で共通の測定処理の手順を説明する図である。この処理は、センサデバイス101のマイクロプロセッサ204が測定共通処理プログラム226を実行することで行われる。
【0032】
マイクロプロセッサ204は、当該の処理IDに対応する処理ルーチン情報を取得し(701)、処理種別に応じた測定処理を行う(702)。例えば、処理種別が漏水検知測定処理(漏水)である場合、マイクロプロセッサ204は漏水検知測定処理プログラム222を実行する。漏水検知測定処理プログラム222は、センサで測定された振動データを、FFTによる周波数領域への変換、フィルタリング、標本化、量子化などを行って加工し、測定処理結果を出力する。なお、処理IDに対応した処理種別が、状態、他工事、地震、一括送信の場合、それらの処理に応じたプログラム221、223、224、225が実行される。
【0033】
処理種別に応じた処理702の実行後、当該の処理IDに対応する送信契機が即時であるかを判定する(703)。判定の結果、即時である場合(703のYes)、マイクロプロセッサ204は即時送信処理を行う(704)。送信処理については
図10を参照して後述する。なお、即時送信処理は直ちに行ってもよく、一定期間経過後に行ってもよい。なお、一定期間とは送信契機が「一括」の場合の時間よりも相当短い時間である。即時送信に関して、センサデバイス101ごとに異なる期間を設定し、その期間後に即時送信処理を行うのが好ましい。このようにすれば、センサデバイス間で無線送信タイミングを異ならせることができ、無線パケットの衝突を回避することが可能となるので、無線パケットの再送による消費電力の増加を防ぐことができる。当該の処理IDに対応する送信契機が一括である場合(703のNo)、マイクロプロセッサ204は、測定処理結果を一括送信用バッファ212に格納する(705)。その後、マイクロプロセッサ204は、タイマーキュー更新を行う(706)。
【0034】
次に、
図8および
図6を参照して、タイマーキュー更新の手順を説明する。
図8はタイマーキュー更新処理の手順を示す図である。タイマーキュー更新は、センサデバイス101のマイクロプロセッサ204がタイマーキュー更新処理プログラム227を実行することで行われる。
図8において、マイクロプロセッサ204は、当該の測定処理について、処理ルーチン情報に基づいて、次回の測定処理実行タイミングを算出し、タイマーキューに挿入する(801)。
【0035】
図8のタイマーキューに挿入(801)について、
図6を参照して具体的に説明する。
図6(a)は更新前のタイマーキューであり、マイクロプロセッサ204は、処理ID=2に関してタイマーキュー更新を行うとする。マイクロプロセッサ204は、処理ルーチン情報に基づいて、次回の測定処理実行タイミングを算出する。処理ID=2に関する次回の測定処理実行タイミングが
図6(b)のように、算出されたとする。マイクロプロセッサ204は、実行開始タイミングが早い順となるよう、
図6(b)の情報をタイマーキューに挿入して更新する。その結果、更新後のタイマーキューは、
図6(c)のようになる。
【0036】
なお、
図7の測定共通処理では、処理ルーチンテーブル211における送信契機が即時か一括かに基づいて、測定処理結果を即時送信するか一括送信するかを判定する。センサデバイス101が、測定処理結果に基づいて、測定処理結果を即時送信するか一括送信するかを判定してもよい。
【0037】
次に、
図9を参照して、センサデバイス101が測定処理結果を即時送信するか一括送信するかを判定する場合の測定共通処理について説明する。
図9は測定共通処理の手順を説明する図である。以下の説明では漏水検知測定処理を例にあげる。
【0038】
図9のステップ901、902は
図7の701、702と同様であるため説明を省略する。マイクロプロセッサ204は、測定処理結果に基づき、振動量が閾値を超過するかどうかを判定する(903)。振動量が閾値を超過する場合(903のYes)、マイクロプロセッサ204は、即時送信処理を行う(904)。これは、振動量が閾値を超過する場合、水道管で漏水が発生している可能性があるため、センサデバイス101が即時送信によって早急に管理サーバ103に報告する。これにより、管理サーバ103が詳細な情報を取得するように、センサデバイスに指示し、或いは作業者に指示してセンサデバイスの状況を調査するといったアクションをとらせることができる。一方、振動量が閾値を超過しないとき(903のNo)、マイクロプロセッサ204は、測定処理結果を一括送信用バッファ212に格納する(905)。これは、振動量が閾値を超過しない場合は、水道管で漏水が発生している可能性が低く、測定処理結果を早急に管理サーバに報告する必要性が低い。この場合一括送信することにより無線送信頻度の抑制を図ることができる。その後、マイクロプロセッサ204は、タイマーキュー更新を行う(906)。
【0039】
このように、センサデバイス101が測定処理結果に基づいて、測定処理結果を即時送信するか一括送信するかを判定することで、緊急性の高い情報をタイムリーに管理サーバが収集でき、かつ、緊急性の低い情報は一括送信とすることでセンサデバイスの無線送信頻度を抑制し、省電力化が可能となる。
【0040】
次に、
図10を参照して、センサデバイス101における無線送信処理を説明する。
図10は、測定処理種別間で共通の測定処理の手順を説明する図である。無線送信処理は、
図7のステップ704や
図9のステップ904の即時送信を行う時、および処理ルーチンテーブル211で定義される一括送信を行う時に実行される。この処理は、センサデバイス101のマイクロプロセッサ204が無線送信処理プログラム225を実行することで行われる。
【0041】
まず、マイクロプロセッサ204は、送信すべき測定処理結果を取得する(1001)。送信すべき測定処理結果とは、即時送信の場合は当該の測定処理の処理結果であり、一括送信の場合は一括送信用バッファ212に格納された測定処理結果である。マイクロプロセッサ204は、測定処理結果を用いて無線送信するためのパケットを生成する(1002)。マイクロプロセッサ204は、生成したパケットを無線通信部202に渡し、無線通信を指示する(1003)。無線通信部202はパケットを送信する。無線通信部202が管理サーバ103からのパケットを受信した場合は、受信パケットをマイクロプロセッサ204に渡す。マイクロプロセッサ204は、受信パケットがあり、受信パケットがルーチンテーブル更新メッセージを含む場合は、処理ルーチンテーブル213の更新を行う(1004)。処理ルーチンテーブルの更新方法については後述する。マイクロプロセッサ204は、受信パケットが時刻情報を含む場合、時刻合わせを行いセンサデバイス101の時刻を補正する(1005)。マイクロプロセッサ204は、一括送信の場合はタイマーキューを更新し、次回の一括送信処理をタイマーキューに挿入する(1006)。タイマーキュー更新方法については、
図8を参照して述べた通りである。
【0042】
以上のように、センサデバイス101が、測定処理と無線送信処理を含む処理ルーチンテーブル213に基づいて測定処理結果を即時送信またはバッファに格納した後に一括送信を行うことで、測定処理の種類によって異なる新鮮さの要件を満たすよう無線通信を行いつつ、無線通信の頻度を抑制し低消費電力化を実現することが可能となる。
【0043】
上記説明では、処理ルーチンテーブル213は、出荷時等に予めセンサデバイスに書き込んでおく、とした。更に、管理サーバ103からの指示で処理ルーチンテーブルの内容を更新することができる。
図11から
図18を参照して、管理サーバ103の指示により処理ルーチンテーブルの更新を行う手順を説明する。なお、処理ルーチンテーブルの更新とは、処理ルーチンの追加、変更、削除、あるいはパラメータセットの追加、変更等をいう。
【0044】
管理サーバ103は、センサデバイスごとに処理ルーチンテーブル311を保持し、センサデバイスごとかつ処理種別ごとにパラメータセットテーブル312を保持する。管理サーバ103には、初期状態の処理ルーチンテーブル311やパラメータセットテーブル312として、センサデバイス出荷時に書き込んだものと同じものを登録しておく。センサデバイスの処理ルーチンテーブルやパラメータセットテーブルの更新を行う度に、管理サーバ103が保持する当該センサデバイスに関する処理ルーチンテーブルやパラメータセットテーブルも更新し、センサデバイス101と管理サーバ103の間で同じ内容を保持するようにする。
【0045】
図11は、センサデバイスの初期接続の際に処理ルーチンテーブル211やパラメータセットテーブル214を更新する手順を説明する図である。
管理サーバ103には、入出力器306を通じて予め作業者がルーチンテーブル更新情報を入力しておく(1101)。ここで、ルーチンテーブル更新情報とは、処理ルーチンの追加、変更、削除、あるいはパラメータセットの追加、変更を行うための情報をいう。
【0046】
センサデバイス101を設置する時に、センサデバイス101を無線ネットワークに接続する(1102)。その後、センサデバイス101は管理サーバ103に初期登録メッセージを送信する(1103)。管理サーバ103は、受信した初期登録メッセージに基づいてセンサデバイス101の情報を、メモリ301または外部記憶装置305に登録する(1104)。管理サーバ103は、ステップ1101で入力されたルーチンテーブル更新情報に基づいてルーチンテーブル更新情報メッセージを作成して(1105)、それをセンサデバイス101へ送信する(1106)。センサデバイス101は、受信したルーチンテーブル更新情報メッセージに基づいて、処理ルーチンテーブル213を更新する(1107)。ルーチンテーブル更新メッセージの構成および処理ルーチンテーブル更新方法については後述する。その後、センサデバイス101は、処理ルーチンテーブルの更新が完了したことを示す更新完了メッセージを管理サーバ103へ送信する(1108)。更新完了メッセージを受信した管理サーバ103は、自身が保持する処理ルーチンテーブル311やパラメータセットテーブル312に更新内容を反映する(1109)。
【0047】
図12は、ルーチンテーブル更新メッセージの構成を示す図である。
ルーチンテーブル更新メッセージ1201は、宛先となるセンサデバイスの識別子であるセンサデバイスID、このメッセージがルーチンテーブル更新メッセージであることを示す情報種別、時刻情報、ルーチンテーブル更新メッセージの新しさを示すバージョンと、1つまたは複数のコマンドを含む。各コマンドは、コマンド種別とコマンド内容を含む。コマンド種別とは、コマンド内容の種別を示しており、ルーチン処理追加・変更、ルーチン処理削除、パラメータセット追加・変更のいずれかである。コマンド内容はコマンド種別に応じて様式が異なる。
【0048】
ここで、
図13を参照してコマンド内容について説明する。
図13(a)はコマンド種別がルーチン処理追加・変更である場合のコマンド内容の構成を示す。
図13(a)で、コマンド内容は、処理ID、処理種別、Enableの各項目と、処理ルーチンのうちどの項目を変更するかを示すフィールドIDと、変更内容を示すフィールド値からなる。なお、処理種別とEnableは、冗長性のためにコマンド内容に含めており、必ずしもこれらをコマンド内容に含む必要はない。1つのコマンド内容の中に、フィールドIDおよびフィールド値は1つまたは複数含まれ、少なくとも、変更されるフィールドのフィールドIDとフィールド値は含まれる。センサデバイス101が受信したルーチン処理追加・変更に関するコマンド内容の処理IDが、センサデバイス101が既に持っている処理ルーチンテーブルに含まれる場合、センサデバイス101は対応する処理IDの処理ルーチンについて、コマンド内容に従い変更を行う。センサデバイス101が受信したルーチン処理追加・変更に関するコマンド内容の処理IDが、センサデバイス101が既に持っている処理ルーチンテーブルに含まれない場合、センサデバイス101はコマンド内容に従い処理ルーチンの追加を行う。
【0049】
図13(b)はコマンド種別がルーチン処理削除である場合のコマンド内容の構成を示す。
図13(b)で、コマンド内容は、処理IDを含んで構成される。センサデバイス101は、ルーチン処理削除を示すコマンド内容を受信したとき、該当する処理IDを持つ処理ルーチンを削除する。
【0050】
図13(c)はコマンド種別がパラメータセット追加・変更である場合のコマンド内容の構成を示す。
図13(c)で、コマンド内容は、パラメータセット追加・変更の対象である処理種別、当該処理種別内におけるパラメータセットIDと、パラメータセットのうちどのパラメータを変更するかを示すパラメータIDと、変更後の値を示すパラメータ値を含む。1つのコマンド内容の中に、パラメータIDおよびパラメータ値は1つまたは複数含まれ、少なくとも、変更されるパラメータのパラメータIDとパラメータ値は含まれる。センサデバイス101が受信したパラメータセット追加・変更に関するコマンド内容の処理種別とパラメータセットIDの組が、センサデバイス101が既に持っているパラメータセットテーブルに含まれる場合、センサデバイス101は対応する処理種別とパラメータセットIDの組について、コマンド内容に従い変更を行う。センサデバイス101が受信したパラメータセット追加・変更に関するコマンド内容の処理種別とパラメータセットIDの組が、センサデバイス101が既に持っているパラメータセットテーブルに含まれない場合、センサデバイス101はコマンド内容に従いパラメータセットの追加を行う。なお、パラメータセットの追加において、コマンド内容に含まれないパラメータIDの値は、デフォルトパラメータセット(
図5のパラメータセットID=0)の同一パラメータIDの値と同値にすればよい。
【0051】
図13で説明したように、変更するフィールドやパラメータの情報をコマンド内容に含め、変更しないフィールドやパラメータの情報をコマンド内容から省くことで、無線通信量が減り、トラフィック輻輳を防ぐとともに、センサデバイスの省電力化が可能となる。
【0052】
図11では、センサデバイスの初期接続の際に処理ルーチンテーブル211を更新する手順を説明したが、初期接続後、センサデバイス運用中に処理ルーチンテーブル211を更新してもよい。次に、
図14を参照して、運用中に処理ルーチンテーブル211を更新する手順について説明する。
【0053】
図14は、センサデバイスの運用中に処理ルーチンテーブル211を更新する手順を説明する図である。作業者は、入出力器306を通じて管理サーバ103にルーチンテーブル更新情報(処理ルーチンの追加、変更、削除、あるいはパラメータセットの追加、変更を行うための情報)を入力する(1401)。センサデバイス101が測定処理結果の無線送信を行う際、センサデバイス101は無線ネットワークに再接続する(1402)。その後、センサデバイス101は管理サーバ103へ測定処理結果を送信する(1403)。管理サーバ103は、受信した測定処理結果をデータベース104に格納する(1404)。管理サーバ103は、ルーチンテーブル更新情報に基づいてルーチンテーブル更新情報メッセージを作成して(1405)、センサデバイス101へ送信する(1406)。以降、
図14の1407から1409は
図11の1107から1109と同様であるため説明を省略する。
【0054】
このように、センサデバイスの運用中であっても、処理ルーチンテーブルを更新し、センサデバイスが行う処理や、処理に使用するパラメータの追加や変更を柔軟に行うことが可能である。
【0055】
図11や
図14に示す例では、作業者が管理サーバ103に対してルーチンテーブル更新情報を、入出力器306を通じて入力しているが、他の例として管理サーバ103が測定処理結果に基づいてルーチンテーブル更新を決定してもよい。次に、
図15から
図18を参照して、管理サーバ103が測定処理結果に基づいてルーチンテーブル更新を決定する場合のルーチンテーブル更新手順を説明する。
【0056】
図15は、管理サーバ103が測定処理結果に基づいてルーチンテーブル更新を決定する場合のルーチンテーブル更新手順を説明する図である。
図15のステップ1501から1503は、
図14のステップ1402から1404と同様であるため、説明を省略する。管理サーバ103は、受信した測定処理結果に基づいて、ルーチンテーブル更新の要否と更新内容を決定する、ルーチンテーブル更新判定処理を行う(1504)。
【0057】
ここで、ステップ1504におけるルーチンテーブル更新判定処理について、
図16を参照して説明する。
図16は、漏水検知に関して、ルーチンテーブル更新判定処理の手順を説明する図である。この処理は、管理サーバ103のプロセッサ302が詳細データ取得決定処理プログラム226を実行することで行われる。
【0058】
図16において、プロセッサ302は、漏水検知の測定処理結果を取得して(1601)、測定処理結果に含まれる振動量が閾値を超過するかどうかを判定する(1602)。判定の結果、振動量が閾値を超過するとき(1602のYes)、プロセッサ302は、詳細データ取得を決定し、そのためのルーチンテーブル更新内容を決定する(1603)。これは、振動量が閾値を超過する場合、水道管で漏水が発生している可能性があるため、詳細なデータを収集して分析することで、漏水発生の判定や、漏水量や漏水位置の特定を行うためである。
【0059】
図15に戻って、管理サーバ103は、1504で決定したルーチンテーブル更新内容に基づいてルーチンテーブル更新情報メッセージを作成し(1505)、センサデバイス101へ送信する(1506)。
図15のステップ1507から1509は
図11のステップ1107から1109と同様であるため説明を省略する。
【0060】
図15で説明した、管理サーバの判定に基づくルーチンテーブル更新について、
図17および
図18を参照して、具体的に説明する。
【0061】
まず、更新前のセンサデバイスの処理ルーチンテーブル211は
図4と同様であり、漏水検知測定処理に関するパラメータセットは
図5と同様であるとする。
図4で、処理種別が漏水である処理ルーチンは、処理ID=2と処理ID=3であり、処理ID=2はEnabled(実行対象)、処理ID=3はDisabled(実行対象外)となっている。処理ID=2の処理ルーチンはパラメータセットID=1を、処理ID=3の処理ルーチンはパラメータセットID=2を使用する。
図5で、パラメータセットID=1と比べて、パラメータセットID=2は、特定の狭い周波数帯域で振動スペクトルを計測し、サンプル数が多く、量子化ビット数が多いため、より詳細なデータを取得するのに適したパラメータセットである。従って、この例では処理ID=2をDisabled(実行対象外)に変更し、処理ID=3をEnabled(実行対象)に変更すれば、詳細データの取得が可能となる。
【0062】
図17は、
図12および
図13で説明したルーチンテーブル更新メッセージ構成に、上記のルーチンテーブル更新内容を反映したものである。
図17で、コマンド種別はルーチン追加・変更である。
図17のルーチンテーブル更新メッセージには、処理ID=2(処理種別=漏水)に対して、EnableフィールドをDisabled(実行対象外)に変更すること、処理ID=3(処理種別=漏水)に対して、EnableフィールドをEnabled(実行対象)に変更することが、コマンド内容として含まれている。
【0063】
センサデバイス101が、
図4の処理ルーチンテーブルに対して、
図17のルーチンテーブル更新メッセージの内容を反映させると、処理ルーチンテーブルは
図18のように、更新後の処理ルーチンテーブルになる。更新後の処理ルーチンテーブルでは、処理ID=2のEnableフィールドがDisabled(実行対象外)に、処理ID=3のEnableフィールドがEnabled(実行対象)に変更されている。
【0064】
このように、詳細データを取得するための処理ルーチンも予め処理ルーチンテーブル211に登録しておくと、管理サーバ103がセンサデバイス101に対して詳細データ取得を指示するためのパケットサイズが小さく済む。
【0065】
ところで、センサデバイスの製造コストを削減するための一つとして、安価なマイクロプロセッサを用いる場合がある。安価なマイクロプロセッサを用いる場合、その処理能力の制限から、複数の処理を並行して行えない場合がある。そのような場合、ある処理の実行開始タイミングとなったとき、または処理の実行契機となるイベントが発生したとき、既にマイクロプロセッサが別の処理を実行していると、新たな処理を実行することができない(以降、これを処理の重複と呼ぶ)。しかし、新たな処理が地震検知測定処理のように緊急性を要する場合には、処理の重複時には実行中の処理を中止してでも新たな処理を実行することが望ましい。従って、処理の重複時に、実行中の処理を継続すべきか中断すべきか、あるいは新たな処理を実行すべきか中止すべきかを、処理の種類に応じて決定することになる。
【0066】
次に
図19から
図22を参照して、処理の重複が発生した場合に、処理ルーチンテーブルに基づいて、実行中の処理継続可否や新たな処理の実行要否を決定する手順について説明する。
【0067】
図19は、センサデバイス101が保持する処理ルーチンテーブル211の例である。
図19の処理ルーチンテーブル211の各行は1つの処理ルーチンに対応する。各処理ルーチンは、処理ID、Enable、処理種別、実行契機、実行時刻、実行周期、送信契機、パラメータセットID(ここまでは
図4と共通の項目)に加えて、重複時動作、優先度の項目を含む。重複時動作は、処理の重複時に、実行中の処理の終了後に新たな処理を実行するか(終了後)、新たな処理は中止し実行中の処理を継続するか(中止)、実行中の処理を中断して新たな処理を実行するか(割り込み)を示す。優先度は、処理の優先度を示す値であり、値が小さいほど優先度が高い。なお、
図19の処理ルーチンテーブルは優先度の項目を有しているが、他の例として優先度の項目を設けずに処理IDを優先度として使用してもよい。
【0068】
次に、重複時動作や優先度の情報に基づいた測定処理の手順を説明する。まず、センサデバイス101のマイクロプロセッサの制約により、実行中の処理を中断することができないとする。実行中の処理を中断することができない場合の測定共通処理の手順は、
図7に示すものと同様であるが、タイマーキュー更新(706)の処理内容が異なる。
【0069】
重複時動作や優先度の情報に基づいた測定処理において、実行中の処理を中断することができない場合のタイマーキュー更新の手順を、
図20を参照して説明する。
図20はタイマーキュー更新処理の手順を説明する図である。タイマーキュー更新は、センサデバイス101のマイクロプロセッサ204がタイマーキュー更新処理プログラム227を実行することで行われる。マイクロプロセッサ204は、当該の測定処理について、処理ルーチン情報に基づいて、次回の測定処理実行タイミングを算出し、タイマーキューに挿入する(2001)。タイマーキュー挿入の手順は、
図6で説明した手順と同様である。その後、マイクロプロセッサ204は、イベント契機の測定処理が発生済み(測定処理実行契機となるイベントが発生済み)か、を確認する(2002)。確認の結果、イベント契機の測定処理が発生済みの場合(2002のYes)、そのイベント契機の測定処理をタイマーキューに挿入する(2003)。このイベント契機の測定処理がタイマーキューテーブルの1行目に来る(最も早く処理を実行すべきということを意味する)ようにするため、開始日時はその時点の日時を入れればよい。マイクロプロセッサ204はタイマーキューテーブル213を参照し、ステップ2003で挿入したイベント契機の測定処理を除いて、次の測定処理の開始時間が経過しているかどうか確認する(2004)。次の測定処理の開始時間が経過していない場合(2004のNo)、マイクロプロセッサ204は、ステップ2003で挿入したイベント契機の測定処理を行う(2007)。
【0070】
一方、次の測定処理の開始時間が経過している場合(2004のYes)、マイクロプロセッサ204は、処理ルーチンテーブル211を参照して、開始時間が経過している、次の測定処理の重複時動作が中止か終了後かを確認する(2005)。確認の結果、次の測定処理の重複時動作が中止である場合、この測定処理をタイマーキューテーブル213から削除し(2006)、さらに次の測定処理の重複時動作が中止か終了後かを確認する(2005)。ステップ2005で、次の測定処理の重複時動作が終了後である場合、マイクロプロセッサ204はこの測定処理をタイマーキューテーブル213からは削除しない。その後、マイクロプロセッサ204は、イベント契機の測定処理を実行する(2007)。ステップ2005、2006、2007により、次の測定処理の開始時間が経過している時間契機の測定処理のうち、処理ルーチンテーブル上で重複時動作が終了後であるものはタイマーキューテーブルに残しておき、イベント契機の測定処理が終了したのち、これらの時間契機の測定処理を実行することが可能である。
【0071】
次に、
図21および
図22を参照して、センサデバイス101のマイクロプロセッサ204が、実行中の処理を中断することができる場合の重複時動作や優先度の情報に基づいた測定処理の手順について説明する。
【0072】
図21は、実行中の処理を中断することができる場合の測定共通処理の手順を説明する図である。この処理は、センサデバイス101のマイクロプロセッサ204が測定共通処理プログラム226を実行することで行われる。
【0073】
図21において、マイクロプロセッサ204は、新たな測定処理の処理IDに対応する処理ルーチン情報を取得する(2101)。マイクロプロセッサ204は、取得した処理ルーチン情報の実行契機が時間かイベントかを判定する(2102)。判定の結果、実行契機が時間である場合、マイクロプロセッサ204は、実行中の測定処理があるかどうかを判定する(2103)。その結果、実行中の測定処理がない場合(2103のNo)、マイクロプロセッサ204は、測定処理種別に応じた測定処理を行う(2104)。そして、マイクロプロセッサ204は測定処理結果の送信契機が即時か一括かを判定する(2105)。その判定の結果、当該の処理IDに対応する送信契機が即時である場合(2105のYes)、マイクロプロセッサ204は、即時送信処理を行う(2106)。一方、当該の処理IDに対応する送信契機が一括である場合(2105のNo)、マイクロプロセッサ204は、測定処理結果を一括送信用バッファ212に格納する(2107)。その後、マイクロプロセッサ204は、タイマーキュー更新を行う(2108)。ステップ2108のタイマーキュー更新の手順については
図22を参照して後述する。
【0074】
ステップ2103で、実行中の測定処理がある場合(2103のYes)、マイクロプロセッサ204は、処理ルーチンテーブル211を参照して、新たな測定処理の重複時動作が終了後か中止かを判定する(2109)。判定の結果、ステップ2109で重複時動作が終了後の場合、マイクロプロセッサ204は、ステップ2108のタイマーキュー更新を行う。一方、ステップ2109で重複時動作が中止の場合は、タイマーキューから当該の測定処理を削除する(2110)。
【0075】
ステップ2102で実行契機がイベントである場合、マイクロプロセッサ204は、実行中の測定処理があるかどうかを判定する(2111)。その結果、実行中の測定処理がない場合(2111のNo)、マイクロプロセッサ204は、当該のイベント契機の測定処理を実行する(2104)。その後のステップ2105からステップ2108の動作については既に述べた通りである。
【0076】
ステップ2111で、実行中の測定処理がある場合(2111のYes)、マイクロプロセッサ204は、実行中の測定処理を中止するかどうかを決定する(2112)。ステップ2112で実行中の測定処理が時間契機の測定処理である場合、マイクロプロセッサ204は、実行中の測定処理を中止することを決定する。ステップ2112で、実行中の測定処理がイベント契機の測定処理である場合、マイクロプロセッサ204は、処理ルーチンテーブル211を参照して、実行中の測定処理と新たな測定処理の優先度を比較する。その結果、新たな測定処理の方が、優先度が高い場合は実行中の測定処理を中止し、実行中の測定処理の方が、優先度が高い場合は実行中の測定処理は中止しないことを決定する。実行中の測定処理を中止することを決定した場合(2112のYes)、マイクロプロセッサ204は実行中の測定処理を中止し(2113)、新たな測定処理を実行する(2104)。その後のステップ2105からステップ2108の動作については既に述べた通りである。
【0077】
ステップ2112で、実行中の測定処理を中止しないことを決定した場合(2112のNo)、マイクロプロセッサ204は、実行中の測定処理を継続し(2114)、実行中の測定処理が終了した後、新たな測定処理を実行する。
【0078】
次に、
図22を参照して、ステップ2108のタイマーキュー更新の手順について説明する。
図22はタイマーキュー更新処理の手順を説明する図である。
タイマーキュー更新は、センサデバイス101のマイクロプロセッサ204がタイマーキュー更新処理プログラム227を実行することで行われる。マイクロプロセッサ204は、当該の測定処理について、処理ルーチン情報に基づいて、次回の測定処理実行タイミングを算出し、タイマーキューに挿入する(2201)。タイマーキュー挿入の手順は、既に説明したとおりである。なお、
図21のステップ2114で実行中の測定処理を継続したため、新たなイベント契機の測定処理をまだ実行していない場合は、ステップ2201で新たなイベント契機の測定処理をタイマーキューに挿入する。マイクロプロセッサ204はタイマーキューテーブル213を参照し、次の測定処理の開始時間が経過しているかどうか確認する(2204)。次の測定処理の開始時間が経過していない場合(2204のNo)、マイクロプロセッサ204は、ステップ2204でイベント契機の測定処理をタイマーキューに挿入した場合は、そのイベント契機の測定処理を行う(2207)。次の測定処理の開始時間が経過している場合(2204のYes)、マイクロプロセッサ204は、処理ルーチンテーブル211を参照して、開始時間が経過している、次の測定処理の重複時動作が中止か終了後かを確認する(2205)。次の測定処理の重複時動作が中止である場合(2205のYes)、この測定処理をタイマーキューテーブル213から削除し(2206)、さらに次の測定処理の重複時動作が中止か終了後かを確認する(2205)。次の測定処理の重複時動作が終了後である場合(2205のNo)、この測定処理をタイマーキューテーブル213からは削除しない。その後、マイクロプロセッサ204は、ステップ2204でイベント契機の測定処理をタイマーキューに挿入した場合は、そのイベント契機の測定処理を実行する(2207)。ステップ2205、2206、2207により、次の測定処理の開始時間が経過している時間契機の測定処理のうち、処理ルーチンテーブル上で重複時動作が終了後であるものはタイマーキューテーブルに残しておき、イベント契機の測定処理が終了したのち、これらの時間契機の測定処理を実行することが可能である。
【0079】
このように、処理ルーチンテーブル211に重複時動作や優先度の情報を含めることにより、処理の重複時に、センサデバイスが処理ルーチンテーブルを参照して、実行中の処理を継続すべきか中断すべきか、あるいは新たな処理を実行すべきか中止すべきかを、処理の種類に応じて決定することが可能となる。
【0080】
次に、
図23から
図31を参照して、作業者が
図11のステップ1101や
図14のステップ1401で行うルーチンテーブル更新情報の入力について説明する。
図23から
図31は、作業者が閲覧および操作する、管理サーバ103の入出力器306の画面表示例を示す。
【0081】
図23は、センサデバイス一覧表示画面である。センサデバイス一覧表示画面では、センサデバイス一覧2301が表示される。センサデバイス一覧2301には、各センサデバイスのセンサデバイスID、センサデバイス状態、設置エリア情報、測定処理結果通知を最後に受信したときの日時である最終報告日時が含まれる。作業者が特定のセンサデバイスの処理ルーチンテーブルを確認したい場合、対象のセンサデバイスIDのルーチンテーブル確認欄にチェックを入れ、確認ボタン2302を押下することで、
図24のルーチンテーブル確認画面に遷移する。作業者が特定のセンサデバイスのパラメータセットを確認したい場合、対象のセンサデバイスIDのパラメータセット確認欄にチェックを入れ、確認ボタン2302を押下することで、
図26のパラメータセット確認画面に遷移する。エリアボタン2321を押下すると
図27のエリア一覧表示画面へ遷移する。グループボタン2322を押下すると
図29のグループ一覧表示画面へ遷移する。
【0082】
図24および
図25は、ルーチンテーブル確認画面である。
図24のルーチンテーブル確認画面では、センサデバイス一覧表示画面で選択したセンサデバイス(ここではセンサデバイスID=1)の処理ルーチンテーブル2411が表示される。また、ルーチンテーブル確認画面では処理ルーチンテーブルの編集のうち、処理ルーチンの追加、変更、削除を行うことができる。処理ルーチンを追加するには、行追加ボタン2412を押下する。行追加ボタン2412を押下すると、新たな行(処理ID=7)が追加される。
【0083】
図24の画面で更新ボタン2414が押下されると、
図25のように更新結果ダイアログ2501が表示される。更新結果ダイアログ2501では、更新指示を行った処理ルーチンのID、更新内容(処理ルーチンの追加、変更、削除)、更新成否と、更新失敗の場合はその失敗要因が表示される。失敗要因は、通信エラー(例えば管理サーバが更新完了メッセージ1108を受信できずタイムアウト)、不正パラメータ(指定したパラメータ値が不正)、センサデバイスエラーなどが挙げられる。作業者は、更新結果ダイアログ2501の表示内容を確認して、更新作業の完了や再試行などを決定することができる。
【0084】
図24に示すルーチンテーブル確認画面において、パラメータセット確認ボタン2415を押下すると、
図26のパラメータセット確認画面に遷移する。
図26に示すように、パラメータセット確認画面では、センサデバイス一覧表示画面で選択したセンサデバイス(ここではセンサデバイスID=1)のパラメータセット2611が表示される。パラメータセット確認画面では、ルーチンテーブル編集のうち、パラメータセットの追加や変更を行うことができる。パラメータセットを追加するには、列追加ボタン2612を押下する。列追加ボタン2612を押下すると、パラメータセット2611に新たな列が追加される。作業者が、追加された新たな列にパラメータの値を入力して更新ボタン2614を押下することで、管理サーバ103へのパラメータセット追加指示の入力が完了する。パラメータセットの変更を行うには、パラメータセット2611のうち変更したいパラメータの値を編集し、更新ボタン2614を押下する。なお、パラメータセットは処理種別ごとに保持されるものであり、
図26で表示されているパラメータセットは処理種別が漏水の場合のものである。他の処理種別のパラメータセットを編集したい場合は、処理種別変更ボタン2613を押下すると、他の処理種別のパラメータセットが表示される。ルーチンテーブル確認ボタン2615を押下すると、
図24のルーチンテーブル確認画面に遷移する。
【0085】
このような操作画面を用意することで、作業者が容易に処理ルーチンテーブルやパラメータセットの編集を行うことができる。ひいてはセンサデバイスの処理内容の編集を容易に行うことが可能となる。また、センサデバイスごとに異なる処理内容を設定することが可能である。
【0086】
図27および
図28は、エリアごとに処理ルーチンテーブルを更新する場合、すなわちエリア内に設置された全センサデバイスの処理ルーチンテーブルを一括で更新する場合の表示画面例である。
図27は、エリア一覧表示画面である。エリアマップ2701は地図であり、各エリアのエリア名や範囲、センサデバイス設置箇所を表示する。エリア一覧2702は、そのエリアに含まれるセンサデバイスの一覧を表示する。エリア一覧2702では、上部のタブを押下すると、異なるエリアの表示に切り替わる。作業者が、エリアマップ2701で処理ルーチンテーブルを更新したいエリアのエリア名を押下するか、エリア一覧2702で処理ルーチンテーブルを更新したいエリアを表示した状態でエリア選択ボタン2703を押下すると、
図28のエリア単位ルーチンテーブル確認画面に遷移する。デバイスボタン2721を押下すると
図23のデバイス一覧表示画面に遷移する。グループボタン2722を押下すると
図29のグループ一覧表示画面に遷移する。
【0087】
図28は、エリア単位ルーチンテーブル確認画面である。
図28のエリア単位ルーチンテーブル確認画面では、エリア一覧表示画面で選択したエリア(ここではエリアA)のセンサデバイスに共通して適用される処理ルーチンテーブル2801が表示される。エリア単位ルーチンテーブル確認画面では、処理ルーチンテーブルの編集のうち、処理ルーチンの追加、変更、削除を行うことができる。処理ルーチンを追加するには、行追加ボタン2802を押下して、追加された行にEnable、処理種別、実行契機、送信契機、パラメータセットIDを入力し、更新ボタン2804を押下する。処理ルーチンの変更を行うには、変更を行いたい項目を編集し、更新ボタン2804を押下する。処理ルーチンの削除を行うには、処理ルーチンテーブル2801の削除欄にチェックを入れ、更新ボタン2804を押下する。このように、表示内容や操作方法は
図24のセンサデバイス単位のルーチンテーブル画面と同様であるが、
図28ではエリア内の全センサデバイスに対して処理ルーチンテーブルの更新を一括して行うという点が
図24と異なる。
【0088】
図28の画面において、パラメータセット確認ボタン2805を押下すると、エリア単位パラメータセット確認画面に遷移する。エリア単位パラメータセット確認画面についても、表示内容や操作方法は
図26のセンサデバイス単位のパラメータセット確認画面と同様であるため、説明を省略する。
【0089】
このように、複数のセンサデバイスに対してエリアごとに一括で、処理ルーチンテーブル211を更新する操作画面を用意することで、センサデバイスが大量に設置されている場合でも、作業者が容易に処理ルーチンテーブルの編集を行うことができる。また、エリアごとに処理ルーチンテーブルを更新する操作画面を用意することで、例えば振動が大きくなりやすい土壌といったエリアの特性に合わせた処理ルーチンテーブルをセンサデバイスに容易に設定することが可能となる。
【0090】
図29から
図31は、作業者の指定した1つまたは複数のセンサデバイスからなるグループ単位で、処理ルーチンテーブルを更新する場合、すなわちグループに所属する全センサデバイスの処理ルーチンテーブルを一括で更新する場合の表示画面例である。
図29は、グループ一覧表示画面である。グループ一覧2901は、そのグループに含まれるセンサデバイスの一覧を表示する。グループ一覧2901では、上部のタブを押下すると、異なるグループの表示に切り替わる。作業者が、グループ一覧2901で処理ルーチンテーブルを更新したいグループを表示した状態でグループ選択ボタン2902を押下すると、
図30のグループ単位ルーチンテーブル確認画面に遷移する。グループ編集ボタン2903を押下すると、
図31のグループ編集画面に遷移する。デバイスボタン2921を押下すると
図23のデバイス一覧表示画面に遷移する。エリアボタン2922を押下すると
図27のエリア一覧表示画面に遷移する。
【0091】
図30は、グループ単位ルーチンテーブル確認画面である。
図30のグループ単位ルーチンテーブル確認画面では、グループ一覧表示画面で選択したグループ(ここではグループ1)のセンサデバイスに共通して適用される処理ルーチンテーブル3001が表示される。グループ単位ルーチンテーブル確認画面では、処理ルーチンテーブルの編集のうち、処理ルーチンの追加、変更、削除を行うことができる。処理ルーチンを追加するには、行追加ボタン3002を押下して、追加された行にEnable、処理種別、実行契機、送信契機、パラメータセットIDを入力し、更新ボタン3004を押下する。処理ルーチンの変更を行うには、変更を行いたい項目を編集し、更新ボタン3004を押下する。処理ルーチンの削除を行うには、処理ルーチンテーブル2801の削除欄にチェックを入れ、更新ボタン3004を押下する。このように、表示内容や操作方法は
図24のセンサデバイス単位のルーチンテーブル画面と同様であるが、
図30ではグループ内の全センサデバイスに対して処理ルーチンテーブルの更新を一括して行うという点が
図24と異なる。
【0092】
図30で、パラメータセット確認ボタン3005を押下するとグループ単位パラメータセット確認画面に遷移する。グループ単位パラメータセット確認画面についても、表示内容や操作方法は
図26のセンサデバイス単位のパラメータセット確認画面と同様であるため、説明を省略する。
【0093】
図31は、グループ編集画面である。グループ編集画面では、グループに所属するセンサデバイスの追加や削除を行うことができる。グループ編集表示3101にはグループに所属しているセンサデバイスIDの一覧が表示されている。グループにセンサデバイスを追加する場合は、行追加ボタン3102を押して、追加したいセンサデバイスIDを入力し、完了ボタン3103を押下する。グループからセンサデバイスを削除する場合は、削除したいセンサデバイスIDの削除欄にチェックを入れ、完了ボタン3103を押下する。
【0094】
このように、複数のセンサデバイスに対してグループごとに一括で処理ルーチンテーブルを更新する操作画面を用意することで、センサデバイスが大量に設置されている場合でも、作業者が容易に処理ルーチンテーブルの編集を行うことができる。また、作業者が作成したグループごとに処理ルーチンテーブルを更新する操作画面を用意することで、例えば水道管に設置したセンサデバイスのグループや、ガス管に設置したセンサデバイスのグループ、といったグループの特性に合わせた処理ルーチンテーブルをセンサデバイスに容易に設定することが可能となる。
【0095】
以上、一実施例について説明したが、本発明は上記実施例に限定されず、種々変形、応用して実施し得る。
例えば、センサデバイス101が備える機能は、
図2に示す機能ないしプログラムに限定されず、ニーズに応じて色々なセンサを追加又は削減させ得る。例えば、
図2の例において、他工事が予想されない地域では他工事検知測定処理プログラム223が不要であろう。一方、地下からガスの噴出が予想される地域では、ガス検知センサおよびその測定処理プログラムを追加することが望ましいであろう。
【0096】
また、上記実施例では「テーブル」なる表現を用いているが、これに限らず、「表」、「リスト」などと表現してもよい。更には、データ構造に依存しない表現、例えば「情報」或いは「情報群」と称してもよい。
【符号の説明】
【0097】
101:センサデバイス 102:無線ネットワーク 103:管理サーバ
104:データベース 105:アプリケーションサーバ
201:制御部 202:無線通信部 203:センサ
204:マイクロプロセッサ 205:メモリ
211:処理ルーチンテーブル 212:一括送信用バッファ
213:タイマーキューテーブル 214:パラメータセットテーブル
221:センサデバイス状態検知処理プログラム
222:漏水検知測定処理プログラム
223:他工事検知測定処理プログラム
224:地震検知測定処理プログラム
225:無線送信処理プログラム
226:測定共通処理プログラム
227:タイマーキュー更新処理プログラム
228:処理ルーチンテーブル更新処理プログラム
301:メモリ 302:プロセッサ(CPU) 303:入出力インタフェース
304:ネットワークインタフェース 305:外部記憶装置
306:入出力器 311:処理ルーチンテーブル 312:パラメータセットテーブル
321:詳細データ取得決定処理プログラム