以下、図面を参照して本発明の実施の形態を詳しく説明する。なお、以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
<第1実施形態>
本実施形態における接続対象の通信機器としてプリンタ、当該通信機器に対して無線設定処理を行う情報処理装置としてスマートフォン、他の情報処理装置としてPCを例に説明する。しかしこれに限らず、情報処理装置がPC、他の情報処理装置がスマートフォンであってもよいし、情報処理装置と他の情報処理装置が同じ種類の機器であってもよい。また、デジタルカメラ等の種々の機器について本実施形態における通信機器または情報処理装置または他の情報処理装置の処理が適用されてもよい。
本実施形態では、アクセスポイント(AP)に接続しているPC(第1装置)が、スマートフォン(第2装置)とプリンタとを当該APに無線接続させ、当該APを介して通信するための無線設定処理を行わせる。
従来の手法では、ユーザは、APに接続している第1装置からプリンタへ、プリンタに接続させるAPに関する情報を送信し、プリンタをAPに無線接続させ、その後第2装置をAPに接続していた。
このとき、第1装置または第2装置は、プリンタへAPに関する情報を送信するため、プリンタとP2P接続(直接無線接続)を行う。P2P接続を行うために、第1装置または第2装置は、接続対象のプリンタのSSIDを特定する必要がある。プリンタのSSIDを特定するために、第1装置または第2装置は、周囲のAPのSSIDを検索する処理(以下、APサーチと称する)を行い、取得したSSIDのリストからプリンタのSSIDを選択し、接続先を決定している。次に、プリンタが接続可能なAPのうち、第1装置が接続されているAPを第1装置が自動的に特定し、そのAPに関する情報をプリンタに送信する。そして、プリンタがその情報を用いてそのAPに接続する。APに関する情報としては、APの識別子(SSID等)や、APの認証処理で使用される認証情報(パスワード等)がある。
このようなシナリオにおいて、例えば第1装置の接続処理を行っているアプリケーションがAPサーチの結果をOSから取得できない場合がある。この場合、PCは接続先のプリンタのSSIDを特定できないため、ユーザは、自らプリンタのSSIDを特定し、例えばOSのGUIを操作するなどして、第1装置とプリンタとのP2P接続のための操作を行う必要がある。
しかしながら、ユーザが第1装置の操作に慣れていない場合、目的の機能を呼び出すことができない場合が起こりうる。また、目的の機能を呼び出すことができた場合であっても、周囲にAPが多数存在する場合など、所望のプリンタのSSIDを特定することが困難である場合もある。
そこで本実施形態では、接続させるプリンタの情報と、プリンタの接続先のAPに関する情報を一つのQRコード(登録商標)などの二次元コードまたはバーコードに変換し、第1装置の表示部に表示する。そして他の情報処理装置上で動作するAPサーチの結果をOSから取得できるアプリケーションでその二次元コードまたはバーコードを撮影する。撮影した二次元コードまたはバーコードから情報を取得した他の情報処理装置上のアプリケーションによって、プリンタのSSIDは特定され、他の情報処理装置とプリンタはP2P接続を行う。そして他の情報処理装置は二次元コードまたはバーコードから取得したAPに関する情報をプリンタに送信し、プリンタは取得した情報を用いてAPへの接続を行う。これにより、ユーザにOSのGUIを操作してSSIDを選択する手間を低減できるとともに、ユーザによるSSIDの選択間違いによって接続が失敗するリスクを低減することができる。
また、複数の情報処理装置から無線ネットワークを介して同一のプリンタを使用可能にするためには、全ての情報処理装置を、プリンタへ無線設定を行った情報処理装置が参加している無線ネットワークに接続しなければならない。
図1は、本実施形態におけるシステム構成を説明するための図である。本実施形態のシステムは、PC、スマートフォン等の情報処理装置、プリンタ等の通信機器、およびAPを含む。
図1(a)では、PC101がアクセスポイント(AP)102に無線LANで接続されている。また、図1(c)ではプリンタ103、スマートフォン104もAP102と接続されている。つまり、PC101、スマートフォン104は、プリンタ103と、AP102を介して通信可能な状態となっている。このようにAPを介して接続する方法は、インフラストラクチャー接続(以降インフラ接続と称す)と呼ばれる。インフラ接続では、PC101が二台以上の複数の機器と相互に通信可能なネットワーク環境を構築することができる。
一方、二台の機器間でのみ通信可能なP2P接続という接続方式が存在する。図1(b)に示すように、スマートフォン104とプリンタ103は無線Ad-hoc接続によりP2P接続することも可能である。ただし、無線Ad-hoc接続をしている間、スマートフォン104もプリンタ103も、無線LANインタフェースを無線Ad-hoc接続で利用しているため、互いの機器以外の機器と通信ができなくなる。そのために無線Ad-hoc接続は一時的な接続として用いられることが多い。
スマートフォン104は、プリンタ103を無線LAN接続でAP102に接続させるための処理を行う。そのために、スマートフォン104は、無線Ad-hoc接続を用いてプリンタ103にAP102に接続するためのネットワーク設定情報を送信し、プリンタ103をAP102に接続させる。
なお、本実施形態では、PC101がプリンタ103をアクセスポイント102に接続させる接続処理を開始し、スマートフォン104がPC101に表示された画像を取得してプリンタ103にAP102への接続を指示するものとして説明を行う。しかしながら、PC101およびスマートフォン104は、情報処理装置の一例であって、1台のスマートフォンが接続処理を開始し、別のスマートフォンがプリンタにAPへの接続を指示してもよい。
図2は、PC101、スマートフォン104、およびプリンタ103を含む通信システムの構成図である。
PC101は、CPU201、ROM202、RAM205、撮影装置207、表示装置208、入力インタフェース(I/F)209、および無線LAN I/F206を有する。また、PC101は、随意にユニバーサルシリアルバス(USB) I/F211、有線LAN I/F210を有する。なお、PC101は撮影装置207を有していなくてもよい。
CPU201は、ROM202に格納されたプログラム203をRAM205に読み出し、実行することで、無線ネットワークの設定をプリンタに指示するための無線設定処理を含む、PC101の動作を制御する各種の処理を実行することができる。上記の無線設定処理についての詳細は後述する。
ROM202は、上記の無線設定処理のプログラムを含む各種の処理に対応するプログラム203や、後述する無線プロファイル204などを記憶している。また、無線設定処理のプログラム(アプリケーション等)がPC101にインストールされたときに、固有の識別情報もROM202に記憶される。この固有の識別情報は、例えばプリンタの製造者やプリンタ機種に対して一意に決められている。
無線LAN I/F206は、無線送受信回路を含む通信部であって、一例ではIEEE802.11に準拠した無線通信を行うことができる。撮影装置207は、PC101に1つ以上配置された、カメラなどの画像取得装置である。表示装置208は、ディスプレイやプロジェクタなどの、情報をユーザに通知するための装置である。入力I/F209は、タッチパネルディスプレイ、キーボード、トグルスイッチなどの入力装置である。有線LAN I/F210は、例えばIEEE802.3規格などに準拠したネットワークインタフェースである。USB I/F211は、USB1.0、USB2.0、USB3.0、USB3.1などの規格に準拠したインタフェースである。
PC101は、USBケーブル221を介して、もしくは、無線Ad-hoc接続を介して、プリンタ103とP2P接続することができる。また、PC101はEthernetケーブル223を介してLAN224に接続することも可能であり、プリンタ103もLAN224に接続できれば、同一のLAN224上でPC101とプリンタ103とは相互に通信可能となる。
さらに、PC101は無線LAN(インフラ接続)によってAP102と接続し、AP102がEthernetケーブル226を介してLAN224に接続することで、PC101またはスマートフォン104はLAN224に接続可能となる。
PC101は、プリンタ103の情報とAP102に関する無線プロファイルの情報から生成した二次元コードを表示装置208に表示する。そして、スマートフォン104は、撮影装置246で表示された二次元コードを撮影し、取得した二次元コードの画像から情報を取得する。
ここで、無線プロファイル204は、無線LAN I/F206で接続したAP102の特定情報(SSID等)や、認証処理で用いられる認証情報(パスワード等)などを含む情報である。無線プロファイル204は、CPU201が、ROM202に含まれる不図示のOSを実行することで、記憶され又管理される。
スマートフォン104は、CPU241、ROM242、RAM245、無線LAN I/F246、撮影装置247、表示装置248、および入力I/F249を有する。スマートフォン104の構成要素241~249は、それぞれ、PC101の構成要素201~209と同様のため、説明を省略する。
なお、スマートフォン104は、随意に有線LAN I/F210およびUSB I/F211の少なくとも何れかを含んでもよい。この場合、スマートフォン104は、プリンタ103とUSBケーブル221またはLAN224を介して接続可能であってもよい。
プリンタ103は、CPU232、ROM233、RAM237、表示装置238、入力I/F239、印刷部240、USB I/F231、無線LAN I/F236を有する。ROM233は、プログラム234や無線プロファイル235などを記憶している。CPU232は、プログラム234をROM233からRAM237に読み出し、実行することで、プリンタ103による各種の制御を実行する。なお、プリンタ103は、USB I/F231を有していなくてもよい。
プリンタ103は、USBケーブル221を介して、もしくは、無線Ad-hoc接続222を介して、PC101またはスマートフォン104とP2P通信可能である。また、プリンタ103は無線LAN(インフラ接続)によってAP102と接続し、AP102がEthernetケーブル226を介してLAN224に接続することで、プリンタ103はLAN224に接続可能となる。
ここで、無線プロファイル235は、無線LAN I/F236で接続したAP102のSSIDや認証情報(パスワード等)などの設定を含む情報である。無線プロファイル235は、CPU232がROM233に含まれるプログラム234を実行することで、記憶され又管理される。
また、ROM233には、固有のSSIDも記憶される。この固有のSSIDは、例えばプリンタの製造者やプリンタ機種に対して一意に決められている。そして、プリンタ103の無線LAN I/F236は、この固有のSSIDに対応するAPとして動作することが可能である。
本実施形態における無線Ad-hoc接続222によるP2P通信は、APが用いられない通信方法でもよいし、PC101またはプリンタ103がAPとして動作する方法でもよい。例えば、無線LAN I/F236が、上記の固有のSSIDに対応するAPとして動作する。この場合、無線LAN I/F211が、固有のSSIDに対応するAPとしての無線LAN I/F236と接続される。この方法によれば、PC101またはスマートフォン104は、外部のAP102と同様の接続処理によりプリンタ103とのダイレクト接続が可能である。そのため、APを介さないAd-hoc接続のための処理をPC101またはスマートフォン104が実行できない場合でも、プリンタ103とのP2P通信が可能となる。すなわち、スマートフォン104とプリンタ103とのP2P通信は、無線Ad-hoc接続を含んでもよいし、インフラストラクチャモードの接続を含んでもよい。
なお、本実施形態のプリンタ103では、表示装置238による表示にしたがって、ユーザが、プリンタ103を所望のAPに接続させるための操作を行うことができる。例えばユーザは、所望のAPに対応するSSIDやパスワードの入力をプリンタ103の表示装置238で行うことで、プリンタ103をAPに接続させることができる。
ただし、プリンタ103の表示装置238は、小型のLCDディスプレイまたはセグメント表示液晶、LEDで点滅表示など、プリンタ103の種類によって様々な形態が存在する。例えばプリンタ103の表示装置238が点滅表示を行うのみのLEDである場合、文字や画像の表示が可能であるLCDディスプレイに比べて、ユーザに十分な情報を通知できず、プリンタ103を所望のAPに接続させるユーザ操作が困難となることがある。
そこで従来の形態においては、PC101またはスマートフォン104のどちらかがプリンタ103に対して、プリンタ103を所定のAPに接続させるための無線設定処理を行っていた。これにより、例えばプリンタ103での操作に不慣れなユーザであっても、プリンタ103を容易に所望のAPに接続させることができる。特に、表示装置238に十分な情報を表示できず、プリンタ103を所望のAPに接続させるための操作が困難な場合であっても、ユーザは、スマートフォン104のディスプレイによる表示にしたがって、容易に操作を行うことができる。
しかしながら、例えばPC101が実行する接続処理を行うプログラムは、接続PC101が実行するAPサーチの結果をOSから取得できない場合がある。この場合、接続処理を行うプログラムはプリンタ103のSSIDを特定できないため、ユーザが自らプリンタ103のSSIDを特定し、例えばOSのGUIを操作するなどして、PC101とプリンタ103をP2P接続させる接続処理を行わせる必要がある。ユーザがPC101の操作に慣れていない場合、目的の機能を呼び出すことができず、接続処理を行わせることができない場合が起こりうる。また、目的の機能を呼び出すことができた場合であっても、周囲にAPが多数存在する場合など、プリンタ103のSSIDを特定することが困難であり、接続処理を行わせるまでに時間がかかる場合もある。
そこで本実施形態では、PC101がプリンタ103の情報とAP102に関する情報を二次元コードに変換し、表示装置208に表示する。スマートフォン104は、撮影装置207で表示された二次元コードを撮影し、取得した二次元コードの画像から情報を取得する。そして、スマートフォン104はAPサーチを行い、その結果と、二次元コードから取得したプリンタ103に関する情報をもとにプリンタ103のSSIDを特定し、PC101に代わって、プリンタ103とP2P接続を行う。その後、スマートフォン104は二次元コードから取得したAP102に関する情報を用いて、プリンタ103をAP102に接続させるための無線設定処理を行う。
図3は、PC101がプリンタと通信するために行う一連の処理の一例を示すフローチャートである。PC101による処理は、CPU201がプログラム203を実行することで実現される。なお、ここではPC101が外部のAP102と既に接続されており、AP102のSSIDとパスワード、暗号化方式が無線プロファイル204に記憶されているものとする。また、プリンタの無線設定処理を行うためのPC101のプログラム203は、OSの制限等によりAPサーチを行った結果をOSから取得できるものとする。また、スマートフォン104のプログラム203は、OSの制限などによりAPサーチを行った結果をOSから取得することができるものとする。
PC101においてプログラム203に含まれている無線設定処理のプログラム(アプリケーション等)により、表示装置208に所定の画面が表示される。その画面においてPC101がプリンタ103と通信するための所定の指示をユーザが行うことで、PC101は、無線設定指示のための処理を開始する。まず、PC101は無線プロファイル204を参照し(S301)、図3に示す処理開始時に接続しているAP102のSSIDを含む無線プロファイル204を取得する。
PC101は、S301で取得した無線プロファイル204に含まれるSSID、パスワード、暗号化方式と、ROM202に記憶された、固有の識別情報を含む二次元コードを生成し(S302)、表示装置208に図4に示すような二次元コード表示画面400を表示する(S303)。その一方で、後述するようにスマートフォン104によって二次元コードが撮影され、二次元コードから取得した情報を用いてスマートフォン104がプリンタ103に無線設定処理を行う。図4に示す二次元コード表示画面400は、二次元コード401と「次へ」ボタン402を有する。二次元コード表示画面400で「次へ」ボタン402をユーザが押下すると、PC101はAP102経由のインフラ接続で、プリンタ103を探索し(S304)、プリンタ103が検出できたかを判断する(S305)。具体的には、S304においてPC101は、AP102に接続されている機器から識別情報(プリンタ機種名やシリアル番号等)を受信する。そして、受信された識別情報において、ROM202に記憶された、固有の識別情報と一致する識別情報が含まれるかが判断される。S305において、プリンタ103が検出されたと判定された場合、プリンタ103との通信が成功したと判定して(S306)、処理を終了する。なお、S305における判定はプリンタ103が検出されるまで継続して行われる。
なお、二次元コード401には、スマートフォン104にインストールする無線設定処理のプログラム(アプリケーション等)のダウンロードページのURLが含まれていてもよい。これにより、スマートフォン104にアプリケーションが元々インストールされていなくとも、二次元コードを撮影することでアプリケーションを容易にインストールすることができる。この場合、アプリケーションをインストール及び起動した後、上記で撮影した二次元コードを再度撮影する必要がある。
図5Aは、無線設定処理の実行を指示するスマートフォン104の処理の一例を示すフローチャートである。図5Aに示す処理は、CPU201がプログラム203を実行することで実現され、同様にプリンタ103による処理は、CPU242がプログラム244を実行することで実現される。
スマートフォン104においてプログラム203に含まれている無線設定処理のプログラム(アプリケーション等)の実行をユーザが指示することにより、表示装置208に所定の画面が表示される。その画面においてユーザがスマートフォン104をプリンタ103に接続させるための所定の操作を行うことで、スマートフォン104は、プリンタ103に無線設定処理の実行を指示するための処理を開始する(S500)。まず、スマートフォン104は撮影装置207にてPC101の表示装置208に表示されている二次元コードを撮影し(S501)、撮影した二次元コードに含まれる情報を取得する(S502)。次に、スマートフォン104は、後述する無線設定モードになっているプリンタ103を検索(S503)し、検出結果から、プリンタのSSIDを検出したか否かを判定する(S504)。具体的には、上記の固有のSSIDに対応するAPを探索し、その探索に成功したかが判断される。S503における検索処理については図6の説明において後述する。
S503において、無線設定モードになっているプリンタを検出した(固有のSSIDのAPを検出した)と判定された場合(S504でYes)、スマートフォン104はプリンタ103とP2P接続を行う(S505)。具体的には、スマートフォン104は、無線LAN I/F211を固有のSSIDのアクセスポイント(プリンタ103)に接続させる。
一方、無線設定モードになっているプリンタの検出に失敗した(固有のSSIDのAPを検出しなかった)と判定された場合(S504でNo)は、スマートフォン104は、表示装置208に図8(a)に示すような検出失敗画面800を表示する(S518)。検出失敗画面800の「終了」ボタン802をユーザが押下する(S517でNo)ことで、スマートフォン104は無線設定指示処理を終了する(S519)。「再試行」ボタン801をユーザが押下した(S517でYes)場合においては、スマートフォン104は、処理を再度無線設定モードのプリンタ103を検索する(S503)処理に戻す。
次にスマートフォン104は、二次元コードから取得したAP102の情報に不足があるか判断する(S506)。具体的には、スマートフォン104は、S506において、二次元コードから取得した情報にAP102のSSID、パスワード、暗号化方式が含まれているか判断する。二次元コードから取得した情報に不足があるとスマートフォン104が判定した場合(S506でYes)、スマートフォン104は無線プロファイル204を参照し(S507)、AP102のSSIDを含む無線プロファイルがあるか判断する(S508)。S508において無線プロファイルがないと判断された場合、スマートフォン104は表示装置208に図7に示すようなAP情報入力画面700を表示する(S509)。
図7に示すAP情報入力画面700は、APのSSID701、パスワード702、暗号化方式703、WEPキー選択部704、「次へ」ボタン705を有する。SSID701にはAP102のSSIDが表示されている。パスワード702はテキストボックスによりユーザによる入力を受け付ける。暗号化方式703はリストボックスにより複数の候補の中から暗号化方式が選択可能となっている。SSID701がWEPで暗号化されている場合、スマートフォン104はWEPキー選択部704を有効化し、ユーザにWEPキーを選択させるよう表示を行う。AP情報入力画面700の「次へ」ボタン705が押下されると、スマートフォン104は入力された情報をROM202に記憶し、AP情報入力画面700を閉じる。
S506において、所望の条件を満たした場合、スマートフォン104は、AP102への接続の確立に用いられる情報をプリンタ103に送信する(S510)。当該所望の条件とは、スマートフォンが、二次元コードから取得したAP102の情報に不足がないと判定した、または、S508においてAP102のSSIDを含む無線プロファイルがあると判定した、またはS509においてAP102の情報が入力されたと判定した場合である。S510においてスマートフォン104は、AP102に関する情報(SSID、パスワード、暗号化方式を含む)をプリンタ103に送信する。次にスマートフォン104は、プリンタ103との接続を切断し(S511)、AP102と接続する(S512)。S512において、スマートフォン104は、S510においてプリンタ103に送信したAP102の情報を用いてAP102との接続処理を行う。そのため、スマートフォン104は、ユーザによるパスワード等の再入力を必要とせずにAP102に接続することができる。
次に、スマートフォン104はAP102との接続に成功したか否かを判定する(S513)。スマートフォン104が接続に成功したと判定した場合(S513でYes)、AP102経由のインフラ接続で、プリンタ103を探索し(S514)、プリンタ103が検出できたか否かを判定する(S515)。具体的には、S514においてスマートフォン104は、AP102に接続されている機器から識別情報(プリンタ機種名またはシリアル番号等)を受信する。そして、受信された識別情報において、ROM202に記憶された、固有の識別情報と一致する識別情報が含まれるかが判断される。S515においてプリンタ103が検出できたと判断された場合(S515でYes)、スマートフォン104は、表示装置208に図8(b)に示すような設定成功画面810を表示する(S516)。設定成功画面810で「OK」ボタン812をユーザが押下すると、スマートフォン104は無線設定指示処理を終了する。
なお、スマートフォン104は、S515においてプリンタ103が検出できたと判断されたタイミングでプリンタ103と接続してもよいし、「OK」ボタン812が押下されたタイミングでプリンタ103と接続してもよい。
なお、設定成功画面810には、PC101およびスマートフォン104と異なる、他の情報処理装置をプリンタ103と通信できるように設定するためのAP102の情報と、無線ネットワーク上でプリンタ103を識別するためのIPアドレスなどの情報を含む二次元コード811を表示してもよい。他の情報処理装置は、この二次元コードを撮影し、これら情報を取得することで、ユーザによって情報を入力することなく、AP102と接続し、無線ネットワーク上でプリンタ103を特定し、通信を行うことができる。
一方、S512、S514のいずれかにおける処理により、プリンタ103における無線設定に失敗したと判断された場合、スマートフォン104は、エラー表示として、表示装置208に図8(c)で示すような設定失敗画面820を表示する(S517)。設定失敗画面820上の「終了」ボタン822をユーザが押下した場合、スマートフォン104は無線設定指示の再試行を行わないと判定し(S518でNo)、スマートフォン104は無線設定指示処理を終了する。「再試行」ボタン821をユーザが押下した場合、スマートフォン104は接続設定処理の再試行を行うと判定し(S517でYes)、スマートフォン104は処理をS503に戻し、無線設定モードのプリンタ103を検索する。
続いて、図5Bを参照して、プリンタ103が実行する無線設定処理を説明する。図5Bに示す処理は、上記の所定の指示として無線設定モードへの移行指示がユーザにより行われたことを条件に開始されてもよいし、他の条件により開始されてもよい。例えばプリンタ103の電源投入時に無線非接続である場合や、購入後初めての電源投入または初期化後初めての電源投入である場合などの条件により一時的に無線設定モードに移行する構成であってもよい。
まず、無線設定処理を開始すると、プリンタ103は無線設定モードに移行し、プリンタ103は無線LAN I/F236を固有のSSIDを有するAPとして動作させ、プリンタ103は、P2P接続の準備を完了させる(S551)。具体的には、無線LAN I/F236を、上記の固有のSSIDのAPとして動作させ、Ad-Hocモードでの接続要求を待受ける。この状態でスマートフォン104によりS503~S505の処理が実行されると、プリンタ103はスマートフォン104からの接続要求によりP2P通信を開始する。
次に、プリンタ103は、スマートフォン104から無線設定の指示があったかを確認し(S553)、無線設定の指示がなかったと判定(S553でNo)した場合、処理をS552に戻す。プリンタ103は、S553で無線設定の指示を受信したと判定した(S553でYes)場合、スマートフォン104から指定されたAP102に対して接続の確立を試行する(S554)。具体的には、プリンタ103はS554において、スマートフォン104から受信した無線プロファイルに含まれているSSIDおよびパスワード、暗号化方式を用いて、AP102に対して接続の確立を試行する。そして、プリンタ103は接続の確立に成功したかどうかを判断(S555)し、失敗したと判定された場合、無線設定に失敗したことを、プリンタ103の表示装置238を介してユーザに通知する(S556)。ユーザがプリンタ103の表示装置238で通知された設定エラーの解除操作を行うことで、プリンタ103は無線設定処理を終了する。S555で接続処理が成功したと判断された場合にも、プリンタ103は、無線設定処理を終了する。
図6を用いて、S503においてスマートフォン104が実行するプリンタ検索処理を説明する。スマートフォン104は、無線設定モードプリンタの検索処理を開始すると、スマートフォン104は周囲のSSIDをサーチする(S601)。具体的には、スマートフォン104はOSにSSIDのサーチ指示を行う。次に、OSより検出されたSSIDのリストを取得し、そのリストの中にS502において取得したプリンタ103の固有の識別情報を含む、プリンタ103に固有のSSIDがあるか判断する(S602)。S602においてプリンタ103に固有のSSIDがあると判定された場合(S602でYes)、無線設定モードのプリンタ103の検出に成功したと判定し(S603)、無線設定モードプリンタの検索処理を終了する(S605)。一方、S602においてプリンタ103に固有のSSIDがないと判定された場合(S602でNo)、無線設定モードのプリンタ103の検出に失敗したと判定し(S604)、無線設定モードのプリンタの検索処理を終了する。
(その他の実施例)
次に、プリンタ103を無線LANに接続させるためのPC101によるセットアッププログラムの処理の一例について説明する。
まず、プリンタ側で無線LANセットアップ処理を開始する処理の一例を、図17を参照して説明する。
図17は、プリンタ103のCPU232がROM233に格納されたプログラム234を実行することで実現される処理の一例を示すフローチャートである。図17に示す処理は、ユーザから、直接無線接続による無線LANセットアップモードへの移行の指示を受け取ったプリンタ103によって実行される。一例では、プリンタ103は当該指示を入力I/F239を介して受け取る。
まずプリンタ103は、S1701で、プリンタ103は無線LANセットアップ情報を受信するまで所定の時間待機する。具体的には、パソコン101またはスマートフォン104からアクセス情報を受信するまで待機する。アクセス情報は、例えばアクセスポイント102のSSIDおよびアクセスポイント102と接続するために使用されるパスワードを含む。次に、プリンタ103は処理をS1702に進め、無線LANセットアップ情報を受信したか否かを判定する。無線LANセットアップ情報の受信に失敗した場合(S1702でNo)は、プリンタ103は処理をS1707へ進め、受信失敗メッセージを表示して図17の処理を終了する。無線LANセットアップ情報を受信した場合(S1702でYes)は、プリンタ103は処理をS1703に進める。次にS1703において、プリンタ103は、受信したアクセス情報を使用してアクセスポイント102へ接続を試みる。次にS1704において、プリンタ103は、アクセスポイント102への接続が成功したか否かを判定する。プリンタ103からアクセスポイントへの接続が失敗した場合(S1704でNo)、プリンタ103は処理をS1706に進め、表示装置238に無線LANセットアップが失敗したメッセージを表示して処理を終了する。プリンタ103からアクセスポイントへの接続が成功した場合(S1704でYes)、プリンタ103は、処理をS1705に進め、表示装置238に無線LANセットアップが成功したメッセージを表示して図17の処理を終了する。
次に、図19を参照して、プリンタ103を無線LANセットアップするためのPC101によるセットアッププログラムの処理の一例を説明する。以下、図19のフローチャートに沿ってPC101の処理の流れを説明する。図19に示す処理は、ユーザからセットアップ処理の実行指示を受け付けたPC101のCPU201がROM202に格納されたセットアッププログラムを実行することで実現される。また、ユーザは図17に示したフローチャートに沿って、プリンタ103を直接無線接続による無線LANセットアップするための図17の処理を実行させているものとする。
S301~S305までの処理は図3を参照して説明したため省略する。S305でプリンタを検出しなかった場合(S305でNo)、PC101は処理をS1901に進め、その他の無線LANセットアップ方法を実行する。本実施形態においては、『手動設定』や『ルーターのボタンで設定』などが選択可能である。例えば、『手動設定』が選択された場合、ユーザがプリンタ103の入力I/F239を操作してアクセスポイント102に接続するようアクセスポイント102のSSIDおよびパスワードを入力する。『ルーターのボタンで設定』が選択された場合、ユーザはプリンタ103の入力I/Fおよびアクセスポイント102のWPSボタン(不図示)を押下し、プリンタ103とアクセスポイント102とにWPS(Wi-Fi Protected Setup)処理を実行させる。
次にPC101は、S1902に処理を進め、無線LANセットアップが完了したプリンタ103の検索を行う。検索は、PC101とプリンタ103との間で特定のコマンドを送受信することで行う。次にPC101は、S1903に処理を進め、プリンタ103を検出したか否かを判定する。例えば、S1902で特定のコマンドが正常に送受信されたと判定された場合は、PC101はプリンタ103を検出したと判定する。PC101がプリンタ103を検出したと判定した場合(S1903でYes)は、図19の処理を終える。例えば特定のコマンドが正常に送受信されず、PC101がプリンタ103を検出できなかったと判定した場合(S1903でNo)は、PC101は処理をS1904に進め、セットアップの失敗をユーザに通知して図19の処理を終了する。
<第2実施形態>
例えばPCの接続処理を行っているアプリケーションがアクセスポイントのパスワードなど、アクセスポイントに関する情報の一部をOS(Operating System)から取得できない場合がある。このときプリンタはPCから受信したアクセスポイントの情報だけでは、アクセスポイントに接続することができない場合がある。そのため、この場合には、パスワードなどのアクセスポイントの情報をPC上でユーザに入力させる必要がある。
しかしながら、ユーザがパスワードなどの入力を間違えてしまった場合、パスワードを受け取ったプリンタはアクセスポイントとの接続が失敗し、接続エラーとなってしまう。そのため、ユーザはプリンタが接続エラーとなるのを待ってから、パスワードの入力間違いを認識することになる。またプリンタが接続エラーとなると、ユーザはプリンタに移動して、エラーを解除するための操作や、再度接続するためのプリンタの準備を行う必要がある。パスワードはセキュリティを確保するために複雑であることがあり、上記のように、ユーザが入力を間違えてしまうことは容易に起こり得る。
そこで本実施形態では、SSIDを含む接続先のプリンタの情報とSSIDを含むアクセスポイントに関する情報の一部を一つのQRコードに変換し、PCの表示部に表示する。そして、他の情報処理装置上で動作する接続に必要なアクセスポイントに関する情報をOSから取得できるアプリケーションでQRコードを撮影する。撮影したQRコードから取得したプリンタのSSIDを用いて他の情報処理装置とプリンタは直接無線接続を行う。そして他の情報処理装置はQRコードから取得したアクセスポイントのSSIDに紐づく、他の情報処理装置上に保存された無線プロファイルからアクセスポイントに関する情報を取得し、プリンタに送信する。プリンタは取得した情報を用いてアクセスポイントへの接続を行う。これにより、ユーザにパスワード等のアクセスポイントの情報を入力させる手間を低減できるとともに、ユーザによるアクセスポイントの情報の入力間違いによって接続が失敗するリスクを低減することができる。
以下、本実施形態を詳細に説明する。なお、第1実施形態と同様の構成、処理、機能については説明を省略する。
図9は、PCがプリンタと通信するために行う一連の処理の一例を示すフローチャートである。図9の処理は、CPU201がROM202に格納されたプログラム203を実行することで実現される。なお、ここではPC101が外部のアクセスポイント102と既に接続されており、アクセスポイント102のSSIDとパスワード、暗号化方式が無線プロファイル204に記憶されているものとする。また、プログラム203は、OSの制限等により無線プロファイル204に記憶されたアクセスポイントのパスワードをOSから取得できないものとする。
PC101においてプログラム203に含まれている無線設定処理のプログラム(アプリケーション等)により、表示装置208に所定の画面が表示される。その画面において、PC101がプリンタ103と通信するための所定の指示をユーザから受け取ることで、PC101は、無線設定指示のための処理を開始する。
まず、PC101は無線プロファイル204を参照し(S901)、図9に示す処理開始時に接続しているアクセスポイント102のSSIDを含む無線プロファイルを取得する。
次に、PC101は処理をS902に進め、APサーチを実行し、OSからAPサーチ結果を取得する。続いて、PC101は、ROM202に記憶された、固有の識別情報を含むSSID(以下、固有SSID)が、APサーチ結果に含まれているか判定する。固有SSIDが含まれていた場合、PC101は、S901で取得した無線プロファイルに含まれるSSIDと、固有SSIDを含むQRコードを生成し(S904)、表示装置208に図4に示すようなQRコード表示画面400を表示する(S905)。固有SSIDが含まれない場合は、S904で生成するQRコードには、固有SSIDの代わりに、前述の固有の識別情報を含むものとする。QRコード表示画面400は、QRコード401と「次へ」ボタン402を有する。QRコード表示画面400で「次へ」ボタン402をユーザが押下すると、PC101はアクセスポイント102経由のインフラ接続で、プリンタ103を探索し(S906)、プリンタ103が検出できたか否かを判定する(S907)。具体的には、S906においてPC101は、アクセスポイント102に接続されている機器から識別情報(プリンタ機種名等)を受信する。そして、受信された識別情報において、ROM202に記憶された、固有の識別情報と一致する識別情報が含まれるかを判定し、含まれる場合にはプリンタ103を検出したと判定する。その一方で、後述するようにスマートフォン104によってQRコードが撮影され、QRコードから取得した情報を用いてスマートフォン104がプリンタ103に無線設定処理を行う。S907において、プリンタ103が検出されたと判定された場合、プリンタ103との通信が成功したとして、図9の処理を終了する。なお、S907における判定はプリンタ103が検出されるまで継続して行われる。
なお、QRコード401には、スマートフォン104にインストールする無線設定処理のプログラム(アプリケーション等)のダウンロードページのURLが含まれていてもよい。これにより、スマートフォン104にアプリケーションが元々インストールされていなくとも、QRコードを撮影することでアプリケーションを容易にインストールすることができる。この場合、無線設定アプリケーションをインストール及び起動した後、上記で撮影したQRコードを再度撮影する。
図10は、スマートフォン104が無線設定をプリンタ103に送信して無線接続を指示する処理の一例を示すフローチャートである。スマートフォン104による処理は、CPU241がROM242に格納されたプログラム243を実行することで実現され、同様にプリンタ103による処理は、CPU232がROM233に格納されたプログラム234を実行することで実現される。
PC101においてプログラム203に含まれている無線設定処理のプログラム(アプリケーション等)により、表示装置208に所定の画面が表示される。その画面においてユーザがPC101をプリンタに接続させるための所定の指示を行うことで、PC101は、無線設定指示のための処理を開始する。また、スマートフォン104は、プリンタ103に無線接続を指示するためのアプリケーションを起動することで図10の処理を開始する。
まず、スマートフォン104は撮影装置207にてPC101に表示されているQRコードを撮影し(S1001)、撮影したQRコードに含まれる情報を取得する(S1002)。次に、スマートフォン104は、後述する無線設定モードになっているプリンタ103を検索(S1003)し、プリンタ103を検出したか否かを判定する(S1004)。具体的には、スマートフォン104は上記の固有のSSIDに対応するプリンタ103を探索し、固有のSSIDに対応するプリンタ103を検出したか否かが判定される。S1003における検索処理については図6を参照して説明したため詳細を省略する。
S1003において、無線設定モードになっているプリンタを検出した(固有のSSIDのアクセスポイントを検出した)と判定された場合、スマートフォン104はプリンタ103と無線直接接続(無線Ad-hoc接続)を行う(S1005)。具体的には、スマートフォン104は、無線LAN I/F211を介して固有のSSIDのアクセスポイントに接続する。
一方、無線設定モードになっているプリンタの検出に失敗したと判断された場合は、スマートフォン104は、表示装置208に図8(a)に示すような検出失敗画面700を表示する(S1015)。検出失敗画面800の「終了」ボタン802をユーザが押下する(S1014でNo)ことで、スマートフォン104は図10に示す無線設定指示処理を終了する。「再試行」ボタン701をユーザが押下した(S1014でYes)場合においては、スマートフォン104は処理をS1003に戻し、再度無線設定モードのプリンタ103を検索する。
次に、スマートフォン104は無線プロファイル204を参照し(S1006)、アクセスポイント102のSSIDを含む無線プロファイルを取得する。そして、スマートフォン104は、プリンタ103に無線設定を指示する情報を送信する(S1007)。具体的には、S1007においてスマートフォン104は、アクセスポイント102の情報(SSID、パスワード、暗号化方式を含む)をプリンタ103に送信する。次にスマートフォン104は、プリンタ103との無線Ad-hoc接続を切断し、アクセスポイント102と接続する(S1008)。S508において、スマートフォン104は、S1007においてプリンタ103に送信したアクセスポイント102の情報を用いてアクセスポイント102との接続処理を行う。そのため、スマートフォン104は、ユーザによるパスワード等の再入力を必要とせずにアクセスポイント102に再接続を行うことができる。
次に、スマートフォン104はアクセスポイント102との接続に成功したか判断し(S1009)、接続成功と判断した場合、アクセスポイント102経由のインフラ接続で、プリンタ103を探索し(S1010)、プリンタ103が検出できたかを判断する(S1011)。具体的には、S1110においてスマートフォン104は、アクセスポイント102に接続されている機器から識別情報(プリンタ機種名等)を受信する。そして、受信された識別情報において、ROM202に記憶された、固有の識別情報と一致する識別情報が含まれるかが判断される。S1111においてプリンタ103が検出できたと判断された場合、スマートフォン104は、表示装置208に図8(b)に示すような設定成功画面710を表示する(S1012)。設定成功画面710で「OK」ボタン712をユーザが押下すると、スマートフォン104は無線設定指示処理を終了する。なお、スマートフォン104は、S1011においてプリンタ103が検出できたと判断されたタイミングで、プリンタ103と接続してもよいし、「OK」ボタン712が押下されたタイミングでプリンタ103と接続してもよい。なお、設定成功画面710には、PC101、スマートフォン104とは異なる、他の情報処理装置をプリンタ103と通信できるように設定するためにアクセスポイント102の情報と、プリンタ103のIPアドレス等、無線ネットワーク上でプリンタ103を識別するための情報を含むQRコード811を表示してもよい。上記他の情報処理装置は、このQRコードを撮影し、これら情報を取得することで、ユーザによって情報を入力することなく、アクセスポイント102と接続し、無線ネットワーク上でプリンタ103を特定し、通信を行うことができる。
一方、S1009、S1011のいずれかにおける処理により、プリンタ103における無線設定に失敗したと判断された場合、スマートフォン104は、エラー表示として、表示装置208に図8(c)で示すような設定失敗画面820を表示する(S1013)。設定失敗画面820上の「終了」ボタン822をユーザが押下する(S1014でNo)ことで、スマートフォン104は図10に示す無線設定指示処理を終了する。「再試行」ボタン721をユーザが押下した(S1014でYes)場合においては、スマートフォン104は再度無線設定モードのプリンタ103を検索する(S1003)処理に戻る。
続いて、プリンタ103の無線設定処理については、第1実施形態と同様のため説明を省略する。
(その他の実施例)
次に、プリンタ103を無線LANセットアップするためのPC101によるセットアッププログラムの処理の一例について説明する。
まず、プリンタ側で無線LANセットアップ処理を開始する処理の一例を、図17を参照して説明する。
図17は、プリンタ103のCPU232がROM233に格納されたプログラム234を実行することで実現される処理の一例を示すフローチャートである。
まずプリンタ103は、S1701において、ユーザから、直接無線接続による無線LANセットアップモードへの移行の指示を受け取る。一例では、プリンタ103は当該指示を入力I/F239を介して受け取る。次にプリンタ103は処理をS1702に進め、無線LANセットアップ情報を受信するまで所定の時間待機する。具体的には、パソコン101またはスマートフォン104からアクセス情報を受信するまで待機する。アクセス情報は、例えばアクセスポイント102のSSIDおよびアクセスポイント102と接続するために使用されるパスワードを含む。次に、プリンタ103は処理をS1703に進め、無線LANセットアップ情報を受信したか否かを判定する。無線LANセットアップ情報の受信に失敗した場合(S1703でNo)は、プリンタ103は処理をS1708へ進め、受信失敗メッセージを表示して図17の処理を終了する。無線LANセットアップ情報を受信した場合(S1703でYes)は、プリンタ103は処理をS1704に進める。次にS1704において、プリンタ103は、受信したアクセス情報を使用してアクセスポイント102へ接続を試みる。次にS1705において、プリンタ103は、アクセスポイント102への接続が成功したか否かを判定する。プリンタ103からアクセスポイントへの接続が失敗した場合(S1705でNo)、プリンタ103は、表示装置238に無線LANセットアップが失敗したメッセージを表示して処理を終了する。プリンタ103からアクセスポイントへの接続が成功した場合(S1705でYes)、プリンタ103は、表示装置238に無線LANセットアップが成功したメッセージを表示して図17の処理を終了する。
次に、図11を参照して、プリンタ103を無線LANセットアップするためのPC101によるセットアッププログラムの処理の一例を説明する。以下、図11のフローチャートに沿ってPC101の処理の流れを説明する。
なお、図11に示す処理は、ユーザからセットアップ処理の実行指示を受け付けたPC101のCPU201がROM202に格納されたセットアッププログラムを実行することで実現される。また、ユーザは図17に示したフローチャートに沿って、プリンタ103を直接無線接続による無線LANセットアップするための図17の処理を実行させているものとする。
まず、CPU101はS1101において、直接無線接続による無線LANセットアップを待機しているプリンタ103の検索を行う。検索は直接無線接続による無線LANセットアップを待機していることを表すSSIDを検索することで行う。なお、本実施形態においては、ユーザがセットアッププログラムの実行を指示すると、PC101は自動的に直接無線接続による無線LANセットアップを待機しているプリンタ103の検索を行うものとして説明を行うが、セットアッププログラムを実行したPC101が、プリンタ103の無線LANセットアップを行うための複数の選択肢を示して、ユーザに選択させる手段を経てもよい。PC101がプリンタ103の無線LANセットアップ方法をユーザに選択させる処理については、図18を参照して後述する。
次にPC101は、S1102において、直接無線接続による無線LANセットアップを待機しているプリンタ103を検出できたか否かを判定する。PC101がプリンタ103を検出できたと判定した場合、PC101は処理をS1103に進め、PC101からの直接無線接続による無線LANセットアップを実行する。次にPC101は、処理をS1104に進め、インフラ接続によって無線LANセットアップが完了したプリンタ103の検索を行う。検索は、PC101とプリンタ103との間で特定のコマンドを送受信することで行う。次にPC101は、処理をS1106に進め、プリンタ103を検出できたかどうかの判別を行う。コマンドが正常に送受信されたと判定された場合は、PC101はプリンタ103のセットアップが正しくできたと判定して図11の処理を終える。コマンドが正常に送受信できなかった場合、PC101は、直接無線接続による無線LANセットアップが失敗したと判定し、処理をS1107へ進める。
S1107において、PC101は、画面に2次元バーコードの表示を行う処理を実行する。ここで、PC101が実行するS1107の詳細を、図12に示すフローチャートを使って説明する。
図12は、他の実施形態におけるプリンタ103を無線LANセットアップするために、セットアッププログラムを実行するPC101が2次元バーコードを表示する処理の流れを示すフローチャートである。まずS1201において、PC101は、PC101のROM202に格納された無線プロファイル204の読み込みを行う。無線プロファイル204の中身は、アクセスポイント225の接続に使用される情報で、一例ではService Set Identifier(SSID)とパスフレーズとを含む。次にS1202において、PC101は、プリンタ103を無線LANに参加させるためのプログラムをスマートフォンがロードすることを可能にするURL情報と、プリンタ103と無線直接接続するのに必要なSSID情報と、プリンタ103の機種名と、アクセスポイント225のSSIDおよびパスフレーズとを組み合わせた文字列を生成し、それを2次元バーコードへ変換する。URL情報は、あらかじめプログラム内に格納されているものとして説明を行うが、一例では、PC101が有線LAN I/F210または無線LAN I/F206を介して、プリンタ103またはインターネット上の外部端末から取得してもよい。図13は、スマートフォン104がプリンタ103を無線LANセットアップするために必要なコマンドであり、生成された文字列の一例である。ここでssid1はプリンタ103と無線直接接続するのに必要なプリンタ103のSSIDであり、ssid2はアクセスポイント225のSSIDである。
次にPC101は、S1203にて生成された2次元バーコードをPC101の表示装置208に表示する。図14はセットアッププログラムを実行するPC101が表示する2次元バーコード画面1400である。S1108を参照して後述するように、2次元バーコード画面1400に含まれる二次元バーコード1401を、図15に示すようにスマートフォン104の撮影装置247で撮影し、文字列を読み取ることで図13に示すコマンドをスマートフォン102が取得することができる。ユーザから二次元バーコードの表示の終了を指示された場合、または所定の時間が経過した場合、PC101は図12の処理を終了し、図11のS1108に処理を進める。
次にPC101はS1108において、2次元バーコードとスマートフォンを使った直接無線接続による無線LANセットアップを実行する。S1108の詳細を、図16に示したフローチャートを使って説明する。
図16は、一実施形態におけるスマートフォン104が実行する、2次元バーコード読み取り処理の流れを示すフローチャートである。図16の処理は、ユーザに二次元バーコード読み取りアプリの実行を指示されたスマートフォン104のCPU241が、ROM242に格納されたプログラム243を実行することで実現される。まずスマートフォン104は、S1601において、PC101の表示画面208に表示された2次元バーコードを2次元バーコード読み取りアプリで読み込む。次にスマートフォン104は、処理をS1602に進め、読み込んだ2次元バーコードの解析を行い、解析した結果に従って、無線LANセットアッププログラムをロードする。解析した結果、スマートフォン104は、S1602で2次元バーコード化されたコマンド1301を取得する。本実施形態ではスマートフォン104は図13に示す情報を取得する。図13の無線LANセットアップするために必要なコマンド1301の前半の『https://cls.aaaaa/cls?app/model』が無線LANセットアッププログラムをロードするのに必要な情報の一例である。次にS1603において、ロードされた無線LANセットアッププログラムを実行するスマートフォン104は、プリンタ103と無線直接接続するために必要な無線設定モードプリンタ103の検索を行う。無線設定モードプリンタ103検索は、図13の無線LANセットアップするために必要なコマンド1301において、後半の『ssid1』の検索によって行う。スマートフォン104が無線設定モードにあるプリンタ103を検索する処理は、図6を参照して説明したため、説明を省略する。次に、スマートフォン104は処理をS1604に進め、無線設定モードにあるプリンタ103を検出したか否かを判定する。無線設定モードにあるプリンタ103を検出した場合(S1604でYes)は、スマートフォン104は処理をS1605に進める。無線設定モードにあるプリンタ103を検出しなかった場合(S1604でNo)は、スマートフォン104は処理をS1607に進め、失敗画面を表示して図16の処理を終了する。S1605において、無線LANセットアッププログラムを実行するスマートフォン104は、プリンタ103と無線直接接続(P2P接続)を行い、図13の無線LANセットアップするために使用されるコマンド1301から抜き出した、プリンタ103がアクセスポイント225と接続するのに必要な情報をプリンタ103へ送信する。一例では、スマートフォン104はプリンタ103にアクセスポイント102のSSID(ssid2)とパスワード(pass)とを送信する。
次にPC101は、処理をS1109に進め、無線LANセットアップが完了したプリンタ103の検索を行う。検索は、S1105で説明したように、PC101とプリンタ103との間で特定のコマンドを送受信することで行う。次にPC101は、処理をS1110に進め、プリンタ103を検出したか否かを判定する。コマンドを正常に送受信したと判定された場合は、PC101はセットアップが正しくできたと判別して図11の処理を終える。通信ができなかった場合、PC101は、PC101からの直接無線接続による無線LANセットアップが失敗したと判定し、処理をS1111へ進める。
次にPC101は、S1111において、その他の無線LANセットアップ方法を実行する。本実施形態においては、『手動設定』や『ルーターのボタンで設定』などが選択可能である。例えば、『手動設定』が選択された場合、ユーザがプリンタ103の入力I/F239を操作してアクセスポイント102に接続するようアクセスポイント102のSSIDおよびパスワードを入力する。『ルーターのボタンで設定』が選択された場合、ユーザはプリンタ103の入力I/Fおよびアクセスポイント102のWPSボタン(不図示)を押下し、プリンタ103とアクセスポイント102とにWPS(Wi-Fi Protected Setup)処理を実行させる。
次にPC101は、S1112に処理を進め、無線LANセットアップが完了したプリンタ103の検索を行う。検索は、S1105と同様、PC101とプリンタ103との間で特定のコマンドを送受信することで行う。次にPC101は、S1113に処理を進め、プリンタ103を検出
したか否かを判定する。例えば、S1112で特定のコマンドが正常に送受信されたと判定された場合は、PC101はプリンタ103を検出したと判定する。PC101がプリンタ103を検出したと判定した場合(S1113でYes)は、図11の処理を終える。例えば特定のコマンドが正常に送受信されず、PC101がプリンタ103を検出できなかったと判定した場合(S1113でNo)は、PC101は処理をS1114に進め、セットアップの失敗をユーザに通知して図11の処理を終了する。
<その他の実施形態>
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
上述の各実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。