JP7328754B2 - 通信装置、通信装置の制御方法、およびプログラム - Google Patents

通信装置、通信装置の制御方法、およびプログラム Download PDF

Info

Publication number
JP7328754B2
JP7328754B2 JP2018221678A JP2018221678A JP7328754B2 JP 7328754 B2 JP7328754 B2 JP 7328754B2 JP 2018221678 A JP2018221678 A JP 2018221678A JP 2018221678 A JP2018221678 A JP 2018221678A JP 7328754 B2 JP7328754 B2 JP 7328754B2
Authority
JP
Japan
Prior art keywords
version
communication
communication device
signal
digital camera
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018221678A
Other languages
English (en)
Other versions
JP2019161637A5 (ja
JP2019161637A (ja
Inventor
亮輔 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to US16/295,340 priority Critical patent/US11057951B2/en
Publication of JP2019161637A publication Critical patent/JP2019161637A/ja
Publication of JP2019161637A5 publication Critical patent/JP2019161637A5/ja
Application granted granted Critical
Publication of JP7328754B2 publication Critical patent/JP7328754B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Communication Control (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

本発明は、所定の通信方式に従って動作する通信装置の技術に関する。
近距離無線通信規格であるBluetooth(商標登録)の仕様では、周囲の複数の装置に対して自身の存在を示すためにアドバタイズ処理を行うこと(アドバタイジングパケットを送信すること)が規定されている。当該規格では、アドバタイジングパケットを送信する側の装置をペリフェラル機器、アドバタイジングパケットを受信する側の装置をセントラル機器と称する。
近年、Bluetoothの新しいバージョンとして、Bluetoothバージョン5(以下、BT5と称す)の仕様が規定された。このBT5と、既に仕様が規定されていた、Bluetoothバージョン4(以下、BT4と称す)では、例えば、アドバタイジングパケットで通知できるデータのサイズが異なる。例えば、BT4では、アドバタイジングパケットで通知できるデータは、最大31バイトであった。一方、BT5では、新しいアドバタイジングパケットが定義され、最大251バイトのデータを通知することができる。また、BT5の仕様では、BT4に従うアドバタイズ処理と、BT5で新たに規定されたアドバタイズ処理を並行して実行することが認められている。
ところで、BT5に従うアドバタイズ処理は、下位互換性を持たないため、BT4をサポートし、BT5をサポートしないセントラル機器は、BT5で規定されるアドバタイジングパケットを受信することができない。一方、BT5サポートするセントラル機器は、BT4で規定されるアドバタイジングパケットを受信し、解析することができる。また、BT5をサポートするペリフェラル機器は、BT4とBT5で規定されるアドバタイジングパケットを並行して送信することができる。
特開2013-156858号公報 特開2009-188680号公報
セントラル機器がサポートするBluetoothバージョンを、BT4またはBT5のいずれかに統一できる場合がある。このような状況では、ペリフェラル機器がBT4およびBT5に従うアドバタイズ処理を両方行い続けることは、ペリフェラル機器における消費電力、またネットワークリソースの有効利用の観点から好ましくない。他方、セントラル機器がサポートするBluetoothバージョンを統一できない場合がある。このような状況では、ペリフェラル機器がBT4およびBT5に従うアドバタイズ処理を行うことにより、いずれのバージョンをサポートするセントラル機器とも通信を行うことが可能となり、機器の相互接続性が向上する。これらの観点からすれば、ペリフェラル機器は、対向のセントラル機器のサポート状態に応じて、実行するアドバタイズ処理を切り替えることが望ましい。
特許文献1および特許文献2において、対向機がサポートする通信プロトコルを判定して、自らが送信するパケットの種別を切り替える技術が開示されている。特許文献1ではUPnP(Universal Plug and Play)とmDNS(Multicast Domain Name System)の2つの通信プロトコルについて、対向機がサポートしない通信プロトコルの処理を停止する技術が開示されている。特許文献2では、無線LANの802.11b規格と802.11n規格について、対向機がサポートする規格でネットワークを生成する技術が開示されている。しかしながらいずれの文献においても、Bluetooth通信等の所定の通信方式で複数のバージョンが存在する場合に、対向機がサポートするバージョンを判定し、判定結果に応じて通信を行うことについては開示されていない。
本発明は上記課題に鑑みてなされたものであり、対向機がサポートする通信方式のバージョンに応じて効率的な通信を行うことを目的とする。
上記課題を解決するため、本発明の通信装置は、所定の通信方式の第1のバージョンまたは当該第1のバージョンとは異なる第2のバージョンをサポートする他の通信装置と通信を行う通信装置であって、前記他の通信装置がサポートする前記通信方式のバージョンを登録する登録手段と、前記登録手段により、前記他の通信装置がサポートする前記通信方式のバージョンが登録されている場合、当該登録されている、前記第1のバージョンまたは前記第2のバージョンに従う信号を送信し、前記登録手段により、前記他の通信装置がサポートする前記通信方式のバージョンが登録されていない場合、前記第1のバージョンに従う信号および前記第2のバージョンに従う信号の双方を送信する送信手段と、を有し、前記第1のバージョンに従う信号は、Bluetoothバージョン4に従うアドバタイジングパケットであり、前記第2のバージョンに従う信号は、Bluetoothバージョン5に従うアドバタイジングパケットである
本発明によれば、対向機がサポートする通信方式のバージョンに応じて効率的な通信を行うことが可能となる。
ペリフェラル機器として動作する通信装置1のハードウェア構成例を示す。 ペリフェラル機器として動作する通信装置1の機能構成例を示す。 BT4で規定されるアドバタイズ処理の模式図である。 BT4で規定されるアドバタイズ処理のためのアドバタイジングパケットの構成例を示す。 BT5で規定されるアドバタイズ処理の模式図である。 BT5で規定されるアドバタイズ処理のためのアドバタイジングパケットの構成例を示す。 第1実施形態におけるデジタルカメラ810による処理を表すフローチャートである。 第1実施形態における通信システム800の模式図である。 第1実施形態において通信装置が記憶する対向機情報の構成を例示する図である。 第1実施形態におけるデジタルカメラ810-スマートフォン820の通信シーケンスの一例である。 第1実施形態におけるデジタルカメラ810-スマートフォン820の通信シーケンスの別の例である。 第1実施形態におけるデジタルカメラ810-スマートフォン830の通信シーケンスの一例である。 第1実施形態におけるデジタルカメラ810-スマートフォン830の通信シーケンスの別の例である。 BT4で規定されるスキャン処理を表すシーケンス図である。 図14に示すSCAN_REQパケットおよびSCAN_RSPパケットの構成例を示す。 BT5で規定されるスキャン処理を表すシーケンス図である。 第2実施形態におけるデジタルカメラ810による処理を表すフローチャートである。 第2実施形態におけるデジタルカメラ810-スマートフォン820の通信シーケンスの一例である。 第2実施形態におけるデジタルカメラ810-スマートフォン830の通信シーケンスの一例である。 第3実施形態におけるデジタルカメラ810による処理を表すフローチャートである。 第3実施形態におけるデジタルカメラ810-スマートフォン820、830の通信シーケンスの一例である。
以下、添付の図面を参照して、本発明をその実施形態の一例に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
[第1の実施形態]
(BT4とBT5のアドバタイズ処理)
まず、BT4で規定されるアドバタイズ処理について、図3と図4を参照して説明する。図3は、BT4で規定されるアドバタイズ処理の模式図を示す。図3では、縦軸が通信チャネル、横軸が時間経過を表す。ADV_INDパケット310~350はアドバタイジングパケットである。アドバタイズ処理を行うペリフェラル機器は、ADV_INDパケット310~350を、37~39Chのそれぞれのチャネル(周波数チャネル)で送信する。ADV_INDパケット310~330には、ペリフェラル機器(アドバタイジングパケット送信元)の識別子と、最大31オクテットのアドバタイズデータが含まれる。ペリフェラル機器は、ADV_INDパケット310~350を1セットとして、この1セットの送信を周期的に行う。
図4は、図3に示すADV_INDパケットの構成例を示す。ADV_INDパケットは、Advertising Channel PDU400で示すフォーマットに従って生成され、Header部401とPayload部402から構成される。
Header部401は、PDU Type403、RFU404、ChSel405、TxAdd406、RxAdd407、Length408のデータフィールドから構成される。PDU Type403は、Bluetoothパケットの種別を表すフィールドで、ADV_INDの場合は0000bが指定される。RFU404は、予約領域であり、使用されない。ChSel405は、コネクションやアドバタイズで用いる通信チャネルを選択するアルゴリズム(Channel Selection Algorithm #2)をサポートするかどうかを表すビットフラグである。TxAdd406は、後に示すAdvA411に指定するアドレスがパブリックな値なのかランダムな値なのかを表すビットフラグである。RxAdd407フィールドは、ADV_INDパケットでは利用されない。Length408には、Payload部402の長さ(オクテット)が指定される。
Payload部402(ADV_IND Payload410)は、AdvA411とAdvData412のデータフィールドから構成される。AdvA411には、ペリフェラル機器のアドレスが指定される。AdvData412には、ペリフェラル機器で指定する、最大31オクテットのアドバタイズデータが指定される。
続いて、BT5で規定されるアドバタイズ処理について、図5と図6を参照して説明する。図5は、BT5で規定されるアドバタイズ処理の模式図を示す。図5では、図3と同様に、縦軸が通信チャネル、横軸が時間経過を表す。ADV_EXT_INDパケット510~530、AUX_AND_INDパケット540、AUX_CHAIN_INDパケット550は、アドバタイジングパケットである。アドバタイズ処理を行うペリフェラル機器は、ADV_EXT_INDパケット510~530を、37~39Chでそれぞれ送信する。ADV_EXT_INDパケット510~530には、アドバタイズセットの識別子、次に送信するAUX_ADV_INDパケット540の送信チャネルと送信タイミングなどの情報が指定される。ペリフェラル機器は、ADV_EXT_INDパケット510~530を送信後、ADV_EXT_INDパケット510~530で指定したチャネル(0~36Ch)で、AUX_ADV_INDパケット540を送信する。AUX_ADV_INDパケット540には、ペリフェラル機器で動作するソフトウェアが指定するアドバタイズデータが指定される。当該アドバタイズデータがAUX_ADV_INDパケット540に入りきらない場合、ペリフェラル機器は、残りのデータを、続くAUX_CHAIN_INDパケット550で送信する。以降、ペリフェラル機器は、ADV_EXT_INDパケットとAUX_ADV_INDパケット540(とAUX_CHAIN_INDパケット550)を1セットとして、この1セットの送信を周期的に行う。
図6は、図3に示すADV_EXT_INDパケット、AUX_ADV_INDパケット、AUX_CHAIN_INDパケットの構成例を示す。これらのパケットはそれぞれ、Advertising Channel PDU600で示すフォーマットに従って生成され、Header部601とPayload部602から構成される。
Header部601は、PDU Type603、RFU604、ChSel605、TxAdd606、RxAdd607、Length608のデータフィールドから構成される。PDU Type603は、Bluetoothパケットの種別を表すフィールドで、ADV_EXT_IND、AUX_ADV_IND、AUX_CHAIN_INDの場合は、いずれも0111bが指定される。RFU604、ChSel605、TxAdd606、RxAdd607は、これらのパケットにおいては使用されない。Length608には、Payload部602の長さ(オクテット)が指定される。
Payload部602(Common Extended Acvertising Payload610)は、Ext. Header Length611、AdvMode612、Ext. Header613、AdvData614のデータフィールドから構成される。Ext. Header Length611には、Ext. Header613の長さ(オクテット)が指定される。AdvMode612は、アドバタイズのモードを示す領域で、当該アドバタイズが接続可能か否か、検索可能か否かを示すビットフラグを持つ。AdvData614には、ペリフェラル機器で指定する、最大251オクテットのアドバタイズデータが指定される。Ext. Header613は、Ext. Header Flags620、AdvA621、TargetA622、RFU623、AdvData Info624のデータフィールドを含む。Ext. Header613は、更にAuxPtr625、SyncInfo626、TxPower627、ACAD628のデータフィールドを含む。Ext. Header Flags620は、AdvA621からTxPower627までのデータフィールドのうち、どのデータフィールドを含むのかを表すビットフラグである。ADV_EXT_INDパケットおよびAUX_ADV_INDパケットのAdvA621には、ペリフェラル機器のアドレスが指定される。アドバタイズ処理を特定のセントラル機器に対して行う場合、ADV_EXT_INDパケットおよびAUX_ADV_INDパケットのTargetA622には、当該セントラル機器のアドレスが指定される。RFU623は、予約領域であり、使用されない。AdvData Info624フィールドには、パケットのAdvDataを識別する12bitの値と、一連のアドバタイズデータセットを識別する4bitの値が指定される。AuxPtr625には、後に続くアドバタイジングパケットの送信チャネル、送信タイミング、送信PHYの種別、ペリフェラル機器の動作クロックの精度の情報が指定される。SyncInfo626は、図5に示すアドバタイズ処理においては使用されない。TxPower627には、パケットの送信出力を表すデータが指定される。ACAD628には、拡張データが指定される。
(ペリフェラル機器の構成)
次に、本実施形態においてペリフェラル機器として動作する通信装置1の構成について説明する。まず、ハードウェア構成について説明する。図1は、通信装置1のハードウェア構成例を示す。本実施形態では、通信装置1は、通信機能を有するデジタルカメラを想定する。通信装置1は、Host部10とBluetooth Controller部15で構成される。
Host部10は、表示部100、操作部101、記憶部102、電源部103、BT Controller I/F104、制御部105、ROM106、RAM107、撮像部108、無線LANアンテナ制御部109、無線LANアンテナ110を含んで構成される。
表示部100および操作部101は、アプリケーションの表示や実行等を行う。記憶部102は、無線通信ネットワーク情報、データ送受信情報、画像データなど各種データを記憶し、管理する。電源部103は、例えばバッテリであり、Host部10の電源を供給する。BT Controller I/F104は、Bluetooth Controller部15と接続するインタフェースである。制御部105は、例えばCPUであり、スマートフォン1の各構成要素の動作を制御する。ROM106は、制御命令つまり制御プログラムを格納する。RAM107は、プログラムを実行する際のワークメモリやデータの一時保存などに利用される。撮像部108は、写真や動画の撮影を行う。無線LANアンテナ制御部109は、無線LANアンテナ110を制御し、無線LAN通信を行う。
Bluetooth Controller部15は、Host I/F150、電源部151、ROM152、RAM153、制御部154、BTアンテナ制御部155、BTアンテナ156を含んで構成される。
Host I/F150は、Host部10と接続するインタフェースである。電源部151は、例えばバッテリであり、BLE Controller部15の電源を供給する。ROM152は、制御命令つまり制御プログラムを格納するものであり、ここでは特にBLE通信に係るプログラムを格納する。RAM153は、プログラムを実行する際のワークメモリやデータの一時保存などに利用される。制御部154は、例えばCPUであり、BLE Controller部15の各構成要素の動作を制御する。BTアンテナ制御部155は、BTアンテナ156を制御し、Bluetooth通信を行う。
続いて、ペリフェラル機器として動作する通信装置1の機能構成について説明する。図2は、通信装置1の機能構成例を示す。なお、本実施形態においては、以下に示す機能構成の各構成要素はソフトウェアプログラムとして機能が実施されるものとするが、本機能構成に含まれる一部または全部がハードウェア化されていてもよい。
BT通信制御部210は、BTアンテナ制御部155を介したBluetooth通信を制御する。BT通信制御部210は、BT4通信制御部211とBT5通信制御部212により構成される。BT4通信制御部211は、BT4に従うBluetooth通信を制御し、図3、図4を用いて詳述したアドバタイズ処理を実行する。BT5通信制御部212は、BT5に従うBluetooth通信を制御し、図5、図6を用いて詳述したアドバタイズ処理を実行する。
アドバタイズ状態管理部220は、BT4とBT5のいずれかに従うアドバタイズ処理を実行するのかをBT通信制御部210に指示する。また、アドバタイズ状態管理部220は、BT通信制御部210におけるアドバタイズ処理の実行状態を管理する。
対対向機情報管理部230は、通信装置1がBluetoothおよび無線LANで通信する対向機の機器情報を、例えばテーブルを用いて管理する。図9に、対向機情報管理部230が対向機の機器情報を管理するために用いる対向機管理テーブル900の一例を示す。なお、本実施形態では、通信装置1は、1台の対向機の機器情報を管理できるものとする。対向機管理テーブル900は、対向機を一意に識別する識別情報920、対向機がサポートするBluetoothのバージョンを表すサポートBLEバージョン情報930を含んで構成される。本実施形態において、識別情報920は、例えば、対向機のUUID(Universally Unique Identifier)である。また、サポートBLEバージョン情報930は、BT4またはBT5を表す値に対応する。
図2に戻り、無線LAN通信制御部240は、無線LANアンテナ制御部109を介した無線LAN通信を制御する。表示制御部250は、表示部100への各種表示制御を行う。
(システム構成)
続いて、本実施形態において想定する通信システムの構成について説明する。図8は、本実施形態における通信システム800の模式図である。通信システム800は、デジタルカメラ810と、デジタルカメラ810に対向するスマートフォン820、830から構成される。デジタルカメラ810は、上記のように構成される、ペリフェラル機器として動作する通信装置1とする。また、スマートフォン820、830は、セントラル機器として動作し、スマートフォン820はBT5をサポートし、スマートフォン830はBT4をサポートし、BT5をサポートしないものとする。すなわち、スマートフォン820はBT5に対応し、スマートフォン830は、BT4に対応し、BT5に非対応とする。また、デジタルカメラ810とスマートフォン820、830は、Bluetooth通信840および無線LAN通信850を用いて互いに信号の通信を行うことができるものとする。なお、以下の説明において、スマートフォン820、830の(少なくとも)一方を総称して対向機とも称する。
(処理の流れ)
次に図7を参照して、デジタルカメラ810の処理の流れを説明する。図7は、デジタルカメラ810による処理を表すフローチャートである。図7に示すフローチャートは、デジタルカメラ810の制御部105や制御部154がROM106やROM152に記憶されている制御プログラムを実行し、情報の演算および加工並びに各ハードウェアの制御を実行することにより実現され得る。本処理は、ユーザがデジタルカメラ810の操作部101を操作して、連携処理開始を指示することにより開始され得る。
本処理が開始されると、デジタルカメラ810の対向機情報管理部230は、対向機管理テーブル900を参照し、対向機の機器情報(図9を参照)が登録されているかを確認する(S701)。対向機の機器情報が登録されていない場合(S701でNO)、BT通信制御部210は、BT4に従うアドバタイズ処理(図3、図4)と、BT5に従うアドバタイズ処理(図5、図6)を開始する(S702)。すなわち、BT通信制御部210は、BT4に従うアドバタイジングパケットとBT5に従うアドバタイジングパケットの双方を送信する。本処理において、デジタルカメラ810は、自身の識別子として、自身のUUIDをアドバタイジングパケットに設定して送信する。より具体的には、デジタルカメラ810は、ADV_INDパケットのAdvDataフィールド412、およびAUX_ADV_INDパケットのAdvDataフィールド614に、16ByteのUUIDデータを設定して送信する。
続いて、BT通信制御部210は、対向機からのGATT(Generic Attribute)プロファイルに従う通信(以下「GATT通信」とする)による接続を待ち受ける(S703)。対向機とGATT通信で接続すると(S703でYES)、デジタルカメラ810のBT通信制御部210は、対向機の識別情報を取得する。そして、表示制御部250は、取得した識別情報と、接続した対向機を登録するかどうかをユーザに選択させるメニューとを表示部100に表示する(S704)。ユーザが操作部101を操作して、接続した対向機を登録しないメニューを選択した場合(S705でNO)、BT通信制御部210は、接続した対向機とのGATT通信の接続を切断して、S702のアドバタイズ処理を継続する。一方、ユーザが、接続した対向機を登録するメニューを選択した場合(S705でYES)、BT通信制御部210は、GATT通信を用いて、当該接続した対向機がサポートするBluetoothバージョンを取得する(S706)。取得した識別情報と、サポートするBluetoothバージョンは、それぞれ識別情報920とサポートBLEバージョン情報930として、対向機情報管理部230により対向機管理テーブル900に登録される。BT通信制御部210は、GATT通信を用いて、無線LAN通信制御部240が生成する無線LANネットワークの設定情報、およびデジタルカメラ810の動作状態を対向機に通知する(S707)。
続いて、BT通信制御部210がGATT通信で対向機から無線LAN開始要求メッセージを受信すると(S712)、無線LAN通信制御部240はアクセスポイントとして無線LANネットワークを生成する(S713)。この状態でデジタルカメラ810は、対向機からの無線LAN接続を待ち受ける。また、BT通信制御部210は、Bluetoothのアドバタイズ処理を停止する(S714)。無線LAN通信を用いた対向機との連携処理が終了すると(S715)、無線LAN通信制御部240は、アクセスポイント機能を停止し(S716)、対向機との無線LAN接続を切断する。次に、対向機情報管理部230は、対向機管理テーブル900に登録されている対向機のサポートBLEバージョン情報930を確認する(S717)。対向機がBT4をサポートする場合(S717でNO)、BT通信制御部210は、BT4に従うアドバタイズ処理を開始する(S718)。当該アドバタイズ処理では、デジタルカメラのUUIDを送信する。一方、対向機がBT5をサポートする場合(S717でYES)、BT通信制御部210はBT5に従うアドバタイズ処理を開始する(S719)。当該アドバタイズ処理では、デジタルカメラのUUID、無線LAN通信制御部240が生成する無線LANネットワークの設定情報、およびデジタルカメラ810の動作状態が送信される。
S701の確認処理で、対向機の機器情報が登録されていた場合(S701でYES)、対向機情報管理部230は、対向機管理テーブル900に登録されている対向機のサポートBLEバージョン情報930を確認する(S708)。対向機がBT4をサポートする場合(S708でNO)、BT通信制御部210はBT4に従うアドバタイズ処理を開始する(S709)。当該アドバタイズ処理では、デジタルカメラ810のUUIDを送信する。次にBT通信制御部210が対向からのGATT通信による接続を待ち受け(S710)、対向機とGATT通信で接続すると(S710でYES)、デジタルカメラ810は、上述したS707以降の処理を実施する。
一方、対向機がBT5をサポートする場合(S708でYES)、BT通信制御部210はBT5に従うアドバタイズ処理を開始する(S711)。当該アドバタイズ処理では、デジタルカメラのUUID、無線LAN通信制御部240が生成する無線LANネットワークの設定情報、およびデジタルカメラ810の動作状態が送信される。なお、ここで通知される無線LANネットワークの設定情報、およびデジタルカメラ810の動作状態のデータは、S707においてGATT通信で送信データと同一であり得る。続いてデジタルカメラ810は、上述したS712以降の処理を実施する。
次に、図10~図13のシーケンスチャートを用いて、本実施形態におけるデジタルカメラ810とスマートフォン820、830との通信シーケンスの一例を詳述する。図10は、デジタルカメラ810とスマートフォン820が最初に接続する場合の通信シーケンスである。前述した通り、スマートフォン820はBT5をサポートするものとする。
ユーザがデジタルカメラ810を操作してスマートフォンとの連携処理開始を指示すると(S1001)、BT通信制御部210は、Bluetooth通信機能を起動し(S1002)、アドバタイズ処理を開始する。BT通信制御部210は、BT4に従うアドバタイジングパケット(S1003)およびBT5に従うアドバタイジングパケット(S1004)を、周期的に送信する(図3~図6を参照)。BT5をサポートするスマートフォン820は、BT5に従うアドバタイジングパケットを受信し(S1005)、デジタルカメラ810と接続するためのメニュー(デジタルカメラ810の存在)をユーザに対して表示する(S1006)。
ユーザが、スマートフォン820においてデジタルカメラ810と接続する操作を行うと(S1007)、スマートフォン820は、デジタルカメラ810とGATT通信の接続を試みる(S1008)。デジタルカメラ810は、GATT通信接続(S1008)で取得したスマートフォン820の識別情報(アドレス情報)とスマートフォン820を登録するかどうかをユーザに選択させるメニューとを表示部100に表示する(S1009)。ユーザが、デジタルカメラ810において、スマートフォン820を登録するメニューを選択すると(S1010)、デジタルカメラ810は、GATT通信を用いてスマートフォン820がサポートするBluetoothのバージョンを要求するメッセージを送信する(S1011)。スマートフォン820はこれを受けて、自身がBT5をサポートすることを示す応答メッセージをデジタルカメラ810に送信する(S1012)。デジタルカメラ810はこれを受けて、スマートフォン820の識別情報とサポートするBluetoothバージョンを、それぞれ識別情報920とサポートBLEバージョン情報930として、対向機管理テーブル900に登録する(S1013)。
次にスマートフォン820は、GATT通信でデジタルカメラ810からデジタルカメラ810の動作状態と無線LANネットワークの設定情報を取得し(S1014)、デジタルカメラ810と無線LAN接続できるかどうかを判定する(S1015)。スマートフォン820は、無線LAN接続できると判定すると、GATT通信でデジタルカメラ810に無線LAN機能の開始を要求するメッセージを送信する(S1016)。デジタルカメラ810はこれを受けて無線LAN機能を起動し(S1017)、Bluetoothのアドバタイズ処理を停止する(S1018)。スマートフォン820は、S1014で取得した設定情報を用いてデジタルカメラ810が生成したネットワークに無線LANで接続し(S1019)、無線LAN通信を用いたサービス連携処理を開始する(S1020)。
その後、ユーザがスマートフォン820を操作して当該サービス連携処理を終了させると(S1021)、スマートフォン820は、デジタルカメラ810との無線LAN接続を切断する(S1022)。デジタルカメラ810は、無線LANの切断を検知すると、無線LAN機能を停止し(S1023)、Bluetooth通信機能を起動する(S1024)。S1013でスマートフォン820がBT5をサポートすることを記憶したので、BT通信制御部210は、BT5に従うアドバタイジングパケットのみを周期的に送信する(S1025、S1026)。当該アドバタイジングパケットには、デジタルカメラ810のUUID、動作状態、およびデジタルカメラ810が生成する無線LANネットワークの設定情報が含まれ得る。
図11は、図10の処理が完了した後、デジタルカメラ810とスマートフォン820が2回目以降に接続する場合の通信シーケンスである。デジタルカメラ810は、スマートフォン820がBT5をサポートすることを記憶しているので、BT通信制御部210は、BT5に従うアドバタイジングパケットのみを周期的に送信する(S1101、S1102)。スマートフォン820は、当該アドバタイジングパケットを受信すると(S1103)、当該アドバタイジングパケットからデジタルカメラ810のUUID、動作状態、およびデジタルカメラ810が生成する無線LANネットワークの設定情報を取得する。スマートフォン820は、当該情報を用いてデジタルカメラ810との無線LAN接続可否を判定する(S1104)。接続可能であると判定した場合、スマートフォン820は、ユーザに接続の確認を促すメッセージを表示し、ユーザはスマートフォン820を操作してこれを確認する(S1105)。ユーザによる確認操作が行われると、スマートフォン820はデジタルカメラ810とGATT通信の接続を試みる(S1106)。以降S1107~S1117の処理は、図10で示したS1016~S1026と同一であるため、説明を省略する。
図12は、デジタルカメラ810とスマートフォン830が最初に接続する場合の通信シーケンスである。前述したとおり、スマートフォン830はBT4をサポートし、BT55をサポートしないものとする。なお、以下では図10との差分についてのみ説明する。処理開始後、デジタルカメラ810の動作は図10と同一であるが、スマートフォン830はBT5をサポートしないので、BT4に従うアドバタイジングパケットを受信する(S1205)。以降、S1206~S1211の処理は、S1006~S1011と同一である。サポートバージョンの要求メッセージ(S1211)を受信したスマートフォン830は、自身がBT4をサポートすることを表す応答メッセージをデジタルカメラ810に送信する(S1212)。デジタルカメラ810はこれを受けて、スマートフォン830がBT4をサポートすることを対向機管理テーブル900に登録する(S1213)。以降、S1214~S1224の処理は、S1014~S1024と同一である。デジタルカメラ810はBluetooth通信機能を起動すると(S1224)、BT4に従うアドバタイジングパケットのみを周期的に送信する(S1225、S1226)。当該アドバタイジングパケットには、デジタルカメラ810のUUIDが含まれ得る。
図13は、図12の処理が完了した後、デジタルカメラ810とスマートフォン830が2回目以降に接続する場合の通信シーケンスである。デジタルカメラ810は、スマートフォン830がBT4をサポートすることを記憶しているので、BT通信制御部210は、BT4に従うアドバタイジングパケットのみを周期的に送信する(S1301、S1302)。スマートフォン830は、当該アドバタイジングパケットを受信すると(S1303)、当該アドバタイジングパケットからデジタルカメラ810のUUIDを取得し、デジタルカメラ810の存在をユーザに対して表示する。ユーザがスマートフォン830でデジタルカメラ810と接続する操作を行うと(S1304)、スマートフォン830はデジタルカメラ810とGATT通信の接続を試みる(S1305)。次にスマートフォン830は、GATT通信でデジタルカメラ810からデジタルカメラ810の動作状態とネットワーク設定を取得し(S1306)、デジタルカメラ810と無線LAN接続できるかどうかを判定する(S1307)。以降、S1308~S1318の処理は、図12で示したS1216~1226と同一であるため、説明を省略する。
以上説明したように、本実施形態によれば、通信装置は、対向機がサポートするBluetoothバージョンに応じて適切なアドバタイズパケットを送信することが出来る。これにより、通信装置における消費電力を低減することができる。
(第2実施形態)
第1実施形態では、通信装置1(デジタルカメラ810)が対向機のサポートするBluetoothバージョンを判定する方法として、GATT通信を用いる方法(S706)を説明した。しかしながら、本発明はこの方法を制限するものではなく、他の方法を用いて判定しても良い。以下では、アドバタイジングパケットに対するスキャンパケットを用いて対向機のサポートするBluetoothバージョンを判定する例を示す。
(BT4とBT5のスキャン処理)
まず、BT4で規定されるスキャン処理について、図14と図15を参照して説明する。図14は、BT4で規定されるスキャン処理を表すシーケンス図である。アドバタイズ処理を行うペリフェラル機器1400が送信するADV_INDパケットをセントラル機器1410が受信すると(S1401)、セントラル機器1410はSCAN_REQパケットをペリフェラル機器1400に送信する(S1402)。このとき、セントラル機器1410は、ADV_INDパケットを受信したチャネルと同じチャネルでSCAN_REQパケットを送信する。SCAN_REQパケットを受信したペリフェラル機器1400は、SCAN_RSPパケットをセントラル機器1410に送信することでこれに応答する(S1403)。
図15は、図14に示すSCAN_REQパケットおよびSCAN_RSPパケットの構成例を示す。SCAN_REQパケットおよびSCAN_RSPパケットは、Advertising Channel PDU1500で示すフォーマットに従って生成され、Header部1501とPayload部1502から構成される。なお、Header部1501の構成は、前述の第1実施形態の図4で説明したものと同一であるため、ここでは説明を省略する。なお、SCAN_REQパケットの場合はPDU Type1503に0011bが、SCAN_RSPパケットの場合はPDU Type1503に0100bがそれぞれ指定される。
SCAN_REQ Payload1510は、SCAN_REQパケットのPayload部1502の構成を示す。SCAN_REQ Payload1510は、ScanA1511とAdvA1512のデータフィールドから構成される。ScanA1511には、SCAN_REQを送信するセントラル機器のアドレスが指定される。AdvA1512には、ADV_INDを送信したペリフェラル機器のアドレスが指定される。
SCAN_RSP Payload1520は、SCAN_RSPパケットのPayload部1502の構成を示す。SCAN_RSP Payload1520は、AdvA1521とScanRspData1522のデータフィールドから構成される。AdvA1521には、ペリフェラル機器のアドレスが指定される。ScanRspData1522には、ペリフェラル機器で指定する、最大31オクテットのレスポンスデータが指定される。
続いて、BT5で規定されるスキャン処理について、図16を参照して説明する。図16は、BT5で規定されるスキャン処理を表すシーケンス図である。ペリフェラル機器1600が送信するAUX_ADV_INDパケットをセントラル機器1610が受信すると(S1601)、セントラル機器1610はAUX_SCAN_REQパケットをペリフェラル機器1600に送信する(S1602)。このとき、セントラル機器1610は、AUX_ADV_INDパケットを受信したチャネルと同じチャネルでAUX_SCAN_REQパケットを送信する。AUX_SCAN_REQパケットを受信したペリフェラル機器1600は、応答メッセージデータを設定したAUX_SCAN_RSPパケットをセントラル機器1610に送信する(S1603)。また、応答メッセージデータがAUX_SCAN_RSPパケットに入りきらない場合、ペリフェラル機器1600は、残りのデータを、続くAUX_CHAIN_INDパケットで送信する(S1604)。
AUX_SCAN_REQパケットのデータ構成は、前述の図15で説明したSCAN_REQパケットと同じであるため、ここでは説明を省略する。
AUX_SCAN_RSPパケットは、前述の第1実施形態で図6を用いて説明したAdvertising Channel PDU600のフォーマットに従って生成される。Header部601に指定される値は、前述の第1実施形態で説明したADV_EXT_IND、AUX_ADV_IND、AUX_CHAIN_INDパケットのものと同じであるため、ここでは説明を省略する。Ext. Header Length611には、Ext. Header613の長さ(オクテット)が指定される。AdvMode612には00bが指定される。AdvData614には、ペリフェラル機器で指定する、最大251オクテットのレスポンスデータが指定される。Ext. Header Flags620は、AdvA621からTxPower627までのデータフィールドのうち、どのデータフィールドを含むのかを表すビットフラグが指定される。AdvA621には、ペリフェラル機器のアドレスが指定される。AUX_SCAN_RSPパケットではTargetA622、RFU623、AdvData Info624のフィールドは使用されない。AuxPtr625には、後に続くAUX_CHAIN_INDの送信チャネル、送信タイミング、送信PHYの種別、ペリフェラル機器の動作クロックの精度の情報が指定される。SyncInfo626は、AUX_SCAN_RSPパケットでは使用されない。TxPower627には、パケットの送信出力を表すデータが指定される。ACAD628には、拡張データが指定される。
(ペリフェラル機器の構成とシステム構成)
本実施形態における通信装置1のハードウェア構成および機能構成は、第1実施形態で示した図1、図2と同様であるため、ここでは説明を省略する。また、想定するシステム構成も、第1実施形態で示した図8と同様であるため、ここでは説明を省略する。
(処理の流れ)
次に図17を参照して、デジタルカメラ810の処理の流れを説明する。図17は、デジタルカメラ810による処理を表すフローチャートである。図17に示すフローチャートは、デジタルカメラ810の制御部105や制御部154がROM106やROM152に記憶されている制御プログラムを実行し、情報の演算および加工並びに各ハードウェアの制御を実行することにより実現され得る。本処理は、ユーザがデジタルカメラ810の操作部101を操作して、連携処理開始を指示することにより開始され得る。また、本処理は、第1実施形態で説明した図7のS701で、対向機の機器情報が登録されていない場合(S701でNO)に、開始されても良い。
本処理が開始されると、デジタルカメラ810のBT通信制御部210は、BT4に従うアドバタイズ処理(図3、図4)と、BT5に従うアドバタイズ処理(図5、図6)を開始する(S1701、S1702)。すなわち、BT通信制御部210は、BT4に従うアドバタイジングパケットとBT5に従うアドバタイジングパケットの双方を送信する。本処理において、デジタルカメラ810は、自身の識別子として、自身のUUIDをBT4のアドバタイジングパケットに設定して送信する(S1701)。またデジタルカメラ810は、自身のUUIDと自身のステータス情報をBT5のアドバタイジングパケットに設定して送信する(S1702)。自身のステータス情報とは、デジタルカメラ810の撮影設定や動作モード、記憶部102の残記憶容量などを表す値である。なお本ステータス情報は、本実施形態では32Byte以上のサイズがあるものとし、BT4のアドバタイジングパケット(ADV_INDパケット)では送信できないサイズのデータであるものとする。BT通信制御部210は、対向機からスキャン要求信号としてのスキャン要求パケット(Scan Request)を受信するまでBT4およびBT5のアドバタイズ処理を継続する(S1703でNO)。
対向機からスキャン要求パケットを受信すると(S1703でYES)、BT通信制御部210は、当該スキャン要求パケットがBT4のアドバタイズに対するものなのかBT5のアドバタイズに対するものなのかを判定する(S1704)。具体的には、受信したパケットがSCAN_REQパケットならばBT4のアドバタイズに対するスキャン要求であると判定し、AUX_SCAN_REQパケットならばBT5のアドバタイズに対するスキャン要求であると判定する。
受信したパケットがSCAN_REQパケットの場合、対向機情報管理部230は。対向機のサポートするバージョンがBT4であるとして、対向機の識別情報920とサポートBLEバージョン情報930を対向機管理テーブル900に登録する(S1705)。続いてBT通信制御部210は、BT5に従うアドバタイズ処理を停止する(S1706)。続いてBT通信制御部210は、対向機からのGATT通信による接続待ち受けを開始する(S1707)。GATT通信による接続が完了している場合(S1707でYES)、BT通信制御部210は、デジタルカメラ810のステータス情報をGATTのNotifyパケットに設定して対向機に送信する(S1708)。ここで設定するステータス情報は、S1702でBT5のアドバタイジングパケットに指定したステータス情報と同様の情報である。以降BT通信制御部210は、対向機とのGATT通信が接続している限りにおいて、デジタルカメラ810のステータス情報をGATTのNotifyパケットで定期的に対向機に通知する。なお当該通知は、一定時間間隔で送られるとしても良いし、デジタルカメラ810のステータス情報が変化したことを契機に送られるとしても良い。また、GATT通信による接続が完了しているかどうかに関わらず、BT通信制御部210は、BT4に従うアドバタイズ処理を継続し(S1709)、周期的にBT4のアドバタイジングパケットを送信する。
受信したパケットがAUX_SCAN_REQパケットの場合、対向機情報管理部230は、対向機のサポートするバージョンがBT5であるとして、対向機の識別情報920とサポートBLEバージョン情報930を対向機管理テーブル900に登録する(S1710)。続いてBT通信制御部210は、BT4に従うアドバタイズ処理を停止する(S1711)。以降、BT通信制御部210は、BT5に従うアドバタイズ処理を継続し(S1712)、周期的にBT5のアドバタイジングパケットを送信する。デジタルカメラ810のステータス情報が変化した際には、BT通信制御部210は、アドバタイジングパケットに指定するステータス情報を変更して、BT5のアドバタイズ処理を継続する。
次に、図18~図19のシーケンスチャートを用いて、本実施形態におけるデジタルカメラ810とスマートフォン820、830との通信シーケンスの一例を詳述する。図18は、デジタルカメラ810とスマートフォン820が通信する場合の通信シーケンスである。前述した通り、スマートフォン820はBT5をサポートするものとする。
ユーザがデジタルカメラ810を操作してスマートフォンとの連携処理開始を指示すると(S1801)、BT通信制御部210は、Bluetooth通信機能を起動し(S1802)、アドバタイズ処理を開始する。BT通信制御部210は、BT4に従うアドバタイジングパケット(ADV_IND)およびBT5に従うアドバタイジングパケット(ADV_EXT_IND、AUX_ADV_IND)を、周期的に送信する(S1803、S1804)。BT5をサポートするスマートフォン820は、BT5に従うアドバタイジングパケットを受信し(S1805)、これに対するスキャン要求パケット(AUX_SCAN_REQ)を送信する(S1806)。スキャン要求パケットを受信したデジタルカメラ810は、スキャン応答パケット(AUX_SCAN_RSP)をスマートフォン820に送信する(S1807)。続いてデジタルカメラ810は、スマートフォン820がBT5をサポートする対向機であるとしてこれを記憶し(S1808)、BT4に従うアドバタイジングパケット(ADV_IND)の周期送信を停止する(S1809)。以降、デジタルカメラ810は、自身のステータス情報を指定したBT5に従うアドバタイジングパケット(ADV_EXT_IND、AUX_ADV_IND)を周期的に送信する(S1810、S1811)。またスマートフォン820は、当該アドバタイジングパケットに含まれるステータス情報を参照して、デジタルカメラ810の状態を逐次スマートフォン820の画面に表示する(S1812)。
図19は、デジタルカメラ810とスマートフォン830が通信する場合の通信シーケンスである。前述した通り、スマートフォン830はBT4をサポートし、BT5をサポートしないものとする。
ユーザがデジタルカメラ810を操作してスマートフォンとの連携処理開始を指示すると(S1901)、BT通信制御部210は、Bluetooth通信機能を起動し(S1902)、アドバタイズ処理を開始する。BT通信制御部210は、BT4に従うアドバタイジングパケット(ADV_IND)およびBT5に従うアドバタイジングパケット(ADV_EXT_IND、AUX_ADV_IND)を、周期的に送信する(S1903、S1904)。BT4をサポートするスマートフォン830は、BT4に従うアドバタイジングパケットを受信し(S1905)、これに対するスキャン要求パケット(SCAN_REQ)を送信する(S1906)。スキャン要求パケットを受信したデジタルカメラ810は、スキャン応答パケット(SCAN_RSP)をスマートフォン830に送信する(S1907)。続いてデジタルカメラ810は、スマートフォン830がBT4をサポートする対向機であるとしてこれを記憶し(S1908)、BT5に従うアドバタイジングパケット(ADV_EXT_IND、AUX_ADV_IND)の周期送信を停止する(S1909)。続いてデジタルカメラ810とスマートフォン830との間でGATT通信の接続処理が行われる(S1910)。以降、デジタルカメラ810はBT4に従うアドバタイジングパケット(ADV_IND)を、周期的に送信する(S1911、S1912)。また、デジタルカメラ810は、自身のステータスが変化する毎に、自身のステータス情報を指定したGATT通信のNotifyパケットをスマートフォン830に送信する(S1913)。またスマートフォン830は、当該Notifyパケットに含まれるステータス情報を参照して、デジタルカメラ810の状態を逐次デジタルカメラ830の画面に表示する(S1914)。
以上説明したように、本実施形態によれば、通信装置は、対向機がサポートするBluetoothバージョンに応じて適切なアドバタイズパケットを送信することが出来る。また、対向機がBT5をサポートする場合にGATT通信を行わないことにより、通信装置における消費電力を低減することができる。
[第3実施形態]
前述の実施形態では、通信装置1(デジタルカメラ810)が同時に通信する対向機(スマートフォン)が1台であるものとして、その実施形態を説明した。しかしながら、本発明は対向機が複数台存在するような場合においても適用可能である。以下では、1台の通信装置に対して対向機が複数台存在する機器構成における実施形態を説明する。
(ペリフェラル機器の構成とシステム構成)
本実施形態における通信装置1のハードウェア構成および機能構成は、第1実施形態で示した図1、図2と同様であるため、ここでは説明を省略する。また、想定するシステム構成も、第1実施形態で示した図8と同様であるため、ここでは説明を省略する。ただし、本実施形態においては、通信装置1の対向機情報管理部230は、対向機管理テーブル900で複数台の対向機の機器情報を管理できるものとする。すなわち、本実施形態における対向機管理テーブル900は、識別情報920およびサポートBLEバージョン情報930の組を1レコードとして、複数のレコードを記憶する管理テーブルである。
(処理の流れ)
次に図20を参照して、デジタルカメラ810の処理の流れを説明する。図20は、デジタルカメラ810による処理を表すフローチャートである。図20に示すフローチャートは、デジタルカメラ810の制御部105や制御部154がROM106やROM152に記憶されている制御プログラムを実行し、情報の演算および加工並びに各ハードウェアの制御を実行することにより実現され得る。本処理は、ユーザがデジタルカメラ810の操作部101を操作して、連携処理開始を指示することにより開始され得る。また、本処理は、ユーザがデジタルカメラ810の操作部101を操作して連携処理終了を指示するまで、繰り返し実行され得る。また、本処理は、第1実施形態で説明した図7のS701で、対向機の機器情報が登録されていない場合(S701でNO)に、開始されても良い。
本処理が開始されると、デジタルカメラ810の対向機情報管理部230は、対向機管理テーブル900に新しく登録すべき対向機情報があるか判定処理を行う(S2001)。本実施形態において、対向機情報の登録は、ユーザがデジタルカメラ810の操作部101を操作して、対向機の識別情報とサポートBLEバージョンを入力することで行われ得る。新しく登録すべき対向機情報がある場合(S2001でYES)、対向機情報管理部230は、当該対向機情報を対向機管理テーブル900に登録する(S2002)。続いて対向機情報管理部230は、対向機管理テーブル900から削除すべき対向機情報があるか判定処理を行う(S2003)。本実施形態において、対向機情報の削除は、ユーザがデジタルカメラ810の操作部101を操作して、削除したい対向機の識別情報を選択することで行われ得る。削除すべき対向機情報がある場合(S2003でYES)、対向機情報管理部230は、当該対向機情報を対向機管理テーブル900から削除する(S2004)。
次に、対向機情報管理部230は、対向機管理テーブル900に登録されたレコードを検索し、登録されている対向機のサポートBLEバージョン情報を収集する(S2005)。対向機管理テーブル900に対向機情報の登録が無い場合、もしくはBT4をサポートする対向機とBT5をサポートする対向機が混在する場合、BT通信制御部210は、BT4・BT5双方のアドバタイズパケットを送信する(S2006、S2007)。本処理において、デジタルカメラ810は、自身の識別子として、自身のUUIDをBT4のアドバタイジングパケットに設定して送信する(S2006)。またデジタルカメラ810は、自身のUUIDと自身のステータス情報をBT5のアドバタイジングパケットに設定して送信する(S2007)。自身のステータス情報とは、デジタルカメラ810の撮影設定や動作モード、記憶部102の残記憶容量などを表す値である。なお本ステータス情報は、本実施形態では32Byte以上のサイズがあるものとし、BT4のアドバタイジングパケット(ADV_INDパケット)では送信できないサイズのデータであるものとする。次にBT通信制御部210は、BT4をサポートする対向機とのGATT接続の有無をチェックする(S2008)。GATT通信で対向機と接続されている場合(S2008でYES)、BT通信制御部210は、デジタルカメラ810のステータス情報を設定したGATTのNotifyパケットをすべてのBT4サポート対向機に対して送信する(S2009)。
対向機管理テーブル900に登録された対向機がすべてBT5をサポートする場合、BT通信制御部210は、デジタルカメラ810の識別子とステータス情報を設定したBT5のアドバタイジングパケットを送信する(S2010)。このとき、BT通信制御部210は、BT4のアドバタイジングパケットを送信しない。
対向機管理テーブル900に登録された対向機がすべてBT4をサポートする場合、BT通信制御部210は、デジタルカメラ810の識別子を設定したBT4のアドバタイジングパケットを送信する(S2011)。このとき、BT通信制御部210は、BT5のアドバタイジングパケットを送信しない。またBT通信制御部210は、BT4をサポートする対向機とのGATT接続の有無をチェックする(S2012)。GATT通信で対向機と接続されている場合(S2012でYES)、BT通信制御部210は、デジタルカメラ810のステータス情報を設定したGATTのNotifyパケットをすべてのBT4サポート対向機に対して送信する(S2013)。
次に、図21のシーケンスチャートを用いて、デジタルカメラ810とスマートフォン820、830との通信シーケンスの一例を詳述する。前述した通り、スマートフォン820はBT5をサポートし、スマートフォン830はBT4をサポートするものとする。
ユーザがデジタルカメラ810を操作してスマートフォンとの連携処理開始を指示すると(S2101)、BT通信制御部210は、Bluetooth通信機能を起動し(S2102)、アドバタイズ処理を開始する。BT通信制御部210は、BT4に従うアドバタイジングパケット(ADV_IND)およびBT5に従うアドバタイジングパケット(ADV_EXT_IND、AUX_ADV_IND)を、周期的に送信する(S2103、S2104)。続いてユーザがデジタルカメラ810を操作してスマートフォン820の登録操作を行い、スマートフォン820の識別子情報とBT5をサポートする対向機である旨をデジタルカメラ810に登録する(S2105)。これを受けてBT通信制御部210は、BT4に従うアドバタイジングパケット(ADV_IND)の送信を停止する(S2106)。
続いてユーザがスマートフォン820を操作してデジタルカメラ810との連携処理開始を指示すると(S2107)、スマートフォン820はBluetooth通信機能を起動する(S2108)。スマートフォン820はBT5に従うアドバタイジングパケット(ADV_EXT_IND/AUX_ADV_IND)を受信し(S2109)、これに対するスキャン要求パケット(AUX_SCAN_REQ)をデジタルカメラ810に送信する(S2110)。スキャン要求パケットを受信したデジタルカメラ810は、スキャン応答パケット(AUX_SCAN_RSP)をスマートフォン820に送信する(S2112)。以降、スマートフォン820は、当該アドバタイジングパケットに含まれるステータス情報を参照して、デジタルカメラ810の状態を逐次スマートフォン820の画面に表示する(S2112)。
続いてユーザがデジタルカメラ810を操作してスマートフォン830の登録操作を行い、スマートフォン830の識別子情報とBT4をサポートする対向機である旨をデジタルカメラ810に登録する(S2113)。これを受けてBT通信制御部210は、BT4に従うアドバタイジングパケット(ADV_IND)の送信を開始する(S2114)。BT通信制御部210は、BT4に従うアドバタイジングパケット(ADV_IND)およびBT5に従うアドバタイジングパケット(ADV_EXT_IND、AUX_ADV_IND)を、周期的に送信する(S2115、S2116)。
続いてユーザがスマートフォン830を操作してデジタルカメラ810との連携処理開始を指示すると(S2117)、スマートフォン830はBluetooth通信機能を起動する(S2118)。スマートフォン830はBT4に従うアドバタイジングパケット(ADV_IND)を受信し(S2119)、これに対するスキャン要求パケット(SCAN_REQ)をデジタルカメラ810に送信する(S2120)。スキャン要求パケットを受信したデジタルカメラ810は、スキャン応答パケット(SCAN_RSP)をスマートフォン830に送信する(S2121)。続いてデジタルカメラ810とスマートフォン830との間でGATT通信の接続処理が行われる(S2122)。以降、デジタルカメラ810は、自身のステータスが変化する毎に、自身のステータス情報を指定したGATT通信のNotifyパケットをスマートフォン830に送信する(S2123)。またスマートフォン830は、当該Notifyパケットに含まれるステータス情報を参照して、デジタルカメラ810の状態を逐次スマートフォン830の画面に表示する(S2124)。
以上説明したように、本実施形態によれば、通信装置は、対向機が複数存在する場合においても適切なバージョンのアドバタイズパケットを送信することが出来る。また、対向機がBT5をサポートする場合にGATT通信を行わないことにより、通信装置における消費電力を低減することができる。GATT通信パケットはユニキャストで送信されるので、特にBT5をサポートする対向機が複数存在する場合において、より大きな消費電力の低減効果が期待できる。
以上が本発明の代表的な実施形態の一例であるが、本発明は、明細書及び図面に示す実施形態に限定することなく、その要旨を変更しない範囲内で変形して実施できるものである。
例えば、上記実施形態において、通信装置1(デジタルカメラ810)が対向機のサポートするBluetoothバージョンを取得する幾つかの方法を示したが、本発明はこれを制限するものではない。例えば、通信装置1は、BT5に従うアドバタイジングパケットに対するスキャンパケットを一定時間送信してこなかった対向機は、BT5をサポートしないと判定してもよい。また、通信装置1は、BT5に従うアドバタイジングパケットで送信している情報をGATT通信で要求してきた対向機がBT5をサポートしないと判定してもよい。これを前述の第一の実施形態に当てはめれば、S702においてBT5に従うアドバタイジングパケットにおいて、無線LAN通信制御部240が生成する無線LANネットワークの設定情報、およびデジタルカメラ810の動作状態が含まれて送信される。その後、通信装置1は、GATT通信で当該情報を取得する要求を送信してきた対向機を、BT5をサポートしない対向機として対向機管理テーブル900に登録する。また、通信装置1は、GATT通信で当該情報に対する取得要求を送信せずに無線LAN開始要求を送信してきた対向機を、BT5をサポートする対向機として対向機管理テーブル900に登録する。
また、上記実施形態では、登録した対向機がサポートするBluetoothバージョンに応じて、実施するアドバタイズ処理を決定していたが、更なる追加条件を用いてアドバタイズ処理を決定しても良い。たとえば、デジタルカメラ810が対向機に通知したいデータのサイズが、ADV_INDパケットで送信できる31オクテットを超える場合にのみ、通信装置1は、BT5に従うアドバタイズ処理を実行するとしてもよい。さらには、通信装置1は、通知したいサイズが32~62オクテットの場合にはデータを分割してADV_INDパケットとSCAN_RESPパケットで通知し、63オクテットを超える場合にのみ、BT5に従うアドバタイズ処理を実行するとしても良い。
また、上記実施形態では、Bluetoothを例に説明したが、他の所定の通信方式においても同様に、上記実施形態を適用することが可能である。
以上説明したように、これらの実施形態によれば、Bluetoothのセントラル機器においてサポートするバージョン(規格)に応じてアドバタイズ方法を切り替えることにより、ペリフェラル機器並びにセントラル機器の消費電力およびネットワーク負荷の低減を図ることが可能となる。
[その他の実施形態]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
1 通信装置、10 Host部、 15 Bluetooth Controller部、210 BT通信制御部、211 BT4通信制御部、212 BT5通信制御部、220 アドバタイズ状態部、230 対向機情報管理部、240 無線LAN通信制御部

Claims (13)

  1. 所定の通信方式の第1のバージョンまたは当該第1のバージョンとは異なる第2のバージョンをサポートする他の通信装置と通信を行う通信装置であって、
    前記他の通信装置がサポートする前記通信方式のバージョンを登録する登録手段と、
    前記登録手段により、前記他の通信装置がサポートする前記通信方式のバージョンが登録されている場合、当該登録されている、前記第1のバージョンまたは前記第2のバージョンに従う信号を送信し、
    前記登録手段により、前記他の通信装置がサポートする前記通信方式のバージョンが登録されていない場合、前記第1のバージョンに従う信号および前記第2のバージョンに従う信号の双方を送信する送信手段と、
    を有し、
    前記第1のバージョンに従う信号は、Bluetoothバージョン4に従うアドバタイジングパケットであり、前記第2のバージョンに従う信号は、Bluetoothバージョン5に従うアドバタイジングパケットであることを特徴とする通信装置。
  2. 前記他の通信装置がサポートする前記通信方式のバージョンの登録は、前記通信装置のユーザにより行われることを特徴とする請求項1に記載の通信装置。
  3. 前記他の通信装置がサポートする前記通信方式のバージョンが登録されていない場合に、前記送信手段が前記第1のバージョンおよび前記第2のバージョンに従う信号の双方を送信したことに応じて、前記他の通信装置がサポートする前記通信方式のバージョンを取得する取得手段を更に有し、
    前記登録手段は、前記取得手段により取得された前記通信方式のバージョンを登録することを特徴とする請求項1に記載の通信装置。
  4. 前記取得手段は、前記送信手段が前記第1のバージョンおよび前記第2のバージョンに従う信号を送信したことに応じて開始される接続を介して受信される信号に基づいて、前記他の通信装置がサポートする前記通信方式のバージョンを取得することを特徴とする請求項3に記載の通信装置。
  5. 前記接続を介して受信される信号に前記第2のバージョンを示す情報が含まれる場合に、前記取得手段は、前記他の通信装置がサポートする前記通信方式のバージョンを前記第2のバージョンとして取得することを特徴とする請求項4に記載の通信装置。
  6. 前記取得手段は、前記送信手段が前記第1のバージョンおよび前記第2のバージョンに従う信号を送信したことに応じて受信された信号が、前記第1のバージョンに従う信号に対応する第1の要求信号である場合に、前記他の通信装置がサポートする前記通信方式のバージョンを前記第1のバージョンとして取得し、前記受信された信号が、前記第2のバージョンに従う信号に対応する第2の要求信号である場合に、前記他の通信装置がサポートする前記通信方式のバージョンを前記第2のバージョンとして取得することを特徴とする請求項3に記載の通信装置。
  7. 前記取得手段が、前記他の通信装置がサポートする前記通信方式のバージョンを前記第1のバージョンとして取得した場合、前記送信手段は前記第2のバージョンに従う信号の送信を停止し、前記取得手段が、前記他の通信装置がサポートする前記通信方式のバージョンを前記第2のバージョンとして取得した場合、前記送信手段は前記第1のバージョンに従う信号の送信を停止することを特徴とする請求項6に記載の通信装置。
  8. 前記取得手段は、前記送信手段により送信された前記第2のバージョンに従う信号の応答に基づいて、前記他の通信装置がサポートする前記通信方式のバージョンを取得することを特徴とする請求項3に記載の通信装置。
  9. 前記取得手段は、前記送信手段により送信された前記第2のバージョンに従う信号の応答を受けた場合に、前記他の通信装置がサポートする前記通信方式のバージョンを前記第2のバージョンとして取得することを特徴とする請求項8に記載の通信装置。
  10. 前記送信手段により送信される前記第1のバージョンまたは前記第2のバージョンに従う信号は、前記通信装置の存在を示す信号であることを特徴とする請求項1から9のいずれか1項に記載の通信装置。
  11. 所定の通信方式の第1のバージョンまたは当該第1のバージョンとは異なる第2のバージョンをサポートする他の通信装置と通信を行う通信装置の制御方法であって、
    前記他の通信装置がサポートする前記通信方式のバージョンを登録する登録工程と、
    前記登録工程において、前記他の通信装置がサポートする前記通信方式のバージョンが登録されている場合、当該登録されている、前記第1のバージョンまたは前記第2のバージョンに従う信号を送信し、
    前記登録工程において、前記他の通信装置がサポートする前記通信方式のバージョンが登録されていない場合、前記第1のバージョンに従う信号および前記第2のバージョンに従う信号の双方を送信する送信工程と、
    を有し、
    前記第1のバージョンに従う信号は、Bluetoothバージョン4に従うアドバタイジングパケットであり、前記第2のバージョンに従う信号は、Bluetoothバージョン5に従うアドバタイジングパケットであることを特徴とする制御方法。
  12. 所定の通信方式の第1のバージョンまたは当該第1のバージョンとは異なる第2のバージョンをサポートする他の複数の通信装置と通信を行う通信装置の制御方法であって、
    前記他の複数の通信装置がサポートする前記通信方式のバージョンを登録する登録工程と、
    前記登録工程において登録された前記通信方式のバージョンが全て前記第1のバージョンである場合、前記第1のバージョンに従う信号を送信し、
    前記登録工程において登録された前記通信方式のバージョンが全て前記第2のバージョンである場合、前記第2のバージョンに従う信号を送信し、
    前記登録工程において何も登録されていない場合、または、前記登録工程において登録された前記通信方式のバージョンが前記第1のバージョンと前記第2のバージョンとを含む場合、前記第1のバージョンに従う信号および前記第2のバージョンに従う信号の双方を送信する送信工程と、
    を有し、
    前記第1のバージョンに従う信号は、Bluetoothバージョン4に従うアドバタイジングパケットであり、前記第2のバージョンに従う信号は、Bluetoothバージョン5に従うアドバタイジングパケットであることを特徴とする通信装置の制御方法。
  13. コンピュータを、請求項1から10のいずれか1項に記載の通信装置として機能させるためのプログラム。
JP2018221678A 2018-03-12 2018-11-27 通信装置、通信装置の制御方法、およびプログラム Active JP7328754B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/295,340 US11057951B2 (en) 2018-03-12 2019-03-07 Communication apparatus, method of controlling communication apparatus, and non-transitory computer-readable storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018044663 2018-03-12
JP2018044663 2018-03-12

Publications (3)

Publication Number Publication Date
JP2019161637A JP2019161637A (ja) 2019-09-19
JP2019161637A5 JP2019161637A5 (ja) 2022-01-06
JP7328754B2 true JP7328754B2 (ja) 2023-08-17

Family

ID=67993586

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018221678A Active JP7328754B2 (ja) 2018-03-12 2018-11-27 通信装置、通信装置の制御方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP7328754B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7140719B2 (ja) * 2019-07-04 2022-09-21 アンリツ株式会社 測定装置及び測定方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014082756A (ja) 2012-09-25 2014-05-08 Toshiba Corp 無線通信装置及び方法
US20140342670A1 (en) 2013-05-16 2014-11-20 Samsung Electronics Co., Ltd. Communication method and device
US20150312703A1 (en) 2014-04-28 2015-10-29 International Business Machines Timed and variable duration for multiple device synching

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014082756A (ja) 2012-09-25 2014-05-08 Toshiba Corp 無線通信装置及び方法
US20140342670A1 (en) 2013-05-16 2014-11-20 Samsung Electronics Co., Ltd. Communication method and device
US20150312703A1 (en) 2014-04-28 2015-10-29 International Business Machines Timed and variable duration for multiple device synching

Also Published As

Publication number Publication date
JP2019161637A (ja) 2019-09-19

Similar Documents

Publication Publication Date Title
JP6385205B2 (ja) 通信装置、通信装置の制御方法およびプログラム
JP6184580B1 (ja) 情報処理装置、制御方法およびプログラム
JP4829600B2 (ja) 通信装置及び通信装置の制御方法
JP6532341B2 (ja) 通信装置、その制御方法、およびプログラム
JP6335466B2 (ja) 通信装置、通信装置の制御方法およびプログラム
JP6338344B2 (ja) 通信装置、通信装置の制御方法およびプログラム
US10028108B2 (en) Communication device and setting device for communicating a plurality of setting values related to a plurality of setting items
JP7328754B2 (ja) 通信装置、通信装置の制御方法、およびプログラム
JP2014220557A (ja) 通信装置、通信装置の制御方法、プログラム
JP2016076745A (ja) 通信装置、制御方法、及びプログラム
US20190281643A1 (en) Communication apparatus, method of controlling communication apparatus, and non-transitory computer-readable storage medium
JP2020046756A (ja) 情報処理装置、その制御方法およびプログラム
JP6161316B2 (ja) 通信装置、通信装置の制御方法、プログラム
JP6300454B2 (ja) 通信装置、通信方法およびプログラム
JP6157190B2 (ja) 通信装置、その制御方法、プログラム
US9602579B2 (en) Communication apparatus, method for controlling the same, and program
JP6752329B2 (ja) 通信装置、その制御方法、およびプログラム
JP6150551B2 (ja) 通信装置、通信装置の制御方法、プログラム
JP6168867B2 (ja) 通信装置、通信方法およびプログラム
JP2015191320A (ja) 情報処理装置、デバイス共有システムおよびデバイス接続方法
KR101561524B1 (ko) 원격 사용자 인터페이스 관리 시스템 및 그 방법
JP2014203201A (ja) 通信装置およびその制御方法、プログラム
JP6512882B2 (ja) 通信機器およびその制御方法
JP5804794B2 (ja) 通信装置、通信装置の制御方法、および、プログラム
JP2018186341A (ja) 通信装置、通信装置の制御方法、およびプログラム

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20210103

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211125

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211125

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220930

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221028

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230407

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230522

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230707

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230804

R151 Written notification of patent or utility model registration

Ref document number: 7328754

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151