JP6929412B2 - 情報処理装置、制御方法およびプログラム - Google Patents

情報処理装置、制御方法およびプログラム Download PDF

Info

Publication number
JP6929412B2
JP6929412B2 JP2020077442A JP2020077442A JP6929412B2 JP 6929412 B2 JP6929412 B2 JP 6929412B2 JP 2020077442 A JP2020077442 A JP 2020077442A JP 2020077442 A JP2020077442 A JP 2020077442A JP 6929412 B2 JP6929412 B2 JP 6929412B2
Authority
JP
Japan
Prior art keywords
program
communication device
communication
displayed
display unit
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
JP2020077442A
Other languages
English (en)
Other versions
JP2020119603A (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
Priority claimed from JP2018169885A external-priority patent/JP6703059B2/ja
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2020077442A priority Critical patent/JP6929412B2/ja
Publication of JP2020119603A publication Critical patent/JP2020119603A/ja
Application granted granted Critical
Publication of JP6929412B2 publication Critical patent/JP6929412B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、情報処理装置、制御方法およびプログラムに関する。
印刷用のアプリケーション等の所定のアプリケーションによって、プリンタ等の通信装置と通信する情報処理装置が知られている。このような情報処理装置は、セキュリティの高い通信を行うために、装置間で認証を行うためのペアリング処理を実行する。特許文献1には、Bluetooth Low Energy(BLE)によって通信装置とペアリング処理を実行する情報処理装置が記載されている。
特開2017−10329号公報
上述したように所定のアプリケーションによって通信を行う前段階としてペアリング処理が実行されることが好ましい。そのため、情報処理装置は、所定のアプリケーションによる通信の前段階としてペアリング処理を行うために、まず、所定のアプリケーションによって表示される画面によってペアリング処理の実行指示を受け付ける。しかしながら、ペアリング処理のためにユーザが実行する入力処理は、情報処理装置に搭載されているOSの種類や情報処理装置の機種によっては、OS以外のプログラムによって表示される画面でなく、OSにより表示される画面に対して実行される必要がある。なお、ここでOSとはオペレーティングシステムプログラムのことである。すなわち、所定のアプリケーションによって表示される画面によってペアリング処理の実行指示を受け付けたにも係わらず、ペアリング処理を実行するための入力処理は、OSにより表示される画面に対して実行されなければならない。このような形態では、ユーザは、所定のアプリケーションによって通信を行うためのペアリング処理の入力処理として、OSにより表示される画面でどのような操作をすればよいのかわかりづらいという課題がある。
そこで本発明は、OS以外のプログラムが表示する画面に対してペアリング処理の実行指示が行われたにも係わらず、ペアリング処理を実行するための入力処理がOSが表示する画面に対して行われる形態において、ユーザの操作性を向上させることを目的とする。
そこで、上記目的を達成するために本発明の制御方法は、
所定のプログラム及び、前記所定のプログラム以外の他のプログラムを有する情報処理装置の制御方法であって、
所定の指示を、前記所定のプログラムが用いられて表示部に表示される画面を介してユーザから受け付ける受け付けステップと、
前記表示部に表示されている画面を、前記所定のプログラムが用いられて前記表示部に表示される画面から、前記他のプログラムが用いられて前記表示部に表示され且つ前記情報処理装置との通信のための認証を行うための認証処理の対象となる通信装置を複数の通信装置から選択するための入力をユーザから受け付けるための設定画面に、前記所定の指示が受け付けられた場合に切り替えるための切り替え処理を、前記他のプログラムをフォアグラウンドで動作させることで実行する切り替えステップと、
前記所定のプログラムによって前記表示部に表示され且つ前記所定のプログラムに対応する通信装置をユーザに通知するための通知領域と、前記他のプログラムによって前記表示部に表示される前記設定画面とが並行して、前記所定のプログラムがバックグラウンドで動作しており且つ前記他のプログラムがフォアグラウンドで動作している状態で前記表示部に表示されるように制御する表示制御ステップと、
前記通知領域によって通知された前記通信装置が前記設定画面において選択された後、前記所定のプログラムによって、前記通知領域によって通知された前記通信装置との、前記認証処理と異なる所定の通信を実行する通信ステップと、
有することを特徴とする。
本発明によれば、OS以外のプログラムで表示される画面を介してペアリング処理の実行が指示されたにも係わらず、ペアリング処理を実行するための入力処理がOSにより表示される画面に対して行われる形態において、ユーザの操作性を向上させることができる。
情報処理装置及び通信装置の構成の図例である。 情報処理装置が実行するペアリング処理を示すフローチャートである。 印刷用アプリの起動時に情報処理装置の表示部に表示される画面の一例である。 OSにより表示されるBT設定画面の一例である。 通信装置の表示部に表示されるPINコード表示画面の一例である。 OSにより表示されるBT設定画面及び印刷用アプリにより表示されるトーストの一例である。 BT設定画面でユーザが行う操作手順やBT設定画面で選択すべき通信装置の名前を示す画面の一例である。 アドバタイズ情報のブロードキャスト及び接続要求情報の受信の処理を説明するための図である。 BLEにおけるアドバタイズを説明するための図である。 アドバタイズ情報の構造を示す図である。
以下に図面を参照して、本発明の好適な実施形態を例示的に説明する。ただし、本発明については、その趣旨を逸脱しない範囲で、当業者の通常の知識に基づいて、以下に記載する実施形態に対して適宜変更、改良が加えられたものについても本発明の範囲に入ることが理解されるべきである。
(第1実施形態)
本実施形態の通信システムに含まれる情報処理装置及び通信装置について説明する。情報処理装置として、本実施形態ではスマートホンを例示しているが、これに限定されず、携帯端末、ノートPC、タブレット端末、PDA(Personal Digital Assistant)、デジタルカメラ等、種々のものを適用可能である。また、通信装置として、本実施形態ではプリンタを例示しているが、これに限定されず、情報処理装置と無線通信を行うことが可能な装置であれば、種々のものを適用可能である。例えば、プリンタであれば、インクジェットプリンタ、フルカラーレーザービームプリンタ、モノクロプリンタ等に適用することができる。また、プリンタのみならず複写機やファクシミリ装置、携帯端末、スマートホン、ノートPC、タブレット端末、PDA、デジタルカメラ、音楽再生デバイス、テレビ等にも適用可能である。その他、複写機能、FAX機能、印刷機能等の複数の機能を備える複合機にも適用可能である。
まず、本実施形態の情報処理装置と、本実施形態の情報処理装置と通信可能な通信装置の構成について図1のブロック図を参照して説明する。また、本実施形態では以下の構成を例に記載するが、本実施形態は通信装置と通信を行うことが可能な装置に関して適用可能なものであり、特にこの図のとおりに機能を限定するものではない。
情報処理装置101は、本実施形態の情報処理装置である。情報処理装置101は、入力インタフェース102、CPU103、ROM104、RAM105、外部記憶装置106、出力インタフェース107、表示部108、通信部111、近距離通信部112等を有する。
入力インタフェース102は、マウス110やキーボード109が操作されることにより、ユーザからのデータ入力や動作指示を受け付けるためのインタフェースである。
CPU103は、システム制御部であり、情報処理装置101の全体を制御する。
ROM104は、CPU103が実行する制御プログラムやデータテーブル、組み込みオペレーティングシステム(以下、OSという。)プログラム等の固定データを格納する。本実施形態では、ROM104に格納されている各制御プログラムは、ROM104に格納されている組み込みOSの管理下で、スケジューリングやタスクスイッチ、割り込み処理等のソフトウエア実行制御を行う。
RAM105は、バックアップ電源を必要とするSRAM(Static Random Access Memory)等で構成される。なお、RAM105は、図示しないデータバックアップ用の1次電池によってデータが保持されているため、プログラム制御変数等の重要なデータを揮発させずに格納することができる。また、情報処理装置101の設定情報や情報処理装置101の管理データ等を格納するメモリエリアもRAM105に設けられている。また、RAM105は、CPU103の主メモリとワークメモリとしても用いられる。
外部記憶装置106は、印刷実行機能を提供するアプリケーション、通信装置151が解釈可能な印刷情報を生成する印刷情報生成プログラム等を保存している。また、外部記憶装置106は、通信部111を介して接続している通信装置151との間で送受信する情報送受信制御プログラム等の各種プログラムや、これらのプログラムが使用する各種情報を保存している。
出力インタフェース107は、表示部108がデータの表示や情報処理装置101の状態の通知を行うための制御を行うインタフェースである。
表示部108は、LED(発光ダイオード)やLCD(液晶ディスプレイ)などから構成され、データの表示や情報処理装置101の状態の通知を行う。なお、表示部108上に、数値入力キー、モード設定キー、決定キー、取り消しキー、電源キー等の操作部を設置することで、表示部108を介してユーザからの入力を受け付けても良い。
通信部111は、通信装置151やアクセスポイント131等の装置と接続して、データ通信を実行するための構成である。例えば、通信部111は、通信装置151内のアクセスポイント(不図示)に接続可能である。通信部111と通信装置151内のアクセスポイントが接続することで、情報処理装置101と通信装置151は相互に通信可能となる。なお、通信部111は無線通信で通信装置151とダイレクトに通信しても良いし、情報処理装置101や通信装置151の外部に存在する外部装置を介して通信しても良い。なお、外部装置とは、情報処理装置101の外部及び通信装置151の外部に存在する外部アクセスポイント(アクセスポイント131等)や、アクセスポイント以外で通信を中継可能な装置を含む。無線通信方式としては、例えば、Wi−Fi(WirelessFidelity)(登録商標)やBluetooth(登録商標)等が挙げられる。また、アクセスポイント131としては、例えば、無線LANルーター等の機器などが挙げられる。なお、本実施形態において、情報処理装置101と通信装置151とが外部アクセスポイントを介さずにダイレクトに接続する方式をダイレクト接続方式という。また、情報処理装置101と通信装置151とが外部アクセスポイントを介して接続する方式をインフラストラクチャー接続方式という。
近距離通信部112は、通信装置151等の装置と近距離で無線接続して、データ通信を実行するための構成であり、通信部111とは異なる通信方式によって通信を行う。近距離通信部112は、例えば、通信装置151内の近距離通信部157と接続可能である。通信方式としては、例えば、Bluetooth(登録商標)、WiFi Aware等が挙げられる。本実施形態では、近距離通信部112は、Bluetooth機能として、Bluetooth Low Energy(BLE)と、Bluetooth Classicによる通信を実行可能であるものとする。
なお、本実施形態において、通信部111は、近距離通信部112よりも高速な通信を行うことができる構成とする。また、通信部111によって通信可能な距離は、近距離通信部112によって通信可能な距離より長いものとする。
通信装置151は、本実施形態の通信装置である。通信装置151は、ROM152、RAM153、CPU154、プリントエンジン155、通信部156、近距離通信部157等を有する。
通信部156は、通信装置151内部のアクセスポイントとして、情報処理装置101等の装置と接続するためのアクセスポイントを有している。なお、該アクセスポイントは、情報処理装置101の通信部111に接続可能である。なお、通信部156は無線通信で情報処理装置101とダイレクトに通信しても良いし、アクセスポイント131を介して通信しても良い。通信方式としては、例えば、Wi−Fi(登録商標)やBluetooth(登録商標)等が挙げられる。また、通信部156は、アクセスポイントとして機能するハードウェアを備えていてもよいし、アクセスポイントとして機能させるためのソフトウエアにより、アクセスポイントとして動作してもよい。
近距離通信部157は、情報処理装置101等の装置と近距離で無線接続するための構成であり、例えば、情報処理装置101内の近距離通信部112と接続可能である。通信方式としては、例えば、Bluetooth、WiFi Aware等が挙げられる。本実施形態では、近距離通信部157は、Bluetooth機能として、BLEと、Bluetooth Classicによる通信を実行可能であるものとする。
なお、本実施形態において、通信部156は、近距離通信部157よりも高速な通信を行うことができる構成とする。また、通信部156によって通信可能な距離は、近距離通信部157によって通信可能な距離より長いものとする。
RAM153は、バックアップ電源を必要とするSRAM等で構成される。なお、RAM153は、図示しないデータバックアップ用の1次電池によってデータが保持されているため、プログラム制御変数等の重要なデータを揮発させずに格納することができる。また、通信装置151の設定情報や通信装置151の管理データ等を格納するメモリエリアもRAM153に設けられている。また、RAM153は、CPU154の主メモリとワークメモリとしても用いられ、情報処理装置101等から受信した印刷情報を一旦保存するための受信バッファや各種の情報を保存する。
ROM152は、CPU154が実行する制御プログラムやデータテーブル、OSプログラム等の固定データを格納する。本実施形態では、ROM152に格納されている各制御プログラムは、ROM152に格納されている組み込みOSの管理下で、スケジューリングやタスクスイッチ、割り込み処理等のソフトウエア実行制御を行う。
CPU154は、システム制御部であり、通信装置151の全体を制御する。
プリントエンジン155、RAM153に保存された情報や情報処理装置101等から受信した印刷ジョブに基づき、インク等の記録剤を紙等の記録媒体上に付加することで記録媒体上に画像を形成する画像形成処理を実行し、印刷結果を出力する。なお、印刷ジョブとは、画像形成処理を通信装置151に実行させるためのジョブである。この時、情報処理装置101等から送信される印刷ジョブは、送信データ量が大きく、高速な通信が求められるため、近距離通信部157よりも高速に通信可能な通信部156を介して受信する。
なお、通信装置151には、外付けHDDやSDカード等のメモリがオプション機器として装着されてもよく、通信装置151に保存される情報は、当該メモリに保存されても良い。
また、本実施形態の通信装置は、接続設定処理により接続モードが設定され、設定された接続モードに基づいた接続形態により、情報処理装置と通信を行う。本実施形態の通信装置は、インフラストラクチャー接続により通信を行う場合は、接続モードとしてインフラストラクチャー接続モードが設定され、ダイレクト接続により通信を行う場合は、接続モードとしてダイレクト接続モードが設定される。
ここでは、例として情報処理装置101と通信装置151との処理分担を上記のように示したが、特にこの分担形態に限らず他の形態であってもよい。
また、本実施形態では、近距離通信部112および近距離通信部157はBLEによって通信を行うものとして説明する。なお、本実施形態では、近距離通信部157が、後述のアドバタイズ情報をブロードキャストするアドバタイザ(又はスレーブ)として機能し、近距離通信部112が、アドバタイズ情報を受信するスキャナ(又はマスタ)として機能する。また、通信部111および通信部156は無線LAN(Wi−Fi)によって通信を行うものとして説明する。ここで、図8を用いて、BLE規格におけるアドバタイズ情報の送信及びBLE接続要求の受信の処理について説明する。本実施形態では、上述したように近距離通信部157がスレーブ機器として動作するため、近距離通信部157が上記処理を行うものとする。
近距離通信部157は、BLE通信方式において、2.4GHzの周波数帯を40チャネル(0〜39ch)に分割して通信を行う。近距離通信部157は、そのうち、37〜39番目のチャネルをアドバタイズ情報の送信及びBLE接続要求の受信に利用し、0〜36番目のチャネルをBLE接続後のデータ通信(GATT通信等)に利用している。図8では、縦軸が近距離通信部157の消費電力を、横軸が時間を示しており、1つのチャネルを利用してアドバタイズ情報を送信する際の消費電力を各処理別に示している。Tx805は、アドバタイズ情報をブロードキャストする処理である送信処理における総消費電力を、Rx806は、BLE接続要求を受信するための受信器を有効にしておく処理である受信処理における総消費電力を示している。送信電力802は送信処理による瞬間消費電力を示している。また、受信電力803は受信処理による瞬間消費電力を示している。また、マイコン動作電力801は、近距離通信部157内のマイコンが動作している場合の瞬間消費電力を示している。なお、Tx805とRx806の前後や間にもマイコンが動作しているのは、送信・受信処理の実行や停止のためには事前にマイコンが起動している必要があるからである。また、アドバタイズ情報の送信を複数チャネルで行う場合は、アドバタイズ情報の送信を行うチャネルの数だけ消費電力が増えることになる。また、マイコンが動作を行っておらず、近距離通信部157が省電力状態となっている間は、スリープ電力804が近距離通信部157の瞬間消費電力となる。このように、近距離通信部157は、所定のチャネルを用いて送信処理を行った後、同一のチャネルを用いて一定時間受信処理を行うことで、情報処理装置101からBLE接続要求が送信されるのを待つ。近距離通信部157は、情報処理装置101からBLE接続要求を受信した場合、BLE接続を確立し、情報処理装置101とGATT通信を行う。
また、近距離通信部157は、図9に示すように、アドバタイズ情報の送信処理と受信処理を、チャネル別に3回繰り返した後、マイコンの動作を停止させ一定時間省電力状態になる。以下、所定のチャネルによるアドバタイズ情報の送信処理と受信処理の組み合わせをアドバタイズと言う。また、所定のチャネルによってアドバタイズ情報を送信する時間間隔をアドバタイズ間隔という。なお、1回目のアドバタイズを行ってから省電力状態になるまでに繰り返すアドバタイズの回数は、3回以下であれば任意に変更可能である。
図10は、近距離通信部157が通信装置151の周辺にブロードキャストするアドバタイズ情報の構造の一例である。
近距離通信部157は、電力の供給が開始されると初期化処理を行い、アドバタイジング状態となる。近距離通信部157は、アドバタイジング状態となると、アドバタイズ間隔に基づいて定期的にアドバタイズ情報を周辺にブロードキャストする。アドバタイズ情報とは、基本的なヘッダ情報(当該アドバタイズ情報を送信する装置を識別するための識別情報等)を含む信号であり、ヘッダ1001とペイロード1002から構成される。情報処理装置101は、このアドバタイズ情報を受信することで、通信装置151の存在を認識することができる。さらに、情報処理装置101は、通信装置151にBLE接続要求を送信することで通信装置151とBLE接続することができる。ヘッダ1001は、アドバタイズ情報のタイプやペイロード1002の大きさの情報などを格納する領域である。ペイロード1002は、識別情報としてのデバイス名1003や搭載プロファイル情報、通信装置151とBLE接続するための接続情報1004、アドバタイズ情報の送信電力(Tx Power)1005等の情報を格納する。なお、通信装置の識別情報1006をアドバタイズ情報に含めても良い。通信装置の識別情報1006としては、通信装置のMACアドレスや、通信装置のサービス情報、通信装置内のアクセスポイントのSSID、パスワード等が該当する。
本実施形態では、近距離通信部157は、通信装置151の電源がONになった場合にアドバタイジング状態となり、アドバタイズ情報の送信を開始するものとする。ただし、近距離通信部157がアドバタイズ情報の送信を開始するタイミングは、上述の形態に限定されず、例えば、BLE機能を有効にするための所定の操作が行われたタイミング等であっても良い。
また、本実施形態では、情報処理装置101と通信装置151間で認証を行い、装置間でGATT(Generic Attribute Profile)通信によりデータの読み書きを実行するためのペアリング処理を実施する。なお、GATTとは、BLE規格において情報の読み書き(送受信)を司るプロファイルである。そして、GATT通信とは、情報処理装置101がGATTクライアント、通信装置151がGATTサーバの役割を担い、GATTベースのプロファイルにより、情報処理装置101から通信装置151に対し情報の読み書きが行われる通信である。情報処理装置101と通信装置151間でのペアリングが実行されていない状態では、通信装置151はGATT通信による情報の読み書きを許可しない構成とする。このようにすることで、ペアリングを行っていない情報処理装置101と通信装置151が通信を行ってしまい、例えば、通信装置151が保持する情報がペアリングを行っていない情報処理装置101に不用意に取得されてしまうことを抑制することができる。なお、本実施形態では、ペアリングを行っていない状態で許可されるGATT通信と、ペアリングを行っていない状態では許可されないGATT通信とがあるものとする。秘匿性の低い情報は、ペアリングを行っていない状態で許可されるGATT通信で通信可能とすることで、通信の利便性を向上させることができる。一方、秘匿性の高い情報は、ペアリングを行っていない状態では許可されないGATT通信でのみ通信可能とすることで、通信のセキュリティを向上させることができる。
本実施形態では、情報処理装置101は、ROM104や外部記憶装置106等に所定のアプリケーションを格納しているものとする。所定のアプリケーションとは、例えば、情報処理装置101内の画像データや文書データ等を印刷させるための印刷ジョブを、通信装置151に送信するためのアプリケーションプログラムである。このような機能を有するアプリケーションを、以後印刷用アプリという。なお、印刷用アプリは、印刷機能以外に、他の機能を備えていても良い。例えば、印刷用アプリは、通信装置151がスキャン機能を備えている場合に、通信装置151にセットされた原稿をスキャンさせる機能や、通信装置151の他の設定を行う機能、通信装置151の状態を確認する機能等を備えていても良い。すなわち、印刷用アプリは、印刷ジョブ以外に、スキャンジョブや設定ジョブを通信装置151に送信する機能を有していても良い。また、所定のアプリケーションは、印刷用アプリに限定されず、印刷以外の機能を備えているアプリケーションプログラムであっても良い。
情報処理装置101は、印刷用アプリの機能を用いるために、例えばBLEによって通信装置151と通信することがある。具体的には例えば、情報処理装置101は、印刷機能を実行する場合、まずBLE通信によってWiFi通信の接続情報のやり取りを行った後に、WiFi通信によって印刷ジョブを通信装置151に送信する。そのため、情報処理装置101は、印刷用アプリの機能を利用するためには、BLEにおけるペアリング処理を実行し、通信装置151とのBLE通信を実行可能な状態にすることが好ましい。そこで、本実施形態では、印刷用アプリは、情報処理装置101と通信装置151間のペアリング処理を行う機能も有しているものとする。そして以下では、印刷用アプリを介してペアリング処理を実行する形態について説明する。
図3は、印刷用アプリの起動時に表示部108に表示される画面の一例である。起動画面300を介して、ユーザは、所望の画像の印刷や通信装置の設定等、通信装置の備える機能を利用することができる。情報処理装置101は、写真印刷ボタン301の押下を検知すると、通信装置151に印刷を実行させるための画面を表示させる。また、情報処理装置101は、スキャンボタン301の押下を検知すると、通信装置151に、原稿を読み取って画像データを生成する処理であるスキャン処理を実行させるための画面を表示させる。また、情報処理装置101は、BLEペアリングボタン303の押下を検知すると、ペアリング処理を開始する。
本実施形態の情報処理装置101は、設定用アプリケーション(以降、設定用アプリ)を有しているものとする。設定用アプリとは、OSにより実行される機能に関する設定を行うためのアプリーションプログラムである。設定用アプリは、例えば、OSが情報処理装置101にインストールされる一連の処理において一緒にインストールされたり、情報処理装置101の着荷時にOSと一緒に予め情報処理装置101にインストールされたりしているアプリーションプログラムである。本実施形態の情報処理装置101は、通信装置151とペアリングを行う際には、設定用アプリにより表示されるBluetooth設定画面(以降、BT設定画面という)に対するペアリングのための入力をユーザから受け付ける。具体的には、情報処理装置101は、設定用アプリにより表示されるBT設定画面に対するペアリングのための入力をユーザから受け付ける。これは、例えば情報処理装置101に搭載されているOSの種類や情報処理装置101の機種によっては、設定用アプリ以外のプログラム、すなわち印刷用アプリによって表示される画面上で、ペアリング処理を実行できないためである。そのため、情報処理装置101は、印刷用アプリを介してペアリング処理を行う際にも、設定用アプリにより表示されるBT設定画面を利用する。本実施形態では、印刷用アプリにより表示される画面及び印刷用アプリ以外のプログラム(ここでは設定用アプリ)により表示される画面の両方を介して行われるペアリング処理のユーザビリティを向上させることのできる形態について説明する。
図2は、情報処理装置101が実行するペアリング処理を示すフローチャートである。図2に示すフローチャートは、例えば、CPU103がROM104や外部記憶装置106等に格納されたプログラムをRAM105に読み出して実行することにより実現される。なお、本実施形態では、図2に示すフローチャートが示す処理は、印刷用アプリによって実行されるものとする。また、本実施形態では、印刷用アプリは、設定用アプリにより表示されるBT設定画面を介して「ペアリング中」や「ペアリング完了」、「ペアリング失敗」等の各種イベントが発生したことの通知を受け取れるように構成されているものとする。なお、印刷用アプリが実際にイベントの通知を受け取るか否かは、後述の通知設定によって切り替え可能である。また、各種イベントの詳細は後述する。また、図2に示すフローチャートが示す処理は、BLEペアリングボタン303が、ユーザによって押下された場合に開始されるものとする。
まず、CPU103は、S201にて、情報処理装置101のBluetooth機能が有効か否かを判定する。なお、Bluetooth機能が有効な状態とは、情報処理装置101がBluetoothないしBLEによる通信を実行可能な状態である。また、上述したように、近距離通信部112はBLE通信規格におけるスキャナとして動作する。そのため、情報処理装置101がBLEによる通信を実行可能な状態においては、CPU103は、アドバタイズ情報を受信可能な状態(スキャン状態)に近距離通信部112を遷移させ、アドバタイズ情報の検索を行う。CPU103は、Bluetooth機能が有効であると判定した場合、S203に進み、Bluetooth機能が有効でない(無効である)と判定した場合、S202に進む。
S202では、CPU103は、無効化されているBluetooth機能を有効化する。なおこのとき、CPU103は、Bluetooth機能を有効にするかどうかをユーザに選択させるためのダイアログを表示部108に表示し、ダイアログを介してユーザからの指示を受け付けた場合にBluetooth機能を有効にしてもよい。
続いて、S203では、CPU103は、BLEペアリングボタン303の押下を受け付けた後に、アドバタイズ情報を近距離通信部112が受信したかどうかを判定する。CPU103は、アドバタイズ情報を受信したと判定した場合、S204に進み、アドバタイズ情報を受信していないと判定した場合、所定時間のウェイトを行ったあと再度S203の処理を行うことで、アドバタイズ情報が受信されるのを待つ。
続いて、S204では、CPU103は、受信されたアドバタイズ情報に特定の識別情報が含まれるか否かを判定する。本実施形態では、情報処理装置101は、印刷用アプリを介してペアリング処理を行う場合、当該印刷用アプリに対応している機種やベンダーの通信装置と通信するものとする。そのため、特定の識別情報は、受信されたアドバタイズ情報を送信した通信装置が当該印刷用アプリに対応している機種の通信装置であることや当該印刷用アプリに対応している所定のベンダーによって提供される通信装置であることを示す識別情報である。さらに具体的には、特定の識別情報は、受信されたアドバタイズ情報を送信した通信装置が印刷サービス(画像形成機能)を提供可能なことを示す情報や、受信されたアドバタイズ情報を送信した通信装置の機種名やベンダー名等の情報である。なお、識別情報は、印刷用アプリに対応している通信装置を一意に特定できる情報であれば良く、例えば、IPアドレスやMACアドレス、ID情報等でも良い。CPU103は、特定の識別情報が含まれると判定した場合、S205に進み、特定の識別情報が含まれないと判定した場合、所定時間のウェイトを行ったあと再度S203の処理を行うことで、アドバタイズ情報が受信されるのを待つ。なお、BLEペアリングボタン303の押下を受け付けた後に、複数のアドバタイズ情報を近距離通信部112が受信していた場合、CPU103は、各アドバタイズ情報についてS204の判定を行う。そしてCPU103は、1つでも特定の識別情報が含まれるアドバタイズ情報があった場合、S205に進む。
S205では、CPU103は、特定の識別情報を含むアドバタイズ情報の送信元の通信装置に関する情報を表示部108に表示する。なお、通信装置に関する情報は、特定の識別情報を含むアドバタイズ情報に含まれており、例えば、通信装置の名前やIPアドレス、MACアドレス等の情報である。なお、特定の識別情報を含むアドバタイズ情報が複数受信された場合、CPU103は、各アドバタイズ情報の送信元の通信装置に関する情報を表示する。なお、特定の識別情報を含むアドバタイズ情報の送信元の通信装置に関する情報を表示する画面は、ペアリング処理の対象となる通信装置をユーザに選択させるための画面である。すなわち、ここでは、印刷用アプリによって、ペアリング処理の対象となる通信装置をユーザに選択させるための画面が表示される。また、S204にてフィルタリングが行われているため、印刷用アプリに対応している(印刷用アプリによって各種機能を実行可能な)通信装置に関する情報が表示され、印刷用アプリに対応していない通信装置に関する情報は表示されない。
続いて、S206では、CPU103は、S205で表示した画面を介して、ペアリング処理の対象となる通信装置の選択をユーザから受け付けたか否かを判定する。具体的にはCPU103は、S205で表示した画面に含まれる、通信装置に関する情報のうちいずれかの情報が選択されたか否かを判定する。CPU103は、選択をユーザから受け付けたと判定した場合、S207に進み、選択をユーザから受け付けていないと判定した場合、再度S206を行い、ユーザからの選択を待つ。なお、CPU103は、選択をユーザから受け付けていないと判定した場合、ペアリング処理の対象となる通信装置をユーザに選択させるための画面を表示部108に表示したまま再度S203以降の処理を行っても良い。これにより、ペアリング処理の対象となる通信装置をユーザに選択させるための画面に、新たに受信されたアドバタイズ情報の送信元に関する情報を追加することができる。また、CPU103は、選択をユーザから受け付けたと判定した場合、ペアリング処理の実行指示をユーザから受け付けたとみなし、選択された情報に対応する通信装置をペアリング対象の通信装置として特定する。ここでは、名前が「PrinterA」の通信装置をユーザが選択したものとして説明を進める。
S207では、CPU103は、ペアリング対象の通信装置に関する情報を、外部記憶装置106やROM104等の所定の記憶領域に保存する。なお、ペアリング対象の通信装置に関する情報は、例えば、ペアリング対象の通信装置が送信したアドバタイズ情報である。
続いて、S208では、CPU103は、S207で保存した情報に基づき、ペアリング対象の通信装置に対して、GATT通信の開始要求を行う。これにより、ペアリング無しで通信可能な情報については、情報処理装置101と、ペアリング対象の通信装置とがGATT通信可能な状態となる。
続いて、S209では、CPU103は、情報処理装置101に関する識別情報を、ペアリング対象の通信装置に対してGATT通信で送信する。なおこのとき、CPU103は、ペアリングを行っていない状態で許可されるGATT通信によって、識別情報を送信する。具体的には、GATTプロファイルのうち、ペアリングを行っていない状態で書き込み可能な領域に、識別情報を書き込む。また、情報処理装置101に関する識別情報とは、例えば、情報処理装置101の名前やIPアドレス、MACアドレス等の情報である。CPU103は、識別情報の送信に成功したら、GATT通信を終了させ、S210に進む。ここで、CPU103は、識別情報の送信が成功するまで、識別情報の送信を繰り返し行うようにしてもよい。また、その間に表示部108にダイアログ等を表示して、ユーザによる処理の中断を受け付けるようにしたり、所定の時間経過後に、タイムアウトとして処理を中断したりするようにしてもよい。
なお、ペアリング対象の通信装置は、GATT通信により、情報処理装置101から送信される識別情報を受信した場合、ペアリング対象の通信装置が持つ記憶領域に保存しておく。そして、ペアリング対象の通信装置は、当該識別情報が記憶領域に保存されている間のみペアリング処理要求を受け付ける。また、ペアリング対象の通信装置は、記憶領域に保存されている識別情報に対応する情報処理装置からのペアリング処理要求のみを受け付ける。これにより、ペアリング対象の通信装置は、印刷用アプリを経由してペアリング処理が実行された場合にのみ、ペアリング処理要求を受領するように制限することができる。ペアリング対象の通信装置は、ペアリング処理が完了したかどうか、及び識別情報を保存してから所定の時間が経過したかどうかを判定し、いずれかの判定処理の結果がYESである場合に、記憶領域から識別情報を削除する。
なお、ペアリング処理要求の受け付けにおいてペアリング対象の通信装置が実行する処理は、上述の形態に限定されない。例えば、ペアリング対象の通信装置が、情報処理装置101からのペアリング処理要求を受け付けた後に、情報処理装置101から識別情報を受信する形態としても良い。この場合、ペアリング対象の通信装置は、情報処理装置101からのペアリング処理要求を受け付けた後に情報処理装置101から受信した識別情報と、ペアリング処理要求に含まれる情報処理装置101に関する情報が一致するか否かを判定する。そして、ペアリング対象の通信装置は、両者が一致した場合に、ペアリング処理要求を承諾してペアリング処理を開始し、両者が一致しない場合に、ペアリング処理要求を承諾せずペアリング処理を開始しない。
続いて、S210では、CPU103は、ペアリング処理においてユーザが実行する操作の手順を示す画面を表示部108に表示する。上述したように、本実施形態では、ペアリングに必要な情報の入力等の、ペアリング処理に必要な操作が情報処理装置101上で動作している設定用アプリのBT設定画面で行われる。そのため、S208では、CPU103は、BT設定画面でユーザが行う操作手順やBT設定画面で選択すべき通信装置の名前等を、表示部108にダイアログ等で表示する。さらに、CPU103は、次のステップへ進むための指示をユーザから受け取るためのボタンを表示する。具体的には例えば、図7に示すような画面を表示する。S210では、CPU103は、次のステップに進むことの指示をユーザから受け付けたことを検知すると、表示部108に表示したダイアログを閉じ、S211に進む。
続いて、S211では、CPU103は、印刷用アプリに対するイベントの通知設定を有効にする。具体的には、CPU103は、設定用アプリにより表示されるBT設定画面に対する操作に応じて発生するイベントの通知を印刷用アプリが受信できるように設定する。これにより印刷用アプリは、BT設定画面に対する操作に応じて「ペアリング中」、「ペアリング完了」、「ペアリング失敗」といったイベントが発生したことを認識でき、あらかじめ定義されている処理をイベントの発生に応じて実行することができる。
続いて、S212では、CPU103は、S205で表示された画面を介してユーザが選択した通信装置を、S211で表示部108に表示されるBT設定画面において選択するようにユーザを促すメッセージをトーストで表示する。すなわち、ここでは、CPU103は、名称が「PrinterA」の通信装置を、BT設定画面において選択するようにユーザを促すメッセージをトーストで表示する。後述するが、このとき表示されたトーストは、BT設定画面が表示されても、BT設定画面の前面に表示され続けるため、ユーザは、BT設定画面においていずれの通信装置を選択すればよいかを迅速且つ正確に把握することができる。
なお、トーストとは、情報処理装置101の表示部108上の最前面にポップアップ表示される通知領域である。トーストは一定時間が経過すると自動的に非表示になる。トーストのサイズは限定されないが、印刷用アプリにより表示される画面やBT設定画面が完全に覆われて見えなくならないように、表示部上の一部の領域であることが好ましい。トーストが表示されている最中であっても、トースト以外の領域を操作することで、トーストの背面に表示されている画面に対する操作を実行可能であるため、ユーザ操作の妨げが最小限に抑えられる。また、トーストを表示する機能は、OSが有する機能であるため、CPU103は、印刷用アプリを用いてトーストを表示させる場合は、トーストに含ませるメッセージの内容と共に、トーストを表示させるための要求をOSに送信する。これにより、CPU103は、印刷用アプリを用いてトーストを表示させることができる。なお、CPU103は、トーストの表示を要求するプログラムがバックグラウンドに遷移していても、トーストを表示することが可能である。あるプログラムがバックグラウンドに遷移している状態とは、当該あるプログラムが動作したまま、当該あるプログラム以外のプログラムにより表示される画面が表示部108に表示されている状態を指す。一方、あるプログラムがフォアグラウンドに遷移している状態とは、当該あるプログラムが動作したまま、当該あるプログラムにより表示される画面が表示部108に表示されている状態を指す。
なお、上述したようにトーストは一定時間が経過すると自動的に非表示になるが、長時間トーストを表示し続けるためには、例えば、CPU103は、一定時間が経過して非表示となったトーストを再度表示しても良い。この場合、CPU103は、所定の回数だけ再表示を繰り返しても良いし、ユーザ操作によりトーストが非表示にされるまで再表示を繰り返してもよい。
続いて、S213では、CPU103は、表示部108に表示されている画面を、印刷用アプリによって表示される画面から設定用アプリによって表示されるBT設定画面に切り替える。そして、CPU103は、印刷用アプリをバックグラウンドに遷移させる。具体的には、CPU103は、印刷用アプリによる指示により、印刷用アプリを起動させたまま、設定用アプリにより表示される画面を表示部108に表示させる。
図4は、設定用アプリにより表示されるBT設定画面の一例である。BT設定画面とは、情報処理装置101のBluetooth機能に関する設定を行うための画面である。具体的には例えば、情報処理装置101とペアリング処理をさせる通信装置の選択をユーザから受け付けるための画面である。
まず、CPU103は、表示部108に図4(a)に示すBT設定画面400を表示する。BT設定画面には、ペアリング済みデバイスリスト410や、ペアリング可能デバイスリスト420、スキャンボタン430が表示される。
ペアリング済みデバイスリスト410は、情報処理装置101と既にペアリング処理を実行した(情報処理装置101とペアリング済みの)通信装置に関する情報が表示される領域である。
ペアリング可能デバイスリスト420は、情報処理装置101がペアリング処理を実行可能な通信装置に関する情報が表示される領域である。なお、情報処理装置101がペアリング処理を実行可能な通信装置とは、情報処理装置101が受信したアドバタイズ情報の送信元の通信装置である。ペアリング可能デバイスリスト420に表示される通信装置に関しては特にフィルタリングは行われない。そのため、ペアリング可能デバイスリスト420には、印刷用アプリに対応しない通信装置(例えば、プリンタ以外のデバイスや、ペアリング処理を指示している印刷用アプリに対応しないプリンタ)も表示される。そして、ペアリング可能デバイスリスト420に表示される通信装置から、いずれかがユーザによって選択されることで、選択された通信装置とのペアリング処理が開始される。
スキャンボタン430は、ペアリング可能デバイスリスト420の内容を更新するために、情報処理装置101周辺のBLE対応機器の通信装置から送信されるアドバタイズ情報の検索(スキャン)を情報処理装置101が開始するためのボタンである。
戻るボタン440は、現在表示されている画面の直前に表示部108に表示されていた画面を再度表示するためのボタンである。なお、上述したように、戻るボタン440が含まれるBT設定画面400は、設定用アプリにより表示される画面である。BT設定画面400の直前に表示されていた画面が設定用アプリ以外のプログラムである場合、戻るボタン440が押下されると、設定用アプリ以外のプログラムにより表示される画面が再度表示される。本実施形態では、BT設定画面400の直前に表示されていた画面は、印刷用アプリにより表示される画面であるため、戻るボタン440が押下されると、印刷用アプリにより表示される画面が再度表示される。
ホームボタン441は、OSにより表示されるホーム画面を表示するためのボタンである。ホーム画面とは、例えば、情報処理装置101が備えるアプリケーションプログラム(印刷用アプリ等)を起動させるためのアイコンが並べられた画面である。
タスク一覧ボタン442は、フォアグラウンドで動作させるプログラムを選択するための画面を表示するためのボタンである。そのため、タスク一覧ボタン442が押されたことで表示される画面において、印刷用アプリが選択されることでも、印刷用アプリにより表示される画面が再度表示される。
CPU103は、スキャンボタン430が押下されると、情報処理装置101の周囲の通信装置から送信されるアドバタイズ情報を受信可能な状態であるスキャニング状態に情報処理装置101を遷移させる。次に、CPU103は、アドバタイズ情報を受信すると、受信したアドバタイズ情報に含まれる、当該アドバタイズ情報の送信元の通信装置の名前(Complete Local Name)を特定する。そして、CPU103は、特定した名前を、ペアリング可能デバイスリスト420に追加して表示し、ペアリング可能デバイスリスト420の表示内容を更新する。
ペアリング済みデバイスリスト410およびペアリング可能デバイスリスト420に表示される通信装置の名前は、受信されたアドバタイズ情報に含まれる情報であるものとする。なお、アドバタイズ情報には、通信装置の名前のほかに、アドバタイズ情報の送信元の通信装置が備える近距離通信部の個体を識別するための識別情報(Bluetoothデバイスアドレス:BD_ADDR)等が含まれる。そのため、当該識別情報を、ペアリング済みデバイスリスト410およびペアリング可能デバイスリスト420に表示しても良い。CPU103は、ペアリング済みデバイスリスト410やペアリング可能デバイスリスト420に表示している通信装置から受信したアドバタイズ情報を情報処理装置101の持つ記憶領域(RAM105や外部記憶装置106等)に適宜保存する。
上述したように、ペアリング可能デバイスリスト420に表示される通信装置からいずれかがユーザによって選択されることで、選択された通信装置とのペアリング処理が開始される。しかしながら上述したように、BT設定画面は設定用アプリにより表示される画面であり、ペアリング対象の通信装置の候補の表示において、印刷用アプリに適した通信装置を表示するためのフィルタリングは行われない。そのため、ペアリング可能デバイスリスト420には、例えば、S205で表示された画面を介してユーザから選択された通信装置以外の通信装置や、印刷機能を有しないことから印刷用アプリに対応しない通信装置の情報も表示されることになる。すなわち、ユーザにとって、印刷用アプリを介したペアリング処理の対象となる通信装置として、いずれの通信装置を選択すれば良いかが分かりづらいという課題がある。
そこで、本実施形態では、CPU103は、表示部108にBT設定画面が表示される場合、印刷用アプリによりBT設定画面の前面に、ユーザ操作の手順を示すトーストを表示する。具体的には例えば、CPU103は、図4(a)に示すBT設定画面400の前面にトースト601が表示された画面である、図6(a)に示すBT設定画面600を表示する。トースト601には、S205で表示された画面においてユーザが選択した通信装置である「PrinterA」を選択するようにユーザを促すメッセージが表示される。このような形態とすることで、誤操作が生じることを抑制してユーザの利便性を向上することができる。
なお、本実施形態では、まずトーストをS212で表示してから、BT設定画面をS213で表示しているが、この形態に限定されない。すなわち、BT設定画面を表示してからトーストを表示しても良い。
続いて、S214では、CPU103は、バックグラウンドにある印刷用アプリがフォアグラウンドに遷移したか否かを判定する。具体的には、CPU103は、表示部108に表示されている画面が、BT設定画面から印刷用アプリにより表示される画面に切り替わったか否かを判定する。なお、例えば、戻るボタン440が押下されたり、タスク一覧ボタン442が押下されることにより表示される選択画面において、印刷用アプリにより表示される画面が選択されたりした場合に、印刷用アプリがフォアグラウンドに遷移する。CPU103は、印刷用アプリがフォアグラウンドに遷移したと判定した場合、S223に進み、印刷用アプリがフォアグラウンドに遷移していないと判定した場合、S215に進む。
続いて、S215では、CPU103は、設定用アプリにより表示されるBT設定画面を介して印刷用アプリに対しイベントが通知されたか否かを判定する。CPU103は、イベントが通知されたと判定した場合は、通知されたイベントの内容に応じて、次の処理を行う。具体的には、CPU103は、通知されたイベントが「ペアリング中」を示すものであった場合、S216に進む。また、CPU103は、通知されたイベントが「ペアリング完了」を示すものであった場合、S218に進む。また、CPU103は、通知されたイベントが「ペアリング失敗」を示すものであった場合、S220に進む。一方、CPU103は、イベントが通知されなかったと判定した場合は、再度S214の処理を実行する。
ここで、各種イベントの詳細について説明する。「ペアリング中」を示すイベントは、BT設定画面600を介してペアリング処理の実行が指示された場合に発生するイベントである。具体的には、「ペアリング中」を示すイベントは、ペアリング可能デバイスリスト420に表示される通信装置からいずれかがユーザによって選択されることで発生する。ペアリング処理の実行が指示された場合、設定用アプリは、ユーザによって選択された通信装置から受信したアドバタイズ情報を記憶領域から読み出し、読み出したアドバタイズ情報から識別情報等のペアリング処理に必要な情報を特定する。そして、設定用アプリは、ユーザによって選択された通信装置に対して、特定した情報及びBLE通信規格に基づいてペアリング要求を送信する。ペアリング要求を受信した通信装置は、当該通信装置が有する表示部(不図示)に、図5に示すようなPINコード表示画面500を表示する。PINコード表示画面500には、ペアリング処理に用いられる認証情報であるPINコード501と、ペアリング処理をキャンセルするためのCancelボタン502が表示される。
そして、設定用アプリは、「ペアリング中」を示すイベントが発生したことによりペアリング要求を送信すると、表示部108に、図4(b)に示すPINコード入力画面450を表示する。PINコード入力画面450は、図4(a)に示すBT設定画面400の前面にPINコード入力ダイアログ454が表示された画面である。また、PINコード入力ダイアログ454には、PINコード入力領域451と、OKボタン452、Cancelボタン453が表示される。PINコード入力領域451は、ユーザによるPINコードの入力を受け付けるための領域である。OKボタン452は、入力されたPINコードをユーザによって選択された通信装置に送信するためボタンである。Cancelボタン453は、ペアリング処理をキャンセルするためボタンである。
なお、OSの仕様によっては、例えば、PINコード入力領域451にPINコード501を入力可能な期間(入力が成功する期間)が定まっている形態がある。PINコード入力領域451にPINコード501を入力可能な期間は、例えば30秒である。その場合、PINコード入力画面450が表示されてから30秒以内にPINコード501の入力及びOKボタン452の押下が行われなければ、PINコード501は、ユーザによって選択された通信装置に送信されない。すなわち、ペアリング処理が失敗する。
上記の期間内にPINコード入力領域451にPINコード501が入力された状態で、OKボタン452が押下されると、設定用アプリは、入力されたPINコード501を含む情報を、ユーザによって選択された通信装置に送信する。ユーザによって選択された通信装置は、受信した情報に含まれるPINコード501がPINコード表示画面500に表示したPINコード501(当該通信装置に対応するPINコード)と一致するか否かを判定する。そして、ユーザによって選択された通信装置は、一致すると判定した場合は、情報処理装置101にペアリングを許可する。具体的には、ユーザによって選択された通信装置は、PINコード501をもとに所定の方法で作成されたリンクキーを、BLE規格のSMP(Security Manager Protocol)を利用して情報処理装置101に送信する。このようにして、リンクキーは、情報処理装置101の持つ記憶領域(ROM104等)とユーザによって選択された通信装置の持つ記憶領域(ROM152等)にそれぞれ保存される。これによりペアリングが完了し、装置間でBLE通信を実行することが許可される。そして、このようにしてペアリング処理が完了(成功)した場合に、「ペアリング完了」を示すイベントが発生する。
設定用アプリは、ペアリング処理が完了すると、PINコード入力ダイアログ454を非表示とした、図4(c)で示すBT設定画面460を表示する。「ペアリング完了」を示すイベントの発生により、「PrinterA」で示す通信装置と情報処理装置101がペアリング済みになる。そのため、設定用アプリは、ペアリング済みデバイスリスト410に「PrinterA」を追加し、ペアリング可能デバイスリスト420から「PrinterA」を削除する。
一方、受信した情報に含まれるPINコード501が、PINコード表示画面500に表示したPINコード501と一致しないと判定された場合は、ペアリングが失敗する。そのため、ユーザによって選択された通信装置は、情報処理装置101に前述のリンクキーは送信しない。また、その場合、ユーザによって選択された通信装置は、ペアリングが失敗した旨を示す情報を情報処理装置101に送信する。ペアリング処理が失敗した場合、再度ペアリング処理が実行されることが好ましいため、設定用アプリは、表示部108に図4(a)に示すBT設定画面400を再度表示する。なお、ペアリングが失敗するケースは、PINコードが一致しなかったケースに限らない。例えば、図4(b)のPINコード入力画面450でCancelボタン453が押下された場合や、図5のPINコード表示画面でCancelボタン502が押下された場合にも、ペアリングが失敗する。また、例えば、PINコード入力領域451に長時間入力が行われなかった場合にも、ペアリングが失敗する。このようにしてペアリング処理が失敗した場合に、「ペアリング失敗」を示すイベントが発生する。
以上を踏まえて、図2の処理の説明に戻る。
S216では、CPU103は、設定用アプリによって表示されたBT設定画面600において選択された通信装置が、S205で印刷用アプリによって表示された画面において選択された通信装置と一致するか否かを判定する。なお、「ペアリング中」を示すイベントの通知には、設定用アプリによって表示されたBT設定画面600において選択された通信装置の識別情報が含まれている。そのため、CPU103は、具体的には、「ペアリング中」を示すイベントの通知に含まれる識別情報とS207で保存した情報とを比較することで、本判定処理を行う。CPU103は、一致すると判定した場合、S217に進み、一致しないと判定した場合、S214に戻る。なおCPU103は、一致しないと判定した場合、BT設定画面600において選択された通信装置が、S205で表示された画面において選択された通信装置と一致しないことを示すトーストを表示しても良い。また、CPU103は、例えば、BT設定画面600において選択された通信装置とのペアリング処理を中止するようにユーザを促すためのトーストを表示しても良い。また、CPU103は、例えば、S205で表示された画面において選択された通信装置を示すトーストを再度表示しても良い。
上述したように、「ペアリング中」を示すイベントが発生した場合、設定用アプリによって表示部108に、図4(b)に示すPINコード入力画面450が表示される。また、上述したように、OSの仕様によっては、例えば、PINコード入力領域451にPINコード501を入力可能な期間(入力が成功する期間)が定まっている形態がある。そこで、CPU103は、S217では、PINコード501の入力が成功する期間に関する情報を含むトースト603をPINコード入力画面450の前面に表示する表示制御を行う。結果として、表示部108には、図6(b)に示すBT設定画面602が表示される。トースト603は、具体的には、PINコード入力画面450が表示されてから30秒以内にPINコード501を入力することを促すためのメッセージや、入力されるPINコード501の桁数を表示する。これにより、ユーザは、PINコード501の入力における注意事項を踏まえて操作を実行できるため、PINコード501の入力におけるユーザビリティが向上する。CPU103は、S217の後は、再度S214の処理を実行する。
S218では、CPU103は、情報処理装置101とのペアリング処理を完了した通信装置が、S205で印刷用アプリによって表示された画面において選択された通信装置と一致するか否かを判定する。なお、「ペアリング完了」を示すイベントの通知には、情報処理装置101とのペアリング処理を完了した通信装置の識別情報が含まれている。そのため、CPU103は、具体的には、「ペアリング中」を示すイベントの通知に含まれる識別情報とS207で保存した情報とを比較することで、本判定処理を行う。CPU103は、一致すると判定した場合、S219に進み、一致しないと判定した場合、S214に戻る。なおCPU103は、一致しないと判定した場合、情報処理装置101とのペアリング処理を完了した通信装置が、S205で表示された画面において選択された通信装置と一致しないことを示すトーストを表示しても良い。
上述したように、「ペアリング完了」を示すイベントが発生した場合、設定用アプリによって表示部108に、図4(c)で示すBT設定画面460が表示される。ペアリング処理が正常に完了(成功)した(情報処理装置101とのペアリング処理を完了した通信装置が、S205で表示された画面において選択された通信装置と一致した)場合は、印刷用アプリによって表示される画面が再度表示されることが好ましい。すなわち、戻るボタン440が押下されて、印刷用アプリがフォアグラウンドに遷移することが好ましい。そこで、S219では、CPU103は、印刷用アプリをフォアグラウンドに遷移させるための通知を含むトースト605をBT設定画面460の前面に表示する。結果として、表示部108には、図6(c)に示すBT設定画面604が表示される。トースト605は、具体的には、印刷用アプリをフォアグラウンドに遷移させるための操作方法(戻るボタン440の押下の指示)を表示する。これにより、ユーザは、印刷用アプリをフォアグラウンドに遷移させるための操作をスムーズに実行することができる。CPU103は、S219の後は、再度S214の処理を実行する。なおこのとき、CPU103は、ペアリング処理が正常に完了(成功)したことを示す情報をトーストによって表示しても良い。
S220では、CPU103は、情報処理装置101とのペアリング処理を失敗した通信装置が、S205で印刷用アプリによって表示された画面において選択された通信装置と一致するか否かを判定する。なお、「ペアリング失敗」を示すイベントの通知には、情報処理装置101とのペアリング処理を失敗した通信装置の識別情報が含まれている。そのため、CPU103は、具体的には、「ペアリング失敗」を示すイベントの通知に含まれる識別情報とS207で保存した情報とを比較することで、本判定処理を行う。CPU103は、一致すると判定した場合、S221に進み、一致しないと判定した場合、S214に戻る。なおCPU103は、一致しないと判定した場合、情報処理装置101とのペアリング処理を失敗した通信装置が、S205で表示された画面において選択された通信装置と一致しないことを示すトーストを表示しても良い。
上述したように、「ペアリング失敗」を示すイベントが発生した場合、再度ペアリング処理が実行されようにするために、設定用アプリによって表示部108に、図4(a)に示すBT設定画面400が再度表示される。すなわち、「PrinterA」で示される通信装置とのペアリング処理が完了していない状態のBT設定画面が表示される。そこで、S221では、CPU103は、ペアリング処理を再度実行するようにユーザを促すための通知を含むトースト607をBT設定画面400の前面に表示する。結果として、表示部108には、図6(d)に示すBT設定画面606が表示される。トースト607は、具体的には、ペアリングが失敗したことを示す通知や、ペアリング処理を正常に行うための操作方法(30秒以内に正しいパスワードを入力するように指示する通知)を表示する。これにより、ユーザは、ペアリング処理が失敗しても、ペアリング処理を再度スムーズに実行することができる。なお、CPU103は、ペアリング処理が失敗した原因を示す通知をトースト607に含ませても良い。
続いて、S222では、CPU103は、S205で表示された画面を介してユーザが選択した通信装置をBT設定画面において選択するようにユーザを促すメッセージを含むトースト601を表示する。結果として、表示部108には、図6(a)に示すBT設定画面600が再度表示される。これにより、いずれの通信装置を選択すればよいかを再度ユーザに通知することができる。CPU103は、S222の後は、再度S214の処理を実行する。
S223では、CPU103は、S205で印刷用アプリによって表示された画面において選択された通信装置と情報処理装置101とのペアリング状態に関する情報を、OSより取得する。これにより、CPU103は、S205で印刷用アプリによって表示された画面において選択された通信装置と情報処理装置101とのペアリングが完了しているか否かを特定することができる。なお、特定の方法は上述に限定されない。例えば、CPU103は、例えば、設定用アプリを介して受信した「ペアリング完了」を示すイベント及び「ペアリング失敗」を示すイベントを保存しておく。そして、CPU103は、保存したイベントに応じて、通信装置と情報処理装置101とのペアリングが完了しているか否かを特定してもよい。
続いて、S224では、CPU103は、S223における特定結果に応じて、トーストやダイアログを表示部108に表示する。なお、このとき表示部108には印刷用アプリによって表示される画面が表示されているため、CPU103は、当該画面の前面に、トーストやダイアログを表示する。CPU103は、S205で印刷用アプリによって表示された画面において選択された通信装置と情報処理装置101とのペアリングが完了していると特定していた場合、ペアリング処理が完了した旨を示すメッセージを含むトーストやダイアログを表示する。CPU103は、S205で印刷用アプリによって表示された画面において選択された通信装置と情報処理装置101とのペアリングが完了していないと特定していた場合、ペアリング処理が失敗した旨を示すメッセージを含むトーストやダイアログを表示する。なお、ペアリング処理が失敗していた場合、例えば、S204等からの処理を再度行い、ペアリング処理再度実行しても良い。
続いて、S225では、CPU103は、設定用アプリにより表示されるBT設定画面に対する操作に応じて発生するイベントの通知を印刷用アプリが受信しないように設定する。これにより、印刷用アプリは、設定用アプリにより表示されるBT設定画面を介したペアリング処理時のみイベントの通知を受け付けて、発生したイベントに応じたトースト表示するので、適切なタイミングでトーストによる通知を行うことができる。
その後、CPU103は、処理を終了する。なお、このとき表示部108には印刷用アプリによって表示される画面が表示されているため、CPU103は、ユーザ指示に応じて、印刷用アプリが有する機能を引き続き実行しても良い。例えば、ペアリングした通信装置と情報処理装置101との接続に関する設定処理をBLEを介して実行したり、ペアリングした通信装置に印刷ジョブを送信したりしても良い。このような形態とすることで、ユーザは、ペアリング処理が終了したあとも、引き続き印刷用アプリを使用することができる。
このように本実施形態では、印刷用アプリによってBLE通信を行うために、設定用アプリにより表示されるBT設定画面を利用してペアリング処理を行う場合に、印刷用アプリによって、BT設定画面において種々の情報をトーストで表示する。このような形態とすることで、印刷用アプリにより表示される画面において入力された内容に基づいてBT設定画面において実行すべき操作を、設定用アプリにより表示されるBT設定画面において示すことができ、ユーザの利便性を向上させることができる。また、例えば、印刷用アプリの利用のために設定用アプリによって表示されるBT設定画面において実行すべき操作を、設定用アプリにより表示されるBT設定画面において示すことができ、ユーザの利便性を向上させることができる。ひいては、設定用アプリにより表示されるBT設定画面におけるユーザの誤操作を抑制して利便性を向上させることができる。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
101 情報処理装置
151 通信装置

Claims (15)

  1. 所定のプログラム及び、前記所定のプログラム以外の他のプログラムを有する情報処理装置の制御方法であって、
    所定の指示を、前記所定のプログラムが用いられて表示部に表示される画面を介してユーザから受け付ける受け付けステップと、
    前記表示部に表示されている画面を、前記所定のプログラムが用いられて前記表示部に表示される画面から、前記他のプログラムが用いられて前記表示部に表示され且つ前記情報処理装置との通信のための認証を行うための認証処理の対象となる通信装置を複数の通信装置から選択するための入力をユーザから受け付けるための設定画面に、前記所定の指示が受け付けられた場合に切り替えるための切り替え処理を、前記他のプログラムをフォアグラウンドで動作させることで実行する切り替えステップと、
    前記所定のプログラムによって前記表示部に表示され且つ前記所定のプログラムに対応する通信装置をユーザに通知するための通知領域と、前記他のプログラムによって前記表示部に表示される前記設定画面とが並行して、前記所定のプログラムがバックグラウンドで動作しており且つ前記他のプログラムがフォアグラウンドで動作している状態で前記表示部に表示されるように制御する表示制御ステップと、
    前記通知領域によって通知された前記通信装置が前記設定画面において選択された後、前記所定のプログラムによって、前記通知領域によって通知された前記通信装置との、前記認証処理と異なる所定の通信を実行する通信ステップと、
    有することを特徴とする制御方法。
  2. 前記通知領域によって通知される前記通信装置は、前記所定のプログラムがフォアグラウンドで動作している状態で前記所定のプログラムが前記表示部に表示する選択画面において選択された通信装置であることを特徴とする請求項1に記載の制御方法。
  3. 前記選択画面は、前記所定のプログラムに対応している1又は複数の通信装置からいずれかを選択するための画面であることを特徴とする請求項2に記載の制御方法。
  4. 前記所定のプログラムに対応している通信装置は、前記所定のプログラムに対応する所定の機能を実行可能な通信装置であることを特徴とする請求項1乃至3のいずれか1項に記載の制御方法。
  5. 前記所定のプログラムに対応している通信装置は、前記複数の通信装置のうち、記録媒体上に記録剤によって画像を形成する画像形成機能を実行可能な通信装置であることを特徴とする請求項1乃至4のいずれか1項に記載の制御方法。
  6. 前記所定のプログラムに対応している通信装置は、前記複数の通信装置のうち、所定のベンダーによって提供される通信装置であることを特徴とする請求項1乃至5のいずれか1項に記載の制御方法。
  7. 前記所定のプログラムは、記録媒体上に記録剤を用いて画像を形成する画像形成処理を前記通信装置に実行させるための印刷ジョブを、前記通信装置に送信するためのプログラムであり、
    前記所定の通信は、前記印刷ジョブの送信であることを特徴とする請求項1乃至6のいずれか1項に記載の制御方法。
  8. 前記所定のプログラムは、前記通信装置と前記情報処理装置との接続に関する設定処理を所定の通信方式による通信を介して実行するためのプログラムであり、
    前記所定の通信は、前記所定の通信方式による通信を介した前記設定処理であることを特徴とする請求項1乃至7のいずれか1項に記載の制御方法。
  9. 前記他のプログラムは、前記情報処理装置の着荷時に予め前記情報処理装置にインストールされているプログラムであることを特徴とする請求項1乃至8のいずれか1項に記載の制御方法。
  10. 前記認証処理は、ペアリング処理であることを特徴とする請求項1乃至9のいずれか1項に記載の制御方法。
  11. 前記認証処理は、Bluetoothに基づくペアリング処理であることを特徴とする請求項10に記載の制御方法。
  12. 前記認証処理は、Bluetooth Low Energyに基づくペアリング処理であることを特徴とする請求項10に記載の制御方法。
  13. 前記所定のプログラムによって前記表示部に表示され且つ前記設定画面における操作方法をユーザに通知するための領域と、前記他のプログラムによって前記表示部に表示される前記設定画面とが並行して、前記所定のプログラムがバックグラウンドで動作しており且つ前記他のプログラムがフォアグラウンドで動作している状態で前記表示部に表示されるように制御する制御ステップを更に有することを特徴とする請求項1乃至12のいずれか1項に記載の制御方法。
  14. 所定のプログラムであって
    前記所定のプログラム以外の他のプログラムを有する情報処理装置のコンピュータに、
    所定の指示を、前記所定のプログラムが用いられて表示部に表示される画面を介してユーザから受け付ける受け付けステップと、
    前記表示部に表示されている画面を、前記所定のプログラムが用いられて前記表示部に表示される画面から、前記他のプログラムが用いられて前記表示部に表示され且つ前記情報処理装置との通信のための認証を行うための認証処理の対象となる通信装置を複数の通信装置から選択するための入力をユーザから受け付けるための設定画面に、前記所定の指示が受け付けられた場合に切り替えるための切り替え処理を、前記他のプログラムをフォアグラウンドで動作させることで実行する切り替えステップと、
    前記所定のプログラムによって前記表示部に表示され且つ前記所定のプログラムに対応する通信装置をユーザに通知するための通知領域と、前記他のプログラムによって前記表示部に表示される前記設定画面とが並行して、前記所定のプログラムがバックグラウンドで動作しており且つ前記他のプログラムがフォアグラウンドで動作している状態で前記表示部に表示されるように制御する表示制御ステップと、
    前記通知領域によって通知された前記通信装置が前記設定画面において選択された後、前記所定のプログラムによって、前記通知領域によって通知された前記通信装置との、前記認証処理と異なる所定の通信を実行する通信ステップと、
    を実行させることを特徴とするプログラム。
  15. 所定のプログラム及び、前記所定のプログラム以外の他のプログラムを有する情報処理装置であって、
    所定の指示を、前記所定のプログラムが用いられて表示部に表示される画面を介してユーザから受け付ける受け付け手段と、
    前記表示部に表示されている画面を、前記所定のプログラムが用いられて前記表示部に表示される画面から、前記他のプログラムが用いられて前記表示部に表示され且つ前記情報処理装置との通信のための認証を行うための認証処理の対象となる通信装置を複数の通信装置から選択するための入力をユーザから受け付けるための設定画面に、前記所定の指示が受け付けられた場合に切り替えるための切り替え処理を、前記他のプログラムをフォアグラウンドで動作させることで実行する切り替え手段と、
    前記所定のプログラムによって前記表示部に表示され且つ前記所定のプログラムに対応する通信装置をユーザに通知するための通知領域と、前記他のプログラムによって前記表示部に表示される前記設定画面とが並行して、前記所定のプログラムがバックグラウンドで動作しており且つ前記他のプログラムがフォアグラウンドで動作している状態で前記表示部に表示されるように制御する表示制御手段と、
    前記通知領域によって通知された前記通信装置が前記設定画面において選択された後、前記所定のプログラムによって、前記通知領域によって通知された前記通信装置との、前記認証処理と異なる所定の通信を実行する通信手段と、
    有することを特徴とする制御方法。
JP2020077442A 2018-09-11 2020-04-24 情報処理装置、制御方法およびプログラム Active JP6929412B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020077442A JP6929412B2 (ja) 2018-09-11 2020-04-24 情報処理装置、制御方法およびプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018169885A JP6703059B2 (ja) 2018-09-11 2018-09-11 情報処理装置、制御方法およびプログラム
JP2020077442A JP6929412B2 (ja) 2018-09-11 2020-04-24 情報処理装置、制御方法およびプログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2018169885A Division JP6703059B2 (ja) 2018-09-11 2018-09-11 情報処理装置、制御方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2020119603A JP2020119603A (ja) 2020-08-06
JP6929412B2 true JP6929412B2 (ja) 2021-09-01

Family

ID=71891008

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020077442A Active JP6929412B2 (ja) 2018-09-11 2020-04-24 情報処理装置、制御方法およびプログラム

Country Status (1)

Country Link
JP (1) JP6929412B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023073813A (ja) 2021-11-16 2023-05-26 株式会社大都技研 コーヒーマシンシステム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016099666A (ja) * 2014-11-18 2016-05-30 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム
JP2016139385A (ja) * 2015-01-29 2016-08-04 セイコーエプソン株式会社 制御装置、通信接続方法、及び、プログラム
JP6217686B2 (ja) * 2015-04-06 2017-10-25 コニカミノルタ株式会社 携帯端末、プログラムおよび通信システム

Also Published As

Publication number Publication date
JP2020119603A (ja) 2020-08-06

Similar Documents

Publication Publication Date Title
JP6639430B2 (ja) 情報処理装置、制御方法およびプログラム
US11973913B2 (en) Wireless communication processing in an information processing device
KR102202283B1 (ko) 정보 처리 방법, 저장 매체 및 정보 처리 장치
CN108694027B (zh) 信息处理装置的控制方法及信息处理装置
US10324668B2 (en) Information processing method to be performed by information processing apparatus configured to communicate with communication apparatus using predetermined communication method
JP6866209B2 (ja) 情報処理装置、制御方法、プログラム
JP7129233B2 (ja) 情報処理装置、制御方法、プログラム
US11991613B2 (en) Information processing apparatus that establishes connection to a communication apparatus, enabling an access point, control method, and non-transitory computer-readable storage medium storing program
JP6929412B2 (ja) 情報処理装置、制御方法およびプログラム
JP6703059B2 (ja) 情報処理装置、制御方法およびプログラム
JP6852124B2 (ja) 情報処理装置、制御方法、プログラム
US20230100389A1 (en) Control method, storage medium, and information processing apparatus
JP6598840B2 (ja) プログラム、情報処理方法、および情報処理装置
JP2023051084A (ja) 通信装置、その制御方法、並びにプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200520

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200520

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210402

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210810

R151 Written notification of patent or utility model registration

Ref document number: 6929412

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151