一の実施形態について図1〜図11を参照しつつ説明する。
図1には、プリンタ10の電気的構成を示すブロック図が示されている。図2には、プリンタ10と、複数のアクセスポイントAP(図2にはAP1〜AP3のみ図示)と、複数の外部無線装置W(図2にはW1〜W3のみ図示)とが例示されている。プリンタ10は、無線通信装置の一例であり、アクセスポイントAPと外部無線装置Wとは、無線通信機能を有する外部通信機器の一例である。プリンタ10は、制御部100と、無線通信インターフェース200と、ROM300と、RAM400と、操作部500と、表示部600と、印刷部700とを備える。無線通信インターフェース200は、無線通信部の一例であり、RAM400は、記憶部の一例である。
制御部100は、CPU110を有するASIC(Application Specific Integrated Circuit)で構成されている。ROM300には、プリンタ10を制御するための制御プログラムや、各種設定、初期値等が記憶されている。RAM400は、CPU110が各種のプログラムを実行する際の作業領域や、データの一時的な記憶領域としても利用される。CPU110は、ROM300から読み出した制御プログラムや図示および詳細な説明を省略する各種センサから送られる信号に従って、プリンタ10の各構成要素を制御する。
無線通信インターフェース200は、例えば図示しない無線LAN用のアンテナを有し、制御部100からの命令により複数の通信チャネルの中から任意の通信チャネルを指定して特定の外部通信機器との間でデータのやり取り(送受信)を行うための装置である。なお、以下の説明では、無線通信インターフェース200には、所定の周波数帯域(例えば2.4GHz帯)に割り当てられた13つの通信チャネルが設けられており、無線通信インターフェース200は、13つの通信チャネルの中から任意の1つの通信チャネルを指定して外部通信機器とデータのやり取り(無線通信)を行うことが可能であるものとする。なお、無線通信インターフェース200で採用されている無線通信の通信規格は、例えば、IEEE802.11b,IEEE802.11a,IEEE802.11gなどである。
また、無線通信インターフェース200は、インフラストラクチャモードとアドホックモードとを切り替えて実行する構成である。図2(A)に示すように、無線通信インターフェース200は、インフラストラクチャモードを実行することにより、複数のアクセスポイントAP(同図ではAP1〜AP3のみ図示)の中から選択された1つのアクセスポイントAP1を経由して、パーソナルコンピュータPとデータのやり取りを行うことができる。また、図2(B)に示すように、無線通信インターフェース200は、アドホックモードを実行することにより、アクセスポイントAPを経由せず、複数の外部無線装置W(同図ではW1〜W3のみ図示)の中から選択された1つの外部の外部無線装置W1とデータのやり取りを行うことができる。さらに、無線通信インターフェース200は、無線通信を行う際の電波の強度を変更することができる。
操作部500は、ユーザによる操作を受け付ける各種のボタンを有する。表示部600は、例えば液晶ディスプレイにより構成されており、各種情報を表示する。印刷部700は、CPU110の制御によって、無線通信インターフェース200により受信した画像データを用いて図示しないシートに画像を形成する。
プリンタ10の電源がオンされると、CPU110は、図3に示す制御処理を実行する。CPU110は、例えば操作部500が所定時間内に検索指示を受け付けたか否かを判断し(S1)、検索指示を受け付けたと判断した場合(S1:YES)、図4に示すSSID検索処理を実行する(S2)。なお、以下、インフラストラクチャモードに限定して説明するが、アドホックモードについて同様の処理により、接続可能な外部無線装置Wの識別情報を受信することができる。
SSID検索処理は、不特定多数のアクセスポイントAPの中から、プリンタ10と接続可能なアクセスポイントAPを検索し、その検索された複数のアクセスポイントAPのSSIDを、ユーザが選択する接続先の候補として、操作部500に表示させる処理である。SSIDは、外部通信機器の識別情報の一例である。SSID検索処理では、CPU110は、まず、図5に示す第1検索処理を実行する(S11)。
第1検索処理は、通信チャネルごとに、次述する単位検索を2回ずつ行う処理である。CPU110は、チャネル番号Nをゼロに初期化する(S101)。チャネル番号Nは、上述した13つの通信チャネルのそれぞれに割り振られた「1〜13」の連続する数字であるものとする。次に、CPU110は、チャネル番号Nに1を加算し(S102)、不一致フラグM(N)をゼロ(オフ)にする(S103)。なお、不一致フラグM(N)がゼロであることは、後述する第1SSID群(N)と第2SSID群(N)とが一致していることを意味し、不一致フラグM(N)が1以上であることは、第1SSID群(N)と第2SSID群(N)とが一致していないことを意味する。
次に、CPU110は、N番目の通信チャネルを指定して、1回目の単位検索(S104〜S106)を行う。詳細には、CPU110は、不特定多数の外部通信機器のSSIDを要求する要求信号(プローブ要求)を、無線通信インターフェース200に第1電波強度で1回送信させる(S104)。各アクセスポイントAPは、プリンタ10との接続が可能であれば、要求信号に対する応答信号(プローブ応答)をプリンタ10に送信する。CPU110は、応答信号を受信した場合には、その応答信号に含まれるSSIDを、N番目の通信チャネルに対する第1SSID群(N)としてRAM400に記憶させる(S105)。第1SSID群(N)は、識別情報群の一例である。
CPU110は、要求信号の送信時から第1受信時間(例えば50μs)経過したか否かを判断し(S106)、第1受信時間を経過していないと判断した場合(S106:NO)、S105の処理を継続し、第1受信時間を経過したと判断した場合(S106:YES)、S105の処理を終了する。ここで、S105の処理で第1SSID群(N)として記憶されるSSIDの数は、プリンタ10の周囲の通信環境や接続可能な外部通信機器の数などによって増減するため、1つの場合もあれば複数の場合もあり、さらにはゼロの場合もある。
次に、CPU110は、N番目の通信チャネルを指定して、上記の1回目の単位検索と同じ検索条件で、2回目の単位検索(S107〜S109)を行う。詳細には、CPU110は、上記要求信号を、無線通信インターフェース200に第1電波強度で1回送信させる(S107)。CPU110は、要求信号に対応する応答信号を受信した場合には、その応答信号に含まれるSSIDを、N番目の通信チャネルに対する第2SSID群(N)としてRAM400に記憶させる(S108)。第2SSID群(N)は、識別情報群の一例である。
CPU110は、要求信号の送信時から第1受信時間経過したか否かを判断し(S109)、第1受信時間を経過していないと判断した場合(S109:NO)、S108の処理を継続し、第1受信時間を経過したと判断した場合(S109:YES)、S108の処理を終了する。ここで、S108の処理で第2SSID群(N)として記憶されるSSIDの数も、プリンタ10の周囲の通信環境や接続可能な外部通信機器の数などによって増減するため、1つの場合もあれば複数の場合もあり、さらにはゼロの場合もある。
CPU110は、2回目の単位検索を行った後、N番目の通信チャネルについて、第1SSID群(N)に含まれる全てのSSIDと、第2SSID群(N)に含まれる全てのSSIDとが一致するか否かを判断する(S110)。このS110の処理は、第1判断処理の一例である。なお、第1SSID群(N)と第2SSID群(N)とが一致することには、第1SSID群(N)に含まれるSSIDの数と、第2SSID群(N)に含まれるSSIDの数とがいずれもゼロである場合は含まれない。
CPU110は、第1SSID群(N)と第2SSID群(N)とが一致すると判断した場合(S110:YES)、第1SSID群(N)に含まれるSSIDを、表示用のSSID群(N)としてRAM400に記憶させる(S111)。なお、このとき、第1SSID群(N)と第2SSID群(N)とは一致しているため、S111の処理では、CPU110は、第2SSID群(N)に含まれるSSIDを、SSID群(N)としてRAM400に記憶させてもよい。また、第1SSID群(N)と第2SSID群(N)とが一致する場合(S110:YES)、N番目の通信チャネルの不一致フラグM(N)はゼロのままであり、N番目の通信チャネルは一致チャネルの一例である。
一方、CPU110は、第1SSID群(N)と第2SSID群(N)とが一致しないと判断した場合(S110:NO)、N番目の通信チャネルについて、図6に示す条件処理を実行する(S113)。なお、このとき、N番目の通信チャネルは不一致チャネルの一例である。図6にその詳細を説明する条件処理では、CPU110は、第1SSID群(N)に含まれるSSIDの数、および、第2SSID群(N)に含まれるSSIDの数の少なくとも一方のSSIDの数(以下、単に、SSIDの受信数ということがある)が、上限数に達したか否かを判断する(S210)。このS201の処理は、第2判断処理の一例である。上限数は、無線通信インターフェース200が、単位検索の処理時間内に受信可能なSSIDの最大数であり、以下の説明では5つとする。
ここで、SSIDの受信数が上限数に達している場合、N番目の通信チャネルについて、第1検索処理の上記第1受信時間内では受信しきれない数(つまり6つ以上)のアクセスポイントAPが存在すると判断される。そこで、CPU110は、SSIDの受信数が上限数に達していると判断した場合(S201:YES)、後述する時間アップ検索処理(図7のS305)を実行するために、不一致フラグM(N)を1にセットし(S202)、本条件処理を終了し、図5のS114に進む。
CPU110は、第1SSID群(N)に含まれるSSIDの数、および、第2SSID群(N)に含まれるSSIDの数のいずれも上限数に達していないと判断した場合(S201:NO)、第1SSID群(N)に含まれるSSIDの数、および、第2SSID群(N)に含まれるSSIDの数のいずれか一方のSSIDの数(以下、単に、SSIDの受信数ということがある)がゼロであるか否かを判断する(S203)。このS203の処理は、第3判断処理の一例である。ここで、SSIDの受信数がゼロである場合、プリンタ10の周囲の通信環境の一時的な悪化により第1検索処理における単位検索が正常に実行されなかった可能性が高い。そこで、CPU110は、SSIDの検索数がゼロであると判断した場合(S203:YES)、後述する回数アップ検索処理(図7のS307)を実行するために、不一致フラグM(N)を2にセットし(S204)、本条件処理を終了し、図5のS114に進む。
CPU110は、第1SSID群(N)に含まれるSSIDの数、および、第2SSID群(N)に含まれるSSIDの数のいずれもゼロでない、または、いずれもゼロであると判断した場合(S203:NO)、後述する送信強度アップ検索処理(図7のS308)を実行するために、不一致フラグM(N)を3にセットし(S205)、本条件処理を終了し、図5のS114に進む。S114では、CPU110は、第1SSID群(N)に含まれるSSID、および、第2SSID群(N)に含まれるSSIDとの和集合を、SSID群(N)としてRAM400に記憶させる。これにより、後述するS12において、第1SSID群(N)および第2SSID群(N)に含まれる全てのSSIDが表示部600に表示される。
CPU110は、S111またはS114の処理の実行後、現在のチャネル番号Nが全チャネル数に達したか否かを判断する(S112)。CPU110は、現在のチャネル番号Nが全チャネル数に達していないと判断した場合(S112:NO)、上記2回の単位検索を行っていない通信チャネルがあることを意味するため、S102に戻り、次のチャネル番号N+1の通信チャネルについて第1検索処理を行う。一方、CPU110は、現在のチャネル番号Nが全チャネル数に達していると判断した場合(S112:YES)、全ての通信チャネルに対して上記2回の単位検索を行ったことを意味するため、本第1検索処理を終了し、図4のS12に進む。
図4のS12では、CPU110は、通信チャネルごとに、SSID群(N)に含まれるSSIDを表示部600に表示させる。S12の処理は第1表示処理の一例である。これにより、プリンタ10と通信可能なアクセスポイントAPのSSIDが表示部600に一覧表示されるため、ユーザはその一覧表示されたSSID群の中から任意のSSIDを選択することが可能な状態になる。CPU110は、SSIDを表示部600に表示させた状態で、ユーザによるSSIDの選択指示を操作部500が受け付けたか否かを判断する(S13)。
CPU110は、SSIDの選択指示を受け付けたと判断した場合(S13:YES)、次述する第2検索処理を実行せずに、その選択指示で選択されたSSIDのアクセスポイントAPと通信接続を確立するための接続処理を行う(S14)。これにより、プリンタ10は、無線通信インターフェース200により、ユーザが選択したアクセスポイントAPとの間でデータのやり取りが可能になる。CPU110は、接続処理の実行後に、本SSID検索処理を終了し、図3の(S3)に進む。
CPU110は、SSIDの選択指示を受け付けないと判断した場合(S13:NO)、ユーザによるSSIDの再検索指示を操作部500が受け付けたか否かを判断する(S15)。CPU110は、SSIDの再検索指示を受け付けていないと判断した場合(S15:NO)、S13に戻り、SSIDの再検索指示を受け付けたと判断した場合(S15:YES)、図7に示す第2検索処理を実行する(S16)。
第2検索処理は、第1検索処理で得られた不一致チャネルごとに、第1検索処理と異なる条件(本実施形態では第1検索処理より精度の高い条件)で単位検索を行う処理である。CPU110は、チャネル番号Nをゼロに初期化する(S301)。次に、CPU110は、チャネル番号Nに1を加算し(S302)、N番目の通信チャネルの不一致フラグM(N)がゼロであるか否か、即ち、N番目の通信チャネルが上記一致チャネルであるか否かを判断する(S303)。CPU110は、N番目の通信チャネルが一致チャネルであると判断した場合(S303:YES)、次述する各検索処理(S305,S307,S308)を実行せずに、S309に進む。
CPU110は、N番目の通信チャネルが一致チャネルでない、即ち、上記不一致チャネルであると判断した場合(S303:NO)、N番目の通信チャネルの不一致フラグM(N)が1であるか否か、即ち、N番目の通信チャネルにおいて、第1SSID群(N)および第2SSID群(N)の少なくも一方のSSIDの受信数が上限数に達したか否かを判断する(S304)。
CPU110は、第1SSID群(N)および第2SSID群(N)の少なくも一方のSSIDの受信数が上限数に達したと判断した場合(S304:YES)、図8に示す時間アップ検索処理を実行する(S305)。この時間アップ検索処理は、SSIDの受信数が上限数に達した不一致チャネルに対して、第1検索処理のS106、S109よりも受信時間を長くして単位検索(S401〜S403)を行う処理である。詳細には、CPU110は、要求信号を、無線通信インターフェース200に第1電波強度で1回送信させ(S401)、応答信号を受信した場合には、その応答信号に含まれるSSIDを、N番目の通信チャネルに対する第3SSID群(N)としてRAM400に記憶させる(S402)。第3SSID群(N)は、識別情報群の一例である。
CPU110は、要求信号の送信時から、第2受信時間経過したか否かを判断する(S403)。ここで、第2受信時間は、第1検索処理の第1受信時間より長い時間(例えば100μs)である。このため、この第2受信時間内に受信可能なSSIDの上限数も、第1検索処理よりも多くなる。つまり、第2検索処理では、第1検索処理より精度の高い条件の下で単位検索が行われる。このため、第1検索処理では受信しきれなかった数のSSIDを受信することが可能になる。以下、第2受信時間におけるSSIDの上限数は10つであるものとする。CPU110は、第2受信時間を経過していないと判断した場合(S403:NO)、S402の処理を継続し、第2受信時間を経過したと判断した場合(S403:YES)、本時間アップ検索処理を終了し、図7のS309に進む。
CPU110は、第1SSID群(N)および第2SSID群(N)のいずれのSSIDの受信数も上限数に達していないと判断した場合(S304:NO)、N番目の通信チャネルの不一致フラグM(N)が2であるか否か、即ち、N番目の通信チャネルにおいて、第1SSID群(N)または第2SSID群(N)のSSIDの受信数がゼロであるか否かを判断する(S306)。CPU110は、第1SSID群(N)または第2SSID群(N)のSSIDの受信数がゼロであると判断した場合(S306:YES)、図9に示す回数アップ検索処理を実行する(S307)。この回数アップ検索処理は、SSIDの受信数がゼロであった不一致チャネルに対して、第1検索処理よりも多い回数、即ち、3回以上、単位検索を繰り返し行う処理である。
詳細には、CPU110は、単位検索の繰り返し回数Lをゼロに初期化し(S501)、繰り返し回数Lに1加算し(S502)、要求信号を、無線通信インターフェース200に第1電波強度で1回送信させ(S503)、応答信号を受信した場合には、その応答信号に含まれるSSIDを、N番目の通信チャネルに対する第3SSID群(N)としてRAM400に記憶させる(S504)。そして、CPU110は、要求信号の送信時から、第1受信時間経過したか否かを判断し(S505)、第1受信時間を経過していないと判断した場合(S505:NO)、S504の処理を継続する。一方、CPU110は、第1受信時間を経過したと判断した場合(S505:YES)、繰り返し回数Lが規定回数に達したか否かを判断する(S506)。規定回数は、3回以上であり、例えば5回である。
CPU110は、繰り返し回数Lが規定回数に達していないと判断した場合(S506:NO)、S502に戻り、SSIDの受信数がゼロであった不一致チャネルに対して、S503〜S505までの単位検索を繰り返し行う。一方、CPU110は、繰り返し回数Lが規定回数に達したと判断した場合(S506:YES)、本回数アップ検索処理を終了し、図7のS309に進む。これにより、SSIDの受信数がゼロであった不一致チャネルに対して、単位検索を、第1検索処理より多い回数だけ繰り返し行われる。つまり、第2検索処理では、第1検索処理より精度の高い条件の下で単位検索が行われる。このため、回数アップ検索処理の実行により、第1検索処理において通信環境の一時的な悪化により受信されなかったSSIDを受信できる可能性が高くなる。
CPU110は、第1SSID群(N)および第2SSID群(N)のいずれもゼロでない、あるいは、いずれもゼロであると判断した場合(S306:NO)、図10に示す送信強度アップ検索処理を実行する(S308)。この送信強度アップ検索処理は、SSIDの受信数が上限数に達しておらず、且つ、ゼロでない等の不一致チャネルに対して、第1検索処理のS104、S107よりも送信する電波の強度を強くして単位検索(S601〜S603)を行う処理である。詳細には、CPU110は、要求信号を、無線通信インターフェース200に第2電波強度で1回送信させ(S601)、応答信号を受信した場合には、その応答信号に含まれるSSIDを、N番目の通信チャネルに対する第3SSID群(N)としてRAM400に記憶させる(S602)。
ここで、第2電波強度は、第1検索処理の第1電波強度よりも強い強度であり、より広い距離間での無線通信が可能な強度である。つまり、第2検索処理では、第1検索処理より精度の高い条件の下で単位検索が行われる。このため、第1検索処理では受信できなかった遠方のアクセスポイントAP等のSSIDを受信することが可能になる。CPU110は、要求信号の送信時から、第1受信時間経過したか否かを判断し(S603)、第1受信時間を経過していないと判断した場合(S603:NO)、S602の処理を継続し、第1受信時間を経過したと判断した場合(S603:YES)、本送信強度アップ検索処理を終了し、図7のS309に進む。
図7のS309では、CPU110は、現在のチャネル番号Nが全チャネル数に達したか否かを判断し、現在のチャネル番号Nが全チャネル数に達していないと判断した場合(S309:NO)、まだ未処理の通信チャネルがあることを意味するため、S302に戻り、次のチャネル番号N+1の通信チャネルについてS303等の判断処理を行う。一方、CPU110は、現在のチャネル番号Nが全チャネル数に達していると判断した場合(S309:YES)、まだ未処理の通信チャネルはないことを意味するため、本第2検索処理を終了し、図4のS17に進む。
図4のS17では、CPU110は、全チャネルのSSID群に含まれるSSIDと、全チャネルの第3SSID群に含まれるSSIDとに違いがあるか否か、即ち、第2検索処理において、第1検索処理で受信できなかった新たなSSIDを受信したか否かを判断する。CPU110は、新たなSSIDを受信したと判断した場合(S17:YES)、通信チャネルごとに、SSID群(N)に含まれるSSID、および、第3SSID群(N)に含まれるSSIDとの和集合を、最新のSSID群(N)としてRAM400に記憶させ、S12に進む。これにより、第1検索処理で受信されたSSIDに加えて、第2検索処理で新たに受信されたSSIDが表示部600に表示される。このときのS12の処理は、第2表示処理の一例である。
一方、CPU110は、新たなSSIDを受信していないと判断した場合(S17:NO)、S18の処理を実行せずに、S12に進む。このため、表示部600に表示されるSSIDは、第1検索処理の終了時と同じである。
CPU110は、SSID検索処理を終了すると、ユーザによる印刷命令を操作部500が受け付けたか否かを判断し(図3のS3)、印刷命令を受け付けたと判断した場合(S3:YES)、SSID検索処理で選択されたアクセスポイントAPを介して、印刷データを受信し(S4)、その印刷データを用いて印刷処理を実行し(S5)、本制御処理を終了し、所定時間後に、再度、図3の制御処理を開始する。なお、CPU110は、S1で検索指示を受け付けないと判断した場合(S1:NO)、SSID検索処理を実行せずに、例えば、現在接続されている外部通信機器との接続状態を維持したままS3に進む。
図11A〜図11Cには、第1,5,8番目のチャネルについて第1SSID群〜第3SSID群の関係が示されている。図11Aに示すように、第1検索処理を実行した結果、1番目の通信チャネルについて、第1SSID群(1)に、I01〜I03の3つのアクセスポイントのSSIDが含まれており、第2SSID群(1)に、I01〜I03の3つのアクセスポイントのSSIDが含まれていたとする。このように、第1SSID群(1)と第2SSID群(1)とが一致する場合、第1検索処理において、接続可能なアクセスポイントAPのSSIDを正常に受信できたことが予想される。
このため、1番目の通信チャネルについて、図5のS110では、第1SSID群(1)と第2SSID群(1)とが一致すると判断され(S110:YES)、I01〜I03が表示部600に表示される(S111,図4のS12)。また、図7のS303において、1番目の通信チャネルは一致チャネルであると判断されるため(S303:YES)、第2検索処理において1番目の通信チャネルに対する単位検索が行われない。これにより、第2検索処理において、一致チャネルが対象外とされる分だけ、単位検索が無駄に続行されることを抑制することができる。
また、図11Bに示すように、第1検索処理を実行した結果、5番目の通信チャネルについて、第1SSID群(5)に、I21〜I24の4つのアクセスポイントのSSIDが含まれており、第2SSID群(5)に、I21〜I24,I27の5つのアクセスポイントのSSIDが含まれていたとする。このように、第1SSID群(5)と第2SSID群(5)とが不一致であり、かつ、第1SSID群(5)が上限数に達している場合、第1検索処理の第1受信時間内では受信しきれなかった数のアクセスポイントAPが存在する可能性が高い。
このため、5番目の通信チャネルについて、図5のS110では、第1SSID群(5)と第2SSID群(5)とが不一致であると判断され(S110:NO)、図6の条件処理では、SSIDの受信数が上限数に達したと判断され(S201:YES)、図7の第2検索処理では、時間アップ検索処理(S305)が実行される。その結果、図11Bに示すように、新たにI25,I26、I28が受信され、第3SSID群(5)に含まれている。これにより、SSIDの受信時間の長短に起因して第1検索処理では検索されないアクセスポイントAPが存在する可能性が高い不一致チャネルに対して、SSIDの検索漏れを抑制することができる。
また、図11Cに示すように、第1検索処理を実行した結果、8番目の通信チャネルについて、第1SSID群(8)にはSSIDが含まれておらず、第2SSID群(8)に、I31〜I33の3つのアクセスポイントのSSIDが含まれていたとする。このように、一方の第1SSID群(5)がゼロであり、他方の第2SSID群(5)が上限数に達していない場合、通信環境の一時的な悪化により第1検索処理における単位検索の繰り返し回数では、アクセスポイントAPのSSIDを十分に受信しきれない可能性が高い。
このため、8番目の通信チャネルについて、図5のS110では、第1SSID群(8)と第2SSID群(8)とが不一致であると判断され(S110:NO)、図6の条件処理では、SSIDの受信数がゼロであると判断され(S203:YES)、図7の第2検索処理では、回数アップ検索処理(S307)が実行される。その結果、図11Cに示すように、新たにI34,I35が受信され、第3SSID群(8)に含まれている。これにより、通信環境の一時的な悪化に起因して第1検索処理では検索されないアクセスポイントAPが存在する可能性が高い不一致チャネルに対して、SSIDの検索漏れを抑制することができる。
本実施形態によれば、単位検索を2回実行し、1回目の単位検索により取得された1回目の識別情報群と2回目の単位検索に取得された2回目の識別情報群とが一致する場合、接続可能な外部通信機器の識別情報を正常に受信できたことが予想される。このため、このような一致チャネルは、第2検索工程の単位検索の対象とされない。一方、1回目の識別情報群と2回目の識別情報群とが一致しなかった場合、通信環境が不安定であるなどの理由により、さらに同じ検索条件で単位検索を繰り返しても、接続可能な外部通信機器の識別情報を正常に受信できないことが予想される。このため、このような不一致チャネルに対して、第1検索工程よりも精度の高い検索条件で単位検索が実行される。これにより、第2検索工程の単位検索において、一致チャネルが対象外とされる分だけ、単位検索が無駄に続行されることを抑制することができ、また、不一致チャネルに対して、第1検索工程よりも精度の高い検索条件で単位検索が行われるため、接続可能な外部通信機器の識別情報の検索漏れを抑制することができる。
また、表示部600に表示されたSSIDを選択する選択指示が受け付けられなかったことを条件に(図4のS15:YES)、第2検索処理が行われる。このため、既に、無線通信に利用するアクセスポイントAPが選択されたにもかかわらず、単位検索が無駄に実行されることを抑制することができる。
図12は別の実施形態の制御処理を示す。第2実施形態の内、上述した第1実施形態と同一の構成および処理については、同一符号を付すことによって、その説明を省略する。
CPU110は、第1検索処理(S11)の終了後、検索終了フラグをゼロに初期化する(S701)。検索終了フラグがゼロであることは、第2検索処理を実行することを意味し、検索終了フラグが1であることは、第2検索処理を中止することを意味するものとする。CPU110は、SSIDの選択指示を受け付けないと判断した場合(S13:NO)、検索終了フラグがゼロであるか否かを判断する(S702)。
CPU110は、検索終了フラグがゼロであると判断した場合(S702:YES)、第2検索処理を実行する(S16)。そして、CPU110は、第2検索処理を実行した結果、新たなSSIDを受信したと判断した場合(S17:YES)、再度、第2検索処理を実行することにより、新たなSSIDをさらに受信できる可能性が高い。そこで、CPU110は、検索終了フラグはゼロのままで、S18、S12の処理に進む。このため、再度、第2検索処理が実行され得る。
一方、CPU110は、第2検索処理を実行した結果、新たなSSIDを受信しなかったと判断した場合(S17:NO)、再度、第2検索処理を実行しても、新たなSSIDを受信できない可能性が高い。そこで、CPU110は、検索終了フラグを1にして(S703)、S12の処理に進む。これにより、これ以降、第2検索処理が中止される。このため、新たなSSIDが受信できない状況が継続しているにもかかわらず、単位検索が無駄に実行されることを抑制することができる。
本明細書に開示される識別情報の検索方法は、複数の通信チャネルの中から任意の通信チャネルを指定してデータの送受信を行う無線通信部を用いて、外部通信機器の識別情報を検索する識別情報の検索方法であって、不特定多数の外部通信機器の識別情報を要求する要求信号を、前記無線通信部に1回送信させ、前記要求信号の送信時から所定の受信時間内に前記無線通信部が受信した前記外部通信機器の識別情報を識別情報群として取得する単位検索を、前記通信チャネルごとに、2回ずつ行う第1検索工程と、1回目の前記単位検索により取得された1回目の識別情報群と2回目の前記単位検索により取得された2回目の識別情報群とが一致するか否かを、前記通信チャネルごとに判断する第1判断工程と、複数の前記通信チャネルの内、前記第1判断工程で前記1回目の識別情報群と前記2回目の識別情報群とが一致しないと判断された不一致チャネルごとに、前記第1検索工程と異なる条件の下で前記単位検索を行う第2検索工程と、を含む。本識別情報の検索方法によれば、単位検索を2回実行し、1回目の単位検索により取得された1回目の識別情報群と2回目の単位検索に取得された2回目の識別情報群とが一致する場合、接続可能な外部通信機器の識別情報を正常に受信できたことが予想される。このため、このような一致チャネルは、第2検索工程の単位検索の対象とされない。一方、1回目の識別情報群と2回目の識別情報群とが一致しなかった場合、通信環境が不安定であるなどの理由により、さらに同じ検索条件で単位検索を繰り返しても、接続可能な外部通信機器の識別情報を正常に受信できないことが予想される。このため、このような不一致チャネルに対して、第1検索工程とは異なる検索条件で単位検索が実行される。これにより、第2検索工程の単位検索において、一致チャネルが対象外とされる分だけ、単位検索が無駄に続行されることを抑制することができ、また、不一致チャネルに対して、第1検索工程と異なる検索条件で単位検索が行われるため、接続可能な外部通信機器の識別情報の検索漏れを抑制することができる。
本明細書に開示される無線通信装置は、複数の通信チャネルの中から任意の通信チャネルを指定してデータの送受信を行う無線通信部と、制御部と、記憶部と、表示部と、を備え、前記制御部は、不特定多数の外部通信機器の識別情報を要求する要求信号を、前記無線通信部に1回送信させ、前記要求信号の送信時から所定の受信時間内に前記無線通信部が受信した前記外部通信機器の識別情報を識別情報群として前記記憶部に記憶させる単位検索を、前記通信チャネルごとに、2回ずつ行う第1検索処理と、1回目の前記単位検索により前記記憶部に記憶された1回目の識別情報群と2回目の前記単位検索により前記記憶部に記憶された2回目の識別情報群とが一致するか否かを、前記通信チャネルごとに判断する第1判断処理と、複数の前記通信チャネルの内、前記第1判断処理で前記1回目の識別情報群と前記2回目の識別情報群とが一致すると判断された一致チャネルに対して、当該一致チャネルで前記記憶部に記憶された前記識別情報群に含まれる識別情報の識別名を前記表示部に表示させる第1表示処理と、複数の前記通信チャネルの内、前記第1判断処理で前記1回目の識別情報群と前記2回目の識別情報群とが一致しないと判断された不一致チャネルごとに、前記第1検索処理と異なる条件の下で前記単位検索を行う第2検索処理と、前記第1表示処理後、前記第2検索処理における前記単位検索により前記記憶部に記憶された前記不一致チャネルごとの識別情報群に含まれる識別情報の識別名を前記表示部に表示させる第2表示処理と、を実行する。本無線通信装置によれば、第2検索処理の単位検索において、一致チャネルが対象外とされる分だけ、単位検索が無駄に続行されることを抑制することができ、また、不一致チャネルに対して、第1検索処理と異なる検索条件で単位検索が行われるため、接続可能な外部通信機器の識別情報の検索漏れを抑制することができる。
上記無線通信装置において、前記制御部は、前記第2検索処理において、前記不一致チャネルごとに、前記第1検索処理より前記受信時間を長くして前記単位検索を行う構成としてもよい。本無線通信装置によれば、第2検索処理において、不一致チャネルごとに、第1検索処理の単位検索より受信時間を長くして単位検索が行われるため、識別情報の受信時間の長短に起因する識別情報の検索漏れを抑制することができる。
上記無線通信装置において、前記制御部は、前記第2検索処理において、前記不一致チャネルごとに、前記単位検索を3回以上行う構成としてもよい。本無線通信装置によれば、第2検索処理において、不一致チャネルごとに、第1検索処理より単位検索が多く繰り返されるため、検索の回数に起因する識別情報の検索漏れを抑制することができる。
上記無線通信装置において、前記制御部は、前記第2検索処理において、前記不一致チャネルごとに、前記第1検索処理より送信する電波の強度を強くして前記単位検索を行う構成としてもよい。本無線通信装置によれば、第2検索処理において、不一致チャネルごとに、第1検索処理より送信する電波の強度を強くして単位検索が行われるため、電波強度の強弱に起因する識別情報の検索漏れを抑制することができる。
上記無線通信装置において、前記制御部は、前記不一致チャネルごとに、前記1回目の識別情報群に含まれる識別情報の数、および、前記2回目の識別情報群に含まれる識別情報の数の少なくとも一方の識別情報の数が、前記受信時間内に受信可能な識別情報の上限数に達したか否かを判断する第2判断処理を実行し、前記第2検索処理において、前記第2判断処理で前記少なくとも一方の識別情報の数が前記上限数に達したと判断された前記不一致チャネルに対して、前記第1検索処理より前記受信時間を長くして前記単位検索を行う構成としてもよい。本無線通信装置によれば、第1検索処理における1回分の単位検索について、識別情報群に含まれる識別情報の数が、第1検索処理の1回分の単位検索の受信時間内に受信可能な識別情報の上限数に達している場合、その受信時間内では検索されない外部通信機器が存在する可能性が高い。そこで、この無線通信装置によれば、1回目の識別情報群に含まれる識別情報の数、および、2回目の識別情報群に含まれる識別情報の数の少なくとも一方が、上限数に達している不一致チャネルに対して、第1検索処理受信時間を長くして単位検索が行われる。これにより、識別情報の受信時間の長短に起因して第1検索処理では検索されない外部通信機器が存在する可能性が高い不一致チャネルに対して、識別情報の検索漏れを抑制することができる。
上記無線通信装置において、前記制御部は、前記不一致チャネルごとに、前記1回目の識別情報群に含まれる識別情報の数、および、前記2回目の識別情報群に含まれる識別情報の数のいずれか一方の識別情報の数がゼロであるか否かを判断する第3判断処理を実行し、前記第2検索処理において、前記第3判断処理で前記いずれか一方の識別情報の数がゼロであると判断された前記不一致チャネルに対して、前記単位検索を3回以上行う構成としてもよい。本無線通信装置によれば、第1検索処理における1回分の単位検索について、識別情報群に含まれる識別情報の数がゼロである場合、通信環境の一時的な悪化により第1検索処理における単位検索が正常に実行されなかった可能性が高い。そこで、この無線通信装置によれば、1回目の識別情報群に含まれる識別情報の数、および、2回目の識別情報群に含まれる識別情報の数のいずれか一方がゼロであると判断された不一致チャネルに対して、第1検索処理より繰り返し回数を多くして単位検索が行われる。これにより、通信環境の一時的な悪化に起因して検索されない外部通信機器が存在する可能性が高い不一致チャネルに対して、識別情報の検索漏れを抑制することができる。
上記無線通信装置において、前記制御部は、前記第2判断処理で前記1回目の識別情報群に含まれる識別情報の数、および、前記2回目の識別情報群に含まれる識別情報の数のいずれも前記上限数に達していないと判断された前記不一致チャネルごとに、前記1回目の識別情報群に含まれる識別情報の数、および、前記2回目の識別情報群に含まれる識別情報の数のいずれか一方の識別情報の数がゼロであるか否かを判断する第3判断処理を実行し、前記第2検索処理において、前記第3判断処理で前記いずれか一方の識別情報の数がゼロであると判断された前記不一致チャネルごとに、前記単位検索を3回以上行い、前記第3判断処理で前記1回目の識別情報群に含まれる識別情報の数、および、前記2回目の識別情報群に含まれる識別情報の数のいずれもゼロでないと判断された前記不一致チャネルに対して、前記第1検索処理より電波強度を強くして前記単位検索を行う構成としてもよい。本無線通信装置によれば、各一致チャネルについて、不一致だった要因に応じて検索条件で第2検索処理を行うことができる。
上記無線通信装置において、さらに、操作部を備え、前記制御部は、前記第1表示処理により前記表示部に表示された前記識別情報を選択する選択指示を、前記操作部が受け付けなかった場合、前記第2検索処理を実行し、前記選択指示を前記操作部が受け付けた場合、前記第2検索処理を実行しない構成としてもよい。本無線通信装置によれば、表示部に表示された識別情報を選択する選択指示が受け付けられなかったことを条件に、第2検索処理が行われる。このため、既に、無線通信に利用するアクセスポイントが選択されたにもかかわらず、単位検索が無駄に実行されることを抑制することができる。
上記無線通信装置において、前記制御部は、前記不一致チャネルごとに、前記第2検索処理の実行により前記記憶部に記憶された識別情報群と、前記第2検索処理の実行の前に既に前記前記記憶部に記憶された識別情報群とが一致しない場合、前記第2検索処理を再度実行し、一致する場合、前記第2検索処理を中止する構成としてもよい。本無線通信装置によれば、第2検索処理の実行により新たな識別情報が記憶部に記憶されたことを条件に、第2検索処理が再び行われる。このため、新たな識別情報が取得できない状況が継続しているにもかかわらず、単位検索が無駄に実行されることを抑制することができる。
本明細書で開示される技術は、上述の実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の形態に変形することができ、例えば次のような変形も可能である。
上記実施形態では、無線通信装置として、プリンタ10を例示したが、無線通信装置は、これに限定されず、画像を形成する画像形成装置、原稿を読み取る読取装置、印刷機能や読取機能などの複数の機能を有するコピー機や複合機でもよい。また、無線通信装置は、画像形成機能を有するものに限定されず、サーバー、パーソナルコンピュータや、スマートフォンやタブレット等の通信端末などでもよい。
上記実施形態では、制御部として、1つのCPUを有するASICで構成された制御部100を例示したが、制御部は、これに限定されず、1または複数のCPUを含むものや、CPUとAISC等のハード回路とを含むものや、ハード回路のみで構成されたものでもよい。
上記実施形態では、記憶部として、RAM400を例示したが、記憶部は、これに限定されず、NVRAM、フラッシュメモリ、HDD、EEPROMなどの書き換え可能な不揮発性メモリなどもでもよい。
上記実施形態では、無線通信部として、インフラストラクチャモードとアドホックモードとの両方を実行可能な無線通信インターフェース200を例示したが、無線通信部は、これに限定されず、インフラストラクチャモードとアドホックモードとのいずれか一方だけを実行可能なものでもよい。
上記実施形態では、識別情報として、SSIDを例示したが、識別情報は、これに限定されず、外部通信機器を識別可能な情報であればよい。
図4のSSID検索処理において、CPU110は、SSIDの選択指示を受け付けないと判断した場合(S13:NO)、選択指示が受け付けられなかったか否かに関係なく、常に、第2検索処理を実行してもよい。また、CPU110は、S12の処理の実行後、SSIDの選択指示を受け付けたか否かに関係なく、常に、第2検索処理を実行してもよい。
図7の第2検索処理において、CPU110は、不一致チャネルに対して、時間アップ検索処理(S305)、回数アップ検索処理(S307)、送信強度アップ検索処理(S308)のいずれか1つまたは2つだけを実行してもよい。