以下、本発明の好適な実施の形態について、添付の図面を参照しつつ、詳細に説明する。
<1. 実施の形態>
図1は、本発明に係るセンサネットワークシステム1を示す図である。詳細は後述するが、センサネットワークシステム1は、広域のネットワークとして構築されるインターネット10と、ローカルなネットワークとして構築される宅内ネットワーク11,12とによって、様々な機器が互いに接続された構成となっている。なお、宅内ネットワーク11,12としては、一般的なLANの他に、無線LANやWifiといったネットワークが想定される。
本実施の形態において、図1に示す宅内システム13,14は、いずれも個人の住宅に設置されるシステムを想定して構成されている。ただし、宅内システム13,14のようなシステムが、個人宅以外に設置されてもよい。また、宅内システム13,14が設置される環境は、屋内に限定されるものでもない。
宅内システム13は、ルータ15、ゲートウェイ3、4つのセンサノード4,4a,4b,4cおよび携帯電話17から構成されており、ルータ15とゲートウェイ3とが宅内ネットワーク11によってデータ通信が可能な状態で接続されている。すなわち、ゲートウェイ3の配下にはセンサノード4,4a,4b,4cが接続されており、センサノード4,4a,4b,4cはゲートウェイ3に関連づけされている。
また、宅内システム14は、ルータ16、ゲートウェイ3a、2つのセンサノード4d,4e、携帯電話18およびコンピュータ19から構成されており、ルータ16、ゲートウェイ3aおよびコンピュータ19が宅内ネットワーク12によってデータ通信が可能な状態で接続されている。すなわち、ゲートウェイ3aの配下にはセンサノード4d,4eが接続されており、センサノード4d,4eはゲートウェイ3aに関連づけされている。
ルータ15,16は、一般的には、据え置き型の装置として設置され、常時、通電された状態で使用される。
ルータ15は宅内ネットワーク11をインターネット10に接続する機能を提供し、ルータ16は宅内ネットワーク12をインターネット10に接続する機能を提供する。このように、宅内システム13,14がそれぞれルータ15,16を備えていることにより、宅内ネットワーク11,12に接続される機器(ゲートウェイ3,3aおよびコンピュータ19等)はルータ15,16を介してインターネット10にデータ通信が可能な状態で接続される。
各ルータ15,16には、インターネット10における固有の識別子(グローバルIP)が付与されており、インターネット10に接続されている他のルータ(図示せず)と識別することが可能である。例えば、サーバ5は、グローバルIPを参照することにより、ルータ15とルータ16とを個別に識別することができる。本実施の形態では、ルータ15のグローバルIPが「210.120.150.15」、ルータ16のグローバルIPが「210.120.150.16」の場合を例として説明する。
なお、ルータ15(ルータ16)およびゲートウェイ3(ゲートウェイ3a)が1つの装置で構成されていてもよい。しかし、すでに家庭内に敷設されているネットワークを宅内ネットワーク11,12としてセンサネットワークシステム1が兼用する場合や、センサネットワークシステム1の宅内ネットワーク11,12を他のシステムに流用する場合等を考慮すれば、ルータ15(ルータ16)はゲートウェイ3(ゲートウェイ3a)とは別の装置として構成された、市場に流通している汎用のルータであることが好ましい。
以下では、ルータ15,16の機能や構成、設置方法、設定方法等については従来の技術を採用するものとする。したがって、詳細な説明は省略し、特に断らない限り、ルータ15,16はインターネット10にすでに接続されており、かつ、宅内システム13,14において、それぞれ宅内ネットワーク11,12がすでに敷設されているものとする。
携帯電話17,18およびコンピュータ19は、センサノード4,4a,4b,4c,4d,4eに関する情報を表示する機能を有する機器である。すなわち、携帯電話17,18およびコンピュータ19は、センサネットワークシステム1においてクライアント端末として使用される機器である。なお、携帯電話17,18は、同様の機能を備えた機器として構成されているため、特に断らない限り、以下では主に携帯電話17について説明する。
図2は、携帯電話17の構成を示す図である。携帯電話17は、メモリ170、操作部171、表示部172、撮影部173、GPS部174、および、通信部175を備えている。また、携帯電話17は図示しないCPUを備えており、当該CPUがプログラムを実行することにより、携帯電話17にはデータ変換部176の機能が実現されている。
なお、図2に示すサーバアドレス90とは、サーバ5のインターネット10におけるアドレス(あるいはページアドレス)である。サーバアドレス90により、通信部175はインターネット10上のサーバ5にアクセスすることが可能となる。なお、一旦取得されたサーバアドレス90は、メモリ170に継続的に格納しておくことが好ましい。このような格納の手法として、例えば、携帯電話17に実現されるブラウザのブックマークに登録することが考えられる。
また、中継機識別情報91とは、センサネットワークシステム1を構成する複数の中継機(ゲートウェイ3,3a)を個々に識別するための識別子(ゲートウェイデバイスID)としてクライアント端末(携帯電話17,18またはコンピュータ19)において入力された情報である。
また、中継機位置情報92とは、センサネットワークシステム1を構成する複数の中継機(ゲートウェイ3,3a)の設置位置を示す情報としてクライアント端末(携帯電話17,18またはコンピュータ19)において入力された情報である。本実施の形態では、設置位置を示す情報として、各ゲートウェイ3,3aが設置されている場所の住所を用いる。なお、設置位置を示す情報は住所に限定されるものではなく、方位や座標等であってもよい。
携帯電話17は、個々のユーザによって携帯される携帯端末として構成された機器である。本実施の形態における携帯電話17は、一般的な携帯電話として構成されており、通話機能に加えて、インターネット10への接続機能、携帯サイト等の閲覧機能(ブラウジング機能)、電子メールの送受信機能(メーラー機能)、撮影機能(デジカメ機能)、GPS機能等を有している。
操作部171は、携帯電話17に対して必要な情報(操作情報179)を入力するためにユーザによって操作される入力装置であり、例えば、テンキーやダイヤルボタンが該当する。
例えば、図2において図示を省略しているが、携帯電話17のユーザは、携帯電話17の操作部171を操作して、ゲートウェイ3が設置されている場所(設置位置)を示す住所を入力することができる。あるいは、当該住所を直接入力する代わりに、当該住所の郵便番号を入力することも可能である。
すなわち、携帯電話17は、操作部171により、ゲートウェイ3の設置位置を示す中継機位置情報92を取得し、サーバ5に送信することができる。なお、当然であるが、携帯電話18(コンピュータ19)のユーザは、ゲートウェイ3aの中継機位置情報92を入力する。
中継機位置情報92が住所等である場合、英数文字のみならず漢字や仮名を含んでいるため、その入力は比較的煩雑な操作である。しかし、通常の携帯電話17は電子メールを作成するために、これらの文字を入力することが可能な操作部171を備えており、ゲートウェイ3に比べて操作性のよい入力装置を備えている。したがって、携帯電話17から中継機位置情報92を入力できるように構成することによって、ゲートウェイ3において中継機位置情報92を入力する場合に比べて入力操作が容易になる。
なお、サーバアドレス90や中継機識別情報91についても中継機位置情報92と同様に操作部171から入力できる。言い換えれば、操作情報179は、サーバアドレス90、中継機識別情報91、中継機位置情報92が含まれている場合がある。
表示部172は、画面に様々な情報を表示することにより、携帯電話17のユーザに対してこれらの情報を提供する機能を有する表示装置である。表示部172としては、例えば、液晶パネルや液晶ディスプレイ等が該当する。特に、携帯電話17の表示部172は、サーバ5において作成される表示情報510を表示する。表示情報510には、センサノード4等において作成される測定情報(後述)や、ゲートウェイ3に設けられる承認ボタン(後述)を操作するようにユーザに対して促すメッセージ等が含まれる。
撮影部173は、レンズや光電変換素子等によって構成される一般的なデジタルカメラを構成しており、被写体を撮影して撮影画像情報177を取得する機能を有する。携帯電話17は、撮影部173により、二次元コードを被写体として読み取る(撮影する)ことが可能である。
GPS部174は、自機(携帯電話17)の存在位置を検出して、当該存在位置を示すクライアント端末位置情報178を作成する機能を有する。
データ変換部176は、撮影画像情報177に含まれる二次元コードを画像認識処理することにより、サーバアドレス90や中継機識別情報91に変換する機能を有している。これによって、携帯電話17は、二次元コードとして形成されたサーバアドレス90や中継機識別情報91などを撮影により取得することができる。すなわち、携帯電話17が有している撮影機能を用いることにより、設定に必要な情報を簡単に入力できるため、設定が容易になる。このような二次元コードとして、例えば、広く一般の携帯電話で使用されているQRコード(登録商標)を採用することができる。
また、データ変換部176は、クライアント端末位置情報178を中継機位置情報92に変換する機能を有している。このように、携帯電話17は、GPS部174により取得されたクライアント端末位置情報178を、データ変換部176によって中継機位置情報92に変換することにより、携帯電話17と関連づけられたゲートウェイ3の設置位置を示す中継機位置情報92を取得することができる。このような手法によっても、住所等の煩雑な情報を中継機位置情報92として入力する必要がなくなる。
通信部175は、携帯電話17をインターネット10に接続する機能を有する。これにより、携帯電話17は、サーバ5との間でデータ通信が可能となる。特に、操作部171から入力される操作情報179をサーバ5に送信するとともに、サーバ5から表示情報510を受信しこれを表示部172が表示することにより、携帯電話17においてブラウザが実現される。
携帯電話17は個々のユーザが所有する機器としてすでに広く流通している。このためユーザは自身が所有する携帯電話17の操作に慣れていることが期待できる。したがって、携帯電話17をクライアント端末として利用できるように構成することにより、ユーザは操作に習熟した機器でセンサネットワークシステム1を利用できる。なお、携帯端末としては、携帯電話17,18に限定されるものではなく、スマートフォンやPAD等の可搬性の機器であってもよい。
コンピュータ19は、一般的なパーソナルコンピュータであり、ユーザの宅内に設置される。なお、コンピュータ19としては、完全な据え置き型(デスクトップ型)の機器であってもよいし、ノートパソコンのように、無線で宅内ネットワーク12に接続される機器であってもよい。
詳細は図示しないが、コンピュータ19は、文字や画像を表示することのできる表示装置(例えば、液晶ディスプレイやCRT等)と、文字入力も可能な入力装置(例えば、キーボードやマウス、テンキー等)とを備えている。
例えば、ユーザは、携帯電話17,18と同様に、コンピュータ19の入力装置を操作して、ゲートウェイ3aが設置されている住所や当該住所の郵便番号(すなわち、中継機位置情報92)や、サーバアドレス90を入力することも可能である。
図1に戻って、ゲートウェイ3(3a)は、センサノード4,4a,4b,4c(4d,4e)を宅内ネットワーク11(12)にデータ通信が可能な状態で接続するために設置される機器である。なお、ゲートウェイ3,3aは、同様の構成および機能を備えた機器として構成されているため、特に断らない限り、以下では主にゲートウェイ3について説明する。
図3は、ゲートウェイ3の構成を示す図である。ゲートウェイ3は、CPU30、メモリ31、操作部32、表示部33、宅内通信部34、および、センサ通信部35を備えている。
CPU30は、各種の情報を演算するとともに、様々な制御信号を生成して、ゲートウェイ3の各構成を制御する機能を有する。特に、CPU30は、メモリ31に格納されているプログラム310を実行する。
メモリ31は、各種の情報を記憶する記憶装置である。図3においてメモリ31は、便宜上1つの構成として図示しているが、少なくとも不揮発性の記憶素子で構成される記憶装置と、書き込み可能な記憶装置とを備えている。
メモリ31には、CPU30によって実行されるプログラム310、サーバ5のアドレスを示すサーバアドレス311、および、ゲートウェイ3に固有のゲートウェイデバイスIDである中継機識別情報312とを記憶している。これらの情報は、ユーザによる入力を必要としないように、ユーザへの引き渡し前に予めメモリ31に記憶されて、出荷されることが好ましい。
このようにセンサネットワークシステム1を構成する中継機(ゲートウェイ3,3a)には、システム上でそれぞれを個々に識別するための識別子(ゲートウェイデバイスID)が付与されており、当該識別子が個々の中継機に中継機識別情報312として記憶されている。本実施の形態では、ゲートウェイ3のゲートウェイデバイスIDが「01234」、ゲートウェイ3aのゲートウェイデバイスIDが「56789」の場合を例として説明する。
また、メモリ31には、CPU30によって作成されるノード識別情報313が記憶される。ノード識別情報313は、ゲートウェイ3に接続されているセンサノード4,4a,4b,4cを、当該ゲートウェイ3において識別するための識別子(ノードID)である。詳細は後述するが、ゲートウェイ3のCPU30はセンサノード4,4a,4b,4cが初めてゲートウェイ3に接続されるときに、それぞれについてノードIDを発行するとともに、ノード識別情報313に登録する。また、ノード識別情報313はサーバ5に送信される。
操作部32は、ゲートウェイ3に必要な情報を入力するためにユーザによって操作される入力装置である。本実施の形態におけるゲートウェイ3は、図3に示すように、承認ボタン320およびペアリングボタン321を備えている。
承認ボタン320が押下されると、CPU30は、メモリ31からサーバアドレス311と中継機識別情報312とを読み出し、当該中継機識別情報312を承認情報として、サーバ5に送信するように、宅内通信部34を制御する。これにより宅内通信部34は、サーバアドレス311を用いて、中継機識別情報312を含む承認情報をサーバ5に向けて送信する。
このように、センサネットワークシステム1では、ユーザは、ゲートウェイ3に設けられている承認ボタン320を操作するだけで、複雑な入力を要求されることなく、サーバ5に承認情報を送信することができる。
ペアリングボタン321は、ゲートウェイ3と、ゲートウェイ3に接続されるセンサノード4,4a,4b,4cとの関連づけを行う際に、ユーザによって操作されるが、詳細は後述する。
表示部33は、ユーザに各種の情報を提供する機能を有する出力装置(表示装置)である。本実施の形態におけるゲートウェイ3は、表示部33として、複数のLEDを備えている。
宅内通信部34は、ゲートウェイ3がルータ15との間で宅内ネットワーク11を介して通信を行う機能を提供する。本実施の形態における宅内通信部34は、ケーブルを用いた有線通信を行うものとして構成されている。ただし、センサ通信部35は、宅内ネットワーク11を用いてデータ通信が可能なものであれば、有線通信に限定されるものではなく、無線通信(例えばWifi等)であってもよい。
センサ通信部35は、ゲートウェイ3が各センサノード4,4a,4b,4cとの間で通信を行う機能を提供する。本実施の形態におけるセンサ通信部35は、所定の規格(例えば、ZigbeeやZ-Wave、特定省電力無線等)に応じた比較的近距離の無線による通信を行うものとして構成されている。ただし、センサ通信部35は、各センサノード4,4a,4b,4cとの間でデータ通信が可能なものであれば、無線に限定されるものではなく、有線(例えば電力線通信)であってもよいし、有線と無線とが混在していてもよい。
図1に戻って、センサノード4,4a,4b,4c,4d,4eは、測定情報(後述)を取得する少なくとも1つのセンサ(後述)を備えるとともに、それぞれがゲートウェイ3,3aのいずれかにデータ通信が可能な状態で接続される。図1に示す例では、センサノード4,4a,4b,4cがゲートウェイ3に接続され、センサノード4d,4eがゲートウェイ3aに接続されている。
なお、センサノード4,4a,4b,4c,4d,4eは、センサによって測定情報を取得するという共通の機能(ただし、それぞれが備えるセンサの機能は異なる場合がある。)を有する機器として構成されているため、特に断らない限り、以下ではセンサノード4について説明する。
図4は、センサノード4の構成を示す図である。センサノード4は、CPU40、メモリ41、操作部42、表示部43、センサ群44、A/D変換部45、通信部46および電池47を備えている。
CPU40は、各種の情報を演算するとともに、様々な制御信号を生成して、センサノード4の各構成を制御する機能を有する。特に、CPU40は、メモリ41に格納されているプログラム410を実行する。
メモリ41は、各種の情報を記憶する記憶装置である。図4においてメモリ41は、便宜上1つの構成として図示しているが、実際には、用途に応じた様々な記憶素子を有する複数の記憶装置から構成される。メモリ41は、少なくとも不揮発性の記憶素子で構成される記憶装置と、書き込み可能な記憶装置とを備えている。
メモリ41は、CPU40によって実行されるプログラム410と、センサノード4の機種を示す機種識別情報411と、センサノード4が備えるセンサ群44の初期特性を示す初期特性情報412とを記憶している。これらの情報は、ユーザへの引き渡し前に予めメモリ41に記憶され、出荷されることが好ましい。
機種識別情報411は、センサノード4,4a,4b,4c,4d,4eを個々に識別可能な固有の識別子であってもよいが、本実施の形態では、同一の機種については同一の識別子(機種コード)を用いるものとする。言い換えれば、同一の機種であって同一のセンサ群44を備えるセンサノードについては、共通の識別子が付与される。
以下では、センサノード4,4a,4dが同一の機種であり、共通の機種コード「PID001」を機種識別情報411として記憶しているものとする。また、センサノード4bが機種コード「PID002」を、センサノード4c,4eが共通の機種コード「PID003」を、それぞれ機種識別情報411として記憶しているものとする。
一般的なセンサについては、製造誤差や加工精度等により、製品ごとにバラツキが生じることがある。したがって、センサに関しては、出荷前に適性検査を実施するのが普通である。初期特性情報412は、このような適正検査により得られた情報(製品ごとのバラツキを補正する情報)であり、センサ群44の各センサごとの情報として記憶されている。
また、メモリ41は、測定情報413、設定情報414、中継機識別情報415およびノード識別情報416を記憶する。測定情報413および設定情報414については後述する。
中継機識別情報415は、自機に関連づけられた中継機(データ通信が可能な状態で接続された中継機)のゲートウェイデバイスIDである。中継機識別情報415は、センサノードと中継機とが最初に接続されるときに、当該中継機から送信される当該中継機のゲートウェイデバイスIDに基づいて作成されメモリ41に記憶される。したがって、図1に示す例において、センサノード4,4a,4b,4cに記憶される中継機識別情報415はゲートウェイ3のゲートウェイデバイスID「01234」であり、センサノード4d,4eに記憶される中継機識別情報415はゲートウェイ3aのゲートウェイデバイスID「56789」である。
センサネットワークシステム1では、中継機が発信する情報には送信元(自機)を示すゲートウェイデバイスIDが付加されている。センサノード4は、受信した情報に付加されているゲートウェイデバイスIDと、メモリ41に記憶している中継機識別情報415とを比較することによって、ゲートウェイ3が送信した情報のみを選別することができる。これにより、例えば、センサノード4が、自機に関連づけられていない他の中継機(例えば、ゲートウェイ3a)によって送信される電波の有効範囲内に設置されていたとしても、中継機識別情報312と中継機識別情報415とが一致しなければ、これを自機宛とみなすことはない。なお、センサノード4がゲートウェイ3に向けて送信する情報には、宛先として中継機識別情報415が含められる。
ノード識別情報416は、自機が関連づけられた中継機から発行されたノードIDである。ノード識別情報416は、センサノードと中継機とが最初に接続されるときに、当該中継機によって発行されたノードID(当該中継機から送信される)に基づいて作成されメモリ41に記憶される。
センサネットワークシステム1では、中継機が発信する情報には宛先を示すノードIDが含まれている。センサノード4は、受信した情報に付加されているノードIDと、メモリ41に記憶しているノード識別情報416とを比較することによって、ゲートウェイ3から送信された情報の中から、自機に向けて送信された情報のみを選別することができる。したがって、例えば、同じゲートウェイ3に接続されているセンサノード4a宛の情報を誤って受信することはない。なお、センサノード4がゲートウェイ3に向けて送信する情報には、送信元としてノード識別情報416が含められる。
操作部42は、センサノード4に必要な情報を入力するために、ユーザによって操作される。本実施の形態におけるセンサノード4の操作部42は、ペアリングボタン420を含む少数のボタン類で構成されている。なお、ユーザによりペアリングボタン420が押下されると、CPU40は、中継機に向けて接続要求を送信するように通信部46を制御するが詳細は後述する。
表示部43は、様々な情報を表示することによりユーザにこれらの情報を提供する出力装置としての機能を有する。本実施の形態におけるセンサノード4の表示部43は、少数のLEDから構成されている。表示部43は、LEDの点灯状態(色、消灯、点滅等)によって、中継機との間の接続状態や動作状態、警報等を表示する。
センサ群44は、少なくとも1つのセンサ(検出装置)から構成されており、これらのセンサによって周囲の測定対象物を測定し、その測定結果としての測定値(生の測定情報であり、アナログ信号である)を取得する。さらに、センサ群44は、取得した測定値(アナログ信号)をA/D変換部45に向けて出力する。
センサ群44が備えるセンサの数や種類は、センサノード4がどのようなサービスに用いられるか(用途)に応じて異なる。
例えば、植物育成支援サービスでは、植物の育成に必要な情報(主に植物の育成環境を表すパラメータ)をセンサノード4によって収集する必要がある。したがって、センサノード4が植物育成支援サービスに使用されることを想定している場合は、センサノード4のセンサ群44に含まれるセンサとして、温度センサ、湿度センサ、照度センサ、pHセンサ等が想定される。
また、例えば、住居監視サービスでは、不審者の侵入や火災、ガス漏れ等を検出する必要がある。したがって、センサノード4が住居監視サービスに使用されることを想定している場合は、センサノード4のセンサ群44に含まれるセンサとして、人感センサ(赤外線センサ)、振動センサ、接触センサ、音響センサ、温度センサ、煙センサ、ガスセンサ等が想定される。
また、例えば、消費電力測定サービスでは、住宅内で使用されている電力を測定する必要がある。したがって、センサノード4が消費電力測定サービスに使用されることを想定している場合は、センサノード4のセンサ群44に含まれるセンサとして、電力量センサ(HEMS(Home Energy Management System)センサ)等が想定される。
さらに、センサノード4のように電池47から供給される電力で駆動する場合、電池47の残存量を測定しユーザに通知して、必要に応じて交換を促すことが好ましい。したがって、センサノード4のように電池47を搭載している場合は、センサ群44は電池47の電圧を測定する電圧センサが含まれる。
なお、ここに示したサービスやそれに用いられるセンサの種類は、あくまでも例示であり、このような例に限定されるものではない。センサネットワークシステム1が提供するサービスには様々なものが想定され、また、それに応じて採用されるセンサも様々である。例えば、上記の例において、センサ群44が温度センサを備えていた場合、植物の育成環境における温度を検出するために植物育成支援サービスに使用することもできるし、火災発生による温度上昇を検出するために住居監視サービスに使用することも可能である。
また、センサ群44は、設定情報414に従って動作するようにCPU40によって制御される。設定情報414に含まれるパラメータとしては、例えば、各センサの測定周期やON・OFF状態、閾値等が想定される。
例えば、センサノード4が複数種類のサービスで共通に使用可能なセンサ群44を備えている場合においては、当該センサ群44に含まれる様々なセンサのうち、個々のサービスによっては不要となるセンサも存在する。このようなセンサについては測定周期を長く設定したり、OFF状態にすることにより、消費電力を抑制することができる。
なお、設定情報414は、初期値が予めメモリ41に記憶されている一方で、ユーザによる設定変更が認められたパラメータとして定義されるものについては、駆動中にユーザの指示やサーバ5による制御に応じて変更される場合もある。
A/D変換部45は、センサ群44から入力されるアナログ信号をデジタル信号に変換し、CPU40に伝達する。CPU40は、A/D変換部45から入力されるデジタル信号に応じて、測定情報413を作成し、一旦、メモリ41に記憶させる。
センサノード4では、測定情報413が更新される度に(新しい測定値が得られる度に)、これをサーバ5に向けて送信するのではなく、主に消費電力を抑制するために、一旦、メモリ41に記憶しておいてから、所定のタイミングで送信する。すなわち、測定情報413は、センサ群44により取得された測定値の送信間隔分の履歴情報(ログ)となる。なお、測定情報413のサーバ5への送信間隔は、消費電力量やメモリ41の記憶容量、サービス内容等に応じて決定され、例えば、設定情報414としてメモリ41に記憶されている。
通信部46は、ゲートウェイ3とセンサノード4との間のデータ通信を実現する機能を有する。センサノード4は通信部46によって様々な情報をゲートウェイ3との間で送受信することにより、センサ群44により取得した測定情報413をゲートウェイ3を介してサーバ5に送信することができる。また、ユーザが携帯電話17から入力した情報をゲートウェイ3を介して受信して設定情報414を書き換えたりすることができる。
電池47は、センサノード4の各構成に対して駆動用の電力を供給する。電池47はセンサノード4の本体に対して着脱自在な構造となっており、電池47の消耗に応じてユーザが電池47を交換することが可能となっている。なお、図4では、電池47から各構成に対して接続される電力線については図示を省略している。また、詳細は省略するが、センサノード4は、電池47の消費を抑制するための省電力モードを有していてもよい。
図1に示すサーバ5は、一般的なコンピュータとしての構成および機能を備えた機器であり、インターネット10にデータ通信が可能な状態で接続される。
サーバ5は、センサネットワークシステム1を構成する各機器の関連づけ(紐付け)を行うとともに、これを管理し、例えば、権限のないユーザが勝手に情報を閲覧したり、センサノード4等の機器を操作したりしないように監視する。また、サーバ5は、センサネットワークシステム1が提供するサービスに応じて、センサノード4,4a,4b,4c,4d,4eから測定情報413を収集し、これを分析・加工して、ユーザ(クライアント端末)に提供する機能を有する。
図5は、サーバ5の構成を示す図である。サーバ5は、各種情報の演算を行うCPU50、CPU50の一時的なワーキングエリアとして使用されるRAM51、プログラム520を格納する読み取り専用のROM52、および、比較的大容量の情報を記憶するハードディスク53を備えている。また、サーバ5は、オペレータが情報を入力するために操作する操作部54、各種情報を画面に表示することによりオペレータに情報を提供する表示部55、および、サーバ5をインターネット10に接続する機能を提供する通信部56を備えている。
CPU50は、ROM52に格納されているプログラム520を実行するとともに、ハードディスク53に格納されている様々なデータベースを参照することにより、各種サービスを提供する。
特に、CPU50は、センサノード4,4a,4b,4c,4d,4eから得られる測定情報413を分析、加工等することにより表示情報510を作成し、閲覧等を要求したクライアント端末に向けて表示情報510を送信するよう通信部56を制御する。なお、表示情報510は、これを受信したクライアント端末の表示装置(携帯電話17であれば表示部172)に表示される画面を表現した情報である。
CPU50が有する機能についての詳細は後述する。
なお、図5では、説明の便宜上、ROM52に格納されたプログラム520のみを図示しているが、CPU50によって実行されるプログラムはROM52に格納されているプログラム520に限定されるものではない。例えば、ハードディスク53に記憶されているソフトウェア(プログラム)が、適宜RAM51にロードされて、CPU50により実行されてもよい。
ハードディスク53は、サービスDB530、中継機DB531、ユーザDB532、ノードDB533を記憶する。
図6は、ハードディスク53に構築されるサービスDB530の構成例を示す図である。サービスDB530は、サーバ5が提供するサービスごとに1つのレコードが作成されるデータベースである。すなわち、サーバ5が、新しいサービスの提供を開始するときに、サービスDB530のレコードが1つオペレータにより作成され追加される。
サービスDB530の各レコードには、サービスID欄と、サービス名称欄と、機種コード欄とが設けられる。サービスID欄は各サービスの識別子であるサービスIDを格納する領域であり、サービス名称欄は各サービスの名称を格納する領域であり、機種コード欄はセンサノードの機種コードが格納される領域である。
機種コードは、すでに説明したように、市場に流通しているセンサノードの製品種別(機種)を示す識別子である。サービスDB530の機種コード欄に格納されている機種コードで示されるセンサノードは、対応するサービスに使用可能な製品であることを示している。
図6に示す例では、サービスDB530に、植物育成支援サービスと、住居監視サービスと、消費電力測定サービスとに対応したレコードが作成されており、これらのサービスがサーバ5によって提供されていることがわかる。
また、サービスID「SID001」が付与された植物育成支援サービスは、機種コードが「PID001」と「PID002」とで示される機種(すなわち、センサノード4,4a,4b,4d)が同一のレコードに関連づけられている。したがって、センサノード4,4a,4b,4dが植物育成支援サービスに使用可能である。逆に、図1に示すセンサノード4c,4eは機種コードが「PID003」であるが、植物育成支援サービスには関連づけられておらず、当該サービスには使用できない。
また、サービスID「SID002」が付与された住居監視サービスは、機種コードが「PID001」と「PID005」とで示される機種が使用可能である。すなわち、図1に示すセンサノード4,4a,4dは当該サービスに使用可能であるが、センサノード4b,4c,4eは使用できない。
また、サービスID「SID003」が付与された消費電力測定サービスは、機種コードが「PID003」と「PID004」と「PID006」とで示される機種が使用可能である。したがって、図1に示すセンサノード4c,4eは当該サービスに使用可能であるが、センサノード4,4a,4b,4dは使用できない。
言い換えれば、「PID001」のセンサノード4,4a,4dは、植物育成支援サービスと住居監視サービスのいずれにも使用可能であるが、消費電力測定サービスには使用できないことがわかる。また、「PID002」のセンサノード4bは植物育成支援サービスにのみ使用可能であり、「PID003」のセンサノード4c,4eは消費電力測定サービスにのみ使用可能であることがわかる。
このように、市場に流通しているセンサノード4,4a,4b,4c,4d,4eは、例えば、それぞれが備えるセンサ群44が決まっており、それによって使用できるサービスが限定される。そこで、センサネットワークシステム1では、サービスDB530を構築しておくことにより、機種コードでサービスDB530を検索すれば、当該機種コードで示される機種を使用することができるサービスの一覧を特定できる。また、サービスIDでサービスDB530を検索すれば、当該サービスIDで示されるサービスに使用可能な機種の一覧を特定できる。
サーバ5のオペレータは、センサノード4,4a,4b,4c,4d,4eの製造元等から提供されるスペック(性能)や、各サービスでの検証実験等に応じて、各サービスに使用することができる機種を市場に流通している製品の中から決定し、サーバ5の操作部54を操作することにより、サービスDB530を作成する。
図7は、ハードディスク53に構築される中継機DB531の構成例を示す図である。また、図8は、図7に示す中継機DB531におけるノードID欄と初期特性欄との関係を主に示す図である。
中継機DB531は、サーバ5に登録されている中継機(例えば、ゲートウェイ3,3a)ごとに1つのレコードが作成されるデータベースである。なお、図7および図8に示す例では、未だ、ゲートウェイ3aは登録されていない状態を示している。また、中継機DB531のレコードが作成される過程(新しい中継機を登録する処理)については後述する。
中継機DB531の各レコードには、ゲートウェイデバイスID欄と、グローバルIP欄と、設置位置欄とが設けられる。
中継機DB531の各レコードに設けられたゲートウェイデバイスID欄は、当該レコードに対応する中継機のゲートウェイデバイスIDを格納する領域である。図7に示す例では、ゲートウェイデバイスID欄には「01234」が格納されており、当該レコードがゲートウェイ3のレコードであり、ゲートウェイ3が中継機DB531に登録されていることを示している。
各グローバルIP欄は、対応するゲートウェイデバイスID欄に格納されているゲートウェイデバイスIDによって示される中継機に関連づけられているルータのグローバルIPを格納する領域である。図7に示す例では、ゲートウェイ3に対応するレコードのグローバルIP欄に「210.120.150.15」が格納されており、ゲートウェイ3とルータ15とが中継機DB531の共通のレコードに関連づけ(紐付け)られている。これにより、ゲートウェイ3はルータ15に接続されていることがわかる。
各設置位置欄は、対応するゲートウェイデバイスID欄に格納されているゲートウェイデバイスIDによって示される中継機の設置位置を示す情報を格納する領域である。本実施の形態では、先述のように、中継機の設置位置を示す情報として、当該中継機の設置位置の住所を用いる。図7に示す例では、設置位置欄には「大阪市北区・・・」という住所が格納されており、ゲートウェイ3の所在地がわかるようになっている。
ゲートウェイ3と、ゲートウェイ3に接続されるセンサノード4,4a,4b,4cとの間の通信(無線通信)は、比較的近距離間の通信であり、ゲートウェイ3およびゲートウェイ3に接続されるセンサノード4,4a,4b,4cは互いに近傍に配置される。そのため、ゲートウェイ3の設置位置は、ほぼセンサノード4,4a,4b,4cの設置位置とみなすことができる。すなわち、センサネットワークシステム1は、中継機(ゲートウェイ3,3a)の設置位置を取得することにより、センサノード4,4a,4b,4c,4d,4eの設置位置を情報(パラメータ)として記憶し、利用することができる。
これによって、サーバ5のCPU50は、例えば、設置位置に応じて複数のセンサノードをグループ分けし、グループ内のセンサノードの測定情報413を互いに比較して、各センサノードに関する評価を行う。
例えば、一般に、天候に関する測定情報413は互いに近傍に配置されたセンサノードにおいて近似した値になる傾向がある。したがって、センサノード4aとセンサノード4dとが比較的近距離の範囲に存在しているとすると、例えば、センサノード4,4aから得られた外気温の値と、センサノード4dから得られた外気温の値は比較的近似した値となるはずである。このような状況において、センサノード4の値が、他の2つのセンサノード4a,4dの値に比べて大きく異なる値となっていれば、CPU50は、センサノード4aの値を他の2つのセンサノード4,4dの値によって補正するとともに、センサノード4aを故障とみなしてユーザに警告する。
このように、センサノード4,4a,4b,4c,4d,4eの設置位置を取得することにより、センサネットワークシステム1(サーバ5)は、個々のセンサノードの状態を評価することができ、測定情報413をより正確に分析することが可能となる。先述の例において、例えば、センサノード4は、センサノード4aに比べて、使用期間が長い(後述の設置日時欄参照)。すなわち、センサノード4に経年変化が生じているものと判断できる。
一般に、センサノードは設置場所を自由に選択できないことも多く、屋外等の劣悪な環境に設置されることも珍しくない。したがって、センサネットワークシステム1に用いられるセンサノードは、他の装置や機器に比べて、経年変化を生じやすいという事情がある。
サーバ5のCPU50は、多数のセンサノードを分類し、測定情報413を比較することにより(統計的演算を行うことにより)、各センサノードの経年変化について評価でき、測定情報413を補正することができる。また、各センサノードの経年変化について評価することにより、例えば、センサノードの劣化特性や寿命等を知ることができ、測定情報413の分析に反映させるだけでなく、製品開発等にフィードバックすることもできる。また、各センサノードについての故障評価をすることにより、故障したセンサノードを容易に発見し、ユーザに通知することもできる。
詳細は後述するが、センサノード4,4a,4b,4c,4d,4eの設置位置を取得するに際して、センサネットワークシステム1は、ユーザに対して複雑な入力操作を要求することはなく、かつ、センサノード4,4a,4b,4c,4d,4eに高機能な入力装置を設ける必要もない。すなわち、簡易で単純な構成のセンサノード4,4a,4b,4c,4d,4eを採用しつつ、ユーザに負担をかけることなく、サービスの品質を向上させることができる。
さらに、中継機DB531の各レコードには、ノードID欄、機種コード欄、ユーザID欄、サービスID欄、設置日時欄、および、初期特性欄が設けられる。
中継機DB531の各レコードに設けられたノードID欄は、対応するゲートウェイデバイスID欄に格納されているゲートウェイデバイスIDによって示される中継機に関連づけられているセンサノードを示すノードIDを格納する領域である。1つの中継機には、複数のセンサノードが接続される場合があるため、中継機DB531の各レコードには、図7に示すように、複数のノードID欄が設けられる場合がある。図7に示す例では、ゲートウェイ3のレコードには、ノードID欄が4つ設けられており、4つのセンサノード4,4a,4b,4cが接続されており、それぞれがノードID「001」「002」「003」「004」というノードIDで識別されていることがわかる。
機種コード欄は、対応するノードID欄に格納されているノードIDによって示されるセンサノードの機種コードを格納する領域である。図7に示す例では、ノードID「001」が付与されたセンサノードには、機種コード「PID001」が関連づけられていることから、機種コード「PID001」で示される製品のセンサノードがノードID「001」としてゲートウェイ3に接続されていることがわかる。しかし、ノードID「002」が付与されたセンサノードについても機種コード「PID001」が格納されていることから、ノードID「001」が付与されたセンサノードがセンサノード4であるか、センサノード4aであるかは区別できない。
ユーザID欄は、対応するノードID欄に格納されているノードIDによって示されるセンサノードの現在のユーザを示すユーザIDを格納する領域である。センサノードのユーザとは、当該センサノードにより取得した測定情報413を閲覧したり、当該センサノードの設定情報414を書き換えることにより当該センサノードを操作したりする権限を有する者である。また、ユーザIDは、センサネットワークシステム1において、各ユーザに固有の識別子であり、サーバ5によって発行されるが詳細は後述する。
なお、1つのセンサノードが複数のユーザによって使用される場合もある。例えば、図7に示すノードID「001」に対応したユーザID欄には2つのユーザID「UID001」と「UID002」とが格納されており、ノードID「001」のユーザは二人であることがわかる。
また、ユーザは、センサノードに対する権限に応じてメインユーザ(例えば閲覧のみならず操作・設定変更も可能なユーザ)と、サブユーザ(例えば閲覧のみ可能なユーザ)とに区別されてもよい。その場合は、ユーザID欄をそれぞれの権限に対応した複数の領域に分割して、それぞれの権限を有するユーザのユーザIDを区別して格納するようにすればよい。
サービスID欄は、対応するノードID欄に格納されているノードIDによって示されるセンサノードが使用されているサービスを示すサービスIDが格納される領域である。図7に示す例では、ノードID「001」のセンサノードは、対応するサービスID欄にサービスID「SID002」が格納されていることから、現在、住居監視サービスに使用されていることがわかる。なお、1つのセンサノードを複数の異なるサービスに同時に兼用する場合には、当該サービスID欄に複数のサービスIDを格納すればよい。
設置日時欄は、対応するノードID欄に格納されているノードIDによって示されるセンサノードが設置された日時を格納する領域である。本実施の形態では、当該センサノードが中継機に接続された日時を用いる。これにより、センサネットワークシステム1は、稼働中の各センサノード4,4a,4b,4c,4d,4eの実際の使用期間(稼働時間)を知得できる。
初期特性欄は、対応するノードID欄に格納されているノードIDによって示されるセンサノードに固有の初期特性(当該センサノードが備えている各センサの初期特性)に関する情報を格納する領域である。詳細は後述するが、初期特性欄(特性値欄)に格納される情報は、各センサノード4,4a,4b,4c,4d,4eのそれぞれに格納されている初期特性情報412に基づいて格納される。
センサネットワークシステム1は、各センサノードに関する初期特性情報に基づいて、それぞれのセンサノードから受信した測定情報413をサーバ5が補正することにより、このような補正をセンサノードで行う場合に比べてセンサノードの負荷を抑制できる。
図7に示すように、ノードID「001」と「002」で示されるセンサノードは、いずれも機種コードが「PID001」であり同一の製品である。したがって、図8に示すように、ノードID「001」「002」に対応して設けられるセンサ種別欄(センサ群44)は同一である。しかし、それぞれのセンサの出荷時の特性値は固有の値であり、互いに異なっている。ノードID欄に対応して作成されるセンサ種別欄は、先述の初期特性情報412に応じて作成されもよいが、後述するノードDB533を機種コードで検索することによって作成されてもよい。
なお、ここに示す中継機DB531は、あくまでも例示であって、ここに示す情報以外の他の情報が格納されてもよい。例えば、各センサノードに関する電池交換日時やこれまでに使用されたサービス履歴、あるいは中継機の設置日時等の情報が中継機DB531に格納されてもよい。
図9は、ハードディスク53に構築されるユーザDB532の構成例を示す図である。 ユーザDB532は、サーバ5に登録されている一人一人のユーザごとに1つのレコードが作成されるデータベースである。ユーザDB532の各レコードには、ユーザID欄と、ゲートウェイデバイスID欄と、パスワード欄と、ログイン名欄と、ユーザ情報欄とが設けられている。
ユーザID欄は、ユーザに固有のユーザIDを格納する領域である。本実施の形態では、ユーザIDは新規のユーザを登録する際に、サーバ5によって他のユーザのユーザIDと重複しないように発行される。
ゲートウェイデバイスID欄は、対応するユーザID欄に格納されているユーザIDで示されるユーザが使用することができる中継機のゲートウェイデバイスIDを格納する領域である。
パスワード欄は、対応するユーザID欄に格納されているユーザIDで示されるユーザが、クライアント端末(携帯電話17,18およびコンピュータ19)からログインする際に使用するパスワードを格納する領域である。すなわち、サーバ5は、ユーザによって入力されたユーザIDを検索キーとしてユーザDB532を検索することにより、当該ユーザIDに関連づけられて格納されているパスワードを取得し、ユーザIDとともに当該ユーザによって入力されたパスワードと比較して、これらが一致した場合に、当該ユーザ(クライアント端末)のログインを許可する。
また、ユーザDB532の各レコードに設けられているログイン名欄は、対応するユーザID欄に格納されているユーザIDで示されるユーザが、各サービス内で使用する名称を格納する領域である。ログイン名は、いわばサービス内における各ユーザのペンネームに相当する。
さらに、ユーザ情報欄は、登録されているユーザに固有の様々なユーザ情報を格納する領域であり、本実施の形態では、図9に示すように、各ユーザの電子メールのメールアドレスが格納されている。
例えば、住居監視サービスにおいて、侵入者を検出した場合、直ちにユーザに通報すべきである。このような場合であっても、ユーザがサーバ5にログインしない限り、当該ユーザに対して通知できないとすると、ユーザの対応が遅れる危険性がある。
一方、ユーザは、サーバ5へのログインに比べれば、比較的頻繁に、自分宛の電子メールを確認するであろうと期待できる。特に、携帯電話17,18では、電子メールを受信した際には、イルミネーションやバイブレーションあるいは到着メロディ等でユーザに通知するため、より一層、ユーザによる受信確認までの時間を短縮することができる。
したがって、サーバ5のCPU50は、個々のユーザに対して緊急性の高いメッセージを提供すべき状況が生じた場合には、まず、当該状況を検出したセンサノードのユーザのユーザIDを中継機DB531から取得する。さらに、取得したユーザIDに応じてユーザDB532を参照することにより、当該ユーザのメールアドレスを取得し、当該緊急メッセージを含む電子メールを作成し、これを当該メールアドレス宛に送信するよう通信部56を制御する。
このように、センサネットワークシステム1は、緊急事態が発生した場合は、オペレータを介することなく、自動的に、電子メールでユーザに通知することができる。これにより、ユーザは緊急事態の発生を早期に確認することができるため、緊急事態に即応することが可能となる。なお、ユーザDB532におけるユーザ情報としては、電話番号や、緊急連絡先、ユーザの住所、年齢、性別、誕生日等の情報が格納されてもよい。
図10は、ハードディスク53に構築されるノードDB533の構成例を示す図である。ノードDB533は、センサノードの機種ごとに1つのレコードが作成されるデータベースである。ノードDB533の各レコードには、機種コード欄と、センサ種別欄と、6ヶ月欄と、1年欄と、2年欄とが設けられる。
機種コード欄は、対応するセンサノードの機種コードを格納する領域である。また、センサ種別欄は、対応する機種コードに格納されている機種コードで示されるセンサノードが備えるセンサの一覧を格納する領域である。すなわち、ノードDB533のセンサ種別欄をみれば、対応するセンサノードに、どのような種類のセンサが搭載されているかがわかる。
対応するセンサ種別欄に応じて設けられる6ヶ月欄、1年欄および2年欄は、対応するセンサ(センサノード)が使用された期間(6ヶ月、1年、2年)に応じた経年変化補正値を格納する領域である。経年変化補正値とは、センサノードが継続的に使用されたことにより、センサノードが備えるセンサの感度等が変化して、測定値が現実の値から乖離する現象を補正するための値である。
稼働中のセンサノードの使用期間は、図7に示す中継機DB531の設置日時欄と現在時刻とに応じて求めることができる。サーバ5は、このようにして求めた使用期間に応じて、ノードDB533の6ヶ月欄(または1年欄あるいは2年欄)を参照して、使用期間に応じた経年変化補正値を取得し、測定情報413を補正する。
このようにサーバ5は、各センサノードについての経年変化補正値に基づいて、センサノードから受信した測定情報413を補正する。これにより、経年変化によって測定情報413が現実の値から乖離した場合であっても、これを修正でき、測定情報413の信頼性を担保できる。
使用期間に応じた経年変化補正値は、センサの製造元から実験的に求められた予測値として提供されてもよいし、センサネットワークシステム1において、同じセンサノードをサーバ5が比較分析した結果として求められてもよい。なお、本実施の形態におけるノードDB533は、使用期間が2年以降の経年変化補正値を格納していないが、もちろん、これ以降の経年変化補正値を格納してもよい。
以上が、センサネットワークシステム1の構成および機能の説明である。次に、センサネットワークシステム1の設定方法について説明する。
図11は、中継機を接続する際の接続方法(接続設定方法)を示す流れ図である。以下では、ルータ16にゲートウェイ3aを接続する場合を例に、図11に示す各工程を説明する。
なお、図11に示す各工程が開始されるまでに、サーバ5およびルータ16はインターネット10に接続されており、サーバ5とルータ16との間のデータ通信は可能な状態となっているものとする。また、先述のように、ルータ16はグローバルIP「210.120.150.16」を付与されているものとする。
まず、宅内システム14のユーザは、ゲートウェイ3aの操作部32(電源ボタン)を操作して、ゲートウェイ3aの電源を投入する(ステップS11)。次に、ユーザは、図示しないケーブルの片端(プラグ)をゲートウェイ3aの宅内通信部34(ソケット)に挿入するとともに、当該ケーブルの他方端をルータ16側のソケットに挿入する。これにより、ルータ16とゲートウェイ3aとがケーブル接続される(ステップS12)。
ルータ16は、ケーブルがソケットに接続されたことを検出すると、当該ソケットに接続された機器(すなわちゲートウェイ3a)に対してローカルIPの割り当てを行い(ステップS13)、当該ケーブルを介して、当該ローカルIPをゲートウェイ3aに送信する。
ローカルIPを受信すると、ゲートウェイ3aは、表示部33のLEDを点灯させる(ステップS14)。ユーザは、このLEDの点灯を確認し、ルータ16にゲートウェイ3aが接続されたことを確認する。
LEDの点灯と並行して、ゲートウェイ3aのCPU30は、メモリ31からサーバアドレス311と中継機識別情報312とを読み出し、サーバアドレス311に含まれるサーバアドレス宛に、中継機識別情報312を送信するように、宅内通信部34を制御する。これに応じて、宅内通信部34は、当該サーバアドレス宛に、中継機識別情報312を送信する(ステップS15)。
ゲートウェイ3aのメモリ31に格納されている中継機識別情報312は、ゲートウェイ3aのゲートウェイデバイスIDであり、ここに示す例では、「56789」である。このようにして、ゲートウェイ3aは、ルータ16に接続されたときに、サーバ5に向けて、自動的に自機のゲートウェイデバイスID「56789」を送信する。
ゲートウェイ3aから送信された中継機識別情報312(ゲートウェイデバイスID)は、宅内ネットワーク12、ルータ16およびインターネット10を介して、サーバ5によって受信される(ステップS16)。
ゲートウェイデバイスIDを受信したサーバ5は、当該ゲートウェイデバイスIDを送信したゲートウェイ3aを中継機DB531に登録する(ステップS17)。
図12は、ゲートウェイ3aが登録されたときの中継機DB531の例を示す図である。ステップS17が実行されることにより、CPU50により中継機DB531に新しいレコード(図12において太枠で示すレコード)が作成されており、当該レコードのゲートウェイデバイスID欄に、ステップS15において受信したゲートウェイデバイスID「56789」が格納されている。このとき、ルータ16のグローバルIPも、当該レコードのグローバルIP欄に格納される。
これにより、中継機DB531にゲートウェイ3aが登録されるとともに、サーバ5におけるゲートウェイ3aと、ゲートウェイ3aが接続されているルータ16との関連づけが完了する。なお、この時点では、当該レコードの他の欄に格納されるべき情報は、いまだ格納されていない空欄状態である(すなわち、ゲートウェイ3aに関するレコードは未完成である)。
中継機DB531にゲートウェイ3aを登録したサーバ5は、登録の完了を示す完了通知をゲートウェイ3aに向けて送信する(ステップS18)。
サーバ5から送信された完了通知を受信すると、ゲートウェイ3aは、表示部33のLEDを点灯させる(ステップS19)。ユーザは、このLEDの点灯を確認することにより、ゲートウェイ3aが正常に登録されたことを確認し、ゲートウェイ3aの接続作業を終了する。
このように、センサネットワークシステム1では、ユーザが、ゲートウェイ3aの電源を投入した上で、ルータ16との間のケーブルを接続するだけで、あとは、システムが自動的にゲートウェイ3aのサーバ5への登録までの処理を完了する。すなわち、ユーザは、複雑な設定情報の入力操作等を要求されることなく、ゲートウェイ3aをセンサネットワークシステム1にセットすることができる。
なお、ルータ15,16に割り当てられるグローバルIPは、変更されることもあるが、そのような場合は、変更に応じて、中継機DB531を書き換えればよい。
また、ルータ16とゲートウェイ3aとの間でWifi等の無線通信が用いられる場合、ユーザは、両者の間にケーブルを接続する代わりに、ルータ16とゲートウェイ3aとにそれぞれ設けられるペアリングボタンを同時に操作する。これにより、ルータ16からゲートウェイ3aに対してローカルIPが発行され、以下、図11に示すステップS14ないしS19の処理が実行される。
また、他人によって使用されていたゲートウェイ3aを譲り受けて、ユーザが新たに自宅のルータ16にゲートウェイ3aを接続して使用するような場合には、すでにゲートウェイ3aが中継機DB531に登録され、過去に使用していた他人の情報が格納されている。このような場合、ユーザは、ステップS12においてケーブルを接続した後に、操作部32(例えば、初期化ボタンや工場出荷ボタン等)を操作して、中継機DB531を初期化するようにサーバ5に要求するように構成すればよい。この要求に対して、サーバ5はルータ16とゲートウェイ3aとの関連づけ以外の情報を中継機DB531から削除してもよいし、当該情報を個人利用不能な状態(過去ログとしてサーバ5においては利用できる状態)にしてもよい。
以上が、中継機の接続設定方法についての説明である。次に、センサノードの中継機への接続方法を説明する。以下では、ゲートウェイ3aにセンサノード4dを接続する場合を例に説明する。
図13は、中継機にセンサノードを接続する際の接続方法(接続設定方法)を示す流れ図である。なお、図13に示す各工程が開始される前に、ゲートウェイ3aはルータ16に接続されているものとする。
まず、ユーザは、センサノード4dのペアリングボタン420と、ゲートウェイ3aのペアリングボタン321とを押下する(ステップS21)。このユーザの操作によって、センサノード4dの通信部46が接続要求を送信する(ステップS22)とともに、ゲートウェイ3aは接続要求を待ち受ける状態に遷移する。
ステップS22でセンサノード4dから送信された接続要求を受信すると、ゲートウェイ3aのCPU30は、ノードIDを発行し、ノード識別情報313としてメモリ31に格納する。これにより、当該ノードIDで識別されるセンサノードがゲートウェイ3aに登録される(ステップS23)。本実施の形態に示す例では、ステップS23においてセンサノード4dに対して発行されるノードIDは「001」である。
センサノード4dを登録すると、ゲートウェイ3aは表示部33のLEDを点灯させる(ステップS24)。ユーザは、これを確認することにより、センサノード4dがゲートウェイ3aに登録されたことを確認する。
LEDの点灯と並行して、ゲートウェイ3aのCPU30は、メモリ31から中継機識別情報312とノード識別情報313とを読み出し、センサノード4dに向けて送信するようにセンサ通信部35を制御する。これに応じてセンサ通信部35は、中継機識別情報312とノード識別情報313とをセンサノード4dに向けて送信する(ステップS25)。
ステップS25において、ゲートウェイ3aのメモリ31から読み出される中継機識別情報312は、先述のように、ゲートウェイ3aのゲートウェイデバイスIDである「56789」である。また、ステップS25において読み出されるノード識別情報313は、新たに付与したノードIDであり、送信先のセンサノード4dに対して付与されたノードID「001」である。
ステップS25においてゲートウェイ3aから送信されたゲートウェイデバイスID「56789」とノードID「001」とを受信すると、センサノード4dのCPU40は、受信したゲートウェイデバイスIDを中継機識別情報415としてメモリ41に記憶させるとともに、受信したノードIDをノード識別情報416としてメモリ41に記憶させる。これにより、センサノード4dにおいて、ゲートウェイ3aの登録が完了する(ステップS26)。
ゲートウェイ3aを登録すると、センサノード4dのCPU40は、表示部43のLEDを点灯させる(ステップS27)。ユーザは、これを確認することにより、ゲートウェイ3aがセンサノード4dに登録されたことを確認する。
なお、ペアリングボタン321,420が押下されてから所定の時間が経過しても、センサノード4dの登録(ステップS23)およびゲートウェイ3aの登録(ステップS26)が完了しない場合は、タイムアウトとして、ゲートウェイ3aの表示部33やセンサノード4dの表示部43が警告を表示する。
LEDの点灯と並行して、センサノード4dのCPU40は、機種識別情報411と初期特性情報412とをメモリ41から読み出し、ゲートウェイ3aに向けて送信するように通信部46を制御する。これに応じて、通信部46が機種識別情報411と初期特性情報412とをゲートウェイ3aに向けて送信する(ステップS28)。
ステップS28において送信される機種識別情報411は、センサノード4dの機種コードであり、本実施の形態に示す例では「PID001」である。また、初期特性情報412は、センサノード4dが備えるセンサ群44に含まれる各センサの初期特性(センサノード4dに固有の情報)である。
センサノード4dから機種識別情報411と初期特性情報412とを受信すると、ゲートウェイ3aのCPU30は、これらの情報をセンサノード4dのノードID「001」とともに、サーバ5に送信するように宅内通信部34を制御する。これに応じて、宅内通信部34が、機種識別情報411、初期特性情報412およびノードID「001」(ノード識別情報416またはノード識別情報313)をサーバ5に向けて送信する。
ゲートウェイ3aから送信された機種識別情報411、初期特性情報412およびノードIDを受信すると、サーバ5のCPU50は、これらの情報の送信元として付加されているゲートウェイデバイスID(すなわちゲートウェイ3aのゲートウェイデバイスID「56789」)を検索キーとして、中継機DB531を検索する。
さらに、CPU50は、このようにして特定したレコード(ゲートウェイ3aのレコード)のノードID欄に受信したノードID「001」を格納するとともに、当該ノードID欄に対応した機種コード欄に機種識別情報411(すなわち「PID001」)を格納する。さらに、当該ノードID欄に対応した初期特性欄に、受信した初期特性情報412を格納するとともに、当該ノードID欄に対応した設置日時欄に現在の時刻を格納する。これにより、ゲートウェイ3aに新たに接続されたセンサノード4dが中継機DB531に登録され(ステップS29)、ゲートウェイ3aとセンサノード4dとの関連づけが完了する。
図14は、センサノード4dが登録されたときの中継機DB531の例を示す図である。図14において、太枠で示す部分が、新たに登録されたセンサノード4dに関する情報である。ただし、この時点では、センサノード4dのユーザと、センサノード4dを使用するサービスとが未だ決定されていないので、ユーザID欄とサービスID欄とは空欄である。
センサノード4dを中継機DB531に登録すると、サーバ5は、登録が完了したことを示す完了通知を送信する(ステップS30)。この完了通知をゲートウェイ3aを介して受信すると、センサノード4dのCPU40は、表示部43のLEDを点灯させる(ステップS31)。ユーザは、これを確認することにより、センサノード4dがサーバ5に登録されたことを確認し、センサノード4dの接続作業を終了する。
なお、他に新たに接続するセンサノード(センサノード4e)が存在する場合は、ステップS21からの処理を繰り返す。
図15は、センサノード4eが登録されたときの中継機DB531の例を示す図である。ステップS21からの処理がセンサノード4eについても実行されて、図15に示すように、センサノード4eもセンサノード4dと同様に中継機DB531に登録されている。
このように、センサネットワークシステム1では、ユーザはペアリングボタン321,420を操作するだけで、センサノードを中継機にデータ通信が可能な状態で接続することができる。
以上が、センサノードの接続設定方法の説明である。次に、クライアント端末によってサーバ5が提供するサービスの提供を受ける方法について説明する。
図16および図17は、センサネットワークシステム1によるサービス提供方法を示す流れ図である。以下では、クライアント端末としての携帯電話18によってサービスの提供を受ける場合を例に説明する。なお、図16および図17に示す各工程が開始されるまでに、図11および図13に示す各工程がすでに完了しており、ゲートウェイ3aやセンサノード4d,4eの接続は完了しているものとする。
携帯電話18のユーザは、センサネットワークシステム1からサービスの提供を受ける前に、ユーザとして登録される必要がある。したがって、まず、ユーザが新規にアクセスし、ユーザとしての登録を受ける場合について説明する。
携帯電話18のユーザは、携帯電話18の操作部171を操作してサーバ5にアクセスする(ステップS41)。ステップS41を実行するためには、サーバ5のアドレス(サーバアドレス90)が必要となる。携帯電話18はサーバ5によるサービスの提供を受けるための専用の機器ではないので、一般にサーバアドレス90は携帯電話18の出荷時等に予め記憶させておくことはできない。したがって、ユーザが、サービスの提供を受ける前に、何らかの方法で携帯電話18に取得させる必要がある。もちろん、操作部171を操作してサーバ5のアドレスを文字入力してサーバアドレス90を取得させてもよい。
本実施の形態では、サーバアドレス90は二次元コードとして表現された状態で、ゲートウェイ3aに同梱されている。そして、初めてサーバ5にアクセスするユーザは、携帯電話18の撮影部173により、当該二次元コードを撮影する。これによって携帯電話18は撮影画像情報177を取得し、取得した撮影画像情報177を携帯電話18のデータ変換部176が解析してサーバアドレス90に変換する。
このように、センサネットワークシステム1は、予め、ゲートウェイ3aに二次元コードで表現したサーバアドレスを同梱しておくことにより、携帯電話17,18のように撮影部173を備えたクライアント端末のユーザは、当該二次元コードを撮影するだけで、サーバアドレス90を取得させることができるので、サーバアドレスを文字入力する必要がない。したがって、クライアント端末の設定が簡素化されるとともに、誤入力も防止できるので、ユーザの設定時における負担が軽減される。
なお、本実施の形態では、サーバアドレスとゲートウェイデバイスIDとが1つの二次元コードとして表現されているため、当該二次元コードを撮影すると、サーバアドレスだけでなく、ゲートウェイデバイスIDも取得される。また、コンピュータ19のように、通常、デジタルカメラを備えていないクライアント端末を使用する場合には、文字列で表現された状態でゲートウェイ3aに同梱されているサーバアドレス(ゲートウェイデバイスID)を、ユーザが確認しながら文字入力する。
ステップS41により、携帯電話18からのアクセス要求を受けたサーバ5は、トップ画面を構成する表示情報510を作成して、携帯電話18に送信する。この表示情報510を受信した携帯電話18は、表示部172にトップ画面を表示させる(ステップS42)。
図18は、携帯電話18に表示されるトップ画面900の例を示す図である。ステップS42が実行されることにより、携帯電話18の表示部172に表示されるトップ画面900には、新規登録ボタン901と、ログインボタン902とがレイアウトされている。
新規登録ボタン901は、ユーザを新規に登録(クライアント端末の接続設定)する処理を開始するよう指示するためのボタンである。また、ログインボタン902は、すでにユーザとして登録されているユーザに対するログイン処理を開始するよう指示するためのボタンである。
トップ画面900を構成する表示情報510を送信した後、サーバ5は、当該携帯電話18からの指示を待つ状態となる(ステップS43)。
ここではユーザが新規に登録する場合について説明しているので、ステップS42が実行されることにより表示されるトップ画面900を確認したユーザは、新規登録ボタン901を操作する。これにより、新規登録ボタン901が操作されたことを示す情報が携帯電話18からサーバ5に向けて送信され、サーバ5はステップS43においてYesと判定するとともに、操作されたボタンの種別を判定するステップS44においてもYesと判定する。これにより、センサネットワークシステム1では、新規登録処理が開始される(ステップS45)。
図19は、新規登録処理の詳細を示す流れ図である。新規登録処理とは、ユーザ登録に必要な設定方法に関する処理である。
新規登録処理が開始されると、携帯電話18は、ゲートウェイ3aのゲートウェイデバイスIDをサーバ5に送信する(ステップS61)。本実施の形態では、先述のように、携帯電話18にサーバアドレスを入力する際に、ゲートウェイデバイスIDも入力されている。
ただし、未だゲートウェイデバイスIDが入力されていない場合(例えば二次元コードによる入力を行わないコンピュータ19などの場合)、ステップS61を実行する前にゲートウェイデバイスIDの入力が必要になる。また、ゲートウェイデバイスIDの送信は、新規登録ボタン901が操作されたことを示す情報とともに、すでにサーバ5に向けて送信されていてもよい。
携帯電話18から送信されたゲートウェイデバイスIDを受信すると、サーバ5は押下指示画面を構成する表示情報510を作成して、携帯電話18に送信する。この表示情報510を受信した携帯電話18は、表示部172に押下指示画面を表示する(ステップS62)。
なお、押下指示画面を構成する表示情報510を送信した後、サーバ5は、ゲートウェイ3aから承認情報を受信するか(ステップS65)、所定の時間が経過してタイムアウトとなるか(ステップS66)を監視する状態となる。
図20は、携帯電話18に表示される押下指示画面910の例を示す図である。押下指示画面910には、指示メッセージ911と、警告メッセージ912とが表示される。
指示メッセージ911は、携帯電話18のユーザに対して、ゲートウェイ3aの承認ボタン320を操作する必要があることを報知する文字列で構成されている。一般に、携帯電話18を操作して新規登録処理を行っているユーザは、携帯電話18に対して注意が向いているため、ゲートウェイ3aの承認ボタン320を操作することを失念しやすい。しかし、本実施の形態では、指示メッセージ911を、ユーザが注目しているクライアント端末(携帯電話18)に表示することにより、ユーザの操作ミスを防止できる。
また、警告メッセージ912は、承認ボタン320を操作して承認を受けることができるまでの残り時間(タイムアウトまでの時間)を報知する文字列で構成されている。警告メッセージ912を表示することにより、ユーザに承認ボタン320を操作するように、強力に促すことができる。
携帯電話18に表示された押下指示画面910を確認したユーザは、ゲートウェイ3aの承認ボタン320を押下する(ステップS63)。これにより、ゲートウェイ3aのCPU30が、メモリ31に格納されているサーバアドレス311と中継機識別情報312(自機のゲートウェイデバイスID)とを読み出して、当該中継機識別情報312をサーバ5に向けて送信するように宅内通信部34を制御する。これに応じて、宅内通信部34が、中継機識別情報312を承認情報としてサーバ5に向けて送信する(ステップS64)。
なお、ステップS63,S64の処理が行われず、ステップS65においてYesと判定される前に、タイムアウトとなった場合(ステップS66においてYes)、センサネットワークシステム1は、携帯電話18に対してエラー処理(ステップS67)を実行して、携帯電話18に対する処理を終了する。すなわち、所定の時間内にゲートウェイ3aの承認ボタン320を操作することができない者は、ユーザ登録することができないように構成されている。
承認情報を受信すると、サーバ5のCPU50は、承認情報に含まれるゲートウェイデバイスID(承認情報を送信した中継機を示す)と、ステップS61において携帯電話18から送信されたゲートウェイデバイスID(携帯電話18のユーザが使用を希望している中継機を示す)とを比較し、これが一致した場合にのみステップS65においてYesと判定する。
説明を省略したが、ステップS61において送信されたゲートウェイデバイスIDを受信したサーバ5は、当該ゲートウェイデバイスIDで示される中継機の、他者(携帯電話18以外のクライアント端末)からの登録要求を一時的にブロックする状態となる。すなわち、この間は、他のクライアント端末からの登録要求において、携帯電話18から送信されたゲートウェイデバイスIDと同一のゲートウェイデバイスIDを受信したとしても、当該他のクライアント端末に対しては登録処理を許可しない。これにより、例えば、不正に二次元コードを取得していた者が、たまたま、同時に(承認ボタン320が押下されるときに)、登録要求をしていても、誤って登録することはない。
ステップS65においてYesと判定すると、サーバ5のCPU50は、新たなユーザIDを発行し(ステップS68)、当該ユーザIDを格納する新たなレコードをユーザDB532に作成する。このとき、CPU50は、一致したゲートウェイデバイスIDを、当該レコードのゲートウェイデバイスID欄に格納し、ユーザ(ユーザID)と中継機(ゲートウェイデバイスID)との関連づけを行う。
図21は、図9に示したユーザDB532に新しいレコードが追加される例を示す図である。図21において太枠で示すレコードが、ステップS68が実行されることにより、ユーザDB532に新たに追加されたレコードである。
ここに示す例では、携帯電話18のユーザには、ユーザIDとして「UID004」が付与されている。また、このユーザIDに関連づけて、ゲートウェイ3aのゲートウェイデバイスID「56789」が格納されている。
ステップS68において新たなユーザIDを発行したサーバ5のCPU50は、入力画面を構成する表示情報510を作成し、携帯電話18に向けて送信するように通信部56を制御する。これに応じて、通信部56が、入力画面を構成する表示情報510を携帯電話18に送信し、これを受信した携帯電話18は、表示部172に入力画面を表示する(ステップS69)。
図22は、携帯電話18に表示される入力画面920の例を示す図である。入力画面920は、ユーザ登録に必要な情報の入力を促す画面である。なお、図22に示す例では、携帯電話18のユーザによって、各入力欄にすでに必要な情報が入力された状態を示している。
入力画面920には、ユーザID表示欄921、ログイン名入力欄922、パスワード入力欄923、メールアドレス入力欄924、設置位置入力欄925、参照ボタン926、GPSボタン927、中止ボタン928および送信ボタン929がレイアウトされている。
ユーザID表示欄921は、ステップS68においてサーバ5が発行したユーザIDを表示する領域である。この欄に表示されるユーザIDを確認することにより、ユーザは自身に付与されたユーザIDを確認できる。
ログイン名入力欄922は、ユーザがサービス内で自身を表す名称として使用することを希望する名称を入力する領域である。図22に示す例では、携帯電話18のユーザによって「山田太郎」というログイン名が入力されている。
パスワード入力欄923は、ログイン(後述)する際に使用するパスワードとして、ユーザが希望する文字列を入力する領域である。図22に示す例では、「PWORD004」という文字列がパスワードとして入力されている。なお、パスワード入力欄923に入力された文字は例えば「●」等に置き換えられて表示されてもよい。また、確認のために、二度、入力するように構成してもよい。
メールアドレス入力欄924は、ユーザの電子メールの宛先(メールアドレス)を入力する領域である。図22に示す例では、「Yamada@bbb.jp」というメールアドレスが入力されている。
設置位置入力欄925は、ステップS61において送信したゲートウェイデバイスIDによって特定される中継機の設置位置(住所)を入力する領域である。図22に示す例では、「大阪市中央区・・・」という住所が入力されている。
参照ボタン926は、設置位置入力欄925に郵便番号を入力した際に、当該郵便番号を住所に変換するよう指示するボタンである。
GPSボタン927は、GPS部174にクライアント端末位置情報178を取得させ、これをデータ変換部176に中継機位置情報92に変換させて、設置位置入力欄925に入力するように指示するボタンである。
すでに説明したように、センサネットワークシステム1では、携帯電話18とゲートウェイ3aとを関連づけるときに、ゲートウェイ3aの承認ボタン320を操作する必要がある(ステップS63)。すなわち、このとき、ユーザは携帯電話18を携帯した状態で、ゲートウェイ3aを操作しており、携帯電話18の位置はゲートウェイ3aの近傍であるとみなせる。したがって、携帯電話18のGPS部174によって取得した携帯電話18の位置をゲートウェイ3aの設置位置として入力することができ、ユーザ操作を軽減できる。
中止ボタン928は、携帯電話18(センサネットワークシステム1)に対して、新規登録処理を中止することを指示するためのボタンである。また、送信ボタン929は、入力画面920に対して入力された情報をサーバ5に向けて送信するように携帯電話18に指示するためのボタンである。
なお、当該中継機の設置位置が他のユーザ等によってすでに入力され中継機DB531に格納されている場合は、その情報が設置位置入力欄925に入力状態で表示される。ただし、すでに設置位置が中継機DB531に格納されている場合は、設置位置入力欄925、参照ボタン926およびGPSボタン927を入力画面920に表示させないようにしてもよい。
携帯電話18に表示された入力画面920に対する入力が完了すると、ユーザは入力画面920に設けられている送信ボタン929を操作する。これにより、携帯電話18は、必要な入力が完了したと判定し(ステップS70においてYes)、入力画面920に対して入力された情報をサーバ5に向けて送信する(ステップS71)。
ステップS71において送信された情報を受信したサーバ5のCPU50は、これらの情報をユーザDB532および中継機DB531に登録する(ステップS72)。
図23は、図21に示したユーザDB532が更新された状態を例示する図である。また、図24は、図15に示した中継機DB531が更新された状態を例示する図である。図23および図24において太枠で示す部分が、ステップS72において登録(格納)された情報である。図23および図24から明らかなように、図22に示した入力画面920に対して入力されていた情報が、それぞれ格納されている。
ステップS72の処理と並行して、サーバ5のCPU50は、完了画面を構成する表示情報510を作成して、携帯電話18に向けて送信するように、通信部56を制御する。これに応じて、通信部56が当該表示情報510を携帯電話18に向けて送信し、これを受信した携帯電話18は完了画面を表示部172に表示する(ステップS73)。
図25は、携帯電話18に表示される完了画面930の例を示す図である。完了画面930は、ユーザ登録が正常に実行されたことを通知するとともに、登録された情報が正しいか再度確認するための画面である。
完了画面930には、登録情報表示欄931、修正ボタン932および戻るボタン933がレイアウトされている。
登録情報表示欄931は、中継機DB531およびユーザDB532に登録された情報が表示される領域であり、ユーザはこれを視認することにより、正しい情報が登録されたか否かを確認することができる。なお、図25に示す例では、パスワードは登録情報表示欄931に表示しないようにしているが、確認のため表示するように構成してもよい。
修正ボタン932は、登録された情報が正しくなかった場合に、適宜、修正を指示するために操作するボタンである。詳細な説明は省略するが、修正ボタン932が操作されると、センサネットワークシステム1は、ステップS69に戻って処理を繰り返す。
戻るボタン933は、新規登録処理を終了して、通常の処理に復帰するために操作されるボタンである。詳細な説明は省略するが、戻るボタン933が操作されるまでは、携帯電話18は完了画面930を表示しつづける。そして、戻るボタン933が操作されたときに、センサネットワークシステム1は、新規登録処理を終了して、図16に示す処理に戻る。
なお、完了画面930が表示されている状態で所定の操作をすることにより、取得されたサーバアドレス90や、ユーザID、パスワード等を携帯電話18に保存することが好ましい。これにより、以後は、二次元コードを撮影したり、ユーザIDやパスワードをいちいち入力する手間を省略することができる。
ステップS45に示す新規登録処理が終了すると、センサネットワークシステム1は、図17に示すステップS51を実行して選択画面を携帯電話18に表示するが、これ以降の処理は、ユーザとしての登録を受ける処理ではないので、別途、後述する。
次に、すでに登録されているユーザが携帯電話18を操作して、サーバ5にアクセスし、サービスの提供等を受ける方法について説明する。
携帯電話18のユーザは、ブックマーク等に予め保存しておいたサーバアドレス90を指定して、サーバ5にアクセスする(ステップS41)。これにより、サーバ5がトップ画面900を構成する表示情報510を携帯電話18に送信し、携帯電話18に図18に示すトップ画面900が表示される(ステップS42)。
携帯電話18のユーザは、すでに登録されているので、トップ画面900において、新規登録ボタン901を操作することはなく、ログインボタン902を操作する。トップ画面900においてログインボタン902が操作されると、ステップS43においてYesと判定されるとともに、ステップS44においてNoと判定される。
したがって、サーバ5のCPU50は、ログイン画面を構成する表示情報510を作成して、携帯電話18に向けて送信するように、通信部56を制御する。これに応じて、通信部56が当該表示情報510を携帯電話18に向けて送信し、これを受信した携帯電話18はログイン画面を表示部172に表示する(ステップS46)。
図26は、携帯電話18に表示されるログイン画面940の例を示す図である。ログイン画面940は、ユーザがサーバ5による認証をうけるために、ユーザIDとパスワードとを入力する画面である。
ログイン画面940には、ユーザID入力欄941、パスワード入力欄942、中止ボタン943およびログインボタン944がレイアウトされている。
ユーザID入力欄941およびパスワード入力欄942は、ユーザIDとパスワードとをそれぞれ入力するための領域である。図26に示す例では、以前に、入力された情報に基づいて、ユーザID「UID004」とパスワード「PWORD004」とが入力表示されている。ただし、パスワードについては、「●」等に置き換えて表示することが好ましい。
中止ボタン943は、ログインを中止して、処理を終了することを携帯電話18に指示するためのボタンである。したがって、詳細は省略するが、中止ボタン943が操作されると、携帯電話18はセンサネットワークシステム1に関する処理を終了する。
ログインボタン944は、ログイン画面940に対して入力された情報(ユーザIDおよびパスワード)を、サーバ5に送信して、認証を受けることを指示するためのボタンである。
ステップS46が実行されてログイン画面940が表示されている状態で、ユーザIDとパスワードの入力が完了すると、ユーザは、ログインボタン944を押下する。これにより、携帯電話18は、ステップS47においてログイン画面940に対する入力が完了したと判定し、ログイン画面に対して入力された情報をサーバ5に送信する(ステップS48)。
ステップS48において送信された情報を受信したサーバ5は、当該情報に含まれるユーザIDを検索キーとして、ユーザDB532を検索し、当該ユーザIDに関連づけられているパスワードを取得する。さらに、ユーザDB532から取得したパスワードと、受信した情報に含まれるパスワードとを比較して、認証に成功したか否かを判定する(ステップS49)。
比較したパスワードが一致しなかった場合は(ステップS49においてNo)、センサネットワークシステム1は、ステップS46に戻って処理を繰り返す。すなわち、再び、ログイン画面940を携帯電話18に表示させて、再度、正しいユーザIDとパスワードとを入力するように、ユーザに促す。
一方、比較したパスワードが一致した場合は(ステップS49においてYes)、サーバ5のCPU50は、選択画面を構成する表示情報510を作成して、携帯電話18に向けて送信するように、通信部56を制御する。これに応じて、通信部56が当該表示情報510を携帯電話18に向けて送信し、これを受信した携帯電話18は選択画面を表示部172に表示する(ステップS51)。
図27は、携帯電話18に表示される選択画面950の例を示す図である。ステップS51が実行されることにより、携帯電話18の表示部172に表示される選択画面950には、サービス一覧ボタン951、中継機追加ボタン952およびログアウトボタン953がレイアウトされている。
サービス一覧ボタン951は、センサネットワークシステム1が提供するサービスの中から、ログイン中のユーザが利用することのできるサービスを一覧表示するように指示するためのボタンである。
中継機追加ボタン952は、ログイン中のユーザが新しい中継機(ゲートウェイ)を利用できるように、追加するよう指示するためのボタンである。ユーザは登録の際に、少なくも1つの中継機(ここに示す例ではゲートウェイ3a)を利用できるように、ユーザDB532において関連づけがされる。
ここで、例えば、宅内ネットワーク12に新しいゲートウェイが接続されたとすると、すでに登録されているユーザも、新しいゲートウェイを使用できるように設定する必要がある。中継機追加ボタン952は、このような場合にユーザが操作するボタンである。
ログアウトボタン953は、ログイン中のユーザがサービスを終了したいと望む場合に、その旨を指示するためのボタンである。
ステップS51が実行されて選択画面950が表示されている状態で、ログアウトボタン953が押下されると、携帯電話18はステップS52においてYesと判定し、ログアウト処理を実行して(ステップS53)、センサネットワークシステム1に関する処理を終了する。
また、選択画面950が表示されている状態で、中継機追加ボタン952が押下されると、携帯電話18はステップS54においてYesと判定し、中継機追加処理を実行する(ステップS55)。
図28は、中継機追加処理の詳細を示す流れ図である。
中継機追加処理が開始されると、サーバ5は、入力画面を構成する表示情報510を作成して、携帯電話18に送信する。この表示情報510を受信した携帯電話18は、表示部172に入力画面を表示する(ステップS81)。
図29は、携帯電話18に表示される入力画面960の例を示す図である。ステップS81が実行されることにより表示される入力画面960は、新しく追加する中継機のゲートウェイデバイスIDを入力するための画面である。
入力画面960には、ゲートウェイデバイスID入力欄961、読み取りボタン962、中止ボタン963および送信ボタン964がレイアウトされている。
ゲートウェイデバイスID入力欄961は、新しく追加しようとする中継機のゲートウェイデバイスIDを入力する領域である。
読み取りボタン962は、ゲートウェイデバイスID入力欄961に入力するゲートウェイデバイスIDを、中継機に同梱された二次元コードを撮影部173が撮影することにより取得するように指示するためのボタンである。
中止ボタン963は、中継機追加処理の中止を指示するためのボタンである。詳細は省略するが、入力画面960において中止ボタン963が操作された場合、携帯電話18は、中継機追加処理を中止する。
送信ボタン964は、入力画面960に対して入力された情報(すなわちゲートウェイデバイスID入力欄961に入力されたゲートウェイデバイスID)を、サーバ5に送信するよう指示するためのボタンである。
入力画面960が表示されている状態で、送信ボタン964が操作されると、携帯電話18は、ステップS82においてYesと判定し、入力画面960に対して入力された情報(新しい中継機のゲートウェイデバイスID)をサーバ5に送信する(ステップS83)。
携帯電話18から送信されたゲートウェイデバイスIDを受信すると、サーバ5は押下指示画面910(図20参照)を構成する表示情報510を作成して、携帯電話18に送信する。この表示情報510を受信した携帯電話18は、表示部172に押下指示画面910を表示する(ステップS84)。
なお、ステップS84ないしS89は、図19において説明したステップS62ないしS67と同様の処理であるため説明を省略する。
ステップS87においてYesと判定すると、サーバ5のCPU50は、ログイン中のユーザのユーザID(ログイン時に入力されたユーザID)を検索キーとして、ユーザDB532を検索し、当該ユーザIDに対応するゲートウェイデバイスID欄に、ステップS83において送信されたゲートウェイデバイスID(新しく追加されたゲートウェイのゲートウェイデバイスID)を格納することにより、当該ゲートウェイを登録する(ステップS90)。
ステップS90が実行され、携帯電話18のユーザと新しい中継機とがユーザDB532において関連づけられると、当該ユーザが利用することのできる中継機として、当該新しい中継機が追加されたことになる。
ステップS90の処理と並行して、サーバ5は、入力画面を構成する表示情報510を作成して、携帯電話18に送信する。この表示情報510を受信した携帯電話18は、表示部172に入力画面を表示する(ステップS91)。
図30は、携帯電話18に表示される入力画面970の例を示す図である。ステップS91が実行されることにより表示される入力画面970は、新しく追加する中継機の設置位置を入力するための画面である。
入力画面970には、設置位置入力欄971、参照ボタン972、GPSボタン973、中止ボタン974および送信ボタン975がレイアウトされている。
設置位置入力欄971は、新しく追加しようとする中継機の設置位置を示す住所を入力する領域である。図30に示す例では、「大阪市中央区・・・」という住所が入力されている。新しく追加される中継機は携帯電話18のユーザにおいて追加される機器であるから、宅内システム14を構成する場合がほとんどであり、ゲートウェイ3aと同じ住所(設置位置)となる場合が多い。
参照ボタン972は、設置位置入力欄971に郵便番号を入力した際に、当該郵便番号を住所に変換するよう指示するボタンである。
GPSボタン973は、GPS部174にクライアント端末位置情報178を取得させ、これをデータ変換部176に中継機位置情報92に変換させて、設置位置入力欄971に入力するように指示するボタンである。
中止ボタン974は、中継機追加処理の中止を指示するためのボタンである。詳細な説明は省略するが、入力画面970において中止ボタン974が操作された場合、携帯電話18は、中継機追加処理を中止する。
送信ボタン975は、入力画面970に対して入力された情報(すなわち設置位置入力欄971に入力された中継機の設置位置)を、サーバ5に送信するよう指示するためのボタンである。
入力画面970が表示されている状態で、送信ボタン975が操作されると、携帯電話18は、ステップS92においてYesと判定し、入力画面970に対して入力された情報(新しい中継機の設置位置)をサーバ5に送信する(ステップS93)。
ステップS93において携帯電話18から送信された情報を受信すると、サーバ5は、ステップS83において送信されたゲートウェイデバイスIDを検索キーとして、中継機DB531を検索し、当該ゲートウェイデバイスIDに対応する設置位置欄に、受信した設置位置を格納することにより、登録する(ステップS94)。
ステップS94を実行すると、センサネットワークシステム1は、中継機追加処理を終了して、図17に示す処理に戻り、再び、ステップS51を実行する。
また、ステップS51が実行されることにより表示された選択画面950が携帯電話18に表示されている状態で、サービス一覧ボタン951が押下されると、携帯電話18はステップS56においてYesと判定し、サービス提供処理を実行する(ステップS57)。
サービス提供処理が開始されると、ユーザによって終了が指示されるまで、サービス提供処理が継続される。一方で、サービス提供処理の実行中に、ユーザが終了を指示すると、ステップS58においてYesと判定され、ログアウト処理が実行されることにより(ステップS59)、携帯電話18はセンサネットワークシステム1に関する処理を終了する。
図31は、サービス提供処理において携帯電話18に表示されるサービス一覧画面980の例を示す図である。サービス一覧画面980は、提供可能なサービスを、ユーザに選択させるために表示される画面である。
サービス一覧画面980には、複数の選択ボタン981,982,983と、終了ボタン984とがレイアウトされている。これらの選択ボタン981,982,983には、それぞれサービスIDが関連づけられており、関連づけられたサービスIDで示されるサービス名称が表示される。
サービス一覧画面980に表示されるサービス名称は、次のようにして決定することができる。まず、サーバ5のCPU50は、ログイン中のユーザのユーザIDを検索キーとして、ユーザDB532を検索することにより、当該ユーザに関連づけられている中継機のゲートウェイデバイスIDを取得する(複数の場合もありうる)。
次に、取得したゲートウェイデバイスIDを検索キーとして、中継機DB531を検索することにより、当該中継機に接続されているセンサノードの機種コードを取得する。ただし、このとき、各センサノードに関連づけられているユーザIDを確認することにより、当該ユーザが使用権限を有することがあり得ないセンサノードの機種コードは取得しない。例えば、他のユーザによって使用されており、かつ、複数のユーザによって使用することが禁止されているセンサノードの機種コードは取得しない。一方で、使用権限を有するユーザが未定のセンサノードの機種コードは取得する。
このようにして取得した機種コードをさらに検索キーとして、サービスDB530を検索することにより、当該機種コードに関連づけられているサービス名称を取得し、これをサービス一覧画面980に表示する。
したがって、センサネットワークシステム1が提供しているサービスであっても、ユーザが使用している中継機に接続されているいずれのセンサノードを使用しても提供を受けることができないようなサービスについては、その名称がサービス一覧画面980に表示されることはない。ただし、このようなサービスの名称であっても、例えば、選択不可な状態で表示だけはするように構成してもよい。
サービス一覧画面980でいずれかの選択ボタン981,982,983が操作されると、携帯電話18には、操作された選択ボタン981,982,983のそれぞれに応じたサービスの初期画面を表示する。なお、サービス一覧画面980において終了ボタン984が操作されると、先述のように、ステップS59が実行され、ログアウト処理が実行される。
図32は、植物育成支援サービスの初期画面990の例を示す図である。初期画面990は、ユーザがこれから使用(操作や閲覧)するセンサノードを選択させるために表示される画面である。したがって、初期画面990には、ログイン中のユーザによって使用することのできるセンサノードのみの一覧が表示される。逆に言えば、使用権限が与えられることのないセンサノードは初期画面990に表示されない。ただし、このようなセンサノードであっても、選択不可の状態で表示のみされてもよい。
図32に示す例では、初期画面990には、センサノード4dのみ表示されている。携帯電話18のユーザに関連づけられたゲートウェイ3aには図1に示すようにセンサノード4eも接続されているが、センサノード4eは植物育成支援サービスに使用することができない(図6参照)ので、初期画面990には表示されていない。
また、この時点で、センサノード4dの使用権限を有するユーザは決定されていないので、「未登録」と表示されている。
初期画面990において、当該ユーザのログイン名称に対応付けて表示されていないセンサノード(他人のログイン名称に対応付けられているか、または、未登録のセンサノード)が、当該ユーザによって指定されると、当該ユーザのユーザIDが、中継機DB351における当該センサノードのユーザID欄に格納され、当該ユーザが使用権限を有するユーザとして登録される。
なお、初期画面990には、終了ボタン991が設けられており、これが操作されると、センサネットワークシステム1は、現在提供中のサービス(ここに示す例では植物育成支援サービス)を終了して、サービス一覧画面980を表示する状態に遷移する。
図33は、図32に示す初期画面990において未登録のセンサノード4dが選択されたために更新された中継機DB531を例示する図である。図33において太枠で示す部分が、更新された箇所である(図24参照)。
図33に示すように、センサノード4dを選択したのはユーザIDが「UID004」のユーザであるため、センサノード4d(機種コード「PID001」のセンサノード)のユーザID欄に「UID004」が新たに格納されている。すなわち、センサノード4dと、その使用者としてのユーザとが中継機DB531において関連づけられた状態となる。
また、初期画面990は植物育成支援サービスに関する画面であるため、サービスID欄には、植物育成支援サービスのサービスID「SID001」が格納されている。これにより、以後、センサノード4dは、ユーザID「UID004」のユーザ(ログイン名「山田太郎」)によって、植物支援サービスに使用されていることがわかる。
図34は、中継機DB531が更新されたことによって変更された初期画面990を例示する図である。図34に示すように、センサノード4dの使用者として、ユーザID「UID004」のユーザのログイン名「山田太郎」が表示されるように変更されている(図33参照)。図34に示す初期画面990は、当該ユーザがログイン中に表示している画面であるため、使用者が当該ユーザに変更されてもセンサノード4dが表示されている。しかし、例えば、センサノード4dの使用者が当該ユーザに限定される場合には、センサノード4dの使用者が「UID004」のユーザに決定されたことにより、他のユーザの初期画面990からセンサノード4dに関する表示が削除される。
図34に示される初期画面990において、当該ユーザがセンサノード4dを選択すると、センサノード4dのセンサ画面が表示される。
図35は、携帯電話18に表示されるセンサ画面992の例を示す図である。センサ画面992には、センサノード4dから得られた測定情報413をサーバ5が初期特性情報に応じて補正演算した結果が表示される。また、測定情報413を解析・分析した結果も表示される。さらに、センサ画面992には、センサノード4dに関する評価(警告等)も表示される。
センサ画面992には、さらに、ノード設定ボタン993、解除ボタン994および閲覧終了ボタン995がレイアウトされている。
ノード設定ボタン993とは、センサノード4dの動作パラメータである設定情報414を変更して、様々な設定変更を行う際に操作されるボタンである。詳細な説明は省略するが、ノード設定ボタン993が操作されると、センサノード4dにおいて設定変更可能なパラメータの一覧と、その変更値の入力欄とが表示され、入力された値がサーバ5を介してセンサノード4dに送信されて、メモリ41に格納されている設定情報414が書き換えられる。
解除ボタン994は、ユーザとセンサノードとの関連づけを解除するように指示するためのボタンである。解除ボタン994が操作されると、ユーザID「UID004」のユーザとの間の関連づけが解除され、センサノード4dは使用者のいない「未登録」状態に戻る。
閲覧終了ボタン995は、センサノード4dに関する閲覧を終了するように指示するためのボタンである。閲覧終了ボタン995が操作されると、携帯電話18の画面がセンサ画面992から初期画面990に変化する。
以上のように、本実施の形態におけるセンサネットワークシステム1は、インターネット10に接続されるサーバ5と、ユーザの操作に応じてサーバ5に向けて承認情報を送信する複数のゲートウェイ3,3aと、測定情報413を取得するセンサ群44を備えるとともに、それぞれが複数のゲートウェイ3,3aのいずれかにデータ通信可能な状態で接続される複数のセンサノード4,4a,4b,4c,4d,4eと、複数のゲートウェイ3,3aにデータ通信可能な状態で接続されているセンサノード4,4a,4b,4c,4d,4eに関する情報を表示する携帯電話17,18およびコンピュータ19とを備え、携帯電話17,18およびコンピュータ19は、ユーザの操作に応じて複数のゲートウェイ3,3aを個々に識別するためのゲートウェイデバイスIDをサーバ5に向けて送信し、サーバ5は、携帯電話17,18およびコンピュータ19からゲートウェイデバイスIDを受信したときに、当該受信したゲートウェイデバイスIDによって識別されるゲートウェイ3,3aから承認情報を受信した場合にのみ、当該受信したゲートウェイデバイスIDを送信した携帯電話17,18およびコンピュータ19と当該ゲートウェイ3,3aとの関連づけを行うことにより、クライアント端末(携帯電話17,18およびコンピュータ19)および中継機(ゲートウェイ3,3a)を両方操作することができるユーザであれば、容易に承認を受けることができる。
また、ゲートウェイ3,3aは、クライアント端末の承認を求める際にユーザによって操作される承認ボタン320を備え、当該承認ボタン320のユーザによる操作に応じて、承認情報をサーバ5に向けて送信することにより、承認ボタン320を操作するだけで、承認情報をサーバ5に送信できるので、承認情報として必要な情報をいちいち入力する手間を省くことができる。したがって、設定が容易になる。
また、ゲートウェイ3,3aがユーザへの引き渡し前にサーバ5のアドレスを予め記憶しておくことにより、例えば、自機をサーバ5に登録する場合やクライアント端末に対する承認情報をサーバ5に向けて送信させる場合においても、ゲートウェイ3,3aに対してユーザによるサーバ5のアドレスの入力が不要となる。
ゲートウェイ3,3aには、自機のゲートウェイデバイスIDが二次元コードとして同梱されており、携帯電話17,18が、当該二次元コードを読み取ることによってゲートウェイデバイスIDを取得することにより、携帯電話17,18にゲートウェイデバイスIDを簡単に入力できるため、設定が容易になる。
ゲートウェイ3,3aには、サーバ5のアドレスが二次元コードとして同梱されており、携帯電話17,18が、当該二次元コードを読み取ることによってサーバ5のアドレスを取得することにより、携帯電話17,18にサーバのアドレスを簡単に入力できるため、設定が容易になる。
サーバ5が、ゲートウェイ3,3aの設置位置を示す中継機位置情報92を取得することにより、ゲートウェイ3,3aに接続されているセンサノード4,4a,4b,4c,4d,4eのおおよその設置位置を知得できる。したがって、膨大な数のセンサノード4,4a,4b,4c,4d,4eの存在位置をいちいち入力しなくても、センサノード4,4a,4b,4c,4d,4eの存在位置に応じた分析を行うことができる。
携帯電話17,18およびコンピュータ19が、関連づけられたゲートウェイ3,3aの設置位置を示す中継機位置情報92を取得し、サーバ5に送信することができる。住所等の中継機位置情報92の入力は比較的煩雑な操作であるが、通常、クライアント端末はゲートウェイ3,3aに比べて操作性のよい入力装置を備えている。したがって、ゲートウェイ3,3aにおいて中継機位置情報92を入力する場合に比べて入力が容易になる。
携帯電話17,18が、GPS部174により取得されたクライアント端末位置情報178を、クライアント端末と関連づけられたゲートウェイ3,3aの設置位置を示す中継機位置情報92として取得することにより、住所等の煩雑な情報を入力する必要がなくなる。
また、個々のユーザが所有する機器として既に広く流通している携帯電話17,18をクライアント端末とすることにより、操作に慣れた機器でユーザはセンサネットワークシステム1を利用できる。
複数のセンサノード4,4a,4b,4c,4d,4eに関する初期特性情報412に基づいて、複数のセンサノード4,4a,4b,4c,4d,4eから受信した測定情報413を補正することにより、センサノード4,4a,4b,4c,4d,4eの負荷を抑制できる。また、後に、補正演算の内容を変更する場合においても、膨大な数のセンサノード4,4a,4b,4c,4d,4eについてのファームウェアの更新をする必要がなく、サーバ5側だけで対応できる。
また、複数のセンサノード4,4a,4b,4c,4d,4eは、メモリ41に記憶された初期特性情報412をサーバ5に向けて送信することができ、サーバ5が効率よく、初期特性情報412を収集することができる。
また、サーバ5が複数のセンサノード4,4a,4b,4c,4d,4eから得られた測定情報413を比較して、各センサノード4,4a,4b,4c,4d,4eに関する評価を行うことにより、各センサノード4,4a,4b,4c,4d,4eの状態をより詳細に知得できる。
また、サーバ5による各センサノード4,4a,4b,4c,4d,4eに関する評価は、各センサノード4,4a,4b,4c,4d,4eについての経年変化を含むことをにより、例えば、センサノードの劣化傾向や寿命等を知ることができる。
また、サーバ5が、各センサノード4,4a,4b,4c,4d,4eについての経年変化に基づいて、前記複数のセンサノード4,4a,4b,4c,4d,4eから受信した測定情報413を補正することにより、測定情報413の信頼性を担保できる。
また、サーバ5による各センサノード4,4a,4b,4c,4d,4eに関する評価は、各センサノード4,4a,4b,4c,4d,4eについての故障評価を含むことにより、故障したセンサノードを容易に発見し、ユーザに通知できる。
<2. 変形例>
以上、本発明の実施の形態について説明してきたが、本発明は上記実施の形態に限定されるものではなく様々な変形が可能である。
例えば、
また、上記実施の形態では詳細な説明を省略したが、サーバとセンサノードとの間で送受信される情報に関しては、発信された情報を必ずしも全て相手先まで送信する必要はない。例えば、サーバ5から発信された情報について、ゲートウェイ3がヘッダ部等を解析し、センサノード4,4a,4b,4cに向けて送信すべき情報か否か(あるいは、冗長部分の削除や情報圧縮等)の判断をしてもよい。すなわち、ゲートウェイ3がサーバ5とセンサノード4,4a,4b,4cとの間のデータ通信に関して情報の取捨選択を実行する機能を有していてもよい。
また、ユーザIDはサーバ5が発行すると説明したが、ユーザが希望するユーザIDを入力画面920に対して入力し、他のユーザと重複していない場合にサーバ5が当該ユーザIDの使用を許可するように構成してもよい。また、パスワードもユーザIDと同様にサーバ5が発行するように構成してもよい。
また、センサノード4,4a,4b,4c,4d,4eが搭載する外部から制御可能なハードウェイはセンサ群44に限定されるものではなく、ブザーやアクチュエータ等であってもよい。
また、上記実施の形態では、データ変換部176は携帯電話17のCPUがプログラムに従って動作することによりソフトウェア的に実現される機能ブロックであると説明したが、このような機能の一部または全部を専用の論理回路で実現してもよい。
また、上記実施の形態に示した各工程はあくまでも例示であって、同様の効果を得ることができるならば、各工程の内容または順序が変更されてもよい。