(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0017】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
【0018】
図1は、本発明の実施形態におけるシステム構成図である。
【0019】
ネットワーク100上にサーバ101、無線LANアクセスポイント102が接続されている。
【0020】
無線LANアクセスポイント102は、スマートフォン201と無線で接続されている。スマートフォン201は、センサと通信可能な情報処理装置の適用例である。また、複数のセンサと通信可能な情報処理装置の適用例である。
【0021】
スマートフォン201は、Bluetooth300でセンサデバイス(デバイス、センサとも称する)301と接続することができる。
【0022】
また、スマートフォン201はスマートフォン201に限らなくてよく、タブレット等でもよい。スマートフォン201は、イベントを出力する出力手段の適用例である。
【0023】
センサデバイス301とは、光を検知可能な光センサや音を検知可能な音センサや振動センサ等を備えているセンサのことを言う。
【0024】
本発明では、センサデバイス301のデータを利用するシステムなのでセンサデバイス301のデータをスマートフォン201が受信してサーバに送信する。
スマートフォン201を通してサーバへ送信する理由としては、センサデバイス301は通常、値段面や大きさバッテリーの持ちの良さなどの制約で、ネットワークI/Fや3G/LTE(電話回線)のI/Fを持っていないからである。
【0025】
本発明のシステムは、例えば、農家のビニールハウスの中にセンサデバイス301とスマートフォン201を置いてクラウド上のサーバ等にセンサデバイス301のデータを保管して、家のPCでビニールハウスの室温を監視するシステム等で使用できる。
【0026】
なお、
図1のネットワーク100上に接続される各種端末の構成は一例であり、用途や目的に応じて様々な構成例があることは言うまでもない。
【0027】
図2は、本発明の実施形態におけるサーバ101のハードウェア構成の一例を示す図である。
【0028】
CPU1001は、システムバス1004に接続される各デバイスやコントローラを統括的に制御する。
【0029】
また、ROM1003あるいは外部メモリ1300には、CPU1001の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PCの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。RAM1002は、CPU1001の主メモリ、ワークエリア等として機能する。
【0030】
CPU1001は、処理の実行に際して必要なプログラム等をRAM1002にロードして、プログラムを実行することで各種動作を実現するものである。
【0031】
また、キーボードコントローラ(KBC)1005は、キーボード1100や不図示のマウス等のポインティングデバイスからの入力を制御する。
【0032】
ディスプレイコントローラ(DC)1006は、ディスプレイ1200等の表示器への表示を制御する。表示器はCRTでも液晶ディスプレイでも構わない。これらは必要に応じてユーザが使用するものである。
【0033】
メモリコントローラ(MC)1007は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク(HD)やフロッピーディスク(登録商標 FD)或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュメモリ等(コンパクトフラッシュは登録商標)の外部メモリ1300へのアクセスを制御する。
【0034】
通信I/Fコントローラ(通信I/FC)1008は、ネットワーク100を介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信等が可能である。
【0035】
なお、CPU1001は、例えばRAM1002内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ1200上での表示を可能としている。また、CPU1001は、ディスプレイ1200上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【0036】
なお、
図2の構成は一例であり、用途や目的に応じて様々な構成例があることは言うまでもない。
【0037】
図3は、本発明の実施形態におけるスマートフォン201のハードウェア構成の一例を示す図である。
【0038】
CPU2001は、システムバス2004に接続される各デバイスやコントローラを統括的に制御する。
【0039】
また、ROM2003(フォントROM、プログラムROM、データROM)あるいは不揮発性メモリ2300には、CPU2001の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PCの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。RAM2002は、CPU2001の主メモリ、ワークエリア等として機能する。
【0040】
CPU2001は、処理の実行に際して必要なプログラム等をRAM2002にロードして、プログラムを実行することで各種動作を実現するものである。
【0041】
また、入力コントローラ(入力C)2005は、タッチパネル2100のポインティングデバイスからの入力などを制御する。
【0042】
ディスプレイコントローラ(DC)2006は、ディスプレイ2200等の表示器への表示を制御する。これらは必要に応じてユーザが使用するものである。
【0043】
メモリコントローラ(MC)2007は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク(HD)やフロッピーディスク(登録商標 FD)或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュメモリ等の不揮発性メモリ2300へのアクセスを制御する。
【0044】
携帯電話回線ネットワークインタフェースコントローラ(携帯電話回線NWI/F)2008は、公衆回線を介してゲートウェイ501と通信を行い、インターネット100(ネットワーク)と接続され、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、3G回線による通信等が可能である。
【0045】
また、無線LANインタフェースコントローラ(無線LANI/F)2009は、無線LANアクセスポイント102を介してインターネット100(ネットワーク)と接続され、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信等が可能である。
【0046】
入力ポート2010は、マイクカメラ2400からの情報をシステムバス2004を介してCPU2001へ送信することにより、CPU2001でスマートフォン201の現在位置を把握することができる。
【0047】
出力ポート2011は、スピーカやバイブレータ2500などと接続され、スマートフォン201による通話やユーザへのコールやスケジュールの通知などが可能である。
【0048】
なお、CPU2001は、例えばRAM2002内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ2200上での表示を可能としている。また、CPU2001は、ディスプレイ2200上の不図示のタッチパッド等でのユーザ指示を可能とする。
【0049】
本発明を実現するためのスマートフォン201の各処理部のプログラムは不揮発性メモリ2300に記録されており、必要に応じてRAM2002にロードされることによりCPU2001によって実行されるものである。さらに、本発明に係わる印刷管理プログラムが用いる印刷データは不揮発性メモリ2300に格納されている。
【0050】
なお、
図3のスマートフォン201の構成は一例であり、用途や目的に応じて様々な構成例があることは言うまでもない。
【0051】
図4は、本発明の実施形態におけるセンサデバイス301のハードウェア構成の一例を示す図である。
【0052】
CPU3001は、システムバス3004に接続される各デバイスやコントローラを統括的に制御する。
【0053】
また、ROM3003には、CPU3001の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PCの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。RAM3002は、CPU3001の主メモリ、ワークエリア等として機能する。
【0054】
CPU3001は、処理の実行に際して必要なプログラム等をRAM3002にロードして、プログラムを実行することで各種動作を実現するものである。
【0055】
また、Bluetoothインタフェースコントローラ(BluetoothI/F)3007は、Bluetooth300(Bluetooth無線)を介してスマートフォン201と接続される(Bluetoothは登録商標)。
【0056】
入力ポート3005は、照度センサ、温度センサ、磁気センサ、方位センサ、気圧センサ、加速度センサ、角角度センサなどのセンサ類3008からの情報をシステムバス3004を介してCPU3001へ送信することにより、CPU3001でセンサ類が取得した値を把握することができる。
【0057】
出力ポート3006は、LEDやスピーカなどと接続され、ユーザへの通知などが可能である。
【0058】
本発明を実現するためのセンサデバイス301の各処理部のプログラムはROM3003に記録されており、必要に応じてRAM3002にロードされることによりCPU3001によって実行されるものである。さらに、本発明に係わるデータはRAM3002に格納されている。
【0059】
なお、
図4のセンサデバイス301の構成は一例であり、用途や目的に応じて様々な構成例があることは言うまでもない。
【0060】
図5は、本発明の実施形態におけるソフトウェア構成の一例を示した図である。
【0061】
センサデバイス301は、センサデータ送信部351を有する。センサデータ送信部351は、搭載しているセンサの値を送信する。
【0062】
スマートフォン201は、メインメニュー251と、デバイス登録部252と、デバイス検索部253と、デバイス削除部254と、データ転送部255とを有する。
【0063】
メインメニュー251は、メニュー画面を表示し、ユーザからの操作により、センサデバイス301の登録、検索、削除の処理を振り分ける。
【0064】
デバイス登録部252は、ユーザからの操作により、センサデバイス301と通信を行い、デバイスIDとデバイス名を紐付け、サーバへDBへの登録依頼を行う。
【0065】
デバイス検索部253は、センサデバイス301と通信を行い、未登録のセンサデバイス301を一覧表示する。
【0066】
デバイス削除部254は、登録されているセンサデバイス301を削除するため、サーバ101へDBへの削除依頼を行う。
【0067】
データ転送部255は、登録されているセンサデバイス301からセンサ値を受け取り、サーバ101にあるDBへの更新依頼を行う。
【0068】
サーバ101は、デバイス管理部151と、デバイス状態更新部152とを有する。
【0069】
デバイス管理部151は、スマートフォン201からの指示により、DB中のデバイステーブルのレコードの追加や削除を行う。デバイス状態更新部152は、スマートフォン201からの指示により、DB中のデバイステーブルのレコードのセンサ値の更新を行う。
【0070】
なお、
図4のセンサデバイス301の構成は一例であり、用途や目的に応じて様々な構成例があることは言うまでもない。
【0071】
なお、以上のソフトウェア構成の説明は一例であり、用途や目的に応じて様々な構成例があることは言うまでもない。
【0072】
図19は、本発明の実施形態における、センサデバイス301の動作の一例を説明するフローチャート図である。なお、このフローチャートの処理は、
図4で示したセンサデバイス301のCPU3001がROM3003に格納されたプログラムをRAM3002にロードし実行することにより実現される。また、図中のステップS1901〜ステップS1914は各ステップを示す。
【0073】
図19のフローチャートは、ユーザによりセンサデバイス301の電源が入れられると開始される。
【0074】
まず、ステップS1901において、センサデバイス301は、ユーザから電源OFFの指示がされたかの判定をする。
【0075】
センサデバイス301は、電源OFFの指示がされたと判定された場合は(ステップS1901:YES)、
図19の処理を終了する。
【0076】
センサデバイス301は、電源ONの指示がされたと判定された場合は(ステップS1901:NO)、ステップS1903へ処理を移行する。
【0077】
ステップS1903では、センサデバイス301は、アドバタイジングパケットの送信を行う。アドバタイジングパケットにはセンサデバイス301自身のデバイスIDが含まれており、アドバタイジングパケットとは、スマートフォン201などにセンサデバイス301と接続可能である旨を知らせる機能である。また、アドバタイジングパケットはセンサデバイス301と未接続状態の時に送信するため、ステップS1903〜ステップS1905の処理を実行している間は、アドバタイジングパケットを送信する。
【0078】
ここで、
図6を用いて本発明の実施形態におけるセンサデバイス301の状態遷移を説明する。
【0079】
センサデバイス301(デバイス、センサとも称する)は、電源投入後(電源投入とは、
図19のフロー開始(デバイス電源ON)のタイミングのこと)、接続待ち状態となり、スマートフォン201から接続要求があり接続(ステップS1906、ステップS2007)を行うと、アドバタイジングパケットの送信を止め、接続状態となる。
【0080】
接続状態中は、スマートフォン201からの指示により、LEDなどの点灯、消灯や、搭載しているセンサの値の送信などを行う。スマートフォン201からの接続解除指示や、通信断などがあった場合、接続を解除して、接続待ち状態となり、アドバタイジングパケットの送信を開始する。
【0082】
次に、ステップS1904では、センサデバイス301は、スマートフォン201からの接続要求を受け取る。接続要求がない場合はそのまま待機する。
【0083】
そして、ステップS1905では、センサデバイス301は、ステップS1904でスマートフォン201からの接続要求を受け取ったを判定する。
【0084】
センサデバイス301は、スマートフォン201からの接続要求がない場合(ステップS1905:なし)、ステップS1901へ移行し、電源OFFの指示がない場合、再度アドバタイジングパケットの送信を行う。
【0085】
センサデバイス301は、スマートフォン201からの接続要求がある場合(ステップS1905:あり)、ステップS1906の接続処理へ移行する。
【0086】
ステップS1906では、センサデバイス301は、スマートフォン201との接続を行う。接続中は定期的にキープアライブパケット(生存確認信号)を送受信することで、接続断などを検知する。
【0087】
ステップS1907では、センサデバイス301は、接続断の判定を行う。具体的には、キープアライブパケットが、一定期間送受信ができなかった場合に接続断と判定する。
【0088】
センサデバイス301は、接続断と判定された場合は(ステップS1907:YES)、ステップS1910の接続解除の処理へ移行する。
【0089】
センサデバイス301は、接続中と判定された場合は(ステップS1907:NO)、ステップS1908のコマンド受信の処理へ移行する。
【0090】
ステップS1908では、センサデバイス301は、スマートフォン201からのコマンドを受信する。コマンドには、センサデバイス301に搭載しているセンサの値を取得するコマンド、センサデバイス301に搭載されているLEDやスピーカなどを操作するコマンド、スマートフォン201との接続を解除するコマンドがある。また、
図14の例の通り、コマンドにはパラメータが付加されているものもある。
【0091】
ここで、
図14を用いて、本発明の実施形態におけるスマートフォン201からセンサデバイス301へ送る、コマンドの例を示した図について説明する。
【0092】
コマンド1401は、接続解除、センサデータ取得、センサデバイスの操作の3種類あり、接続解除は「0」、センサデータ取得は「1」、センサデバイス操作は「2」の番号で示される。
【0093】
パラメータ1402は、接続解除コマンドの場合はパラメータなし、センサデータ取得コマンドはセンサを指定するパラメータがあり、
図14はパラメータとして照度センサがスマートフォン201から指定されている例である。
【0094】
また、センサデータ取得のパラメータの例として、照度センサ、温度センサ、湿度センサ、加速度センサ等がある。「センサデバイス操作」はセンサデバイス301を操作するためのパラメータであり、
図14はセンサデバイス301のLEDをONにする命令である。また、センサデバイス操作のパラメータ例として、LED ON、LED OFF、BEEP等がある。
【0096】
ステップS1909では、センサデバイス301は、コマンドの種類を判別し、コマンドによってその後の処理を変える。
【0097】
センサデバイス301は、コマンド受信なしの場合(ステップS1909:コマンド受信なし)、ステップS1907の処理へ移行する。
【0098】
センサデバイス301は、接続解除コマンドの場合(ステップS1909:接続解除コマンド)、ステップS1910の接続解除の処理へ移行する。
【0099】
センサデバイス301は、センサデータ取得コマンドの場合(ステップS1909:センサデータ取得コマンド)、ステップS1911のセンサデータ取得処理へ移行する。
【0100】
センサデバイス301は、センサの操作コマンドの場合(ステップS1909:センサ操作コマンド)、ステップS1913のセンサの操作処理へ移行する。
【0101】
ステップS1911では、センサデバイス301は、CPU3001からセンサデータの取得を行う。コマンドのパラメータで指定されたセンサの値を読み取る。
【0102】
続いて、ステップS1912では、センサデバイス301は、取得したセンサデータの値を、コマンドを要求したスマートフォン201に返答する。返答する形式は、
図15の例のとおりである。返答後ステップS1907の処理へ移行する。
【0104】
図15は、本発明の実施形態におけるスマートフォン201から受けたセンサデータ取得コマンドの返答の例を示した図である。
図15では、照度センサの値が50となっている例である。
【0106】
ステップS1913では、センサデバイス301は、センサデバイス301に搭載されているLEDやスピーカなど出力装置の操作を行う。コマンドのパラメータで指定された出力装置、出力方法で操作する。
【0107】
続いて、ステップS1914では、センサデバイス301は、操作完了の旨を、コマンドを要求したスマートフォン201に返答する。返答する形式は、
図16の例のとおりである。返答後ステップS1907の処理に戻る。
【0108】
ここで、
図16を説明する。
図16は、本発明の実施形態におけるスマートフォン201から受けたセンサデバイス操作コマンドの返答の例を示した図である。
図16の例では、スマートフォン201のLEDのONが完了した旨の例である。
【0109】
ステップS1910では、センサデバイス301は、スマートフォン201との接続を解除し、ステップS1901に戻り、センサデバイス301が電源ONの場合には、アドバタイジングパケットの送信を開始する。以上で
図19の説明を終了し、次に
図20の説明を行う。
【0110】
図20は、本発明の実施形態における、スマートフォン201の動作の一例を説明するフローチャート図である。なお、このフローチャートの処理は、
図3で示したスマートフォン201のCPU2001がROM2003あるいは不揮発性メモリ2300に格納されたプログラムをRAM2002にロードし実行することにより実現される。また、図中のステップS2001〜ステップS2016は各ステップ番号を示す。
【0111】
図20のフローチャートは、スマートフォン201に表示される
図7の本発明の実施形態におけるスマートフォン201でのセンサデバイス301の管理画面(メインメニュー画面)で
図7のデバイス登録ボタン701を選択すると開始される。
【0112】
ステップS2001では、スマートフォン201は、
図8のデバイス登録用の画面をディスプレイ2200等に表示する。画面には
図8のデバイス名の入力フィールド801とメニューへ戻るボタン802、登録開始ボタン803、デバイスを乗せるための領域804がある。
【0113】
ここで
図8の説明をする。
図8は、本発明の実施形態におけるスマートフォン201でのセンサデバイス301の登録画面の例を示した図である。
図7でデバイス登録ボタン701が押されると、この画面に推移する。
【0114】
図8は、前記取得手段で取得したセンサの固有情報に対応する識別情報であって、当該センサを識別するための識別情報の入力を受け付ける受付手段の適用例である。
【0115】
また、
図8は、前記センサは、前記情報処理装置に接触するように配置されることを特徴とするセンサの適用例である。
【0116】
ステップS2002では、スマートフォン201は、ユーザにより、デバイス名の入力を登録ボタンまたはメニューボタンの押下を受け付ける。
【0117】
ステップS2003では、スマートフォン201は、ステップS2002で受け付けたボタンを判定する。
【0118】
スマートフォン201は、ユーザにより、メニューボタンが押された場合(ステップS2003:メニューボタン)、メニュー画面へ戻る。
【0119】
スマートフォン201は、ユーザにより、登録ボタンが押された場合(ステップS2003:登録ボタン)、ステップS2004の処理を行う。
【0120】
ステップS2004では、スマートフォン201は、ステップS2002で受け付けたデバイス名の登録処理を実行している旨をユーザに知らせるため、また、登録処理中にユーザによる操作をさせないため、
図9のようにデバイス名の入力フィールドとボタンを入力不可状態にする。
【0121】
ここで
図9の説明をする。
図9は、本発明の実施形態におけるスマートフォン201でのセンサデバイス301の登録画面で登録処理中の例を示した図である。
図8で、ユーザにより登録ボタンを押されると、この画面に推移する。
【0122】
ステップS2005では、スマートフォン201は、センサデバイス301のアドバタイジングパケットの受信を行う。
【0123】
ステップS2006では、スマートフォン201は、アドバタイジングパケットの有無を判定する。
【0124】
スマートフォン201は、アドバタイジングパケットを受信できた場合(ステップS2006:あり)、ステップS2007へ処理を移行する。
【0125】
スマートフォン201は、アドバタイジングパケットを受信できなかった場合(ステップS2006:なし)、ステップS2009へ処理を移行する。
【0126】
ステップS2007では、スマートフォン201は、アドバタイジングパケットを送信したセンサデバイス301に接続要求を送信し接続を行う。
【0127】
ステップS2008では、スマートフォン201は、接続を行ったセンサデバイス301を記憶しておくために、接続デバイステーブルに接続を行ったセンサデバイス301のデバイスIDを保存しておく。
図17が接続デバイステーブルの例である。接続デバイステーブルへ追加処理後、ステップS2005へ処理を移行し、アドバタイジングパケットの受信を行う。
【0128】
ここで
図17のデバイステーブルに関して説明する。
【0129】
図17は、本発明の実施形態におけるスマートフォン201上で接続中のセンサデバイス301を管理する、接続デバイステーブルの例を示した図である。
【0130】
図17ではデバイスID1701が「01−01−01−00−00−01」「01−01−01−00−00−02」「01−01−01−00−00−03」のデバイスが、接続中の状態であることを示している。
【0131】
ステップS2009では、スマートフォン201は、接続デバイステーブルにデバイスが登録されているか判定する。
【0132】
スマートフォン201は、接続デバイステーブルにデバイスID1701が1件も登録されていない場合(ステップS2009:なし)、デバイスがない旨のエラーとするためステップS2010へ進む。
【0133】
スマートフォン201は、デバイスID1701が登録されている場合(ステップS2009:あり)、ステップS2012へ進む。
【0134】
ステップS2012では、スマートフォン201は、接続デバイステーブルに登録されているデバイスに対して通信を行い登録すべきデバイスか否か判定し登録を行う、この処理は
図21のフローチャートで説明する。ステップS2012の処理が終わるとデバイスの接続を解除するため、スマートフォン201は、ステップS2013へ処理を移行する。
【0135】
ステップS2013では、スマートフォン201は、接続デバイステーブルのデバイスIDの行を削除する。具体的には、
図17の先頭行「01−01−01−00−00−01」から削除される。
【0136】
そして、ステップS2014では、スマートフォン201は、削除したデバイスとの接続解除を送信する。
【0137】
ステップS2015では、スマートフォン201は、接続デバイステーブルにデータが残っているか判定する。
【0138】
スマートフォン201は、接続デバイステーブルにデータが残っている場合(ステップS2015:あり)、ステップS2013へ処理を移行し、再度、接続デバイステーブルの削除を続ける。
【0139】
スマートフォン201は、接続デバイステーブルにデータが残っていない場合(ステップS2015:なし)、ステップS2016へ処理を移行する。
【0140】
ステップS2016では、スマートフォン201は、ユーザにより、押下されたボタンの判定をする。この時に表示されている画面は、後述する
図21で説明するが、
図12あるいは
図13の画面である。
【0141】
スマートフォン201は、メニューボタンが押された場合(ステップS2016:メニューボタン)、メニュー画面へ処理を移行する。
【0142】
スマートフォン201は、別デバイスの登録ボタン(
図11の1101)が押された場合(ステップS2016:別デバイスの登録ボタン)、あるいは登録ボタン(
図13の1301)が押された場合(ステップS2016:登録ボタン)、ステップS2001の処理へ移行する。
【0143】
ここで
図13に関して説明する。
図13は、本発明の実施形態におけるスマートフォン201でのセンサデバイス301の登録処理でデバイスが特定できない場合の例を示した図である。
【0144】
ステップS2010では、スマートフォン201は、登録すべきデバイスがない旨をユーザに知らせるため、例えば、
図12示す画面を表示する。このとき入力不可状態になっている、デバイス名の入力フィールドとボタンを入力可能状態に戻す。
【0145】
ここで
図12の説明をする。
図12は、本発明の実施形態におけるスマートフォン201でのセンサデバイス301の登録処理でセンサデバイス301が見つからない場合の例を示した図である。
【0146】
そして、ステップS2011では、スマートフォン201は、ユーザにより押下されたボタンを判定する。
【0147】
スマートフォン201は、ユーザによりメニューボタンが押された場合(ステップS2011:メニューボタン)、メニュー画面へ戻る。
【0148】
スマートフォン201は、ユーザにより登録ボタンが押された場合(ステップS2011:登録ボタン)、ステップS2004の処理へ移行する。以上で、
図20の説明を終了し、次に
図21について説明する。
【0149】
図21は、本発明の実施形態における、スマートフォン201の動作の一例を説明するフローチャート図である。なおこのフローチャートの処理は、
図3で示したスマートフォン201のCPU2001がROM2003あるいは不揮発性メモリ2300に格納されたプログラムをRAM2002にロードし実行することにより実現される。また、図中のステップS2101〜ステップS2115は各ステップ番号を示す。
【0150】
図21のフローチャートは、
図20のフローチャートのステップS2012の処理を詳細に説明した図である。この処理は、接続されているセンサデバイス301の1つ1つから順番に、センサデバイス301の照度センサの値を取得して、スマートフォン201上に乗っているセンサデバイス301を特定し、サーバ101へ登録する処理である。
【0151】
ステップS2101は、スマートフォン201は、通信対象のセンサデバイス301に対して、照度センサの取得コマンドを送信する、
図14にコマンドの例を示す。具体的には、通信対象のデバイスとは、接続デバイステーブルに登録されているデバイスであり、最初は接続デバイステーブルの先頭のデバイスに対して送信する。この処理は、接続デバイステーブルに登録されているデバイス数分処理を繰り返す。
【0152】
ステップS2102では、スマートフォン201は、通信対象のデバイスから、照度センサの値を取得(センサ値A)する。
【0153】
ステップS2102は、前記特定手段で特定された前記センサから当該センサ固有の固有情報を取得する取得手段の適用例である。
【0154】
ステップS2103では、スマートフォン201は、ステップS2102で取得した、照度センサの値を保持する。
【0155】
ステップS2104では、スマートフォン201は、スマートフォン201の画面を暗くする。具体的には、
図10がその例である。
【0156】
図10は、本発明の実施形態におけるスマートフォン201でのセンサデバイス301の登録画面で登録処理中の例を示した図である。登録処理の中に画面を暗くした際の例である。
【0157】
ステップS2105では、スマートフォン201は、通信対象のデバイスに対して、照度センサの取得コマンドを送信する。
【0158】
ステップS2106では、スマートフォン201は、通信対象のデバイスから、照度センサの値を取得(センサ値B)する。
【0159】
ステップS2107では、スマートフォン201は、暗くなっているスマートフォン201の画面を元に戻す、
図9がその例である。
【0160】
ステップS2108は、スマートフォン201は、ステップS2103で取得した照度センサの値(センサ値A)と、ステップS2106で取得した照度センサの値(センサ値B)を比べる。
【0161】
スマートフォン201は、ステップS2103で取得した照度センサの値(センサ値A)とステップS2106で取得した照度センサの値(センサ値B)が同じあるいはセンサ値Bのほうが明るい場合は(ステップS2108:同じあるいはAの方が暗い)、現在スマートフォン201上にあるデバイスとは異なると判定する。
【0162】
スマートフォン201は、ステップS2106で取得した照度センサの値(照度)のほうが暗い場合は(ステップS2108:Bの方が暗い)、再度照度を測るため、ステップS2109へ進む。
【0163】
ステップS2109では、スマートフォン201は、通信対象のデバイスに対して、照度センサの取得コマンドを送信する。
【0164】
ステップS2110では、スマートフォン201は、通信対象のデバイスから、照度センサの値(センサ値C)を取得する。
【0165】
ステップS2111では、スマートフォン201は、ステップS2102で取得した照度センサの値(センサ値A)と、ステップS2110で取得した照度センサの値(センサ値C)を比べる。
【0166】
スマートフォン201は、照度が異なる場合は(ステップS2111:異なる)、現在スマートフォン上にあるデバイスとは異なると判定する。
【0167】
スマートフォン201は、照度が同じ場合は(ステップS2111:同じ)、ステップS2113へ進む。
【0168】
スマートフォン201は、接続デバイステーブル中にある現在通信しているデバイスの次にもデバイスがあるときは繰り返す。スマートフォン201は、次のデバイスがない場合、接続している全てのデバイスに対して処理をしたので、登録できないと判断、ステップS2112へ進む。スマートフォン201は、次のデバイスがある場合、ステップS2101へ進む。つまり、接続デバイステーブル中にある現在通信しているデバイスの次のデバイスを通信の対象とする。
【0169】
ステップS2112では、スマートフォン201は、
図13のようなデバイスが特定できなかった旨のエラー画面を表示する。その後、
図20のフローチャートのステップS2012の処理に進む。
【0170】
ステップS2113では、スマートフォン201は、サーバ101へデバイスの登録依頼をするデバイスの特定をする。
ステップS2113は、前記出力手段により出力されたイベントを検知したセンサを特定する特定手段の適用例である。また、ステップS2113は、前記出力手段により出力された所定のパターンのイベントを検知したセンサを特定する特定手段の適用例である。
【0171】
ステップS2114では、スマートフォン201は、サーバ101へデバイスの登録依頼をする。サーバ101へ送信するデータは、現在通信しているデバイスのデバイスIDと画面上に表示されている利用者が入力したデバイス名を送信する。
【0172】
ステップS2114は、前記受付手段で入力を受け付けた識別情報と、前記固有情報とを紐付けて登録する登録手段の適用例である。
【0173】
ここで
図18のデバイステーブルの説明をする。
【0174】
図18は、本発明の実施形態における、サーバ101のDBで管理される、デバイステーブルの例を示した図である。
【0175】
図18の1801デバイステーブルは、デバイスID、デバイス名、照度センサ値、温度センサ値、湿度センサ値等の値を有する。
【0176】
3レコード目1804は、デバイス管理部151においてレコード追加直後でセンサ値が登録されていない状態である。具体的には、ステップS2114でサーバ101へデバイスの登録依頼がされ、デバイステーブルに登録された直後のレコードである。
【0177】
1レコード目1802、2レコード目1803はデバイス状態更新部152よりセンサ値が更新された状態である。具体的には、センサ値の更新は、デバイス登録後にデバイスや各センサ値を取得し照度センサや温度センサ、湿度センサ等のフィールドを更新する。
【0178】
ステップS2115では、スマートフォン201は、
図11のような登録完了画面を表示する。その後、
図20のフローチャートのステップS2013の処理に進む。
【0179】
ここで
図11の説明をする。
図11は、本発明の実施形態におけるスマートフォン201でのセンサデバイス301の登録処理で登録が完了した例を示した図である。
【0180】
以上が第一の実施形態の説明である。次に本発明のステップS2012のデバイス登録処理の第二の実施形態について説明する。
【0181】
第二の実施形態では、複数デバイスが存在し、複数デバイスのセンサデータが取得された場合に、センサデータの値からデバイスを特定する。
【0182】
図22は、本発明の第二の実施形態における、スマートフォン201の動作の一例を説明するフローチャート図である。なお、このフローチャートの処理は、
図3で示したスマートフォン201のCPU2001がROM2003あるいは不揮発性メモリ2300に格納されたプログラムをRAM2002にロードし実行することにより実現される。また、図中のステップS2201〜ステップS2206は各ステップを示す。
【0183】
ステップS2201では、スマートフォン201は、所定の出力を行う。具体的に、所定の出力とは、スマートフォン201の画面の明暗を変えたり、スマートフォン201から音を出力したりする。
【0184】
ステップS2202では、スマートフォン201は、通信対象のデバイスに対して、照度センサの取得コマンドを送信する、
図14にコマンドの例を示す。具体的には通信対象のデバイスとは、接続デバイステーブルのデバイスである。
【0185】
図22は、複数デバイスがスマートフォン201の通信対象のデバイスであった場合の実施例である。第二の実施例は、複数のセンサデバイス301が所定の間隔を置いて存在するときを前提とする。
【0186】
ステップS2203では、スマートフォン201は、それぞれデバイスのセンサデータを受信する。
【0187】
ステップS2204では、スマートフォン201は、所定の基準に従ってデータを並び替える。具体的には、照度センサの場合は、一番明るい値のデバイスがスマートフォン201に近い位置にあるデバイスとして、明るい値順にセンサデータを並び替えて、デバイスを特定する。音センサの場合は、一番音が大きい値のデバイスがスマートフォン201に近い位置にあるデバイスとして、大きい値順位にセンサデータを並び替えて、デバイスを特定する。
【0188】
ステップS2204は、前記固有情報を、各センサが検知したイベントの値が大きい順、または小さい順に一覧で表示する表示手段の適用例である。
【0189】
ステップS2205では、スマートフォン201は、S2204で特定されたそれぞれのデバイス名の入力を受け付ける。つまり、ユーザは目視でステップS2204で特定されたデバイスの実際に置かれている順番を確認して、それぞれデバイス名を入力する。
【0190】
ステップS2206では、スマートフォン201は、ステップS2205で受け付けたデバイス名を登録する。その後、
図20のフローチャートのステップS2013の処理に進む。
【0191】
以上が第二の実施形態の説明である。次に本発明のステップS2012のデバイス登録処理の第三の実施形態について説明する。
【0192】
第三の実施形態では、デバイスが特定のセンサしか備えていない場合に、センサデータの値を取得し、デバイスがどのセンサを備えているかわからないため、様々なパターンを送信しデバイスを特定する第三の実施例である。第三の実施形態では、照度センサ、加速度センサのどちらかを備えているセンサを対象にしているが、センサデータが取得できる他のセンサ(温度センサ、湿度センサ等)でもよい。
【0193】
図23は、本発明の第三の実施形態における、スマートフォン201の動作の一例を説明するフローチャート図である。なおこのフローチャートの処理は、
図3で示したスマートフォン201のCPU2001がROM2003あるいは不揮発性メモリ2300に格納されたプログラムをRAM2002にロードし実行することにより実現される。また、図中のステップS2301〜ステップS2328は各ステップを示す。
【0194】
ステップS2301は、スマートフォン201は、通信対象のデバイスに対して、照度センサの取得コマンドを送信する、ここの処理は、接続デバイステーブルに登録されているデバイス数分処理を繰り返す。
【0195】
ステップS2302では、スマートフォン201は、通信対象のデバイスから、照度センサの値を取得(照度センサ値A)する。
【0196】
ステップS2303では、スマートフォン201は、ステップS2302で取得した、照度センサの値(照度センサ値A)を保持する。
【0197】
ステップS2304では、スマートフォン201は、通信対象のデバイスに対して、加速度センサの取得コマンドを送信する。
【0198】
ステップS2305では、スマートフォン201は、通信対象のデバイスから、加速度センサの値を取得(加速度センサ値B)する。
【0199】
ステップS2306では、スマートフォン201は、ステップS2305で取得した、照度センサの値(加速度センサ値B)を保持する。
【0200】
ステップS2307では、スマートフォン201は、スマートフォン201の画面を暗くする。具体的には、
図10がその例である。
【0201】
ステップS2308では、スマートフォン201は、スマートフォン201のバイブレータを動作させる。
【0202】
ステップS2309では、スマートフォン201は、通信対象のデバイスに対して、照度センサの取得コマンドを送信する。
【0203】
ステップS2310では、スマートフォン201は、通信対象のデバイスから、照度センサの値を取得(照度センサ値C)する。
【0204】
ステップS2311では、スマートフォン201は、ステップS2310で取得した、照度センサの値(照度センサ値C)を保持する。
【0205】
ステップS2312では、スマートフォン201は、通信対象のデバイスに対して、加速度センサの取得コマンドを送信する。
【0206】
ステップS2313では、スマートフォン201は、通信対象のデバイスから、加速度センサの値を取得(加速度センサ値D)する。
【0207】
ステップS2314では、スマートフォン201は、ステップS2313で取得した、照度センサの値(加速度センサ値D)を保持する。
【0208】
ステップS2315では、スマートフォン201は、暗くなっているスマートフォンの画面を元に戻す、
図9がその例である。
【0209】
ステップS2316では、スマートフォン201は、スマートフォン201のバイブレータを停止させる。
【0210】
ステップS2317では、スマートフォン201は、通信対象のデバイスに対して、照度センサの取得コマンドを送信する。
【0211】
ステップS2318では、スマートフォン201は、通信対象のデバイスから、照度センサの値を取得(照度センサ値E)する。
【0212】
ステップS2319では、スマートフォン201は、ステップS2318で取得した、照度センサの値(照度センサ値E)を保持する。
【0213】
ステップS2320では、スマートフォン201は、通信対象のデバイスに対して、加速度センサの取得コマンドを送信する。
【0214】
ステップS2321では、スマートフォン201は、通信対象のデバイスから、加速度センサの値を取得(加速度センサ値F)する。
【0215】
ステップS2322では、スマートフォン201は、ステップS2313で取得した、照度センサの値(加速度センサ値F)を保持する。
【0216】
ステップS2323では、スマートフォン201は、ステップS2302で取得した照度センサの値(照度センサ値A)とステップS2310で取得した照度センサの値(照度センサ値C)とステップS2318で取得した照度センサの値(照度センサ値E)とを比較する。
【0217】
スマートフォン201は、照度センサ値Aと照度センサ値Eが同じ値、かつ照度センサ値Cが照度センサ値Aや照度センサ値Eより小さい(暗い)値の場合は(ステップS2323:AとEは同じ値、かつCはAやEより小さい(暗い)値)、ステップS2325の処理へ移行する。
【0218】
スマートフォン201は、照度センサ値Aと照度センサ値Eが異なる値、または照度センサ値Cは、照度センサ値Aや照度センサ値Eより大きい(明るい)値の場合は(ステップS2323:AとEは異なる値、またはCはAやEより大きい値)、ステップS2324の処理へ移行する。
【0219】
ステップS2324では、スマートフォン201は、ステップS2305で取得した加速度センサの値(加速度センサ値B)とステップS2313で取得した加速度センサの値(加速度センサ値D)とステップS2321で取得した加速度センサの値(加速度センサ値F)とを比較する。
【0220】
スマートフォン201は、加速度センサ値Bと加速度センサ値Fが同じ値、かつ加速度センサ値Dが加速度センサ値Bや加速度センサ値Fより小さい(振動大)値の場合は、ステップS2325の処理へ移行する。
【0221】
スマートフォン201は、加速度センサ値Bと加速度センサ値Fが異なる値、または加速度センサ値Dは、加速度センサ値Bや加速度センサ値Dより大きい(振動大)値の場合は(ステップS2324:BとFは異なる値、またはDはBやFより大きい値)、次の接続デバイスの処理へ移行する。
【0222】
ステップS2325では、スマートフォン201は、デバイスの特定をする。
【0223】
ステップS2326では、スマートフォン201は、サーバ101へデバイスの登録依頼をする。サーバ101へ送信するデータは、現在通信しているデバイスのデバイスIDと画面上に表示されている利用者が入力したデバイス名を送信する。
【0224】
ステップS2327では、スマートフォン201は、
図11のような登録完了画面を表示する。その後、
図20のフローチャートのステップS2013の処理に進む。
【0225】
ステップS2328では、スマートフォン201は、
図13のようなデバイスが特定できなかった旨のエラー画面を表示する。その後、
図20のフローチャートのステップS2012の処理に進む。
【0226】
なお、
図23の処理では、ステップS2307のスマートフォンの画面を暗くする動作と、ステップS2308のバイブレータの動作とを別々に行っているが、それぞれの動作を同時に行っても良い。
なお、他の実施形態として、加速度センサでセンサデバイス301が特定された場合には、次のセンサデバイス301の特定は、照度センサによる特定からではなく、加速度センサによる特定から開始してもよい。そうすることで、センサデバイス301を特定する時間を短縮することができる。
以上で
図23の説明を終了する。
【0228】
図24は、
図20に示すスマートフォンの処理フローの別実施形態の一例を示す図である。
【0229】
図20に示す処理フローを実行する場合、ステップS2005にて1〜2秒待たなければならず、登録完了までの時間がかかってしまう。また、センサデバイス301との接続も時間がかかってしまう(数十ミリ〜百ミリ秒)。理由としては、アドバタイジングパケットは常に送信しているわけではなく、例えばBLE通信の仕様では、7.5ミリ秒〜4秒間隔で送信される。そのため、アドバタイジングパケットを受信するには1〜2秒程度待つことになることが通常である。そのため、
図24に示すフローでは、アドバタイジングパケットが取れたら、そのまま取れたアドバタイジングパケットの接続を行う処理と、他のアドバタイジングパケットの受信を平行して処理を行うようにする。なお、ここでは
図20と異なる部分について説明を行い、
図20と同様な部分については説明を省略する。
【0230】
図24は、
図20に示すスマートフォン201の動作の一例を説明するフローチャートである。ステップS2001〜ステップS2004は、
図20の実施形態と同様であるため説明を省略する。
【0231】
ステップS2401では、スマートフォン201は、センサデバイス301のアドバタイジングパケットの受信を行う。アドバタイジングパケットを受信できない場合は、ステップS2402へ処理を移行する。
【0232】
ステップS2402では、スマートフォン201は、アドバタイジングパケットの有無を判定する。
【0233】
スマートフォン201は、アドバタイジングパケットの受信ができている場合には(ステップS2402:YES)、ステップS2403へ処理を移行する。
【0234】
スマートフォン201は、アドバタイジングパケットの受信ができていない場合には(ステップS2403:NO)、ステップS2406へ処理を移行する。
【0235】
ステップS2403では、スマートフォン201は、アドバタイジングパケットを受信すると、
図29の接続デバイステーブル2901にデバイスID2903と接続状態2902を追加する。
図29の接続デバイステーブル2901にある接続状態2902の項目は、「未」(未接続)とする。
【0236】
ステップS2403では、スマートフォン201は、アドバタイジングパケットを送信したセンサデバイス301に接続要求を送信し、接続を行う。
【0237】
ステップS2404では、スマートフォン201は、接続を行ったセンサデバイス301を記憶しておくために、接続を行ったセンサデバイス301のデバイスIDを
図17の接続デバイステーブルに保存する。
【0238】
ステップS2404では、スマートフォン201は、
図17の接続デバイステーブルにセンサデバイス301のデバイスIDが登録されているか判定する。
【0239】
スマートフォン201は、接続デバイステーブルにデバイスIDが1件登録されている場合(ステップS2405:YES)、すなわち最初のパケット受信の場合、ステップS2405の処理へ移行する。
【0240】
スマートフォン201は、接続デバイステーブルが1件でない場合(ステップS2405:NO)、すなわち既に登録処理が並行動作している場合は、ステップS2401のアドバタイジングパケット受信に戻る。
【0241】
ステップS2405では、スマートフォン201は、登録処理を並行で行う。(別スレッドで登録処理を行う)
【0242】
ステップS2406では、スマートフォン201は、
図29の接続デバイステーブルの2901の接続状態2902の項目を見て未接続のデバイスに対し接続要求を行い接続する。接続が完了したら接続デバイステーブルの接続状態2902の項目を「済」(接続済)にする。
【0243】
ステップS2407では、スマートフォン201は、一定期間パケットの受信があるか否かを判定する。
【0244】
スマートフォン201は、一定期間パケットの受信がない場合(ステップS2407:NO)、接続可能なセンサデバイス301が無くなったと判定し、ステップS2408へ処理を移行する。
スマートフォン201は、一定期間パケットの受信があった場合(ステップS2407:YES)、再度他のセンサデバイス301のアドバタイジングパケットを読み込むため、ステップS2401の処理に戻る。
【0245】
ステップS2408では、スマートフォン201は、一定期間アドバタイジングパケットがないと、並行動作している登録処理を終了する。ただし、未接続のセンサデバイス301があったら接続が完了するまで待つ。もし、接続できない場合、センサデバイス301はみつからなかったとみなし、接続デバイステーブルから削除する。
【0246】
ステップS2409では、スマートフォン201は、接続デバイステーブルにデバイスが登録されているか判定する。
【0247】
スマートフォン201は、接続デバイステーブルにデバイスIDが登録されていない場合(ステップS2409:YES)、デバイスがない旨のエラーとするため、ステップS2010の処理へ移行する。
【0248】
スマートフォン201は、デバイスIDが登録されている場合(ステップS2409:NO)、ステップS2012の処理へ移行する。以上で
図24の説明を終了し、次に
図25の説明を行う。
【0249】
第一の実施形態では、スマートフォン201の画面の点滅を検知したセンサデバイス301をスマートフォン201が認識し、当該スマートフォン201に登録させることができる。しかし、複数台のセンサデバイス301を登録するときには、一台ずつ登録操作(スマートフォン201の画面上へのセンサデバイス301の配置、スマートフォン201の画面を点滅させるためのスマートフォン201の操作、センサデバイス301の名前の入力操作の繰り返し)をしなくてはならないため、ユーザにとって不便な場合がある。
【0250】
図20における別実施形態では、スマートフォン201の画面上の発光させるエリアを複数設定する。センサデバイス301を各エリアの上に置き、各エリアを異なるパターンで点滅させる。各センサデバイス301が検知した点滅のパターンからセンサデバイス301が置かれているエリアを特定し、エリアに対応する名前をつけてスマートフォン201に登録する。なお、ここでは第一の実施形態と異なる部分について説明を行い、第一の実施形態と同様な部分については説明を省略する。
【0251】
図25は、
図20の別実施形態におけるスマートフォン201の動作の一例を説明するフローチャートである。このような制御は、スマートフォン201のCPUが記憶されている制御プログラムを読み出して実行することによって実現される。
複数台のセンサデバイス301を一気に登録したい場合も、
図20と同様のフロー処理になる。そのため、ステップS2001〜ステップS2015の処理は
図20と同様であるため、説明を省略する。
【0252】
ステップS2501では、スマートフォン201は、
図27のセンサデバイス登録画面2701をディスプレイ2200に表示する。
図27のセンサデバイス登録画面(初期画面)2701には、センサデバイス名の入力フィールド2706、メニューボタン2707、登録ボタン2708、センサデバイスを載せるための領域2709がある。
【0253】
ステップS2501では、スマートフォン201は、ユーザにより押下されたボタンの判定をする。この時に表示されている画面は
図27の2705の画面である。
【0254】
スマートフォン201は、メニューボタンが押された場合(ステップS2501:メニューボタン)、メニュー画面へ処理を移行する。
【0255】
スマートフォン201は、別デバイスの登録ボタンが押された場合(ステップS2501:別デバイスの登録ボタン)、ステップS2001へ処理を移行する。
【0257】
次に
図26を用いて、第四の実施形態におけるセンサデバイスの登録処理フローの一例を説明する。
【0258】
図26は、
図25のフローチャートのステップS2012の処理を詳細に説明した図である。
図26のフローチャートでは、センサデバイス301を置くエリアが6つある場合の例を説明する。このような制御は、スマートフォン201のCPUが記憶されている制御プログラムを読み出して実行することによって実現される。
【0259】
ステップS2601では、スマートフォン201は、センサデバイス301を置くエリアが6つある場合、ステップS2602〜ステップS2604の処理を3回繰り返す。繰り返す回数については、次のような方式をとる。センサデバイス301を置くエリア数分、異なった明滅パターンが必要であるため、明滅パターンを2進数のビットパターンとして考える。繰り返す回数はエリアの数に1を減算した数を2進数に変換したときの桁数となる。例えば、エリア数が2の場合、2−1=1で、1の2進数は1であり1桁で1回、エリア数が4の場合、4−1=3で、3の進数は11であり2桁で2回、エリア数が6−1=5で、5の2進数は101であり3桁で3回、エリア数が8の場合、8−1=7で、7の2進数は111であり3桁で3回、エリア数が12の場合、12−1=11で、11の2進数は1011であり4桁で4回のようになる。
【0260】
ステップS2602では、スマートフォン201は、センサを置く各エリアの背景色を設定する。各エリアには0からの番号を付けておき、番号を2進数のビットパターンにした通りの背景を設定する。ビットが0の場合、背景を白、ビットが1の場合、背景を黒にする。例えば、
図27に示すように3×2の画面の場合、
図27の2701のようにエリア番号を1〜6まで付ける。そして、エリア番号を2進数に変換して最下位ビットがONの場合画面を暗くする。2回目は、下位2ビット目を見る。3回目は、下位3ビット目を見る。そうすると下記のような明滅パターンとなる。エリア1の場合、ビットパターンは001となり、1回目は白、2回目も白、3回目は黒となる。エリア4の場合、ビットパターンは100となり、1回目は黒、2回目は白、3回目は白となる。エリア6の場合、ビットパターンは110となり、1回目は黒、2回目は黒、3回目は白のようになる。その際、スマートフォン201の画面には、
図27の2702に示す画面、2703に示す画面が表示される。
ステップS2602は、前記情報処理装置に表示される画面を分割することにより形成される複数のエリアごとに異なるパターンで前記イベントを出力する出力手段の適用例である。
【0261】
ステップS2603では、スマートフォン201は、接続した全センサデバイス301の照度値を受信する。
【0262】
ステップS2604では、スマートフォン201は、ステップS2603で受信した照度値を接続デバイステーブルのセンサ値の列に設定する。センサ値の列は繰り返す回数分あるので、該当する回数の列に設定する。設定は、
図28の2801の接続デバイステーブルに設定する。
【0263】
ここで
図28の接続デバイステーブルに関して説明する。
図28は、スマートフォン201が管理するスマートフォン201上で接続中のセンサデバイス301の一覧の例を示した接続デバイステーブルである。
図28の接続デバイステーブルでは、デバイスID2803が「01−01−01−00−00−01」「01−01−01−00−00−02」「01−01−01−00−00−03」「01−01−01−00−00−04」「01−01−01−00−00−05」「01−01−01−00−00−06」のセンサデバイス301が、接続中の状態であることを示す。
【0264】
ここで
図28の説明を終了し、
図26の説明に戻る。
【0265】
ステップS2605では、スマートフォン201は、
図28の接続デバイステーブルの照度値を明暗の2値(0と1)に変換する。
図28の接続デバイステーブルの全照度値の平均を取り、平均より暗い値は1、明るい値は0に設定する。設定は
図28の2802に設定する。
【0266】
ステップS2606では、スマートフォン201は、接続デバイステーブルに登録されているデバイスを先頭から順にステップS2607〜2609の処理を繰り返す。
【0267】
ステップS2607では、スマートフォン201は、接続デバイステーブルの照度値のビットパターンからエリアを特定する。
図28の2802の例では、「01−01−01−00−00−04」では、011となり10進数に直すと3となりエリア3に置かれたセンサと特定できる。
【0268】
ステップS2608では、スマートフォン201は、サーバ101へセンサデバイス301の登録依頼をする。デバイスIDと、ステップS2607で特定されたエリアに入力されたデバイス名を送信する。
【0269】
ステップS2609では、スマートフォン201は、特定されたエリアに登録された旨「登録されました」のメッセージを表示する。その際、スマートフォン201の画面には、
図27の2704に示す画面表示される。
【0270】
ステップS2610では、スマートフォン201は、登録されていないエリアがあった場合、そのエリアに「エラー 登録されていません」のメッセージを表示する。その際、スマートフォン201の画面には、
図27の2705に示す画面表示される。その後、
図20のフローチャートのステップS2013の処理に進む。
【0272】
ここで、
図25と
図26の処理の流れを
図27の図を用いて説明する。
図27は、スマートフォン201を使用しセンサデバイス301を登録する一連の流れの一例を示す図である。
【0273】
スマートフォン201に表示されるセンサデバイス301の登録画面(
図7)でデバイス登録ボタン(
図7の701)を押されると、
図27の2701の画面に推移する。
【0274】
登録画面(実行中1)2702では、スマートフォン201は、ステップS2002で受け付けたデバイス名の登録処理を実行している旨をユーザに知らせるため、また、登録処理中にユーザによる操作をさせないため、デバイス名などの入力フィールドとボタンを入力不可状態にする。その後、登録画面(実行中2)2703では、スマートフォン201の画面の背景を変える。
【0275】
その後、登録が完了した場合は、登録完了画面2704に示す画面が表示され、登録するセンサデバイスが見つからない場合などは、登録エラー画面2705に示す画面が表示される。登録完了画面2704はスマートフォン201でのセンサデバイス301の登録処理で登録が完了した例を示した図である。
以上で
図27の説明を終了する。
【0276】
なお、本発明ではセンサデバイス301の特定のために光(例えばステップS2104、ステップS2107)、音(例えばステップS2201)、振動(例えばステップS2308)を出力しているが、センサデバイス301を登録する端末(本実施形態では、スマートフォン201)が出力可能であり、センサデバイス301が検知可能なイベントであれば良く、他の実施形態として、例えば、熱や風などを用いてもよい。
【0277】
以上、本発明によると、情報処理装置で登録するセンサの特定を容易にすることが可能な仕組みを提供することが可能となる。
【0278】
以上、実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0279】
また、本発明におけるプログラムは、各フローチャートの処理方法をコンピュータが実行可能なプログラムであり、本発明の記憶媒体は各フローチャートの処理方法をコンピュータが実行可能なプログラムが記憶されている。なお、本発明におけるプログラムは各装置の処理方法ごとのプログラムであってもよい。
【0280】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読み出し、実行することによっても本発明の目的が達成されることは言うまでもない。
【0281】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した記録媒体は本発明を構成することになる。
【0282】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD−ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク等を用いることが出来る。
【0283】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0284】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0285】
また、本発明は、複数の機器から構成されるシステムに適用しても、ひとつの機器から成る装置に適用しても良い。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0286】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。