JP7424013B2 - 機能実行装置及び端末装置のためのコンピュータプログラム - Google Patents

機能実行装置及び端末装置のためのコンピュータプログラム Download PDF

Info

Publication number
JP7424013B2
JP7424013B2 JP2019216536A JP2019216536A JP7424013B2 JP 7424013 B2 JP7424013 B2 JP 7424013B2 JP 2019216536 A JP2019216536 A JP 2019216536A JP 2019216536 A JP2019216536 A JP 2019216536A JP 7424013 B2 JP7424013 B2 JP 7424013B2
Authority
JP
Japan
Prior art keywords
function execution
terminal device
execution device
signal
printer
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
JP2019216536A
Other languages
English (en)
Other versions
JP2021087169A (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.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
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 Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2019216536A priority Critical patent/JP7424013B2/ja
Publication of JP2021087169A publication Critical patent/JP2021087169A/ja
Application granted granted Critical
Publication of JP7424013B2 publication Critical patent/JP7424013B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本明細書では、機能実行装置と端末装置との間でBLE(Bluetooth(登録商標) Low Energyの略)方式に従った無線通信を実行するための技術を開示する。
特許文献1には、BLE方式に従ったペアリングを情報処理装置と実行する通信装置が開示されている。
特開2017-182489号公報 特開2019-121930号公報
本明細書では、機能実行装置と端末装置との間の距離に応じて、機能実行装置と端末装置との間で対象情報の通信を制御するための技術を提供する。
本明細書によって開示される機能実行装置は、BLE(Bluetooth(登録商標) Low Energyの略)方式に従った無線通信を実行するための第1の無線インターフェースであって、前記機能実行装置の役割が前記BLE方式のペリフェラルである場合に、第1のアドバタイジング信号を繰り返し送信可能である前記第1の無線インターフェースと、前記第1のアドバタイジング信号を受信した端末装置から、前記第1の無線インターフェースを介して、特定信号を受信する特定信号受信部と、前記端末装置から前記特定信号が受信される場合に、前記機能実行装置の役割を前記ペリフェラルから前記BLE方式のセントラルに変更する役割変更部と、前記機能実行装置の役割が前記セントラルに変更される場合に、前記端末装置から、前記第1の無線インターフェースを介して、第2のアドバタイジング信号を受信するアドバタイジング信号受信部と、前記端末装置から前記第2のアドバタイジング信号が受信される場合に、前記第2のアドバタイジング信号を利用して、前記機能実行装置と前記端末装置との間の距離を算出する算出部と、前記端末装置から前記第2のアドバタイジング信号が受信される場合に、前記第1の無線インターフェースを介して、第1の接続要求を前記端末装置に送信する接続要求送信部と、前記第1の接続要求が前記端末装置に送信される場合に、前記第1の無線インターフェースを介して、前記端末装置との第1の無線接続を確立する第1の確立部と、算出済みの前記距離が所定距離以下である場合に、前記第1の無線接続を利用して、前記第1の無線インターフェースを介して、前記機能実行装置の特定機能を利用するための対象情報の通信を前記端末装置と実行する対象情報通信部であって、算出済みの前記距離が前記所定距離より大きい場合に、前記第1の無線接続を利用した前記対象情報の通信は実行されない、前記対象情報通信部と、を備えていてもよい。
上記の構成によると、機能実行装置は、第1のアドバタイジング信号を送信した後に、端末装置から特定信号を受信する場合に、機能実行装置の役割をペリフェラルからセントラルに変更する。その後、機能実行装置は、端末装置から第2のアドバタイジング信号を受信し、機能実行装置と端末装置との間の距離を算出し、第1の接続要求を端末装置に送信し、端末装置との第1の無線接続を確立する。そして、機能実行装置は、算出済みの距離が所定距離よりも大きい場合には、対象情報の通信を端末装置と実行しないが、算出済みの距離が所定距離以下である場合には、対象情報の通信を端末装置と実行する。このために、機能実行装置は、機能実行装置と端末装置との間の距離に応じて、端末装置との対象情報の通信を制御することができる。
本明細書によって開示される端末装置のためのコンピュータプログラムは、前記端末装置のコンピュータを、以下の各部、即ち、前記端末装置の役割がBLE(Bluetooth(登録商標) Low Energyの略)方式のセントラルである場合に、機能実行装置から、前記端末装置の無線インターフェースを介して、第1のアドバタイジング信号を受信するアドバタイジング信号受信部であって、前記無線インターフェースは、前記BLE方式に従った無線通信を実行するためのインターフェースである、前記アドバタイジング信号受信部と、前記機能実行装置から前記第1のアドバタイジング信号が受信される場合に、前記無線インターフェースを介して、特定信号を前記機能実行装置に送信する特定信号送信部と、前記特定信号が前記機能実行装置に送信される場合に、前記端末装置の役割を前記セントラルから前記BLE方式のペリフェラルに変更する役割変更部であって、前記無線インターフェースは、前記端末装置の役割が前記ペリフェラルに変更される場合に、第2のアドバタイジング信号を繰り返し送信可能である、前記役割変更部と、前記第2のアドバタイジング信号を受信した前記機能実行装置から、前記無線インターフェースを介して、第1の接続要求を受信する接続要求受信部であって、前記機能実行装置から前記第1の接続要求が受信されることに応じて、前記無線インターフェースを介して前記機能実行装置との第1の無線接続が確立される、前記接続要求受信部と、前記第2のアドバタイジング信号を受信した前記機能実行装置によって、前記機能実行装置と前記端末装置との間の距離が算出され、かつ、算出済みの距離が所定距離以下である場合に、前記第1の無線接続を利用して、前記無線インターフェースを介して、前記機能実行装置の特定機能を利用するための対象情報の通信を前記機能実行装置と実行する対象情報通信部であって、算出済みの前記距離が前記所定距離より大きい場合に、前記第1の無線接続を利用した前記対象情報の通信は実行されない、前記対象情報通信部と、として機能させてもよい。
上記の構成によると、端末装置は、機能実行装置から第1のアドバタイジング信号を受信した後に、特定信号を機能実行装置に送信する場合に、端末装置の役割をセントラルからペリフェラルに変更する。その後、端末装置は、第2のアドバタイジング信号を送信し、機能実行装置から第1の接続要求を受信し、機能実行装置との第1の無線接続を確立する。また、機能実行装置と端末装置との間の距離が機能実行装置によって算出される。そして、端末装置は、算出済みの距離が所定距離よりも大きい場合には、対象情報の通信を機能実行装置と実行しないが、算出済みの距離が所定距離以下である場合には、対象情報の通信を機能実行装置と実行する。このために、端末装置は、機能実行装置と端末装置との間の距離に応じて、機能実行装置との対象情報の通信を制御することができる。
上記の機能実行装置を実現するためのコンピュータプログラム、当該コンピュータプログラムを記憶するコンピュータ可読記録媒体、及び、上記の機能実行装置によって実行される方法も新規で有用である。上記の端末装置のコンピュータプログラムを記憶するコンピュータ可読記録媒体、上記の端末装置そのもの、及び、上記の端末装置によって実行される方法も新規で有用である。また、上記の機能実行装置と上記の端末装置とを備えるシステムも新規で有用である。
通信システムの構成を示す。 携帯端末のPrimary Service群の概念図及びデータ構造図を示す。 第1のプリンタのPrimary Service群のデータ構造を示す。 第2のプリンタのPrimary Service群のデータ構造を示す。 携帯端末とプリンタとによって実行される処理のシーケンス図を示す。 携帯端末と役割変更機能を有するプリンタとによって実行される処理のシーケンス図を示す。 図6の続きを示す。 図7の続きを示す。 携帯端末とPower変更機能を有するプリンタとによって実行される処理のシーケンス図を示す。 図9の続きを示す。 図10の続きを示す。
(通信システム2の構成:図1)
図1に示されるように、通信システム2は、携帯端末10(以下では単に「端末10」と記載する)と、複数個のプリンタ100,200と、を備える。本実施例では、まず、端末10と各プリンタ100,200との間でBLE(Bluetooth Low Energyの略)方式に従った無線接続(以下では「BT接続」と記載する)が確立され、Wi-Fi方式に従った無線接続(以下では「Wi-Fi接続と記載する」を確立するための情報が各プリンタ100,200から端末10に送信される。その後、端末10と各プリンタ100,200との間でWi-Fi接続が確立される。このように、本実施例では、端末10と各プリンタ100,200との間の通信を、BT接続に従った通信からWi-Fi接続に従った通信に移行させることを実現する。即ち、本実施例では、BT接続からWi-Fi接続へのいわゆるハンドオーバー(以下では「HO」と記載することがある)を実現する。
(端末10の構成)
端末10は、携帯電話(例えばスマートフォン)、PDA、タブレットPC等の可搬型の端末装置である。端末10のデバイス名は、「MMM」である。端末10は、表示部12と、Wi-Fiインターフェース14と、BT((Bluetooth(登録商標)の略))インターフェース16と、制御部30と、を備える。各部12~30は、バス線(符号省略)に接続されている。なお、以下では、インターフェースのことを単に「I/F」と記載する。
表示部12は、様々な情報を表示するためのディスプレイである。表示部12は、ユーザから指示を受け付けるタッチパネル(即ち操作部)としても機能する。
Wi-FiI/F14は、Wi-Fi方式に従った無線通信を実行するための無線インターフェースである。Wi-Fi方式は、例えば、IEEE(The Institute of Electrical and Electronics Engineers, Inc.の略)の802.11の規格、及び、それに準ずる規格(例えば802.11a,11b,11g,11n,11ac等)に従って、無線通信を実行するための無線通信方式である。Wi-FiI/F14は、特に、Wi-Fi Allianceによって策定されたWFD(Wi-Fi Direct(登録商標)の略)方式をサポートしている。WFD方式は、Wi-Fi Allianceによって作成された規格書「Wi-Fi Peer-to-Peer (P2P) Technical Specification Version1.1」に記述されている無線通信方式である。端末10は、WFD方式のG/O(Group Ownerの略)状態、CL(Clientの略)状態、及び、デバイス状態のいずれかの状態で動作することができる。例えば、端末10は、WFD方式のCLとして動作して、WFD方式のG/Oとして動作している外部装置(例えばプリンタ100)によって形成されている無線ネットワークに子局として参加可能である。
BTI/F16は、BT方式に従った無線通信を実行するためのI/Fである。BT方式は、例えば、IEEE802.15.1の規格、及び、それに準ずる規格に基づく無線通信方式である。より具体的に言うと、BTI/F16は、BLE方式をサポートしている。BLE方式は、BT方式のバージョン4.0以降のバージョンで実現されている規格である。BTI/F16には、MACアドレス「BT3456」が割り当てられている。
Wi-Fi方式とBT方式との相違点を記述しておく。Wi-Fi方式の通信速度(例えば最大の通信速度が600Mbps)は、BT方式の通信速度(例えば最大の通信速度が24Mbps)よりも速い。Wi-Fi方式の通信における搬送波の周波数は、2.4GHz帯又は5.0GHz帯である。BT方式の通信における搬送波の周波数は、2.4GHz帯である。また、Wi-Fi方式の通信を実行可能な最大の距離(例えば約100m)は、BT方式の通信を実行可能な最大の距離(例えば約数十m)よりも大きい。
制御部30は、CPU32と、メモリ34と、を備える。CPU32は、メモリ34に格納されているプログラム36、38に従って、様々な処理を実行する。メモリ34は、揮発性メモリ、不揮発性メモリ等によって構成され、OS(Operating Systemの略)プログラム36(以下では単に「OS36」と記載する)とプリントアプリケーション38(以下では単に「アプリ38」と記載する)とプロトコルスタック40とを記憶する。
OS36は、端末10の基本的な動作を制御するためのプログラムであり、例えば、iOS(登録商標)、アンドロイド(登録商標)である。アプリ38は、プリンタ100とのHOを実行し、その後、Wi-Fi方接続を利用して、印刷対象の画像を表わす画像データをプリンタ100に送信するためのアプリケーションである。アプリ38は、例えば、プリンタ100のベンダによって提供されるインターネット上のサーバから端末10にインストールされてもよいし、プリンタ100と共に出荷されるメディアから端末10にインストールされてもよい。プロトコルスタック40については後述する。
(プリンタ100の構成)
プリンタ100は、印刷機能を実行可能な周辺装置(例えば、端末10の周辺装置)である。プリンタ100のベンダ名、モデル名、デバイス名は、それぞれ、「AAA」、「B1」、「C1」である。プリンタ100は、BLE方式の役割をペリフェラルからセントラルに変更する役割変更機能を有する。プリンタ100は、表示部112と、Wi-FiI/F114と、BTI/F116と、印刷実行部118と、制御部130と、を備える。
表示部112は、様々な情報を表示するためのディスプレイである。表示部112は、ユーザから指示を受け付けるタッチパネル(即ち操作部)としても機能する。Wi-FiI/F114は、端末10のWi-FiI/F14と同様である。即ち、Wi-FiI/F114は、WFD方式をサポートしている。Wi-FiI/F114には、MACアドレス「WF5678-AAA」が割り当てられている。当該MACアドレスは、プリンタ100のベンダ名「AAA」を含む。BTI/F116は、端末10のBTI/F16と同様である。即ち、BTI/F116は、BLE方式をサポートしている。BTI/F116には、MACアドレス「BT1234-AAA」が割り当てられている。当該MACアドレスは、プリンタ100のベンダ名「AAA」を含む。印刷実行部118は、インクジェット方式、レーザ方式等の印刷機構を備える。
制御部130は、CPU132と、メモリ134と、を備える。CPU132は、メモリ134に記憶されているプログラム136に従って、様々な処理を実行する。メモリ134は、揮発性メモリ、不揮発性メモリ等によって構成され、プログラム136に加えて、プロトコルスタック140を記憶する。
(プリンタ200の構成)
プリンタ200は、プリンタ100と同様のハードウェア構成を備える。プリンタ200のベンダ名、モデル名、デバイス名は、それぞれ、「AAA」、「B2」、「C2」である。プリンタ200は、役割変更機能を有さない。プリンタ200は、BT方式のアドバタイジング信号の送信に利用される電波強度を下げるPower変更機能を有する。プリンタ200は、Wi-FiI/F214と、BTI/F216と、を備える。Wi-FiI/F214には、MACアドレス「WF6789-AAA」が割り当てられている。当該MACアドレスは、プリンタ200のベンダ名「AAA」を含む。BTI/F216には、MACアドレス「BT2345-AAA」が割り当てられている。当該MACアドレスは、プリンタ200のベンダ名「AAA」を含む。図示省略しているが、プリンタ200は、表示部、印刷実行部、及び、制御部を備える。プリンタ200の制御部は、CPU及びメモリを備え、メモリは、プログラムとプロトコルスタックとを記憶している。
(端末10のプロトコルスタック40の構成)
プロトコルスタック40は、BLE方式に従ったプロトコルスタックを含み、図1に示す階層構造を有する。L2CAP(Logical Link Control and Application Protocolの略)は、BT接続(以下では「L2CAP Link」と記載することもある)を確立するためのスタックである。SMP(Security Manager Protocolの略)及びATT(Attribute Protocolの略)は、L2CAPの上位層である。SMPは、BT接続を利用して通信される情報を暗号化するためのプロトコルである。ATTは、BT接続を利用した通信におけるサーバとクライアントとの間のアクセス方式を定義するためのプロトコルである。GATT(Generic Attribute Profileの略)は、ATTの上位層であり、サーバ及びクライアントの機能を定義するためのプロトコルである。GAP(Generic Access Profileの略)は、L2CAP、SMP、ATT、及び、GATTの上位層であり、BLE方式の通信を実行可能な各デバイスに共通する機能を定義するためのプロトコルである。Primary Service群は、GAPの上位層であり、BLE方式の通信に関する具体的な動作を定義するためのアプリケーションである。なお、以下では、Primary Serviceのことを単に「PS」と記載する。
(端末10のPS群:図2)
図2を参照して、プロトコルスタック40に含まれるPS群を説明する。図2は、当該PS群の概念図とデータ構造図とを示す。まず、当該概念図を参照して、PS群の概念を説明する。PS群は、Bluetooth SIGによって定義される(即ちBT方式の規格によって予め決められている)第1種のPSと、各プリンタ100,200のベンダによって定義される第2種のPSと、に分けられる。
第1種のPSは、GAP Service(以下では単に「GA」と記載する)を含む。当該GAは、BTI/F16に関する情報を送信するためのPSである。当該情報は、例えば、デバイス名「MMM」を含む。当該GAには、予め決められているUUID「0x1800」が割り当てられている。当該GAは、複数個のCharacteristic(以下では単に「CH」と記載する)を含む。CHは、PSの具体的な機能を定義する情報である。当該GAは、CH「Device Name」を含む。CH「Device Name」には、予め決められているUUID「0x2A00」が割り当てられている。
第2種のPSは、WFD Connection(以下では単に「WC」と記載する)を含む。当該WCは、WFD方式に従ったWi-Fi接続を確立するための各情報の通信を定義するためのPSであり、プリンタ100のベンダによって定められるUUID「aaa0」が割り当てられている。当該WCは、CH「Mobile Connection Distance」、CH「Connection Information」、及び、CH「Change Status」を含む。
CH「Mobile Connection Distance」は、距離情報を含む表示指示の受信を定義するCH(UUID「aaa1」)である。CH「Connection Information」は、Wi-Fi接続を確立するための接続情報の受信を定義するCH(UUID「aaa2」)である。CH「Change Status」は、WFDに従った処理を開始するためのWFD開始指示の受信を定義するCH(UUID「aaa3」)である。
続いて、図2のデータ構造図を参照して、端末10のPS群の具体的なデータ構造を説明する。PS群は、Handleと、Attribute Typeと、Attribute Valueと、Attribute Permissionと、が対応付けられたテーブル構造を有する。Handleは、「0x0001」から続く連番である。図2では、「0x0002」より後の一部のデータ構造が省略されている。このため、「0x0002」より後のHandleは、実際の値ではなく、記号「nk(kは1以上の整数)」で表現されている。Attribute Type(以下では単に「AType」と記載する)は、通信対象の情報のタイプを示す識別子(即ちUUID)である。Attribute Value(以下では単に「AValue」と記載する)は、通信対象の情報を示す。Attribute Permisiion(以下では単に「APer」と記載する)は、SMPに関する項目であり、より具体的には、情報の読み出し又は書き込みを許可するための条件を示す。
本実施例では、APerには、「Readable without authentication(以下では「RWA」と記載する)」又は「Writeable without authentication(以下では「WWA」と記載する)」が記述される。RWAは、情報の読み出しの実行時にAuthenticationを要求しないことを示す。WWAは、情報の書き込みの実行時にAuthenticationを要求しないことを示す。なお、「without encryption」及び「without authorization」の記載を省略しているが、RWA及びWWAは、情報の読み出し又は書き込みの実行時にEncryptionもAuthorizationも要求しないことを示す。
端末10のPS群のGAは、Handleの範囲「0x0001」~所定値(「n10」の1つ前の値)に対応するデータ群である。Handle「0x0001」に対応するデータは、以下のとおりである。ATypeは、PSのうちの先頭のデータであることを示すUUID「0x2800」を含む。AValueは、UUID「0x1800」を含む。APerは、RWAを含む。
Handle「0x0002」に対応するデータは、以下のとおりである。ATypeは、CH Declarationを示すUUID「0x2803」を含む。AValueは、「Read」を示すプロパティと、Handle「n1」と、UUID「0x2A00」と、を含む。APerは、RWAを含む。
Handle「n1」に対応するデータは、以下のとおりである。Atypeは、CH「Device Name」のUUID「0x2A00」を含む。AValueは、デバイス名「MMM」を含む。APerは、RWAを含む。
GAが上記のデータ構造を有しているので、GA内のデバイス名「MMM」は、以下のようにして読み出される。端末10(即ちBT方式のサーバ)は、BT方式のクライアント(例えばプリンタ100)からUUID「0x2803」が指定されたRead By Type Request信号を受信すると、UUID「0x2803」に対応するAPerに示されるRWAに従って、UUID「0x2803」に対応するAValue(即ち、プロパティ「Read」、Handle「n1」、及び、UUID「0x2A00」)を読み出すことを許可する。この結果、クライアントは、これらの情報を受信することができ、これらの情報に基づいて、Handle「n1」及びUUID「0x2A00」に対応する情報の読み出しを実行可能であることを知ることができる。そして、クライアントは、UUID「0x2A00」が指定されたRead By Type Request信号を端末10に送信することによって、端末10からデバイス名「MMM」を受信する(即ち読み出す)ことができる。
端末10のPS群のWCは、Handleの範囲「n10」~「n16」に対応するデータ群である。Handle「n10」に対応するデータは、以下のとおりである。ATypeは、UUID「0x2800」を含む。AValueは、UUID「aaa0」を含む。APerは、RWAを含む。
Handle「n11」~「n13」に対応するデータは、以下のとおりである。ATypeは、UUID「0x2803」を含む。AValueは、プロパティ「Write」と、Handle(例えば「n14」)と、UUID(例えば「aaa1」)と、を含む。APerは、RWAを含む。
Handle「n14」に対応するデータは、以下のとおりである。Atypeは、CH「Mobile Connection Distance」のUUID「aaa1」を含む。AValueには、クライアントから表示指示が書き込まれる。なお、情報が書き込まれる前には、当該AValueは空情報を含む。このため、図2では、書き込まれる情報を破線で示している。この点は、後述の図3及び図4でも同様である。APerは、WWAを含む。
WCのHandle「n14」が上記のデータ構造を有しているので、Handle「n14」に対応するAValueには、以下のようにして表示指示が書き込まれる。端末10(即ちBT方式のサーバ)は、クライアント(例えばプリンタ100)からUUID「0x2803」が指定されたRead By Type Request信号を受信すると、UUID「0x2803」に対応するAPerに示されるRWAに従って、クライアントがUUID「0x2803」に対応する各AValue(即ちプロパティ「Write」、Handle「n14」~「n16」、及び、UUID「aaa1」~「aaa3」)を読み出すことを許可する。この結果、クライアントは、これらの情報を読み出すことができ、これらの情報に基づいて、Handle「n14」及びUUID「aaa1」に対応する情報の書き込みを実行可能であることを知ることができる。そして、クライアントは、Handle「n14」が指定されていると共に表示指示を含むWrite Request信号を端末10に送信することによって、表示指示を端末10に書き込むことができる。
Handle「n15」、「n16」に対応するデータは、それぞれ、図示されているとおりである。Handle「n15」、「n16」に対応するAValueには、それぞれ、接続情報、WFD開始指示が書き込まれる。
(プリンタ100のPS群:図3)
続いて、図3を参照して、プリンタ100のPS群を説明する。図3は、当該PS群のデータ構造図を示す(当該PS群の概念図は図示省略)。第1種のPSは、図3に示されるとおりである。
第2種のPSは、Handleの範囲「n20」~「n27」に対応するデータ群である。第2種のPSは、2個のPSを含む。一方のPSは、WFD Connection(即ちWC)であり、他方のPSは、BT Control(以下では「BC」と記載する)である。
プリンタ100のPS群のWCは、BLE方式の役割を変更することによってBTHOを実行可能であることを示すBTHO可能情報を受信するためのPSであり、プリンタ100のベンダによって定められるUUID「bbb0」が割り当てられている。当該WCは、Handleの範囲「n20」~「n22」に対応するデータ群であり、CH「Mobile Connection Method」を含む(Handle「n22」参照)。Handle「n22」に対応するAValueには、BTHO可能情報が書き込まれる。
プリンタ100のPS群のBCは、BTI/F116の役割を変更するための役割変更指示と、HO用MACアドレスと、を受信するためのPSであり、プリンタ100のベンダによって定められるUUID「ccc0」が割り当てられている。当該BCは、Handleの範囲「n23」~「n27」に対応するデータ群であり、CH「BLE Role」(Handle「n26」参照)と、CH「Handover Mode MAC Address」(Handle「n27」参照)と、を含む。Handle「n26」に対応するAValueには、役割変更指示が書き込まれる。Handle「n27」に対応するAValueには、HO用MACアドレスが書き込まれる。
(プリンタ200のPS群:図4)
続いて、図4を参照して、プリンタ200のPS群を説明する。図4は、当該PS群のデータ構造図を示す(当該PS群の概念図は図示省略)。第1種のPSは、図4に示されるとおりである。
第2種のPSは、Handleの範囲「n30」~「n42」に対応するデータ群である。第2種のPSは、2個のPSを含む。一方のPSは、WFD Connection(即ちWC)であり、他方のPSは、BT Control(即ちBC)である。
プリンタ200のPS群のWCは、WFD方式に従ったWi-Fi接続を確立するための各情報の通信を定義するためのPSであり、プリンタ200のベンダ(即ちプリンタ100のベンダ)によって定められるUUID「ddd0」が割り当てられている。当該WCは、Handleの範囲「n30」~「n38」に対応するデータ群であり、CH「Power Control」(Handle「n35」参照)と、CH「Handover Mode MAC Address」(Handle「n36」参照)と、CH「Connection Information」(Handle「n37」参照)と、CH「Change Status」(Handle「n38」参照)と、を含む。
Handle「n35」に対応するAValueには、BTI/Fで利用される電波強度を低くするためのLow Power指示が書き込まれる。Handle「n36」に対応するAValueには、HO用MACアドレスが書き込まれる。Handle「n37」に対応するAValueは、接続情報を予め記憶しており、当該接続情報は、端末10によって読み出される。当該接続情報は、プリンタ200がG/Oとして動作する無線ネットワークのSSID「X2」と、当該無線ネットワークのパスワード「Y2」と、プリンタ200のWi-FiI/F214のMACアドレス「WF6789-AAA」と、プリンタ200のIPアドレス「192.168.1.2」と、を含む。Handle「n38」に対応するAValueには、プリンタ200をG/Oとして動作させるためのWFD開始指示が書き込まれる。
プリンタ200のPS群のBCは、ペアリングを切断するための切断指示を受信するためのPSであり、プリンタ200のベンダによって定められるUUID「eee0」が割り当てられている。当該BCは、Handleの範囲「n40」~「n42」に対応するデータ群であり、CH「Pairing Control」(Handle「n42」参照)を含む。Handle「n42」に対応するAValueには、切断指示が書き込まれる。
(具体的な処理:図5)
続いて、図5~図11を参照して、端末10及び各プリンタ100,200によって実行される具体的な処理を説明する。特に、各デバイス10,100,200のPS群が上記の図2~図4のデータ構造を有しているので、各デバイス10,100,200は、当該PS群に従って、以下の処理を実現することができる。なお、以下では、端末10のCPU32がOS36又はアプリ38に従って実行する処理を説明する際に、OS36又はアプリ38を主体として説明する。図5~図11では、端末10と各プリンタ100,200との間のBT方式に従った通信、Wi-Fi方式に従った通信を、それぞれ、実線、破線で示す。また、図5~図7、図9及び図10の全ての通信は、BTI/F16,116,216を介して実行される。従って、これらの図面の各通信を説明する際には、「BTI/F16(又は116,216)を介して」という記載を省略する。
T100では、プリンタ100,200のうちのどちらかのプリンタ(以下では「対象プリンタ」と記載する)の電源がユーザによってONされる。この場合、対象プリンタのCPU(例えば132)は、BTI/F(例えば116)を起動し、この結果、BTI/Fは、BLE方式のペリフェラルとして動作し、T102において、所定の電波強度が利用された第1のアドバタイジング信号を繰り返し送信する。ここで、所定の電波強度は、アドバタイジング信号を十m以上送信可能な強度である。以下では、アドバタイジング信号のことを「AD信号」と記載する。対象プリンタがプリンタ100である場合には、第1のAD信号は、MACアドレス「BT1234-AAA」を含む。対象プリンタがプリンタ200である場合には、第1のAD信号は、MACアドレス「BT2345-AAA」を含む。
T110では、アプリ38を起動する操作がユーザによって実行され、T112では、印刷対象の画像を表わす画像ファイルを選択する操作がユーザによって実行される。ここで選択される画像ファイルは、例えば、端末10のメモリ34内に格納されているファイルであってもよいし、外部から取得されるファイルであってもよい。
T114では、アプリ38は、AD信号の受信を指示するための受信指示をOS36に供給する。この場合、OS36は、BTI/F16を起動し、この結果、BTI/F16は、BLE方式のセントラルとして動作し、T120において、対象プリンタから第1のAD信号を受信する。この場合、OS36は、T122において、Scan Request信号を対象プリンタに送信する。当該信号は、対象プリンタの情報の送信を要求するための信号である。
対象プリンタのCPUは、端末10からScan Request信号を受信すると(T122)、T124において、Scan Response信号を端末10に送信する。対象プリンタがプリンタ100である場合には、Scan Response信号は、モデル名「B1」とMACアドレス「BT1234-AAA」とを含む。対象プリンタがプリンタ200である場合には、Scan Response信号は、モデル名「B2」とMACアドレス「BT2345-AAA」とを含む。
OS36は、プリンタ100からScan Response信号を受信すると(T124)、T126において、当該信号に含まれるモデル名及びMACアドレスをアプリ38に供給する。
アプリ38は、T126で取得済みの情報を利用して、T130において、対象プリンタが役割変更機能を有するのか否かを判断する。具体的には、アプリ38は、まず、取得済みのMACアドレスがプリンタ100,200のベンダ名「AAA」を含むのか否かを判断する。図5のケースでは、アプリ38は、取得済みのMACアドレスがベンダ名「AAA」を含むと判断し、次いで、取得済みのモデル名が、役割変更機能を有するプリンタのモデル名であるのか、Power変更機能を有するプリンタのモデル名であるのか、を判断する。この判断は、アプリ38に予め記憶されている第1及び第2のモデルリストに基づいて実行される。第1のモデルリストは、役割変更機能を有するプリンタの各モデル名を含む。第2のモデルリストは、Power変更機能を有するプリンタの各モデル名を含む。対象プリンタがプリンタ100である場合には、アプリ38は、取得済みのモデル名「B1」が役割変更機能を有するプリンタのモデル名であると判断し、この結果、T130でYESと判断して、T140に進む。また、対象プリンタがプリンタ200である場合には、アプリ38は、取得済みのモデル名「B2」がPower変更機能を有するプリンタのモデル名であると判断し、この結果、T130でNOと判断して、図9の処理に進む。
一方、アプリ38は、取得済みのMACアドレスが第1のモデルリストにも第2のモデルリストにも含まれないと判断する場合には、図示省略の通常処理に進む。通常処理は、端末10とプリンタとの間でペアリングを実行し、Wi-Fi接続を確立するための情報を通信するための処理である。具体的には、端末10は、例えば、PINコードを入力するための画面を表示し、プリンタに表示されるPINコードの入力を受け付ける。当該PINコードの認証が成功すると、端末10は、プリンタとのBT接続を確立する。そして、端末10は、BT接続を利用して、プリンタからWi-Fi接続を確立するための接続情報を受信し、接続情報を利用してWi-Fi接続をプリンタと確立する。その後、端末10は、Wi-Fi接続を利用して、T112で選択された画像ファイルをプリンタに送信する。
T140以降の処理又は図9の処理は、ユーザがPINコードを端末10に入力することなく、端末10と対象プリンタとの間でBT接続を確立するための処理である。ユーザがPINコードを入力する必要がないので、ユーザの利便性が向上する。
続いて、対象プリンタがプリンタ100である場合(即ちT130でYES)の処理を説明する。T140では、アプリ38は、接続確認画面を表示部12に表示する。接続確認画面は、T126で取得済みのモデル名「B1」を有するプリンタ100とのBT接続を確立するのか否かをユーザに問い合わせるための画面であり、YESボタンとCancelボタンとを含む。
T142では、接続確認画面内のYESボタンがユーザによって選択される。この場合、アプリ38は、T143において、BT接続の確立を指示するための接続指示をOS36に供給する。この場合、OS36は、T144において、CONNECT_IND信号をプリンタ100に送信する。
プリンタ100のCPU132は、端末10からCONNECT_IND信号を受信すると(T144)、T146において、L2CAP Link(即ちBT接続)を端末10と確立する。次いで、CPU132は、T148において、第1のAD信号の送信の停止をBTI/F116に指示する。
(端末10及びプリンタ100の処理:図6)
図6のT200では、OS36は、図5のT146で確立されたL2CAP Linkを利用して、構造情報の通信をプリンタ100と実行する。具体的には、OS36は、プリンタ100から、PS群のうち、UUID「0×2800」又は「0×2803」を示すATypeに対応する各データ(即ち、Handle、AValue、及び、Aper;図3参照)を受信する。次いで、OS36は、T210において、L2CAP Linkの確立及び構造情報の通信が完了したことを示す完了通知をアプリ38に供給する。
アプリ38は、OS36から完了通知を取得すると(T210)、T212において、構造情報の供給を要求するための情報要求をOS36に供給する。そして、アプリ38は、T214において、OS36から構造情報を取得する。これにより、アプリ38は、取得済みの構造情報(特にAValue)を参照することによって、通信対象の情報のタイプ(即ちRead又はWrite)とHandleとUUIDとを知ることができる(図3のAValue参照)。
アプリ38は、T220において、Handle「n22」とBTHO可能情報とを含む書込指示をOS36に供給する。これにより、OS36は、T222において、これらの情報を含むWrite Request信号をプリンタ100に送信する。
プリンタ100のCPU132は、端末10からWrite Request信号を受信すると(T222)、Handle「n22」に対応するAValueの値としてBTHO可能情報を記憶する(即ち書き込む)。これにより、CPU132は、端末10がBTHOを実行可能であることを知ることができる。
アプリ38は、T230において、Handle「n26」と役割変更指示とを含む書込指示をOS36に供給する。これにより、OS36は、T232において、これらの情報を含むWrite Request信号をプリンタ100に送信する。
CPU132は、端末10からWrite Request信号を受信すると(T232)、Handle「n26」に対応するAValueの値として役割変更指示を記憶する(即ち書き込む)。これにより、CPU132は、BTI/F116の役割をペリフェラルからセントラルに変更すべきことを知ることができる。
アプリ38は、T240において、Handle「n27」とBTI/F16のMACアドレスであるHO用MACアドレス「BT3456」とを含む書込指示をOS36に供給する。これにより、OS36は、T242において、これらの情報を含むWrite Request信号をプリンタ100に送信する。
CPU132は、端末10からWrite Request信号を受信すると(T242)、Handle「n27」に対応するAValueの値としてHO用MACアドレス「BT3456」を記憶する。これにより、CPU132は、BTI/F116の役割をセントラルに変更した後に、MACアドレス「BT3456」を通信相手として通信すべきことを知ることができる。
アプリ38は、各書込指示をOS36に供給し終えると(即ちT240を終了すると)、T250において、通知画面を表示部12に表示する。通知画面は、図5のT126で取得されたモデル名「B1」を有するプリンタ100に近づくことを促すメッセージを含む。これにより、ユーザは、プリンタ100に近づくべきことを知ることができる。
(図6の続きの処理:図7)
アプリ38は、T300において、ペリフェラル変更指示をOS36に供給する。ペリフェラル変更指示は、BTI/F16の役割をセントラルからペリフェラルに変更するための指示である。これにより、OS36は、ペリフェラルへの変更をBTI/F16に指示し、この結果、BTI/F16は、T302において、第2のAD信号を繰り返し送信する。ここで、第2のAD信号の送信に利用される電波強度は、AD信号を十m以上送信可能な強度である。第2のAD信号は、BTI/F16のMACアドレス「BT3456」と、送信電波強度情報と、を含む。送信電波強度情報は、第2のAD信号の送信時における搬送波の電波強度である送信電波強度を示す情報である。より詳細には、送信電波強度は、第2のAD信号の送信元である端末10から1m離れた地点で測定される搬送波の受信電波強度に等しい。BTI/F16は、予め決められている送信電波強度を示す送信電波強度情報を含む第2のAD信号を送信する。
プリンタ100のCPU132は、図6のT232で役割変更指示を受信することに応じて、T304において、ペリフェラルからセントラルへの変更をBTI/F116に指示する。この結果、BTI/F116は、T310において、端末10から第2のAD信号を受信する。なお、T300において端末10のBTI/F16がペリフェラルに変更されると共に、T304においてプリンタ100のBTI/F116がセントラルに変更されると、図5のT146で確立されたL2CAP Linkは切断される。
CPU132は、端末10から第2のAD信号を受信すると(T310)、T320において、第2のAD信号の送信元が図6のT232で受信された役割変更指示の送信元であるのか否かを判断する。具体的には、CPU132は、第2のAD信号に含まれるMACアドレスと、図6のT242で受信されたHO用MACアドレス「BT3456」と、が一致するのか否かを判断する。本ケースでは、2つのMACアドレスが一致するので、CPU132は、第2のAD信号の送信元が役割変更指示の送信元であると判断し(T320でYES)、T322に進む。CPU132は、2つのMACアドレスが一致しない場合には、T310及びT320の処理を繰り返し、T304でセントラルに変更してから所定時間が経過すると、T320でNOと判断して処理を終了する。このように、本実施例では、プリンタ100は、端末10からHO用MACアドレス「BT3456」を受信し、第2のAD信号に含まれるMACアドレスと受信済みのHO用MACアドレスとが一致しない場合には、T322以降の処理を実行しない。従って、プリンタ100は、例えば、役割変更指示の送信元の端末10とは異なる端末からAD信号を受信しても、T322以降の処理を実行しない。このために、プリンタ100は、適切な通信相手である端末10とT322以降の処理を実行することができる。
T322~T330は、信号の送信元及び送信先が逆になる点を除くと、図5のT122、T124、T144、T146、及び、図6のT200と同様である。ここで、端末10は、T328でL2CAP Linkが確立された後にも、第2のAD信号を繰り返し送信する。このために、プリンタ100のCPU132は、T340において、端末10から第2のAD信号を受信する。
CPU132は、端末10から第2のAD信号を受信すると(T340)、T342において、プリンタ100と端末10との間の距離を計算する。具体的には、CPU132は、第2のAD信号に含まれる送信電波強度情報から送信電波強度を特定する。次いで、CPU132は、BTI/F116から、第2のAD信号の受信時における搬送波の電波強度である受信電波強度を取得する。そして、CPU132は、特定済みの送信電波強度と取得済みの受信電波強度とをT342に示される数式に代入して、プリンタ100と端末10との間の距離を算出する。
次いで、CPU132は、T350において、算出済みの距離が所定距離以下であるのか否かを判断する。本実施例では、所定距離は1mである。変形例では、所定距離は1mより小さくてもよいし大きくてもよい。CPU132は、算出済みの距離が1m以下であると判断する場合(T350でYES)には、図8のT400に進む。一方、CPU132は、算出済みの距離が1mより大きいと判断する場合(T350でNO)には、T352に進む。
CPU132は、T352において、Handle「n14」と表示指示とを含むWrite Request信号を端末10に送信する。表示指示は、算出済みの距離を示す距離情報を含む。
OS36は、プリンタ100からWrite Request信号を受信すると(T352)、Handle「n14」に対応するAValueの値として表示指示を記憶する(即ち書き込む)。そして、OS36は、T354において、表示指示を含む受信情報をアプリ38に供給する。
アプリ38は、OS36から受信情報を受信すると(T354)、T360において、通知画面を表示部14に表示する。通知画面は、モデル名「B1」を有するプリンタ100との現在の距離がT342で算出済みの距離(図7の例では10m)であることを示すメッセージと、プリンタ100との距離を1m以下にするためにプリンタ100にあとどれだけ近づくべきか(図7の例では9m)を示すメッセージと、を含む。これにより、ユーザは、プリンタ100に近づくべきことを知ることができる。特に、ユーザは、プリンタ100にあとどれだけ近づけばよいかと適切に知ることができる。T360が終了すると、T340に戻る。これにより、プリンタ100と端末10との間の距離が再び算出され(T342)、当該距離に基づく通知画面が再び表示される(T360)。そして、プリンタ100と端末10との間の距離が1m以下になると、T350でYESと判断され、図8のT400に進む。
(図7の続きの処理:図8)
プリンタ100のCPU132は、T400において、Handle「n15」と接続情報とを含むWrite Request信号を端末10に送信する。接続情報は、プリンタ100がG/Oとして動作する無線ネットワークのSSID「X1」及びパスワード「Y1」を含む。当該SSID及び当該パスワードは、プリンタ100において予め決められていてもよいし、T400の処理が実行される際にプリンタ100によって生成されてもよい。接続情報は、さらに、プリンタ100のWi-FiI/F114のMACアドレス「WF5678-AAA」とプリンタ100のIPアドレス「192.168.1.1」とを含む。
OS36は、プリンタ100からWrite Request信号を受信すると(T400)、Handle「n15」に対応するAValueの値として接続情報を記憶する(即ち書き込む)。そして、OS36は、T402において、接続情報を含む受信情報をアプリ38に供給する。
CPU132は、さらに、T410において、Handle「n16」とWFD開始指示とを含むWrite Request信号を端末10に送信する。そして、CPU132は、T420において、プリンタ100の状態を、WFD方式のG/O状態以外の状態(例えばいわゆるデバイス状態)からG/O状態に移行させる。
OS36は、プリンタ100からWrite Request信号を受信すると(T410)、Handle「n16」に対応するAValueの値としてWFD開始指示を記憶する(即ち書き込む)。そして、OS36は、T412において、WFD開始指示を含む受信情報をアプリ38に供給する。
アプリ38は、OS36から各受信情報を取得すると(T402,T412)、T430において、SSID「X1」とパスワード「Y1」とMACアドレス「WF5678-AAA」とを含むWi-Fi指示をOS36に供給する。
OS36は、アプリ38からWi-Fi指示を取得すると(T430)、Wi-FiI/F14を起動し、T432において、Wi-FiI/F14を介して、Probe Request信号をブロードキャストによって送信する。
CPU132は、Wi-FiI/F114を介して、端末10からProbe Request信号を受信すると(T432)、T434において、Wi-FiI/F114を介して、SSID「X1」とMACアドレス「WF5678-AAA」とを含むProbe Response信号を端末10に送信する。
OS36は、Wi-FiI/F14を介して、プリンタ100からProbe Response信号を受信すると(T434)、当該信号に含まれるSSID「X1」がT430で取得済みのSSIDに一致すると判断し、かつ、当該信号に含まれるMACアドレス「WF5678-AAA」がT430で取得済みのMACアドレスに一致すると判断する。即ち、OS36は、Probe Response信号の送信元のプリンタ100が、Wi-Fi接続を確立すべき対象のデバイスであると判断する。
OS36は、T440において、Wi-FiI/F14を介して、接続確立通信をプリンタ100と実行する。接続確立通信は、Authentication、Association、4-Way Handshake等の各種通信を含む。接続確立通信の過程において、T430で取得済みのSSID「X1」及びパスワード「Y1」を用いて得られるデータがプリンタ100に送信され、プリンタ100において認証が実行される。本ケースでは当該認証が成功するので、T442において、端末10とプリンタ100との間にWi-Fi接続が確立される。OS36は、プリンタ100とのWi-Fi接続が確立されると(T442)、T444において、Wi-Fi接続の確立が完了したことを示す完了通知をアプリ38に供給する。
アプリ38は、OS36から完了通知を取得すると(T444)、T450において、セントラル変更指示をOS36に供給する。セントラル変更指示は、BTI/F16の役割をペリフェラルからセントラルに変更するための指示である。これにより、OS36は、セントラルへの変更をBTI/F16に指示し、この結果、BTI/F16は、第2のAD信号の送信を停止する。
CPU132は、端末10とのWi-Fi接続が確立されると(T442)、T452において、セントラルからペリフェラルへの変更をBTI/F116に指示する。この結果、BTI/F116は、第1のAD信号を繰り返し送信する。これにより、図5の初期状態に戻る。なお、T450において端末10のBTI/F16がセントラルに変更されると共に、T452においてプリンタ100のBTI/F116がペリフェラルに変更されると、図7のT328で確立されたL2CAP Linkは切断される。
アプリ38は、さらに、T460において、画像ファイルの送信を指示するための送信指示をOS36に供給する。送信指示は、T402で取得済みのIPアドレス「192.168.1.1」と、図5のT112で選択済みの画像ファイルのファイル名と、を含む。これにより、OS36は、T462において、T442で確立済みのWi-Fi接続を利用して、IPアドレス「192.168.1.1」を送信先として、当該画像ファイルをプリンタ100に送信する。
CPU132は、端末10から画像ファイルを受信すると(T462)、T464において、当該画像ファイルによって表わされる画像の印刷を印刷実行部118に指示する。この結果、印刷実行部118は、当該画像の印刷を実行する。そして、CPU132は、T466において、プリンタ100の状態をG/O状態からG/O状態以外の状態に移行させる。この結果、T442で確立済みのWi-Fi接続が切断される。
(端末10及びプリンタ200の処理:図9)
続いて、図9を参照して、対象プリンタがプリンタ200である場合の処理、即ち、図5のT130でNOと判断される場合の処理を説明する。T540は、モデル名「B1」に代えてモデル名「B2」が利用される点を除くと、図5のT140と同様である。T542~T548及びT600~T614は、プリンタ100に代えてプリンタ200が利用される点を除くと、図5のT142~T148及び図6のT200~T214と同様である。
アプリ38は、T620において、HO用MACアドレス「9876―DDD」を生成する。HO用MACアドレスは、例えば、ランダムに複数の文字を選択することによって生成される。これにより、ユニークなHO用MACアドレスが生成される。
アプリ38は、T630において、Handle「n35」とLow Power指示とを含む書込指示をOS36に供給する。これにより、OS36は、T632において、これらの情報を含むWrite Request信号をプリンタ200に送信する。
プリンタ200のCPUは、端末10からWrite Request信号を受信すると(T632)、Handle「n35」に対応するAValueの値としてLow Power指示を記憶する(即ち書き込む)。そして、CPU132は、T634において、Low Power指示をBTI/F216に供給する。この結果、後述の処理において、BTI/F216は、第1のAD信号(図5のT102参照)よりも低い電波強度が利用された第3のAD信号を送信することができる。
アプリ38は、T640において、Handle「n36」とT620で生成済みのHO用MACアドレス「9876-DDD」とを含む書込指示をOS36に供給する。これにより、OS36は、T642において、これらの情報を含むWrite Request信号をプリンタ200に送信する。
プリンタ200のCPUは、端末10からWrite Request信号を受信すると(T642)、Handle「n36」に対応するAValueの値としてHO用MACアドレス「9876-DDD」を記憶する。
アプリ38は、T650において、Handle「n42」と切断指示とを含む書込指示をOS36に供給する。これにより、OS36は、T652において、これらの情報を含むWrite Request信号をプリンタ200に送信する。
プリンタ200のCPUは、端末10からWrite Request信号を受信すると(T652)、Handle「n42」に対応するAValueの値として切断指示を記憶する。そして、CPUは、T654において、切断信号を端末10に送信することによって、図5のT146で確立済みのL2CAP Linkを切断する。
アプリ38は、各書込指示をOS36に供給し終えると(即ちT650を終了すると)、T660において、通知画面を表示部12に表示する。通知画面は、図5のT126で取得されたモデル名「B2」を有するプリンタ200に近づくことを促すメッセージを含む。これにより、ユーザは、プリンタ200に近づくべきことを知ることができる。
(図9の続きの処理:図10)
プリンタ200のCPUは、図9のT654でL2CAP Linkを切断すると、図9のT642で受信されたHO用MACアドレス「9876-DDD」をBTI/F216に供給する。これにより、BTI/F216は、T702において、HO用MACアドレス「9876-DDD」を含む第3のAD信号を繰り返し送信する。図9のT634において、Low Power指示がBTI/F216に供給済みである。このために、BTI/F216は、第1のAD信号(図5のT102参照)よりも低い電波強度が利用された第3のAD信号を送信する。ここで、第3のAD信号の送信に利用される電波強度は、AD信号を十m未満送信可能な強度であり、本実施例では約1m送信可能な強度である。
T704では、アプリ38は、受信指示をOS36に供給する。当該指示は、図5のT114の指示と同様である。そして、T710において、端末10とプリンタ200との間の距離が第3のAD信号の送信範囲内になるまで端末10がプリンタ200に近づく。この場合、OS36は、T720において、プリンタ200から第3のAD信号を受信する。T722~T726は、MACアドレスとして「BT2345-AAA」に代えて「9876-DDD」が利用される点を除くと、図5のT122~T126と同様である。
次いで、アプリ38は、T730において、T726で取得済みの情報を利用して、第3のAD信号の送信元のプリンタが、図9のT632のLow Power指示の送信先のプリンタであるのか否かを判断する。具体的には、アプリ38は、T726で取得済みのMACアドレスが、図9のT620で生成済みのHO用MACアドレスに一致するのか否かを判断する。図10のケースでは、アプリ38は、取得済みのMACアドレス「9876-DDD」がHO用MACアドレスに一致すると判断して(T730でYES)、T743に進む。一方、アプリ38は、取得済みのMACアドレスがHO用MACアドレスに一致しないと判断する場合には、所定時間が経過するまでAD信号のさらなる受信を監視する。アプリ38は、取得済みのMACアドレスがHO用MACアドレスに一致すると判断することなく、上記の所定時間が経過すると、T730でNOと判断して処理を終了する。このように、本実施例では、第1のAD信号に含まれるMACアドレスと第3のAD信号に含まれるMACアドレスとが異なる態様を採用し、アプリ38は、第3のAD信号に含まれるMACアドレスがHO用MACアドレスに一致しない場合には、T743以降の処理を実行しない。従って、端末10は、例えば、Low Power指示の送信先のプリンタ200とは異なるプリンタからAD信号を受信しても、T743以降の処理を実行しない。このために、端末10は、適切なプリンタ200とT743以降の処理を実行させることができる。
T743~T746は、図9のT543~T546と同様である。プリンタ200のCPUは、T746でL2CAP Linkを確立すると、T748において、第3のAD信号の送信の停止をBTI/F216に指示する。T750~T764は、図9のT600~T614と同様である。
アプリ38は、T770において、Handle「n37」を含む読出指示をOS36に供給する。これにより、OS36は、T772において、Handle「n37」に対応するUUID「ddd3」(図4のHandle「n33」に対応するAValue参照)を含むRead by Type Request信号をプリンタ200に送信する。
プリンタ200のCPUは、端末10からRead by Type Request信号を受信すると(T772)、まず、UUID「ddd3」に対応するAValueの値を取得する。即ち、CPUは、SSID「X2」とパスワード「Y2」とMACアドレス「WF6789-AAA」とIPアドレス「192.168.1.2」とを含む接続情報を取得する(図4のHandle「n37」に対応するAValue参照)。そして、CPUは、T774において、取得済みの接続情報を端末10に送信する。
OS36は、プリンタ200から接続情報を受信すると(T774)、T776において、接続情報を含む受信情報をアプリ38に供給する。
(図10の続きの処理:図11)
アプリ38は、T810において、Handle「n42」とWFD開始指示とを含む書込指示をOS36に供給する。これにより、OS36は、T812において、これらの情報を含むWrite Request信号をプリンタ200に送信する。
プリンタ200のCPUは、端末10からWrite Request信号を受信すると(T812)、Handle「n42」に対応するAValueの値としてWFD開始指示を記憶する。そして、CPUは、T814において、プリンタ200の状態を、WFD方式のG/O状態以外の状態からG/O状態に移行させる。
T830~T844は、プリンタ100に代えてプリンタ200が利用される点、及び、図10のT774で受信された接続情報が利用される点を除くと、図8のT430~T444と同様である。プリンタ200のCPUは、端末10とのWi-Fi接続が確立されると(T842)、T850において、プリンタ200のBTI/F216を介して、切断信号を端末10に送信することによって、図10のT746で確立済みのL2CAP Linkを切断する。そして、CPUは、High Power指示をBTI/F216に供給する。これにより、BTI/F216は、比較的に高い電波強度が利用された第1のAD信号を繰り返し送信する。ここで送信される第1のAD信号は、図5のT102で送信される第1のAD信号と同様であり、HO用MACアドレス「9876-DDD」ではなく、MACアドレス「BT2345-AAA」を含む。
T860~T866は、プリンタ100に代えてプリンタ200が利用される点、及び、図10のT774で受信されたIPアドレス「192.168.1.2」が利用される点を除くと、図8のT460~T466と同様である。
(本実施例の効果)
本実施例によると、プリンタ100は、第1のAD信号を送信した後(図5のT102)に、端末10からCONNECT_IND信号を受信する場合(T144)に、端末10とのL2CAP Linkを確立する(T146)。プリンタ100は、T146で確立されたL2CAP Linkを利用して、端末10から役割変更指示を含むWrite Request信号を受信する場合(図6のT232)に、プリンタ100の役割をペリフェラルからセントラルに変更する(図7のT304)。その後、プリンタ100は、端末10から第2のAD信号を受信する場合(T310)に、CONNECT_IND信号を端末10に送信し(T326)、端末10とのL2CAP Linkを確立する(T328)。さらに、プリンタ100は、端末10から第2のAD信号を受信する場合(T340)に、プリンタ100と端末10との間の距離を算出する(T342)。そして、プリンタ100は、算出済みの距離が所定距離よりも大きい場合(T350でNO)には、SSID「X1」、パスワード「Y1」等の接続情報の通信を端末10と実行しないが、算出済みの距離が所定距離以下である場合(T350でYES)には、T328で確立されたたL2CAP Linkを利用して、接続情報の通信を端末10と実行する。そして、プリンタ100は、接続情報を利用して端末10とのWi-Fi接続を確立し(図8のT442)、Wi-Fi接続を利用して端末10から画像ファイルを受信し(T462)、画像ファイルによって表わされる画像の印刷を実行する(T464)。
ここで、図5のT146で確立されるL2CAP Linkを利用して、SSID「X1」等の接続情報の通信を実行する比較例を想定する。比較例によると、プリンタ100と端末10との間の距離が比較的大きい場合(本実施例では10m以上)において、PINコードの認証が実行されることなく(即ちペアリングが実行されることなく)、接続情報が通信されることになる。この場合、例えば、プリンタ100が或る会社のオフィスに設置されている場合に、当該オフィスとは異なる場所(例えば当該オフィスに隣接する他社のオフィス)に位置する端末10が、プリンタ100から接続情報を受信し得る。そして、端末10は、接続情報を利用してプリンタ100とのWi-Fi接続を確立し、画像の印刷をプリンタ100に実行させることができる。このように、比較例では、プリンタ100の正規のユーザではない第三者がプリンタ100を利用し得る。これに対し、本実施例によると、図5のT146で確立されるL2CAP LinkではSSID「X1」等の情報の通信が実行されない。そして、プリンタ100及び端末10の役割が変わり(図7のT300,T304)、プリンタ100と端末10との間の距離が所定距離より大きい状態から所定距離以下である状態に変化することに起因して(T350でYES)、プリンタ100から端末10に接続情報が送信される(図8のT400)。換言すると、ユーザが端末10をプリンタ100に近づけなければ、接続情報の通信が実行されないので、第三者がプリンタ100を利用することを抑制することができる。本実施例によると、プリンタ100及び端末10は、プリンタ100と端末10との間の距離に応じて、接続情報の通信を適切に制御することができる。
また、端末10は、セントラルからペリフェラルへの役割変更を実行不可能なプリンタ200から第1のAD信号を受信する場合(図5の120でYES、T130でNO)に、CONNECT_IND信号をプリンタ200に送信し(図9のT544)、L2CAP Linkをプリンタ200と確立する(T546)。次いで、端末10は、当該L2CAP Linkを利用して、AD信号の電波強度を低くすることを指示するLow Power指示を含むWrite Request信号をプリンタ200に送信する(T632)。その後、端末10は、ユーザが端末10をプリンタ200に近づけることに起因して、プリンタ200から第1のAD信号よりも低い電波強度を有する第3のAD信号を受信する場合(図10のT720)に、CONNECT_IND信号をプリンタ200に送信し(T744)、L2CAP Linkをプリンタ200と確立する(T746)。次いで、端末10は、当該L2CAP Linkを利用して、プリンタ100からSSID「X2」等の接続情報を受信する(T774)。このように、セントラルからペリフェラルへの役割変更を実行不可能なプリンタ200が利用される場合でも、ユーザが端末10をプリンタ200に近づけなければ、接続情報の通信が実行されないので、第三者がプリンタ200を利用することを抑制することができる。本実施例によると、プリンタ200及び端末10は、プリンタ200と端末10との間の距離に応じて、接続情報の通信を適切に制御することができる。
(対応関係)
プリンタ100、端末10、BTI/F116、Wi-FiI/F114、BTI/F16が、それぞれ、「機能実行装置」、「端末装置」、「第1の無線インターフェース」、「第2の無線インターフェース」、「無線インターフェース」の一例である。図6のT232で通信される役割変更指示を含むWrite Request信号が、「特定信号」の一例である。図7のT326のCONNECT_IND信号、図5のT144のCONNECT_IND信号が、それぞれ、「第1の接続要求」、「第2の接続要求」の一例である。図7のT328のL2CAP Link、図5のT146のL2CAP Link、図8のT442のWi-Fi接続が、それぞれ、「第1の無線接続」、「第2の無線接続」、「特定の無線接続」の一例である。図7のT400で通信されるSSID「X1」等の接続情報が、「対象情報」の一例である。MACアドレス「BT3456」が、「識別情報」の一例である。図7のT360で表示される通知画面に含まれる距離10m及び距離9mが「距離情報」の一例である。
図5のT144の処理、T146の処理が、それぞれ、「接続要求受信部」、「第2の確立部」によって実行される処理の一例である。図6のT232の処理、T242の処理が、それぞれ、「特定信号受信部」、「識別情報受信部」によって実行される処理の一例である。図7のT304の処理、T310(及びT340)の処理、T326の処理、T328の処理、T342の処理、T352の処理が、それぞれ、「役割変更部」、「アドバタイジング信号受信部」「接続要求送信部」、「第1の確立部」、「算出部」、「表示指示送信部」によって実行される処理の一例である。図8のT400の処理、T462の処理、T464の処理が、それぞれ、「対象データ通信部」、「画像データ受信部」、「印刷制御部」によって実行される処理の一例である。
図5のT114及びT120の処理が、「アドバタイジング信号受信部」によって実行される処理の一例である。T143及びT144の処理が、「接続要求送信部」によって実行される処理の一例である。図6のT230及びT232の処理が、「特定信号送信部」によって実行される処理の一例である。T240及びT242の処理が、「識別情報送信部」によって実行される処理の一例である。図7のT300の処理が、「役割変更部」によって実行される処理の一例である。T300及びT326の処理が、「接続要求受信部」によって実行される処理の一例である。T352及びT354の処理が、「表示指示受信部」によって実行される処理の一例である。T360の処理が、「表示制御部」によって実行される処理の一例である。図8のT400及びT402の処理が、「対象情報通信部」によって実行される処理の一例である。
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
(変形例1)
プリンタ100は、図6のT232の役割変更指示を受信しなくてもよい。この場合、プリンタ100は、例えば、図5のT122のScan Request信号を受信することを条件として、役割をペリフェラルからセントラルに変更してもよい。本変形例では、Scan Request信号が、「特定信号」の一例である。特に、本変形例では、T146のL2CAP Linkが確立されなくてもよい。即ち、「機能実行装置」の「接続要求受信部」及び「第2の確立部」は省略可能である。また、「端末装置」の「接続要求送信部」も省略可能である。また、別の変形例では、プリンタ100は、例えば、図5のT144のCONNECT_IND信号を受信することを条件として、役割をペリフェラルからセントラルに変更してもよい。本変形例では、CONNECT_IND信号が、「特定信号」の一例である。
(変形例2)
プリンタ100がG/O状態に移行する代わりに、端末10がG/O状態に移行してもよい。この場合、プリンタ100は、図8のT400において、SSID等を端末10に送信することに代えて、端末10から、端末10がG/Oとして動作する無線ネットワークのSSID、パスワード等を受信する。一般的に言うと、「機能実行装置」及び「端末装置」の「対象情報通信部」は、上記の実施例のように、対象情報が機能実行装置から端末装置に送信されてもよいし、本変形例のように、対象情報が端末装置から機能実行装置に送信されてもよい。
(変形例3)
プリンタ100は、図8のT400において、SSID等に代えて、プリンタ100にログインするためのログインパスワードを端末10に送信してもよい。この場合、端末10は、ログインパスワードを表示し、ユーザは、当該ログインパスワードをプリンタ100に入力することによって、プリンタ100にログインすることができる(即ちプリンタ100を利用可能な状態にすることができる)。本変形例では、ログインパスワードが、「対象情報」の一例であり、「機能実行装置」の「第2の無線インターフェース」、「画像データ受信部」、及び、「印刷制御部」を省略可能である。また、「対象情報」は、機能実行装置の特定機能を利用するための他の情報(例えば、プリンタ100のステータスを示す情報、プリンタ100に記憶されている印刷履歴の情報等)であってもよい。
(変形例4)
プリンタ100は、端末10から、図6のT242のMACアドレス「BT3456」を受信する代わりに、端末10のシリアル番号を受信してもよい。この場合、第2のAD信号は、シリアル番号を含んでいてもよい。本変形例では、プリンタ100は、シリアル番号の一致を判断することによって、図7のT320の処理を実行することができる。本変形例では、シリアル番号が「識別情報」の一例である。
(変形例5)
図6のT242が省略されてもよい。この場合、プリンタ100は、図7のT320の処理を実行しなくてもよい。本変形例では、「機能実行装置」の「識別情報受信部」を省略可能である。また、「端末装置」の「識別情報送信部」も省略可能である。
(変形例6)
図7のT360で表示される通知画面は、プリンタ100と端末10との間の現在の距離10mと、プリンタ100に近づくべき残り距離9mと、を含む代わりに、以下の情報を含んでいてもよい。即ち、通知画面は、現在の距離10mと所定距離1mとを含んでいてもよい。ここで、所定距離1mを含むとは、例えば、「プリンタ100との距離が1mになるまで近づいてください」というメッセージの形式で実現されてもよい。本変形例では、現在の距離10m及び所定距離1mが「距離情報」の一例である。また、別の変形例えは、通知画面は、現在の距離10mを含まずに、残り距離9mのみを含んでいてもよい。本変形例では、残り距離9mが「距離情報」の一例である。
(変形例7)
図7のT360で表示される通知画面は、距離を示す情報を含まず、プリンタ100に近づくべきことを示すメッセージ(例えば図9のT660のようなメッセージ)を含んでいてもよい。一般的に言うと、「通知画面」は、距離情報を含まなくてもよい。また、別の変形例では、プリンタ100は、T352の表示指示を端末10に送信しなくてもよい。この場合、端末10は、通知画面を表示しない。本変形例では、「機能実行装置」の「表示指示送信部」を省略可能である。また、「端末装置」の「表示指示受信部」及び「表示制御部」も省略可能である。
(変形例8)
プリンタ100は、図7のT310で受信される第2のAD信号を利用して距離を算出し、算出済みの距離が所定距離以下である場合に、T322~T328の処理を実行してもよい。この場合、端末10は、T328のL2CAP Linkが確立された後に、第2のAD信号を送信しなくてもよい。一般的に言うと、「機能実行装置」の「アドバタイジング信号受信部」は、端末装置との第1の無線接続が確立された後に、端末装置から第2のアドバタイジング信号を受信しなくてもよい。また、「端末装置」の「無線インターフェース」は、機能実行装置との第1の無線接続が確立された後に、第2のアドバタイジング信号を送信しなくてもよい。
(変形例9)
端末10のOS36は、図5のT120において、複数個のプリンタ100,200のそれぞれから第1のAD信号を受信してもよい。この場合、複数個のプリンタ100,200のそれぞれについて、T122~T126の処理が実行される。アプリ38は、T130を実行する前に、各プリンタ100,200のモデル名「B1」,「B2」から1個のモデル名を選択するための選択画面を表示する。アプリ38は、1個のモデル名が選択される場合に、T130の処理を実行し、T130でYESと判断する場合に、T140及びT142を実行することなく、T143を実行する。また、アプリ38は、T130でNOと判断する場合に、図9のT540及びT542を実行することなく、T543を実行する。
(変形例10)
「機能実行装置」は、プリンタ100でなくてもよく、例えば、スキャナ、FAX装置、多機能機、PC、サーバ等であってもよい。
(変形例11)
上記の各実施例では、各プリンタ100,200のCPU(例えば132)がプログラム(例えば136)を実行すること、及び、端末10のCPU32がプログラム36,38を実行することによって、図5~図11の各処理が実現される。これに代えて、いずれかの処理は、論理回路等のハードウェアによって実現されてもよい。
特許出願時の特許請求の範囲に記載の事項を以下に記載しておく。
(項目1)
機能実行装置であって、
BLE(Bluetooth(登録商標) Low Energyの略)方式に従った無線通信を実行するための第1の無線インターフェースであって、前記機能実行装置の役割が前記BLE方式のペリフェラルである場合に、第1のアドバタイジング信号を繰り返し送信可能である前記第1の無線インターフェースと、
前記第1のアドバタイジング信号を受信した端末装置から、前記第1の無線インターフェースを介して、特定信号を受信する特定信号受信部と、
前記端末装置から前記特定信号が受信される場合に、前記機能実行装置の役割を前記ペリフェラルから前記BLE方式のセントラルに変更する役割変更部と、
前記機能実行装置の役割が前記セントラルに変更される場合に、前記端末装置から、前記第1の無線インターフェースを介して、第2のアドバタイジング信号を受信するアドバタイジング信号受信部と、
前記端末装置から前記第2のアドバタイジング信号が受信される場合に、前記第2のアドバタイジング信号を利用して、前記機能実行装置と前記端末装置との間の距離を算出する算出部と、
前記端末装置から前記第2のアドバタイジング信号が受信される場合に、前記第1の無線インターフェースを介して、第1の接続要求を前記端末装置に送信する接続要求送信部と、
前記第1の接続要求が前記端末装置に送信される場合に、前記第1の無線インターフェースを介して、前記端末装置との第1の無線接続を確立する第1の確立部と、
算出済みの前記距離が所定距離以下である場合に、前記第1の無線接続を利用して、前記第1の無線インターフェースを介して、前記機能実行装置の特定機能を利用するための対象情報の通信を前記端末装置と実行する対象情報通信部であって、算出済みの前記距離が前記所定距離より大きい場合に、前記第1の無線接続を利用した前記対象情報の通信は実行されない、前記対象情報通信部と、
を備える、機能実行装置。
(項目2)
前記機能実行装置は、さらに、
前記第1のアドバタイジング信号を受信した前記端末装置から、前記第1の無線インターフェースを介して、第2の接続要求を受信する接続要求受信部と、
前記端末装置から前記第2の接続要求が受信される場合に、前記第1の無線インターフェースを介して、前記端末装置との前記第2の無線接続を確立する第2の確立部と、を備え、
前記特定信号受信部は、前記第2の無線接続を利用して、前記端末装置から前記特定信号を受信する、項目1に記載の機能実行装置。
(項目3)
前記特定信号は、前記ペリフェラルから前記セントラルへの変更を指示する役割変更指示を含むWrite Request信号である、項目2に記載の機能実行装置。
(項目4)
前記機能実行装置は、さらに、
前記第2の無線接続を利用して、前記端末装置から、前記第1の無線インターフェースを介して、前記端末装置を識別する識別情報を受信する識別情報受信部を備え、
前記第2のアドバタイジング信号は、前記識別情報を含む、項目2又は3に記載の機能実行装置。
(項目5)
前記機能実行装置は、さらに、
算出済みの前記距離が前記所定距離より大きい場合に、前記第1の無線接続を利用して、前記第1の無線インターフェースを介して、表示指示を前記端末装置に送信する表示指示送信部であって、前記表示指示は、前記端末装置を前記機能実行装置に近づけることを示す通知画面を前記端末装置に表示させるための指示である、前記表示指示送信部を備える、項目1から4のいずれか一項に記載の機能実行装置。
(項目6)
前記通知画面は、算出済みの前記距離と前記所定距離とを用いて得られる距離情報を含む画面である、項目5に記載の機能実行装置。
(項目7)
前記アドバタイジング信号受信部は、前記端末装置との前記第1の無線接続が確立された後も、前記端末装置から、前記第1の無線インターフェースを介して、前記第2のアドバタイジング信号を繰り返し受信し、
前記算出部は、前記端末装置から前記第2のアドバタイジング信号が受信される毎に、前記機能実行装置と前記端末装置との間の距離を算出し、
前記対象情報通信部は、算出済みの前記距離が前記所定距離より大きい状態から前記所定距離以下である状態に変化する場合に、前記第1の無線接続を利用して、前記第1の無線インターフェースを介して、前記対象情報の通信を前記端末装置と実行する、項目1から6のいずれか一項に記載の機能実行装置。
(項目8)
前記機能実行装置は、さらに、
前記第1の無線インターフェースとは異なる第2の無線インターフェースを備え、
前記対象情報は、前記第2の無線インターフェースを介して、前記端末装置との特定の無線接続を確立するための情報である、項目1から7のいずれか一項に記載の機能実行装置。
(項目9)
前記機能実行装置は、さらに、
印刷実行部と、
前記端末装置との前記特定の無線接続が確立される場合に、前記特定の無線接続を利用して、前記端末装置から、前記第2の無線インターフェースを介して、印刷対象の画像を表わす画像データを受信する画像データ受信部と、
前記端末装置から前記画像データが受信される場合に、前記画像データによって表される前記画像の印刷を前記印刷実行部に実行させる印刷制御部と、を備え、
前記特定機能は、前記画像の印刷を実行する機能である、項目8に記載の機能実行装置。
(項目10)
端末装置のためのコンピュータプログラムであって、
前記端末装置のコンピュータを、以下の各部、即ち、
前記端末装置の役割がBLE(Bluetooth(登録商標) Low Energyの略)方式のセントラルである場合に、機能実行装置から、前記端末装置の無線インターフェースを介して、第1のアドバタイジング信号を受信するアドバタイジング信号受信部であって、前記無線インターフェースは、前記BLE方式に従った無線通信を実行するためのインターフェースである、前記アドバタイジング信号受信部と、
前記機能実行装置から前記第1のアドバタイジング信号が受信される場合に、前記無線インターフェースを介して、特定信号を前記機能実行装置に送信する特定信号送信部と、
前記特定信号が前記機能実行装置に送信される場合に、前記端末装置の役割を前記セントラルから前記BLE方式のペリフェラルに変更する役割変更部であって、前記無線インターフェースは、前記端末装置の役割が前記ペリフェラルに変更される場合に、第2のアドバタイジング信号を繰り返し送信可能である、前記役割変更部と、
前記第2のアドバタイジング信号を受信した前記機能実行装置から、前記無線インターフェースを介して、第1の接続要求を受信する接続要求受信部であって、前記機能実行装置から前記第1の接続要求が受信されることに応じて、前記無線インターフェースを介して前記機能実行装置との第1の無線接続が確立される、前記接続要求受信部と、
前記第2のアドバタイジング信号を受信した前記機能実行装置によって、前記機能実行装置と前記端末装置との間の距離が算出され、かつ、算出済みの距離が所定距離以下である場合に、前記第1の無線接続を利用して、前記無線インターフェースを介して、前記機能実行装置の特定機能を利用するための対象情報の通信を前記機能実行装置と実行する対象情報通信部であって、算出済みの前記距離が前記所定距離より大きい場合に、前記第1の無線接続を利用した前記対象情報の通信は実行されない、前記対象情報通信部と、
として機能させる、コンピュータプログラム。
(項目11)
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記機能実行装置から前記第1のアドバタイジング信号が受信される場合に、前記無線インターフェースを介して、第2の接続要求を前記機能実行装置に送信する接続要求送信部であって、前記第2の接続要求が前記機能実行装置に送信されることに応じて、前記無線インターフェースを介して前記機能実行装置との第2の無線接続が確立される、前記接続要求送信部として機能させ、
前記特定信号送信部は、前記第2の無線接続を利用して、前記特定信号を前記機能実行装置に送信する、項目10に記載のコンピュータプログラム。
(項目12)
前記特定信号は、前記ペリフェラルから前記セントラルへの変更を指示する役割変更指示を含むWrite Request信号である、項目11に記載のコンピュータプログラム。
(項目13)
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記第2の無線接続を利用して、前記無線インターフェースを介して、前記端末装置を識別する識別情報を前記機能実行装置に送信する識別情報送信部として機能させ、
前記第2のアドバタイジング信号は、前記識別情報を含む、項目11又は12に記載のコンピュータプログラム。
(項目14)
前記コンピュータプログラムは、前記コンピュータを、さらに、
算出済みの前記距離が前記所定距離より大きい場合に、前記第1の無線接続を利用して、前記機能実行装置から、前記第1の無線インターフェースを介して、表示指示を受信する表示指示受信部と、
前記機能実行装置から前記表示指示が受信される場合に、前記端末装置を前記機能実行装置に近づけることを示す通知画面を前記端末装置の表示部に表示させる表示制御部と、
として機能させる項目10から13のいずれか一項に記載のコンピュータプログラム。
(項目15)
前記無線インターフェースは、前記機能実行装置との前記第1の無線接続が確立された後も、前記第2のアドバタイジング信号を繰り返し送信し、
前記第2のアドバタイジング信号が前記機能実行装置によって受信される毎に、前記機能実行装置によって、前記機能実行装置と前記端末装置との間の距離が算出され、
前記対象情報通信部は、算出済みの前記距離が前記所定距離より大きい状態から前記所定距離以下である状態に変化する場合に、前記第1の無線接続を利用して、前記第1の無線インターフェースを介して、前記対象情報の通信を前記機能実行装置と実行する、項目10から14のいずれか一項に記載のコンピュータプログラム。
2:通信システム、10:携帯端末、12:表示部、14:Wi-FiI/F、16:BTI/F、30:制御部、32:CPU、34:メモリ、36:OSプログラム、38:プリントアプリケーション、40:プロトコルスタック、100:プリンタ、112:表示部、114:Wi-FiI/F、116:BTI/F、130:制御部、132:CPU、134:メモリ、136:プログラム、200:プリンタ、214:Wi-FiI/F、216:BTI/F

Claims (13)

  1. 機能実行装置であって、
    BLE(Bluetooth(登録商標) Low Energyの略)方式に従った無線通信を実行するための第1の無線インターフェースであって、前記機能実行装置の役割が前記BLE方式のペリフェラルである場合に、第1のアドバタイジング信号を繰り返し送信可能である前記第1の無線インターフェースと、
    前記第1のアドバタイジング信号を受信した端末装置から、前記第1の無線インターフェースを介して、特定信号を受信する特定信号受信部と、
    前記端末装置から前記特定信号が受信される場合に、前記機能実行装置の役割を前記ペリフェラルから前記BLE方式のセントラルに変更する役割変更部と、
    前記機能実行装置の役割が前記セントラルに変更される場合に、前記端末装置から、前記第1の無線インターフェースを介して、第2のアドバタイジング信号を受信するアドバタイジング信号受信部と、
    前記端末装置から前記第2のアドバタイジング信号が受信される場合に、前記第2のアドバタイジング信号を利用して、前記機能実行装置と前記端末装置との間の距離を算出する算出部と、
    前記端末装置から前記第2のアドバタイジング信号が受信される場合に、前記第1の無線インターフェースを介して、第1の接続要求を前記端末装置に送信する接続要求送信部と、
    前記第1の接続要求が前記端末装置に送信される場合に、前記第1の無線インターフェースを介して、前記端末装置との第1の無線接続を確立する第1の確立部と、
    算出済みの前記距離が所定距離以下である場合に、前記第1の無線接続を利用して、前記第1の無線インターフェースを介して、前記機能実行装置の特定機能を利用するための対象情報の通信を前記端末装置と実行する対象情報通信部であって、算出済みの前記距離が前記所定距離より大きい場合に、前記第1の無線接続を利用した前記対象情報の通信は実行されない、前記対象情報通信部と、
    算出済みの前記距離が前記所定距離より大きい場合に、前記第1の無線接続を利用して、前記第1の無線インターフェースを介して、表示指示を前記端末装置に送信する表示指示送信部であって、前記表示指示は、前記端末装置を前記機能実行装置に近づけることを示す通知画面を前記端末装置に表示させるための指示である、前記表示指示送信部と、
    を備える、機能実行装置。
  2. 前記機能実行装置は、さらに、
    前記第1のアドバタイジング信号を受信した前記端末装置から、前記第1の無線インターフェースを介して、第2の接続要求を受信する接続要求受信部と、
    前記端末装置から前記第2の接続要求が受信される場合に、前記第1の無線インターフェースを介して、前記端末装置との第2の無線接続を確立する第2の確立部と、を備え、
    前記特定信号受信部は、前記第2の無線接続を利用して、前記端末装置から前記特定信号を受信する、請求項1に記載の機能実行装置。
  3. 前記特定信号は、前記ペリフェラルから前記セントラルへの変更を指示する役割変更指示を含むWrite Request信号である、請求項2に記載の機能実行装置。
  4. 前記機能実行装置は、さらに、
    前記第2の無線接続を利用して、前記端末装置から、前記第1の無線インターフェースを介して、前記端末装置を識別する識別情報を受信する識別情報受信部を備え、
    前記第2のアドバタイジング信号は、前記識別情報を含む、請求項2又は3に記載の機能実行装置。
  5. 前記通知画面は、算出済みの前記距離と前記所定距離とを用いて得られる距離情報を含む画面である、請求項に記載の機能実行装置。
  6. 前記アドバタイジング信号受信部は、前記端末装置との前記第1の無線接続が確立された後も、前記端末装置から、前記第1の無線インターフェースを介して、前記第2のアドバタイジング信号を繰り返し受信し、
    前記算出部は、前記端末装置から前記第2のアドバタイジング信号が受信される毎に、前記機能実行装置と前記端末装置との間の距離を算出し、
    前記対象情報通信部は、算出済みの前記距離が前記所定距離より大きい状態から前記所定距離以下である状態に変化する場合に、前記第1の無線接続を利用して、前記第1の無線インターフェースを介して、前記対象情報の通信を前記端末装置と実行する、請求項1からのいずれか一項に記載の機能実行装置。
  7. 前記機能実行装置は、さらに、
    前記第1の無線インターフェースとは異なる第2の無線インターフェースを備え、
    前記対象情報は、前記第2の無線インターフェースを介して、前記端末装置との特定の無線接続を確立するための情報である、請求項1からのいずれか一項に記載の機能実行装置。
  8. 前記機能実行装置は、さらに、
    印刷実行部と、
    前記端末装置との前記特定の無線接続が確立される場合に、前記特定の無線接続を利用して、前記端末装置から、前記第2の無線インターフェースを介して、印刷対象の画像を表わす画像データを受信する画像データ受信部と、
    前記端末装置から前記画像データが受信される場合に、前記画像データによって表される前記画像の印刷を前記印刷実行部に実行させる印刷制御部と、を備え、
    前記特定機能は、前記画像の印刷を実行する機能である、請求項に記載の機能実行装置。
  9. 端末装置のためのコンピュータプログラムであって、
    前記端末装置のコンピュータを、以下の各部、即ち、
    前記端末装置の役割がBLE(Bluetooth(登録商標) Low Energyの略)方式のセントラルである場合に、機能実行装置から、前記端末装置の無線インターフェースを介して、第1のアドバタイジング信号を受信するアドバタイジング信号受信部であって、前記無線インターフェースは、前記BLE方式に従った無線通信を実行するためのインターフェースである、前記アドバタイジング信号受信部と、
    前記機能実行装置から前記第1のアドバタイジング信号が受信される場合に、前記無線インターフェースを介して、特定信号を前記機能実行装置に送信する特定信号送信部と、
    前記特定信号が前記機能実行装置に送信される場合に、前記端末装置の役割を前記セントラルから前記BLE方式のペリフェラルに変更する役割変更部であって、前記無線インターフェースは、前記端末装置の役割が前記ペリフェラルに変更される場合に、第2のアドバタイジング信号を繰り返し送信可能である、前記役割変更部と、
    前記第2のアドバタイジング信号を受信した前記機能実行装置から、前記無線インターフェースを介して、第1の接続要求を受信する接続要求受信部であって、前記機能実行装置から前記第1の接続要求が受信されることに応じて、前記無線インターフェースを介して前記機能実行装置との第1の無線接続が確立される、前記接続要求受信部と、
    前記第2のアドバタイジング信号を受信した前記機能実行装置によって、前記機能実行装置と前記端末装置との間の距離が算出され、かつ、算出済みの距離が所定距離以下である場合に、前記第1の無線接続を利用して、前記無線インターフェースを介して、前記機能実行装置の特定機能を利用するための対象情報の通信を前記機能実行装置と実行する対象情報通信部であって、算出済みの前記距離が前記所定距離より大きい場合に、前記第1の無線接続を利用した前記対象情報の通信は実行されない、前記対象情報通信部と、
    算出済みの前記距離が前記所定距離より大きい場合に、前記第1の無線接続を利用して、前記機能実行装置から、前記無線インターフェースを介して、表示指示を受信する表示指示受信部と、
    前記機能実行装置から前記表示指示が受信される場合に、前記端末装置を前記機能実行装置に近づけることを示す通知画面を前記端末装置の表示部に表示させる表示制御部と、
    として機能させる、コンピュータプログラム。
  10. 前記コンピュータプログラムは、前記コンピュータを、さらに、
    前記機能実行装置から前記第1のアドバタイジング信号が受信される場合に、前記無線インターフェースを介して、第2の接続要求を前記機能実行装置に送信する接続要求送信部であって、前記第2の接続要求が前記機能実行装置に送信されることに応じて、前記無線インターフェースを介して前記機能実行装置との第2の無線接続が確立される、前記接続要求送信部として機能させ、
    前記特定信号送信部は、前記第2の無線接続を利用して、前記特定信号を前記機能実行装置に送信する、請求項に記載のコンピュータプログラム。
  11. 前記特定信号は、前記ペリフェラルから前記セントラルへの変更を指示する役割変更指示を含むWrite Request信号である、請求項10に記載のコンピュータプログラム。
  12. 前記コンピュータプログラムは、前記コンピュータを、さらに、
    前記第2の無線接続を利用して、前記無線インターフェースを介して、前記端末装置を識別する識別情報を前記機能実行装置に送信する識別情報送信部として機能させ、
    前記第2のアドバタイジング信号は、前記識別情報を含む、請求項10又は11に記載のコンピュータプログラム。
  13. 前記無線インターフェースは、前記機能実行装置との前記第1の無線接続が確立された後も、前記第2のアドバタイジング信号を繰り返し送信し、
    前記第2のアドバタイジング信号が前記機能実行装置によって受信される毎に、前記機能実行装置によって、前記機能実行装置と前記端末装置との間の距離が算出され、
    前記対象情報通信部は、算出済みの前記距離が前記所定距離より大きい状態から前記所定距離以下である状態に変化する場合に、前記第1の無線接続を利用して、前記無線インターフェースを介して、前記対象情報の通信を前記機能実行装置と実行する、請求項から12のいずれか一項に記載のコンピュータプログラム。
JP2019216536A 2019-11-29 2019-11-29 機能実行装置及び端末装置のためのコンピュータプログラム Active JP7424013B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019216536A JP7424013B2 (ja) 2019-11-29 2019-11-29 機能実行装置及び端末装置のためのコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019216536A JP7424013B2 (ja) 2019-11-29 2019-11-29 機能実行装置及び端末装置のためのコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2021087169A JP2021087169A (ja) 2021-06-03
JP7424013B2 true JP7424013B2 (ja) 2024-01-30

Family

ID=76088155

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019216536A Active JP7424013B2 (ja) 2019-11-29 2019-11-29 機能実行装置及び端末装置のためのコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP7424013B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016178385A (ja) 2015-03-18 2016-10-06 キヤノン株式会社 通信システム、情報処理装置、通信制御方法およびプログラム
JP2017017594A (ja) 2015-07-02 2017-01-19 キヤノン株式会社 通信装置、制御方法、及びプログラム
JP2017092533A (ja) 2015-11-02 2017-05-25 株式会社デンソー 車載機およびユーザ接近離隔推定システム
JP2017212676A (ja) 2016-05-27 2017-11-30 カシオ計算機株式会社 通信装置、電子時計、時刻補正方法、及びプログラム
US20180367942A1 (en) 2017-06-17 2018-12-20 Link Labs, Inc. Ble networking systems and methods providing central and peripheral role reversal

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016178385A (ja) 2015-03-18 2016-10-06 キヤノン株式会社 通信システム、情報処理装置、通信制御方法およびプログラム
JP2017017594A (ja) 2015-07-02 2017-01-19 キヤノン株式会社 通信装置、制御方法、及びプログラム
JP2017092533A (ja) 2015-11-02 2017-05-25 株式会社デンソー 車載機およびユーザ接近離隔推定システム
JP2017212676A (ja) 2016-05-27 2017-11-30 カシオ計算機株式会社 通信装置、電子時計、時刻補正方法、及びプログラム
US20180367942A1 (en) 2017-06-17 2018-12-20 Link Labs, Inc. Ble networking systems and methods providing central and peripheral role reversal

Also Published As

Publication number Publication date
JP2021087169A (ja) 2021-06-03

Similar Documents

Publication Publication Date Title
JP6406092B2 (ja) 通信機器
JP7155581B2 (ja) 通信装置と通信装置のためのコンピュータプログラム
JP7135635B2 (ja) プリンタ、及び、端末装置のためのコンピュータプログラム
US11579824B2 (en) Function executing device for executing communication of function execution information with terminal device
JP2023168594A (ja) 通信装置と通信装置のためのコンピュータプログラム
JP2021190862A (ja) 端末装置のためのコンピュータプログラムと通信装置
JP7424013B2 (ja) 機能実行装置及び端末装置のためのコンピュータプログラム
JP6879155B2 (ja) 通信装置及び端末装置
JP7472676B2 (ja) 通信装置及び端末装置のためのコンピュータプログラム
JP7322669B2 (ja) 機能実行装置及び端末装置のためのコンピュータプログラム
JP7070095B2 (ja) 通信装置のためのコンピュータプログラムと通信装置とサーバのためのコンピュータプログラム
JP7293705B2 (ja) 機能実行装置及び端末装置のためのコンピュータプログラム
JP7293704B2 (ja) 機能実行装置及び端末装置のためのコンピュータプログラム
JP7354811B2 (ja) 通信装置及び端末装置のためのコンピュータプログラム
JP6638786B2 (ja) 通信機器
JP7456470B2 (ja) 通信機器
JP6927255B2 (ja) 通信機器
JP6919704B2 (ja) 通信機器
JP6398750B2 (ja) 通信機器
JP7347176B2 (ja) 画像処理装置及び端末装置のためのコンピュータプログラム
JP7388491B2 (ja) 通信機器
JP2021190863A (ja) 端末装置のためのコンピュータプログラムと通信装置
JP2019030024A (ja) 通信機器

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221118

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230719

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230808

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231002

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: 20231219

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240101

R150 Certificate of patent or registration of utility model

Ref document number: 7424013

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150