以下に、本発明の実施の形態による通信装置の一例について図面を参照して説明する。
[第1の実施形態]
<各装置の構成>
図1は、本発明の第1の実施形態による通信装置が用いられた通信システムの一例を示すブロック図である。
図示の通信システムでは、通信装置として無線通信機能を備える撮像装置および携帯端末機器が用いられる。撮像装置は、例えば、通信装置であるデジタルカメラ(以下単にカメラと呼ぶ)であり、携帯端末機器は、例えば、他の通信装置であるスマートフォンである。なお、他の通信装置は、携帯型のメディアプレーヤ、所謂タブレットデバイス、又はパーソナルコンピュータなどの情報処理装置であってもよい。
カメラA100は制御部A101を有しており、制御部A101は制御プログラムに従ってカメラA100全体を制御する。なお、制御部A101によってカメラA100全体を制御する代わりに、複数のハードウェアによって処理を分担して、カメラA100全体を制御するようにしてもよい。
撮像部A102は、例えば、絞り、ズーム、およびフォーカス機能を備える光学レンズユニットを備えるとともに、光学レンズユニットによって結像された光学像に応じた電気信号(アナログ信号)を出力して当該アナログ信号をA/D変換によってデジタル信号とする撮像素子を有している。
ここでは、撮像素子として、例えば、CMOS(Complementary Metal Oxide Semiconductor)又はCCD(Charge Coupled Device Image Sensor)が用いられる。撮像部A102は、制御部A101の制御下で光学像に応じた電気信号を出力し、当該電気信号に対してノイズ低減処理などを行った後、デジタル信号を画像データとして出力する。
なお、ここでは、画像データは、DCF(Design rule for Camera File system)の規格に応じて記録媒体A110に記録される。
不揮発性メモリA103は、電気的に消去および記録が可能なメモリであり、制御部A101で実行される制御プログラムなどが格納される。作業用メモリA104は、撮像部A102による撮像の結果得られた画像データを一時的に記録するバッファメモリとして用いられるとともに、画像表示用メモリおよび制御部A101の作業領域として用いられる。
操作部A105は、ユーザからの指示をユーザから受け付けるために用いられる。操作部A105には、例えば、カメラA100の電源をON又はOFFするための電源ボタン、撮像指示を行うためのレリーズスイッチ、そして、画像データの再生を指示するための再生ボタンが含まれている。なお、後述する表示部A106に形成されたタッチパネルも操作部A105に含まれる。
表示部A106には、静止画を撮像するための撮像準備段階においてライブビューが表示されるとともに、撮像の結果得られた静止画が表示される。さらには、表示部A106には対話的な操作のための文字などが表示される。
電源管理部A107は、カメラA100に電力を供給するためのユニットである。電源管理部A107は、カメラA100全体に電力を供給するももとに、後述する副制御部A120および省電力無線通信部A112に限定して電力を供給することができる。
以下の説明では、カメラA100全体に電力が供給されている状態を電源ON状態(第2のモード)と呼び、副制御部A120および省電力無線通信部A112に限定して電力が供給されている状態をスタンバイ状態(第1のモード)と呼ぶ。また、カメラA100全体の電力供給が断とされている状態を電源OFF状態と呼ぶ。スタンバイ状態においては、カメラA100を消費電力が極めて低い状態に保つことができる。
記録媒体A110には、撮像部A102による撮像の結果得られた画像データが記録される。なお、記録媒体A110はカメラA100に着脱可能であるが、カメラA100に内蔵するようにしてもよい。
無線通信部A111は、例えば、IEEE802.11規格に準拠した無線LAN通信(第1の通信プロトコル)を行うためのインターフェースである。この無線LAN通信によって、カメラA100は、周囲の無線アクセスポイント(以下アクセスポイント又はAPという)C100と無線通信を行うことができる。さらには、カメラA100はTCP/IPなどの上位のプロトコルによって、アクセスポイントC100を介して、クラウドネットワークD100に接続されたサーバ機器(外部機器:図示せず)とデータを送受信することができる。
省電力無線通信部A112は、例えば、無線通信のためのアンテナと無線信号を処理するため変復調回路、そして、通信コントローラを有している。省電力無線通信部A112は、無線信号をアンテナから出力するとともに、アンテナで受信した無線信号を復調してIEEE802.15の規格(所謂Bluetooth(登録商標))に応じた近距離無線通信を行う。
図示の例では、Bluetooth通信(第2の通信プロトコル)は、低消費電力(第2の消費電力)であるBluetooth Low Energyのバージョン4.0を用いるものとする。このBluetooth通信は、無線LAN通信と比較して通信可能な範囲が狭い(つまり、通信可能な距離が短い)。また、Bluetooth通信は、無線LAN通信と比較してその通信速度が遅い。一方、Bluetooth通信は、無線LAN通信と比較してその消費電力が低い。無線LAN通信による消費電力を第1の消費電力とすると、第1の消費電力>第2の消費電力である。
副制御部A120は、省電力無線通信部A112による通信とスタンバイ状態におけるカメラA100の制御を司る。副制御部A120には、その動作に必要な作業用メモリと不揮発性メモリが内蔵されており、これによって、副制御部A120は不揮発性メモリA103および作業用メモリA104に電力が供給されないスタンバイ状態においても動作することができる。
また、副制御部A120によって、カメラA100がスタンバイ状態であっても、省電力無線通信部A112を用いて、後述するスマートフォンB100と通信することができる。さらに、副制御部A120は、省電力無線通信部A112の通信内容に応じて、電源管理部A107を介してカメラA100をスタンバイ状態から電源ON状態(第2のモード)に復帰させる。なお、図1に示す各ブロックは内部バスA130によって相互に接続されている。
スマートフォンB100は制御部B101を有しており、制御部B101は制御プログラムに従ってスマートフォンB100全体を制御する。なお、制御部B101がスマートフォンB100全体を制御する代わりに、複数のハードウェアが処理を分担することによってスマートフォンB100全体を制御するようにしてもよい。
図示のスマートフォンB100は撮像部B101を有しており、この撮像部B101は前述の撮像部A101と同様であり、撮像部B101で得られた画像データはDCF規格に従って記録媒体B110に記録される。
不揮発性メモリB103は、不揮発性メモリA103と同様のメモリであり、不揮発性メモリB103には制御部B101で実行される制御プログラムなどが格納される。作業用メモリB104は、作業用メモリA104と同様であり、バッファメモリ、画像表示用メモリ、および制御部B101の作業領域として用いられる。
操作部B105は、ユーザからの指示をユーザから受け付けるために用いられる。操作部B105には、例えば、スマートフォンB100の電源をON又はOFFするための電源ボタン、画面遷移の指示を行うための操作ボタンが含まれている。なお、後述する表示部B106に形成されたタッチパネルも操作部B105に含まれる。
表示部B106には、撮影の結果得られた静止画が表示される。さらには、表示部B106には対話的な操作を行うためのGUI(Graphical User Interface)が表示される。なお、表示部B106は必ずしもスマートフォンB100に備える必要はなく、スマートフォンB100は表示内容を制御する表示制御機能を少なくとも有していればよい。
電源管理部B107は、スマートフォンB100に電力を供給するためのユニットである。なお、前述の記録媒体B110は、スマートフォンB100に着脱可能であるが、スマートフォンB100に内蔵されるようにしてもよい。また、無線通信部B111は無線通信部A111と同様であり、省電力無線通信部B112は無線通信部A112と同様である。
公衆無線通信部B113は、基地局E100を介して公衆網F100によって通信を行うためのインターフェースである。公衆無線通信部B113は、無線通信のためのアンテナと無線信号を処理するため変復調回路、そして、通信コントローラを有している。図示の例では、公衆無線通信部B113はW−CDMA(UMTS)又はLTE(Long Term Evolution)などの規格に従って公衆無線通信を行う。
なお、上記の各ブロックは内部バスB130によって相互に接続されている。また、図1に示す例では、カメラA100とスマートフォンB100とが1対1で通信する例が示されているが、カメラA100は複数のスマートフォンと1対多で通信を行うことができる。
<ペアリングの動作>
続いて、図1に示すスマートフォンB100とデジタルカメラA100とを省電力無線通信部B112およびA112によって相互に通信可能とするためにカメラA100で行われる初期設定について説明する。
図2は、図1に示すカメラの初期設定動作を説明するためのフローチャートである。なお、図示のフローチャートに係る処理は制御部A101の制御下で行われる。
図2に示す処理に先立ち、カメラA100は電源ONの状態となっており、ユーザは操作部A102によってカメラA100の設定を変更することが可能である。そして、この設定を行うに当たって、スマートフォンB100とカメラA100との間でBLEによる通信が行われるが、その際には、スマートフォンB100はBLEのCentralとして、デジタルカメラA100はBLEのPeripheralとして振る舞うことになる。
ステップS201において、制御部A101は、表示部A106に設定メニュー画面を表示して、ユーザが操作部A105によってペアリング設定メニューを選択するまで待機する。なお、設定メニュー画面については後述する。
ステップS202において、制御部A101は、省電力無線通信部A112によってペアリングを開始するためのペアリング情報をAdvertiseする。例えば、制御部A101はBLEのGATTプロファイルによってペアリングを行うためのAP FindサービスのAdvertiseを行う。
AP Findサービスには、初期設定を求める接続対象のデバイス(以下Centralと呼ぶ)がCentralを一意に特定するためのID情報(接続情報)を書き込むためのCentralID特性と初期設定の進行状況を表すStatus特性とが含まれている。ステップS202においては、CentralID特性にはNULL値が、Status特性には文字列”Initializing”が設定された状態でAdvertiseが行われる。このBLEのAdvertiseは、制御部A101によって明示的に停止の指示があるまで、省電力無線通信部A112によって、自動的に繰り返し行われる。また、AP Findサービスには他に、後述するように、Centralがビーコンを受信したアクセスポイントC100のSSIDを書き込むSSID特性が含まれている。
ステップS203において、制御部A101は、Advertiseに対してCentralからCentralID特性への書き込み要求があったか否かを判定する。この要求は、後述するように、スマートフォンB100で行われる要求に対応するものである。制御部A101は書き込み要求がないと判定すると、当該要求があるまでステップS203の処理を繰り返して行う。制御部A101は書き込み要求があったと判定すると、ステップS204の処理に進む。
ステップS204において、制御部A101は、書き込みを要求したCentralが既にBLEペアリング済みであるか否かを判定する。制御部A101は既にペアリング済みであると判定すると、後述するステップS209の処理に進む。
一方、制御部A101はペアリングが未だ行われていないと判定すると、ステップS205の処理に進む。ステップS205において、制御部A101の制御下で省電力無線通信部A112はCentralに対してペアリング要求を送信する。そして、ステップS206において、制御部A101は表示部A106にPIN確認画面を表示する。ここでは、ペアリングの要求毎に異なる6桁の数値が生成されて、PIN番号として用いられる。
続いて、ステップS207において、制御部A101は、省電力無線通信部A112がCentralからPIN番号を受信したか否かを判定する。このPIN番号の受信は、スマートフォン101の送信に対応する。制御部A101はPIN番号を受信しないと判定すると、受信するまでステップS207の処理を繰り返して行う。
制御部A101はPIN番号を受信したと判定すると、ステップS208の処理に進む。ステップS208において、制御部A101は受信したPIN番号がステップS206で生成したPIN番号と一致しているか否かを判定する。制御部A101はPIN番号が一致していないと判定すると、ステップS205の処理に戻って再度ペアリング要求を送信する。一方、制御部A101はPIN番号が一致すると判定すると、ステップS209の処理に進む。
ステップS209において、制御部A101は、AP FindサービスのCentralID値を不揮発性メモリA103に保存する。ここでは、制御部A101は副制御部A120に内蔵の不揮発性メモリにもCentralID値を保存する。
続いて、ステップS210において、制御部A101は、省電力無線通信部A112によって初期設定が完了したことをCentralに対して通知する。例えば、制御部A101は、AdvertiseにおけるAP FindサービスのStatus特性の値を”Success”として、Advertiseを受信したCentralが初期設定が終了したことを知ることができるようにする。
次に、ステップS211において、制御部A101は、表示部A106にペアリング完了画面を表示する。なお、ペアリング完了画面については後述する。そして、ステップS212において、制御部A101は、省電力無線通信部A112によってステップS202で開始したBLEのAP FindサービスのAdvertiseを停止する。その後、制御部A101は初期設定動作を終了する。これによって、CentralとPeripheralとは接続状態に移行する。
なお、CentralとPeripheralとが共に接続状態に移行すると、CentralとPeripheralとは一定間隔毎に相互にパケットの送受信を行う。そして、当該通信が維持されている間においては、CentralとPeripheralとは互いに接続されているものとみなす。もしも、相手からの通信が届かないときには、接続状態は解除される。
図3は、図1に示すカメラで行われるペアリング設定メニューの選択を説明するための図である。そして、図3(a)は設定トップ画面を示す図であり、図3(b)は接続設定画面を示す図である。また、図3(c)はペアリング画面を示す図であり、図3(d)はPIN確認画面を示す図である。さらに、図3(e)はペアリング完了画面を示す図である。
いま、ステップS201においてペアリング設定メニューの選択を行う際には、ユーザは操作部A105を操作して、図3(a)に示す設定トップ画面を表示部A106に表示する。この設定トップ画面において、ユーザが設定項目一覧301から、スマートフォンB100との接続設定メニュー項目302を選択すると、制御部A101は、図3(b)に示す接続設定画面を表示部A106に表示する。
接続設定画面において、ユーザが設定項目一覧311から、スマートフォンB100とのペアリング設定メニュー312を選択すると、制御部A101は、図3(c)に示すペアリング画面を表示部A106に表示する。そして、ユーザはペアリング画面において、新しいスマートフォンの追加メニュー項目321を選択する。これによって、カメラA100においてペアリング設定メニューの選択が行われることになる。
図3(d)には、図2で説明したステップS206の処理によって表示部A106に表示されるPIN確認画面が示されている。PIN確認画面に関して、ユーザはカメラA100に対して操作を行う必要はない。ユーザはPIN確認画面に表示されたPINコード331をスマートフォンB100に入力することによって、ペアリングが実行されて、図2に示すステップS207の処理に進む。
図3(e)には、図2で説明したステップS212の処理によって表示部A106に表示されるペアリング完了画面が示されている。ペアリング完了画面において、ユーザがOKボタン341を選択すると、制御部A101はステップS212の処理を終了する。
次に、図1に示すスマートフォンB100とデジタルカメラA100とを省電力無線通信部B112およびA112によって相互に通信可能とするためにスマートフォンB100で行われる初期設定について説明する。
図4は、図1に示すスマートフォンの初期設定動作を説明するためのフローチャートである。なお、図示のフローチャートに係る処理は制御部B101の制御下で行われる。
図示のフローチャートに係る処理の開始に先立って、ユーザはスマートフォンB100においてカメラA100と通信を行うためのアプリケーションを起動しているものとする。初期設定を行うに当たっては、スマートフォンB100とカメラA100との間でBLEによる通信が行われるが、この際に、スマートフォンB100はBLEのCentralとして、そして、カメラA100はBLEのPeripheralとして振る舞うことになる。
ステップS401において、制御部B101は、表示部B106に設定メニュー画面を表示して、ユーザによるペアリング設定メニューの選択を待つ。なお、設定メニュー画面については後述する。
設定メニュー画面におけるユーザ操作によってステップS402に進むと、制御部B101は、ステップS402において表示部B106にペアリング実行中画面を表示する。そして、ステップS403において、制御部B101は、省電力無線通信部B112によってBLE PeripheralからAdvertiseを受信したか否かを判定する。制御部B101はAdvertiseを受信するまで待機する。
Advertiseを受信すると、ステップS404において、制御部B101は、受信したAdvertiseがAP Findサービスを含むか否かを判定する。制御部B101はAdvertiseがAP Findサービスを含まないと判定すると、ステップS403の処理に戻る。
制御部B101は、受信したAdvertiseがAP Findサービスを含むと判定すると、ステップS405の処理に進む。なお、AP FindサービスのAdvertiseは、図2で説明したステップS202においてルカメラA100が送信したAdvertiseに対応する。
ステップS405において、制御部B101は、スマートフォンB100を特定可能な固有のIDを生成して、AP FindサービスのCentralID特性に対して書き込み要求を行う。図2に関連して説明したように、AP FindサービスのCentralID特性は、その値の書き込みに当たって、BLEにおいてペアリングと呼ばれるデバイス間の認証処理が必要なように設定されている。
続いて、ステップS406において、制御部B101は、Centralからペアリング要求を受信したか否かを判定する。このペアリング要求は、図2で説明したステップS205において送信されるペアリング要求に対応するものであり、省電力無線通信部B112は、CentralID特性をAdvertiseしたPeripheralと未だBLEペアリング済みでない場合にのみ送信する。
制御部B101はペアリング要求を受信しないと判定すると、つまり、既にペアリング済みであってCentralID特性に値を書き込むことができると判定すると、ステップS409の処理に進む。一方、制御部B101はペアリング要求を受信したと判定すると、ステップS407の処理に進む。
ステップS407において、制御部B101は、表示部104にPIN入力画面を表示する。なお、PIN入力画面については後述する。PIN入力画面においてユーザがPIN番号を入力すると、ステップS408において、制御部B101は当該PIN番号を省電力無線通信部B112によってPeripheralに送信する。カメラA100においては、当該PIN番号を受けて、前述したようにしてPIN番号が一致するか否かを判定する。
次に、ステップS409で、制御部B101は、ペアリング完了通知を受信したか否かを判定する。例えば、制御部B101はAP FindサービスのStatus特性の値が”Success(成功)”になったか否かを判定する。この判定は、図2で説明したステップS210の処理に対応しており、カメラA100は受信したPIN番号がカメラA100で生成したPIN番号と一致する場合にペアリング完了通知を行う。
制御部B101はペアリング完了通知を受信しないと判定すると、入力されたPIN番号が誤っているとして、ステップS406の処理に戻る。一方、制御部B101はペアリング完了通知を受信したと判定すると、ステップS410の処理に進む。ステップS410において、制御部B101は、表示部104にペアリング完了画面を表示する。なお、ペアリング完了画面については後述する。そして、ペアリング完了画面が閉られると、制御部B101は初期設定を終了する。
図5は、図1に示すスマートフォンで行われるペアリング設定メニューの選択を説明するための図である。そして、図5(a)は設定トップ画面を示す図であり、図5(b)はペアリング実行中画面を示す図である。また、図5(c)はPIN入力画面を示す図であり、図5(d)はペアリング完了画面を示す図である。
いま、ステップS401においてペアリング設定メニューの選択を行う際には、ユーザは操作部B105を操作して、図5(a)に示す設定トップ画面を表示部B106に表示する。この設定トップ画面には、ペアリング済みのカメラと接続するための操作ボタン501および新しいカメラとペアリングするための操作ボタン502、つまり、ペアリングボタンが表示される。ユーザが操作ボタンから、新しいカメラとのペアリングボタン502を選択すると、制御部B101は表示部B106に、図5(b)にペアリング実行中画面を表示する。
ペアリング実行中画面には、カメラA100をペアリングモードで起動することを促すメッセージ511が表示されるが、ペアリング実行中画面において、ユーザはスマートフォンB100に対して操作を行う必要はなく、指示に応じてカメラA100をペアリングモードで起動する必要がある。この操作については、図2に示すステップS201において説明した。そして、前述のように、ペアリング処理が開始されて、ステップS403の処理に進むことになる。
図5(c)には、図4に示すステップS407において表示部B106に表示されるPIN入力画面が示されている。ユーザはメッセージ521に従って、カメラA100の表示部A106に表示されたPINコード331(図3(d)参照)を読み取って、PIN入力画面のPIN入力領域522に入力する。その後、ユーザは、ペアリング実行ボタン523を選択する。この操作によって、図4に示すステップS407の処理が終了して、ステップS408の処理に進むことになる。
図5(d)には、図4に示すステップS410の処理で表示部B106に表示されるペアリング完了画面が示されている。ペアリング完了画面にはペアリングが行われた旨の文言531が表示されており、ペアリング完了画面において、ユーザがOKボタン532を選択すると、制御部B101は、図4に示すステップS410の処理を終了する。
カメラA100においては、電源ボタンをOFFにした際、カメラA100を電源OFF状態にするか又はスタンバイ状態にするかを設定によって切り替えることが可能である。
図6は、図1に示すカメラの電源ボタンをOFFにした際のカメラの状態設定を説明するための図である。そして、図6(a)は設定トップ画面を示す図であり、図6(b)は接続設定画面を示す図である。また、図6(c)は起動設定画面を示す図である。
いま、カメラA100の電源ボタンをOFF操作する際、ユーザが操作部A105を操作すると、制御部A101は表示部A106に図6(a)に示す設定トップ画面を表示する。設定トップ画面において、ユーザが設定項目一覧601からスマートフォンB101との接続設定メニュー項目602を選択すると、制御部A101は表示部A106に、図6(b)に示す接続設定画面を表示する。
当該接続設定画面において、ユーザが設定項目一覧611からスマートフォンからの起動設定メニュー612を選択すると、制御部A101は表示部A106に、図6(c)に示すスマートフォンB100の起動設定画面を表示する。当該起動設定画面においては、有効メニュー621および無効メニュー622の2つの選択肢が表示される。
いま、ユーザが有効メニュー621を選択すると、制御部A101は電源ボタンをOFFとした際にデジタルカメラA100をスタンバイ状態とする。一方、ユーザが無効メニュー622を選択した場合には、制御部A101は電源ボタンをOFFとした際にデジタルカメラA100を電源OFF状態とする。
<システムの概要>
図7は、図1に示す通信システムにおいて、アクセスポイント検出から画像送信までの処理の流れを説明するためのシーケンス図である。
なお、図7において、破線矢印はBLEによる通信であることを示し、太実線矢印は無線LANによる通信であることを示す。また、カメラA100とスマートフォンB100とは事前にBLEによってペアリング済みであるものとする。さらに、カメラA100には、接続希望のアクセスポイントC100のSSIDとパスワード情報とが、予めユーザによって操作部A105から入力されて、不揮発性メモリA103に記憶されているものとする。
ここでは、スマートフォンB100には、接続希望のアクセスポイントC100のSSIDがカメラA100から予め省電力無線通信部B112に通知されて、不揮発性メモリB103に記憶されているものとする。そして、図示のシーケンスを開始する際には、カメラA100はスタンバイ状態であるものとする。
ステップS710において、スマートフォンB100はアクセスポイントC100から無線LAN通信でブロードキャストされたビーコンパケット(単にビーコンともいう)を受信する。ここで、アクセスポイントC100はビーコンパケットにアクセスポイント情報(例えば、SSIDおよび通信レート設定)を付加して送信する。
ビーコンパケットを受信すると、ステップS711において、スマートフォンB100は、受信したビーコンパケットに含まれるSSIDが予めカメラA100から通知されて不揮発性メモリB103に記憶された接続希望のアクセスポイントC100のSSIDであるか否かを照合する。ビーコンパケットのSSIDが接続希望のアクセスポイントC100のものであった場合、ステップS712において、スマートフォンB100はBLEによってカメラA100にアクセスポイント検出通知を送信する。この際、スマートフォンB100は、検出したアクセスポイントC100のアクセスポイント情報を付加してカメラA100に送信する。
なお、スマートフォンB100は、アクセスポイント検出通知(アクセスポイント検出信号)を送信する前に、表示部B106にアクセスポイント検出通知を送信するか否かを問い合わせる問い合わせ画面を表示する。そして、スマートフォンB100はユーザによる指示を待ち受けて、送信指示を受けた場合のみ、アクセスポイント検出通知をカメラA100に送信するようにしてもよい。
アクセスポイント検出通知を受信すると、ステップS713において、カメラA100では副制御部A120が電源管理部A107を制御して、カメラA100をスタンバイ状態から電源ON状態とする。さらに、副制御部A120は無線通信部A111の無線LAN通信機能を有効にする。
ステップS714において、カメラA100は、アクセスポイントC100から無線LAN通信でブロードキャストされたビーコンパケットを受信する。そして、ステップS715において、カメラA100は受信したビーコンパケットに含まれるアクセスポイント情報と予め不揮発性メモリA103に記憶したパスワード情報とに基づいて、アクセスポイントC100と無線LAN接続を確立する。
続いて、ステップS716において、カメラA100は、無線LANによってアクセスポイントC100を介してクラウドネットワークD100上の所望のPCに未アップロードの画像の全てを送信する。画像送信が完了すると、ステップS717において、カメラA100とアクセスポイントC100とは無線LANによる通信を切断する。デジタルカメラA100は、無線LANによる通信を切断すると、ステップS718においてスタンバイ状態に移行する。
<各装置の動作>
図8は、図7に示す画像送信を行う際のカメラA100の動作を説明するためのフローチャートである。なお、図示のフローチャートに係る処理は、制御部A101および副制御部A120によって行われる。
図示のフローチャートに係る処理は、操作部A105におけるタッチパネル操作によって接続希望のアクセスポイントC100のSSIDがユーザによって登録された後、スマートフォンB100からのアクセスポイント検出通知の待ち受け開始指示を受けることによって開始される。待ち受け中においては、カメラA100はスタンバイ状態となるものとする。
ステップS810において、副制御部A120は、内蔵の不揮発性メモリにペアリング済みBLEデバイスのCentralID情報(ネットワーク識別子)が1つ以上保存されているか否かを判定する。副制御部A120は、CentralID情報が存在しないと判定すると、後述するステップS809の処理を行った後、処理を終了する。一方、副制御部A120は、CentralID情報が存在すると、ステップS820の処理に進む。
ステップS820において、副制御部A120は、省電力無線通信部A112によってペアリングを開始するための情報をAdvertiseする。例えば、副制御部A120は、BLEのGATTプロファイルによって、ペアリングを行うためのAP FindサービスのAdvertiseを行う。AP Findサービスには、初期設定を求める接続対象のデバイス(以下Centralという)がCentralを一意に特定するためのID情報を書き込むためのCentralID特性と初期設定の進行状況を示すStatus特性とが含まれている。
図2で説明したステップS202においては、CentralID特性にはNULL値が設定され、Status特性には文字列”Initializing”が設定された状態でAdvertiseが行われている。このBLEによるAdvertiseは、明示的に停止の指示があるまでは、省電力無線通信部A112によって繰り返し行われる。また、AP Findサービスには、Centralがビーコンパケットを受信したアクセスポイントC100のSSIDを書き込むSSID特性が含まれている。
ステップS811において、副制御部A120は、省電力無線通信部A112に対して、AP FindサービスのSSID特性に対する書き込み要求があるか否かを判定する。書き込み要求がないと、副制御部A120は書き込み要求を受信するまでステップS811の処理を繰り返す。一方、書き込み要求を受信すると、副制御部A120はステップS812の処理に進む。なお、ステップS811において受信する書き込み要求は後述の図9に示すステップS911において送信される書き込み要求に対応する。
ステップS812において、副制御部A120は、ステップS811で受信した書き込み要求がペアリング済みのBLEデバイスから送信されたものか否かを判定する。ここでは、副制御部A120は、書き込み要求を行ったCentralのCentralIDが、副制御部A120に内蔵の不揮発性メモリに保存されているか否か、つまり、図2で説明したペアリング設定によって設定されたCentralであるか否かを判定する。
副制御部A120はペアリング済みのBLEデバイスからの書き込み要求であると判定すると、AP FindサービスのSSID特性の値を内蔵の不揮発性メモリに保存した後、ステップS802の処理に進む。一方、副制御部A120はペアリング済みでないBLEデバイスからの書き込み要求であると判定すると、ステップS811の処理に戻る。
ステップS802において、副制御部A120は、電源管理部A107によってカメラA100を電源ON状態とする。これによって、無線通信部A111はアクセスポイントC100からビーコンパケットを受信することが可能となる。なお、ステップS802の処理は、図7に示すステップS713の処理に相当する。
続いて、ステップS803において、制御部A101は、記録媒体A110に未アップロードの画像が所定の枚数以上存在するか否かを判定する。制御部A101は未アップロード画像が所定の枚数以上存在すると判定すると、ステップS804の処理に進む。
一方、制御部A120は未アップロード画像が所定の枚数未満であると判定すると、ステップS821の処理に進む。なお、未アップロード画像を判定するため、制御部A101は、撮影によって得られた画像データの拡張情報領域に未アップロードを示すフラグを埋め込んで、アップロードの際に当該フラグをアップロード済みに変更するようにしてもよい。また、所定の枚数は1枚でもよく、さらには、操作部A105によってユーザが
設定するようにしてもよい。
次に、ステップS804において、制御部A101は、電源管理部A107によってバッテリ(バッテリ電源)の残量が所定の残量以上であるか否かを判定する。制御部A101はバッテリ残量が所定の残量以上であると判定すると、ステップS805の処理に進む。一方、制御部A101はバッテリ残量が所定の残量未満であると判定すると、ステップS821の処理に進む。
ステップS805において、制御部A101は、無線通信部A111によってアクセスポイントC100から無線LAN通信でブロードキャストされたビーコンパケットを受信する。ステップS805の処理は、図7に示すステップS714の処理に相当する。なお、ビーコンパケットを受信できなかった場合には、制御部A101は電源管理部A107によってカメラA100をスタンバイ状態とするようにしてもよい。
続いて、ステップS806において、制御部A101は、受信したビーコンパケットに含まれるアクセスポイント情報と予め不揮発性メモリA103に記憶されたパスワード情報とに基づいて、アクセスポイントC100と無線LAN接続を確立する。ステップS806の処理は、図7に示すステップS715の処理に相当する。
次に、ステップS807において、制御部A101は、無線通信部A111によってアクセスポイントC100に未アップロードの画像の全てを送信する。ステップS807の処理は、図7に示すステップS716の処理に相当する。
ステップS808において、制御部A101は、無線通信部A111によるアクセスポイントC100との通信を切断する。ステップS808の処理は、図7に示すステップS717の処理に相当する。
次に、ステップS821において、制御部A101は、ステップS820において開始したBLEのAdvertiseを停止する。そして、ステップS809において、制御部A101は、電源管理部A107によって電源をOFFしてカメラA100をスタンバイ状態とする。ステップS809の処理は、図7に示すステップS718の処理に相当する。なお、未アップロードの画像が存在しないか又はバッテリ残量が所定の残量未満である場合には、制御部A101はカメラA100を電源OFF状態としてもよい。
図9は、図7に示す画像送信が行われる際のスマートフォンB100の動作を説明するためのフローチャートである。なお、図示のフローチャートに係る処理は、制御部B101によって行われる。
図9に示すフローチャートに係る処理は、制御部B101が操作部B105からビーコンパケットの照合を開始するための操作を受け付けると開始される。例えば、ユーザによるメニュー操作に応じて、スマートフォンB100に搭載されたOS(Operating System)に対してBLEの機能および無線LANの機能が有効に設定され、フローチャートに係る処理を行うアプリケーションプログラム(以下単にアプリともいう)が起動する。これによって、スマートフォンB100はアクセスポイントC100から送信されたビーコンパケットの受信を待つ状態となって、図9に示すフローチャートに係る処理を開始する。
なお、カメラA100が接続希望するアクセスポイントC100のSSIDは、予めスマートフォンB100に省電力無線通信部B112を介してカメラA100から通知され、不揮発性メモリB103に記憶されているものとする。又はユーザが操作部B105によってアクセスポイントC100のSSIDをスマートフォンB100に入力するようにしてもよい。
ステップS910において、制御部B101は、不揮発性メモリB103にペアリング済みBLEデバイスのPeripheralID情報が1つ以上保存されているか否かを判定する。制御部B101はPeripheralID情報が存在しないと判定すると、処理を終了する。一方、制御部B101はPeripheralID情報が存在すると判定すると、ステップS901の処理に進む。
ステップS901において、制御部B101は、受信したビーコンパケットに含まれるアクセスポイント情報のSSIDが不揮発性メモリB103に記憶されたSSIDと一致するか否かを判定する。制御部B101はSSIDが一致すると判定すると、ステップS920の処理に進む。一方、制御部B101はSSIDが一致しないと判定すると、ステップS903の処理に進む。なお、ステップS901の処理は、図7に示すステップS711の処理に相当する。
ステップS920にて、制御部B101は、省電力無線通信部B112によってBLE PeripheralからAdvertiseを受信したか否かを判定する。制御部B101は、Advertiseを受信したと判定すると、ステップS921の処理に進む。一方、制御部B101はAdvertiseを受信しなかったと判定すると、ステップS920の処理を繰り返す。
ステップS921において、制御部B101は、ステップS920において受信したAdvertiseがAP Findサービスを含むか否かを判定する。制御部B101はAdvertiseがAP Findサービスを含まないと判定すると、ステップS920の処理に戻る。一方、制御部B101はAdvertiseがAP Findサービスを含むと判定すると、ステップS911の処理に進む。ここで受信するAP FindサービスのAdvertiseは、図8に示すステップS820の処理においてカメラA100より送信されたAdvertiseに対応する。
ステップS911において、制御部B101は、省電力無線通信部B112によって接続希望のアクセスポイントC100を検出した旨をカメラA100に通知する。例えば、制御部B101はBLEのGATTプロファイルによってアクセスポイント検出通知を行うためのAP Findサービスの送信を行う。AP Findサービスには、ステップS901の処理でビーコンを受信したアクセスポイントC100のSSIDを示すSSID特性が含まれている。
SSID特性については、その値の書き込みに当たって、BLEにおけるペアリングと呼ばれるデバイス間の認証処理が必要なように設定されている。なお、ステップS911の処理によって送信されるアクセスポイント検出通知は、図8に示すステップS811において受信されアクセスポイント検出通知に対応する。また、ステップS911の処理は、図7に示すステップS712の処理に相当する。
続いて、ステップS903において、制御部B101は、ユーザによって操作部B105から処理終了指示を受けたか否かを判定する。制御部B101は処理終了指示を受けたと判定すると、処理を終了する。一方、制御部B101は処理終了指示を受けていない判定すると、ステップS901の処理に戻る。
このように、本発明の第1の実施形態では、無線LANを無効にして省電力状態にあるカメラA100がアクセスポイントC100のビーコンを検出したスマートフォンB100からのBLE通知を受ける。そして、カメラA100は無線LANを有効にしてアクセスポイントC100との無線LAN通信を確立する。これによって、カメラA100はバッテリなどの電源を消耗することなく、接続希望のアクセスポイントC100を自動的に検出することができる。さらに、画像の転送が終了すると、カメラA100はBLEのAdvertizeを停止するようにしたので、さらに消費電力を低下させることができる。
[第2の実施形態]
続いて、本発明の第2の実施形態による通信装置を備える通信システムの一例について説明する。
<システムの概要>
前述の第1の実施形態においては、画像の転送が終わって無線LANを切断すると、カメラA100はBLEのAdvertiseを停止する場合について説明した。一方、第2の実施形態では、画像の転送が終わって無線LANを切断しても、カメラA100はBLEのAdvertiseを停止しない場合について説明する。
第2の実施形態に係る通信システムの構成は図1に示す通信システムと同様であるので、ここでは説明を省略する。また、デジタルカメラA100とスマートフォンB100とは事前にペアリング済みであるものとする。
なお、第2の実施形態においては、AP Findサービスには第1の実施形態で説明した特性に加えて、カメラA100からスマートフォンB100に対してアクセスポイントC100の検出状態を設定するための検出状態特性が含まれるものとする。この検出状態特性には、「検出開始」と「検出停止」とがある。「検出開始」が設定されると、スマートフォンB100はアクセスポイントC100の検出を開始する。「検出停止」が設定されると、スマートフォンB100はアクセスポイントC100の検出を停止する。
カメラA100は、検出状態特性を「検出開始」にすることによって、スマートフォンB100に検出開始通知を行う。一方、カメラA100は、検出状態特性を「検出停止」にすることによって、スマートフォンB100に検出停止通知を行う。そして、ペアリングの際には、カメラA100は検出状態特性を「検出開始」としてAP FindサービスのAdvertiseを行う。
図10は、本発明の第2の実施形態による通信装置を備える通信システムにおいて、アクセスポイント検出から画像送信までの処理の流れを説明するためのシーケンス図である。なお、図10において、図7に示すステップと同一のステップについては同一の参照符号を付して説明を省略する。
ステップS717において、カメラA100は無線LANを切断した後、ステップ1001において、スマートフォンB100に対してBLEによってアクセスポイントC100の検出停止通知を送信する。
カメラA100から検出停止通知を受信すると、スマートフォンB100は、ステップS1002においてアクセスポイント検出通知の送信を停止する。続いて、ステップS1003において、カメラA100は、ユーザによる撮影などによって未アップロードの画像が記録媒体A110に記録されるのを待つ。
未アップロードの画像が記録媒体A110に記録されると、ステップS1004において、カメラA100はスマートフォンB100に対してBLEによってアクセスポイントC100の検出開始通知を送信する。そして、カメラA100から検出開始通知を受信すると、スマートフォンB100は、ステップS1005においてアクセスポイント検出通知の送信を開始する。
<各装置の動作>
図11は、本発明の第2の実施形態に係る通信システムにおいて、画像送信を行う際のカメラの動作を説明するためのフローチャートである。なお、図11に示すフローチャートにおいて、図8に示すフローチャートのステップと同一のステップについては同一の参照符号を付して説明を省略する。また、図示のフローチャートに係る処理は、制御部A101および副制御部A120の制御下で行われる。
図11に示すフローチャートに係る処理は、操作部A105に備えられた電源スイッチによって電源OFFが行われると開始される。副制御部A120によってCentralID情報が存在すると判定されると、ステップS1101において、制御部A101は記録媒体A110に未アップロードの画像が所定の枚数以上存在するか否かを判定する。制御部A101は未アップロード画像が所定の枚数以上存在すると判定すると、ステップS1102の処理に進む。一方、制御部A101は未アップロード画像が所定の枚数未満であると判定すると、ステップS809の処理に進む。
なお、未アップロード画像の枚数を判定するために、例えば、制御部A101は、撮影の際に画像の拡張情報領域に未アップロードを示すフラグを埋め込む。そして、アップロードの際に、制御部A101は当該フラグをアップロード済みに変更するようにしてもよい。さらに、所定の枚数は1枚でもよく、操作部A105からユーザが設定するようにしてもよい。
ステップS1102において、制御部A101は、省電力無線通信部A112によってスマートフォンB100に対してアクセスポイントC100検出開始指示(検出要求)を送信する。例えば、制御部A101はBLEのGATTプロファイルに応じたAP Findサービスの検出状態特性を送信する。この際、検出状態特性は「検出開始」として送信される。なお、ステップS1102の処理は、図10に示すステップS1104の処理に相当する。
続いて、ステップS1103において、制御部A101は、電源管理部A107によってカメラA100をスタンバイ状態とする。その後、制御部A101は前述のステップS811の処理を行う。前述のステップS808の処理を行った後、制御部A101は、ステップS1104において省電力無線通信部A112によってスマートフォンB100に対してアクセスポイントC100の検出停止指示を送信する。例えば、制御部A101はBLEのGATTプロファイルに応じたAP Findサービスの検出状態特性の送信を行う。この際、検出状態特性は「検出停止」として送信される。なお、ステップS1104の処理は、図10に示すステップS1001の処理に相当する。ステップS1104の処理を行った後、制御部A101はステップS809の処理に進む。
図12は、本発明の第2の実施形態に係る通信システムにおいて、画像送信が行われる際のスマートフォンB100の動作を説明するためのフローチャートである。なお、図12に示すフローチャートにおいて、図9に示すフローチャートのステップと同一のステップについては同一の参照符号を付して説明を省略する。また、図示のフローチャートに係る処理は、制御部B101の制御下で行われる。
ステップS901においてビーコンパケットを検出しないか又はステップS911の処理を行った後、制御部B101は、ステップS1201において省電力無線通信部B112によってカメラA100から接続希望のアクセスポイントC100の検出停止通知を受けたか否かを判定する。例えば、制御部B101はBLEのGATTプロファイルに応じたAP Findサービスの検出状態特性を受信する。この際、検出状態特性が「検出停止」であれば、制御部B101は検出停止通知を受信したと判定する。制御部B101は検出停止通知を受信したと判定すると、ステップS1202の処理に進む。一方、制御部B101は検出停止通知を受信しないと判定すると、ステップS903の処理に進む。
ステップS1202において、制御部B101は、省電力無線通信部B112によってカメラA100から接続希望のアクセスポイントC100の検出開始通知を受信したか否かを判定する。例えば、制御部B101は、BLEのGATTプロファイルに応じたAP Findサービスの検出状態特性を受信する。この際、検出状態特性が「検出開始」であれば、制御部B101は検出開始通知を受信したと判定する。制御部B101は検出開始通知を受信したと判定すると、ステップS903の処理に進む。一方、制御部B101は検出開始通知を受信しないと判定すると、ステップS1202の処理を繰り返す。
このように、本発明の第2の実施形態では、カメラA100からスマートフォンB100に対してアクセスポイントC100の検出が不要な場合にその旨を通知する。これによって、カメラA100はスマートフォンB100からの不要な検出通知の送信を停止することができる。また、BLEの動作はどのようなサービスであってもAdvertizeを必要とするので、カメラA100がBLEのAdvertiseを停止すると、カメラA100における他のBLEサービスの動作を妨げてしまう可能性がある。第2の実施形態では、Advertizeを停止しないので、AP Find以外のBLEサービスを同時に用いることができる。
[第3の実施形態]
続いて、本発明の第3の実施形態による通信装置を備える通信システムの一例について説明する。
<システムの概要>
前述の第2の実施形態においては、スマートフォンB100がアクセスポイントC100を検出した際に、カメラA100から検出開始通知を受けているときのみアクセスポイント検出通知をカメラA100に送信する場合について説明した。第3の実施形態では、カメラA100の未アップロードの画像枚数に応じて、アクセスポイント検出通知を送信するか否かをスマートフォンB100が判定する場合について説明する。
第3の実施形態に係る通信システムの構成は図1に示す通信システムと同様であるので、ここでは説明を省略する。また、デジタルカメラA100とスマートフォンB100とは事前にペアリング済みであるものとする。なお、第3の実施形態においては、AP Findサービスには第1の実施形態で説明した特性に加えて、カメラA100からスマートフォンB100に未アップロード画像の枚数を通知する画像枚数特性が含まれる。そして、ペアリングの際には、カメラA100は画像枚数特性を「0枚」としてAP FindサービスのAdvertiseを行う。
図13は、本発明の第3の実施形態による通信装置を備える通信システムにおいて、アクセスポイント検出から画像送信までの処理の流れを説明するためのシーケンス図である。なお、図13において、図7に示すステップと同一のステップについては同一の参照符号を付して説明を省略する。
ステップS1301において、カメラA100は、ユーザによる撮影などの未アップロードの画像枚数が変化する処理を受け付ける。そして、電源スイッチによって電源OFF操作を受け付けると、ステップS1302において、カメラA100はスマートフォンB100に対してBLEによって未アップロードの画像枚数通知を送信する。その後、ステップS1303において、カメラA100はスタンバイ状態となる。
カメラA100から画像枚数通知を受信すると、ステップS1304において、スマートフォンB100は、アクセスポイント検出通知の送信を開始する否かを判定する。ステップS1304で行われる判定については後述する。
ここで、スマートフォンB100は、アクセスポイント検出通知の送信を開始すると判定すると、前述のステップS710におけるビーコンパケットの受信からステップS717におけるデジタルカメラA100の無線LAN切断までの動作が行われる。
ステップS717の処理の後、ステップS1305において、カメラA100はスタンバイ状態に移行する前に、スマートフォンB100に対してBLEによって未アップロードの画像枚数通知を送信する。そして、カメラA100は、ステップS718においてスタンバイ状態に移行する。
カメラA100から未アップロードの画像枚数通知を受信すると、ステップS1306において、スマートフォンB100はアクセスポイント検出通知の送信を停止するか否かを判定する。ステップS1306で行われる判定については後述する。
図示の例では、ステップS1305において通知される画像枚数は、ステップS716において画像送信が行われているので0枚である。よって、スマートフォンB100はアクセスポイント検出通知の送信を停止することになる。
<各装置の動作>
図14は、本発明の第3の実施形態に係る通信システムにおいて、画像送信を行う際のカメラの動作を説明するためのフローチャートである。なお、図14に示すフローチャートにおいて、図8に示すフローチャートのステップと同一のステップについては同一の参照符号を付して説明を省略する。また、図示のフローチャートに係る処理は、制御部A101および副制御部A120の制御下で行われる。
図14に示すフローチャートに係る処理は、操作部A105に備えられた電源スイッチによって制御部A101に電源OFFが指示されることによって開始される。副制御部A120によってCentralID情報が存在すると判定されると、ステップS1401において、制御部A101は、記録媒体A110に記憶された未アップロードの画像枚数を計数する。そして、制御部A101は省電力無線通信部A112によってスマートフォンB100に対して未アップロードの画像枚数通知を送信する。
例えば、制御部A101は、BLEのGATTプロファイルに応じたAP Findサービスの画像枚数特性の送信を行う。この際、画像枚数特性には未アップロードの画像枚数が書き込まれることになる。ステップS1401の処理は、図13に示すステップS1302の処理に相当する。
なお、未アップロード画像の枚数を判定するために、制御部A101は、撮影の際に画像の拡張情報領域に未アップロードを示すフラグを埋め込む。そして、制御部A101はアップロードの際に当該フラグをアップロード済みに変更するようにしてもよい。
続いて、ステップS1402において、制御部A101は、電源管理部A107によってカメラA100をスタンバイ状態に移行させる。その後、処理はステップS811に進む。
前述のステップS808の処理を行った後、ステップS1403において、制御部A101は、記録媒体A110に記憶された未アップロードの画像枚数を計数する。そして、制御部A101は省電力無線通信部A112によって、スマートフォンB100に対して未アップロードの画像枚数通知を送信する。例えば、制御部A101は、BLEのGATTプロファイルに応じたAP Findサービスの画像枚数特性の送信を行う。この際、画像枚数特性には未アップロードの画像枚数が書き込まれる。ステップS1403の処理は、図13に示すステップS1305の処理に相当する。
なお、未アップロード画像の枚数を判定するために、制御部A101は、撮影の際に画像の拡張情報領域に未アップロードを示すフラグを埋め込む。そして、制御部A101はアップロードの際に当該フラグをアップロード済みに変更するようにしてもよい。
図15は、本発明の第3の実施形態に係る通信システムにおいて、画像送信が行われる際のスマートフォンB100の動作を説明するためのフローチャートである。なお、図15に示すフローチャートにおいて、図9に示すフローチャートのステップと同一のステップについては同一の参照符号を付して説明を省略する。また、図示のフローチャートに係る処理は、制御部B101の制御下で行われる。
ステップS910において、制御部B101はPeripheralID情報が存在すると判定すると、ステップS1501の処理に進む。ステップS1501にて、制御部B101は、省電力無線通信部B112によってカメラA100から画像枚数通知を受信したか否かを判定する。例えば、制御部A101はBLEのGATTプロファイルに応じたAP Findサービスの画像枚数特性を受信したか否かを判定する。
画像枚数通知を受信すると、制御部B101は画像枚数特性を読み取って、ステップS1502の処理に進む。一方、画像枚数通知を受信しないと、制御部B101はステップS1501の処理を繰り返す。
ステップS1502において、制御部B101は、ステップS1501で受信した画像枚数が所定の枚数以上であるか否かを判定する。制御部B101は画像枚数が所定の枚数以上であると判定すると、ステップS901の処理に進む。一方、制御部B101は画像枚数が所定の枚数未満である判定すると、ステップS903の処理に進む。なお、上記の所定の枚数は1枚でもよく、操作部B105によってユーザが設定するようにしてもよい。
このように、本発明の第3の実施形態では、カメラAS100からスマートフォンB100に対して、未アップロードの画像枚数を通知する。これによって、スマートフォンB100ではアクセスポイント検出通知をカメラA100に送信するか否かを容易に判定することができる。
以上、本発明について実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。
例えば、上記の実施の形態の機能を制御方法として、この制御方法を通信装置に実行させるようにすればよい。また、上述の実施の形態の機能を有するプログラムを通信装置が備えるコンピュータに実行させるようにしてもよい。なお、制御プログラムは、例えば、コンピュータに読み取り可能な記録媒体に記録される。
[その他の実施形態]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。