Computer program for a communication system and terminal and a communication device
Patent Information
- Application Number
- JP2021029846
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-02-26
- Publication Date
- 2025-02-04
- Estimated Expiration
- 2041-02-26
Smart Images

Figure 0007625896000001 
Figure 0007625896000002 
Figure 0007625896000003
Abstract
Description
[Technical field]
[0001] This specification discloses a technique for establishing a wireless connection between a pair of devices in accordance with a Device Provisioning Protocol method. [Background technology]
[0002] Non-Patent Document 1 discloses the Device Provisioning Protocol method (hereinafter referred to as the "DPP method"), which is a wireless communication method established by the Wi-Fi Alliance. The DPP method is a method for establishing a wireless connection between a pair of devices in accordance with the Wi-Fi standard. [Prior art documents] [Non-patent literature]
[0003] [Non-Patent Document 1] “Wi-Fi Easy Connect Specification Version 2.0” Wi-Fi Alliance, 2020 Summary of the Invention [Problem to be solved by the invention]
[0004] This specification provides a technique that enables a user of a terminal to easily establish a wireless connection between a pair of devices using the terminal in accordance with the DPP method of the Wi-Fi standard. [Means for solving the problem]
[0005] The communication system disclosed in this specification may include a communication device, a first terminal, and a second terminal. The first terminal may include a first camera, a first wireless interface for performing wireless communication according to the DPP (abbreviation of Device Provisioning Protocol) method of the Wi-Fi standard, a display unit, a first computer, and a first memory for storing a first computer program provided by a vendor of the communication device. The first computer program causes the first computer to include the following units: a first acquisition unit for decoding a code image and acquiring a character string when a code image is read by the first camera, the character string being a Bootstrapping Information a display processing execution unit that executes a display process to display the operation screen on the display unit by using the specific information contained in the acquired character string, wherein the operation screen indicates a change operation for changing a state of the communication device from an impossible state in which wireless communication according to the DPP method is impossible to perform to a possible state in which wireless communication according to the DPP method is performable; and a predetermined processing execution unit that executes a predetermined process after the character string is acquired, wherein the predetermined processing is a process for executing a first target communication according to the DPP method with the communication device via the first wireless interface, using the public key contained in the acquired character string, after the state of the communication device is changed from the impossible state to the possible state due to the change operation indicated by the operation screen being executed on the communication device, and the first target communication is a communication for establishing a wireless connection according to the DPP method between a pair of devices.The second terminal may include a second camera, a second wireless interface for performing wireless communication according to the DPP method, a second computer, and a second memory that does not store the first computer program and stores a second computer program that is not provided by the vendor of the communication device. The second computer program may cause the second computer to function as the following units, that is, a second acquisition unit that decodes the code image and acquires the character string when the code image is read by the second camera, and a communication execution unit that executes a second target communication according to the DPP method with the communication device via the second wireless interface using the public key included in the acquired character string after the state of the communication device is changed from the impossible state to the possible state due to the change operation being executed on the communication device without executing the display process using the specific information, and the second target communication is a communication for establishing a wireless connection according to the DPP method between a pair of devices.
[0006] According to the above configuration, the user of the first terminal can easily execute a change operation on the communication device by viewing the operation screen. For this reason, the user can easily establish a wireless connection according to the DPP method between a pair of devices using the first terminal. In addition, the character string obtained from the code image is described according to the Bootstrapping Information Format. Therefore, the second terminal that does not have the first computer program can also use the public key included in the character string. For this reason, the user can use the second terminal to establish a wireless connection according to the DPP method between a pair of devices.
[0007] This specification also discloses a first computer program for a terminal. The terminal may include a camera, a wireless interface for performing wireless communication in accordance with the DPP (abbreviation of Device Provisioning Protocol) method of the Wi-Fi standard, a display unit, and a computer. The first computer program causes the computer to include the following units: an acquisition unit that, when a code image is read by the camera, decodes the code image to acquire a character string, the character string being a Bootstrapping Information a display processing execution unit that executes a display process to display the operation screen on the display unit by using the specific information contained in the acquired character string, wherein the operation screen indicates a change operation for changing a state of the communication device from an impossible state in which wireless communication according to the DPP method is impossible to perform to a possible state in which wireless communication according to the DPP method is performable; and a predetermined processing execution unit that executes a predetermined process after the character string is acquired, wherein the predetermined processing is a process for executing target communication according to the DPP method with the communication device via the wireless interface, using the public key contained in the acquired character string, after the state of the communication device is changed from the impossible state to the possible state due to the change operation indicated by the operation screen being performed on the communication device, and the target communication is communication for establishing a wireless connection according to the DPP method between a pair of devices.
[0008] According to the above configuration, the user of the terminal can easily execute a change operation on the communication device by looking at the operation screen. Therefore, the user can easily establish a wireless connection between a pair of devices in accordance with the DPP method using the terminal.
[0009] This specification also discloses a communication device. The communication device includes a wireless interface for performing wireless communication according to the DPP (abbreviation of Device Provisioning Protocol) method of the Wi-Fi standard, and a housing on which a sticker showing a code image obtained by encoding a character string is attached, the character string being a Bootstrapping Informationa communication device that is described in accordance with a DPP Format and includes a public key of the communication device and specific information for displaying an operation screen for the communication device, the specific information included in the character string being used by a first computer program of a first terminal, the first computer program being provided by a vendor of the communication device, to execute a display process for displaying the operation screen on the first terminal, the operation screen indicating a change operation for changing a state of the communication device from an impossible state in which wireless communication according to the DPP method cannot be performed to a possible state in which wireless communication according to the DPP method can be performed, and The communication device may further include a first communication execution unit that executes a first target communication in accordance with the DPP method with the first terminal, the first target communication being communication for establishing a wireless connection in accordance with the DPP method between a pair of devices; and a second computer program of a second terminal, the second communication execution unit that executes a second target communication in accordance with the DPP method with the second terminal via the wireless interface when the public key included in the string is used by the second computer program after the state of the communication device is changed from the impossible state to the possible state due to the second computer program not provided by the vendor executing the display process using the specific information, the second target communication being communication for establishing a wireless connection in accordance with the DPP method between a pair of devices.
[0010] According to the above configuration, the user of the first terminal can easily execute a change operation on the communication device by viewing the operation screen. For this reason, the user can easily establish a wireless connection according to the DPP method between a pair of devices using the first terminal. In addition, the character string obtained from the code image is described according to the Bootstrapping Information Format. Therefore, a second terminal equipped with a second computer program not provided by the vendor of the communication device can also use the public key included in the character string. For this reason, the user can use the second terminal to establish a wireless connection according to the DPP method between a pair of devices.
[0011] The terminal itself and a method executed by the terminal are also novel and useful. A computer-readable recording medium storing a first computer program for the terminal is also novel and useful. Also, a method executed by the communication device, a computer program for realizing the communication device, and a computer-readable recording medium storing the computer program are also novel and useful. [Brief description of the drawings]
[0012] [Figure 1] 1 shows a schematic configuration of a communication system. [Diagram 2] The control configuration of each device is shown. [Diagram 3] 1 shows a schematic sequence diagram of a process for establishing a Wi-Fi connection between a printer and an access point. [Figure 4] FIG. 13 is a sequence diagram of Bootstrapping in case A of the first embodiment. [Diagram 5] FIG. 13 shows a sequence diagram of Bootstrapping in case B of the first embodiment. [Figure 6] FIG. 13 is a sequence diagram of bootstraping according to the second embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0013] (First Example) (Configuration of communication system 2: Figure 1) 1, the communication system 2 includes an access point (hereinafter referred to as "AP") 6, a plurality of terminals 10A and 10B, a printer 100, and a server 200. In this embodiment, a situation is assumed in which a user uses either of the terminals 10A and 10B to establish a wireless connection (hereinafter referred to as "Wi-Fi connection") between the printer 100 and the AP 6 in accordance with the Wi-Fi standard.
[0014] (Configuration of terminal 10A: Figure 2) The terminal 10A is a portable terminal such as a mobile phone (e.g., a smartphone), a PDA, or a tablet PC. In a modified example, the terminal 10A may be a stationary terminal. As shown in FIG. 2, the terminal 10A includes an operation unit 12, a display unit 14, a Wi-Fi interface 16, a camera 20, and a control unit 30. Each unit 10 to 30 is connected to a bus line (reference numerals omitted). In the following, the interface is referred to as "I / F".
[0015] The operation unit 12 includes a plurality of buttons. A user can input various instructions to the terminal 10A by operating the operation unit 12. The display unit 14 is a display for displaying various information. The display unit 14 further functions as a so-called touch panel (i.e., an operation unit). The camera 20 is a device for photographing an object, and in this embodiment, is used for photographing a QR code (registered trademark) for the printer 100.
[0016] The Wi-Fi I / F 16 is a wireless interface for performing wireless communication according to the Wi-Fi standard. The Wi-Fi standard is a standard for performing wireless communication according to, for example, the IEEE (abbreviation of The Institute of Electrical and Electronics Engineers, Inc.) 802.11 standard and standards equivalent thereto (e.g., 802.11a, 11b, 11g, 11n, etc.). The terminal 10A can establish a Wi-Fi connection with the AP6 via the Wi-Fi I / F 16 by using the SSID (abbreviation of Service Set Identifier) and password of the wireless network formed by the AP6.
[0017] The Wi-Fi I / F 16 also supports the DPP (Device Provisioning Protocol) method established by the Wi-Fi Alliance. The DPP method is described in the "Wi-Fi Easy Connect Specification Version 2.0" specification created by the Wi-Fi Alliance, and is a method for easily establishing a Wi-Fi connection between a pair of devices (e.g., the printer 100 and the AP 6) using the terminal 10A. In the following, this specification will be referred to as the "DPP specification."
[0018] The control unit 30 includes a CPU 32 and a memory 34. The CPU 32 executes various processes in accordance with various programs 40, 41, and 42 stored in the memory 34. The memory 34 is composed of a volatile memory, a non-volatile memory, and the like. The memory 34 stores an OS program 40, a connection application 41, and a printer application 42. Hereinafter, the OS program 40 will be referred to as "OS 40", the connection application 41 will be referred to as "connection app 41", and the printer application 42 will be referred to as "printer app 42".
[0019] The OS 40 is a program for implementing basic operations of the terminal 10A, and in this embodiment, is Android (registered trademark). In a modified example, the OS 40 may be another type of OS (e.g., iOS). The OS 40 is pre-stored in the terminal 10A at the time of shipment of the terminal 10A.
[0020] The connection application 41 is a program for performing wireless communication according to the DPP method to establish a Wi-Fi connection between the printer 100 and the AP 6. The connection application 41 is a standard application used together with the OS 40, and is pre-stored in the terminal 10A at the time of shipping the terminal 10A. In other words, the connection application 41 is a program that is not provided by the vendor of the printer 100. In a modified example, the terminal 10A may include a so-called universal application instead of the connection application 41.
[0021] The printer application 42 is a program for causing the connection application 41 to execute wireless communication in accordance with the DPP method. The printer application 42 is also a program for causing the printer 100 to execute printing. The printer application 42 is a program provided by the vendor of the printer 100, and is installed in the terminal 10A after the shipment of the terminal 10A.
[0022] (Configuration of terminal 10B: Fig. 2) Terminal 10B basically has the same configuration as terminal 10A. However, the memory of terminal 10B stores OS 50 and a connection application 52 (hereinafter referred to as "connection application 52"), but does not store printer application 42. Connection application 52 is the same application as connection application 41 of terminal 10A, and is pre-stored in terminal 10B at the time of shipment of terminal 10B.
[0023] (Configuration of printer 100: Figs. 1 and 2) The printer 100 is a peripheral device (for example, a peripheral device of the terminals 10A and 10B) capable of executing a printing function. The printer 100 has a model name "AAA" and a serial number "xyz". As shown in FIG. 1, the printer 100 has a housing 100A. A sticker 100B showing a QR code is attached to the housing 100A. The QR code is information obtained by encoding a character string including a URI (short for Uniform Resource Identifier) and the public key of the printer 100. The URI includes the domain of the server 200 and the serial number "xyz" of the printer 100.
[0024] 2, the printer 100 includes an operation unit 112, a Wi-Fi I / F 116, a print execution unit 118, and a control unit 130. Each unit 112 to 130 is connected to a bus line (reference numerals omitted). The printer 100 of this embodiment does not include a display unit capable of displaying a QR code. This means that the printer 100 does not include even one display unit, and that the printer 100 includes a very small display unit.
[0025] The operation unit 112 includes a plurality of buttons. A user can input various instructions to the printer 100 by operating the operation unit 112. The Wi-Fi I / F 116 supports the DPP method. The print execution unit 118 includes a printing mechanism such as an inkjet method or a laser method. The control unit 130 includes a CPU 132 and a memory 134. The CPU 132 executes various processes according to a program 136 stored in the memory 134. The memory 134 includes a volatile memory, a non-volatile memory, and the like.
[0026] (Server 200 configuration: Figure 2) The server 200 is a so-called web server, and is installed on the Internet 4 (see FIG. 1) by the vendor of the printer 100. The server 200 includes a communication I / F 216 and a control unit 230. The units 216 and 230 are connected to a bus line (reference numerals omitted). The communication I / F 216 is connected to the Internet 4. The control unit 230 includes a CPU 232 and a memory 234. The CPU 232 executes various processes according to a program 236 stored in the memory 234. The memory 234 is composed of a volatile memory, a non-volatile memory, etc.
[0027] Memory 234 further stores a model table 250. In model table 250, for each of a plurality of printer model names, the model name is associated with a message indicating a change operation for changing the state of a printer having that model name from DPPOFF state to DPPON state. The DPPOFF state and the DPPON state are states in which wireless communication according to the DPP method cannot be performed and can be performed, respectively.
[0028] (Outline of DPP: Figure 3) Next, an overview of DPP will be described with reference to Fig. 3. In the following, for ease of understanding, the operations executed by the CPU of each device (e.g., CPU 32) will be described with reference to each device (e.g., terminal 10A, etc.) rather than with reference to the CPU. In addition, in the overview description with reference to Fig. 3, the same operations are realized whether terminal 10A or terminal 10B is used. Therefore, in Fig. 3, terminal 10A and terminal 10B are collectively referred to as "terminal 10". The following communications are executed using I / Fs 16, 116, and 216 (see Fig. 2). For this reason, the description "via an I / F" will be omitted.
[0029] In this embodiment, the AP6 does not support the DPP method. The AP6 operates as a parent station of a wireless network using the SSID "sss" and the password "ttt". For example, the user of the terminal 10 operates the operation unit 12 to input the SSID "sss" and the password "ttt" to the terminal 10. In this case, the terminal 10 establishes a Wi-Fi connection with the AP6 using the OS 40. Thus, in the case of FIG. 3, it is assumed that a Wi-Fi connection is established between the terminal 10 and the AP6. When the user of the terminal 10 wants the printer 100 to execute printing, the user establishes a Wi-Fi connection between the printer 100 and the AP6, and executes communication between the terminal 10 and the printer 100 via the AP6. To achieve this, the following processes are executed.
[0030] At T25, the terminal 10 executes Bootstrapping (hereinafter referred to as "BS") described in the DPP standard with the printer 100. BS is a process in which the printer 100 provides the terminal 10 with the public key of the printer 100 used in Authentication (hereinafter referred to as "Auth") described in the DPP standard in response to the terminal 10 photographing a QR code shown on a sticker 100B (see FIG. 1) attached to the printer 100.
[0031] At T30, the terminal 10 executes Auth with the printer 100 using the public key acquired at the BS at T25. Auth is a process in which the terminal 10 and the printer 100 each authenticate the other party. Specifically, the terminal 10 transmits an Auth request using the public key to the printer 100, and receives an Auth response from the printer 100.
[0032] In T35, the terminal 10 executes Configuration (hereinafter referred to as "Config") described in the DPP standard with the printer 100. Config is a process for transmitting information for establishing a Wi-Fi connection between the printer 100 and the AP 6 to the printer 100. Specifically, the terminal 10 generates a Signed Connector (hereinafter referred to as "SC") and transmits the SC to the printer 100. The SC includes the SSID "sss" and password "ttt" of the AP 6.
[0033] In T40, the printer 100 establishes a Wi-Fi connection with the AP 6 using the SSID "sss" and password "ttt" included in the SC acquired in T35. Specifically, the printer 100 first broadcasts a probe request and receives a probe response from each of one or more APs, including the AP 6, that are present around the printer 100. In this case, the printer 100 recognizes that a probe response including the SSID "sss" included in the acquired SC (i.e., the SSID "sss" of the AP 6) is present among the one or more probe responses received from the one or more APs. Then, the printer 100 executes various communications with the AP 6, such as association and 4-way handshake, to establish a Wi-Fi connection with the AP 6. In the process of the various communications, the printer 100 transmits authentication information using the password "ttt" included in the acquired SC to the AP 6, and the AP 6 executes authentication of the password "ttt". If the authentication is successful, a Wi-Fi connection is established between the printer 100 and the AP 6.
[0034] As a result of the above processes, both the terminal 10 and the printer 100 participate as slave stations in the same wireless network formed by the AP 6. For this reason, the terminal 10 can transmit print data representing, for example, an image to be printed to the printer 100 via the AP 6. Then, the printer 100 can execute printing of the image represented by the print data.
[0035] In the DPP method, in order to establish a Wi-Fi connection between the printer 100 and the AP 6, the user does not need to input the SSID "sss" and password "ttt" of the AP 6 into the printer 100. Therefore, the user can easily establish a Wi-Fi connection between the printer 100 and the AP 6.
[0036] (BS details: Figures 4 and 5) 3 will be described in detail with reference to Fig. 4 and Fig. 5. Fig. 4 shows the BS of case A executed by the terminal 10A equipped with the printer application 42. Fig. 5 shows the BS of case B executed by the terminal 10B not equipped with the printer application 42.
[0037] (Case A: Figure 4) The QR code shown by the sticker 100B of the printer 100 is an encoded character string 150. The character string 150 is written in accordance with the Bootstrapping Information Format described in the DPP standard. More specifically, the character string 150 includes an identifier "K" according to the ABNF (Augmented Backus Naur Form) rules, a character string "12345abcd" written in association with the identifier "K", an identifier "I" according to the ABNF rules, and a character string "MAN=https: / / www.server.com / xyz" written in association with the identifier "I". In this embodiment, the "character string written in association with the identifier" means a character string written after the identifier.
[0038] The identifier "K" is an identifier indicating that the character string "12345abcd" associated with the identifier "K" is the public key of the printer 100. The connection applications 41 and 52 are programs that support the DPP method, and therefore are capable of recognizing that the character string identified by the identifier "K" is a public key. In other words, the connection applications 41 and 52 are configured to be able to recognize that the character string identified by the identifier "K" is a public key. For this reason, the connection applications 41 and 52 can appropriately identify the public key of the printer 100.
[0039] The identifier "I" is an identifier indicating that the character string "MAN=https: / / www.server.com / xyz" associated with the identifier "I" is information arbitrarily described by the vendor of the printer 100. In particular, in this embodiment, the information is "MAN" meaning a manual (i.e., an operation screen) in the server 200 and the URI "https: / / www.server.com / xyz" of the manual, and the URI includes the serial number "xyz" of the printer 100. The printer application 42 is a program provided by the vendor of the printer 100, and therefore can recognize that the character string specified by the identifier "I" is a URI and that the URI includes the serial number of the printer 100. The connection applications 41 and 52 are programs not provided by the vendor of the printer 100, and therefore cannot recognize that the character string specified by the identifier "I" is the URI of the server 200. In other words, the character string identified by the identifier "I" is configured so that it can be recognized by the printer application 42 as the URI of the server 200, and is configured so that it cannot be recognized by the connection applications 41 and 52 as the URI of the server 200. For this reason, the printer application 42 can appropriately identify the URI of the server 200.
[0040] When terminal 10A accepts an operation to start printer application 42 from the user in T100, it executes the following processes in accordance with printer application 42. When terminal 10A accepts an operation to photograph the QR code indicated by sticker 100B from the user in T110, it photographs the QR code with camera 20. In T120, terminal 10A decodes the QR code and acquires character string 150. Then, in T122, terminal 10A identifies URI 160 "https: / / www.server.com / xyz" indicated by identifier "I" from character string 150.
[0041] Next, at T130, terminal 10A transmits a webpage request including URI 160 as a destination to server 200. Here, terminal 10A is provided with a browser program (not shown), but uses printer application 42 without using the browser program to transmit the webpage request and display a webpage (described later). With this configuration, terminal 10A does not need to execute a process to start up a browser program. In other words, terminal 10A does not need to display a window (i.e., a window displayed by a browser program) different from the window displayed by printer application 42. This prevents the processing load on terminal 10A from becoming high, and prevents the user from viewing multiple windows.
[0042] When the server 200 receives a web page request from the terminal 10A in T130, the server 200 first identifies the serial number "xyz" in the URI 160 included in the web page request in T132. The server 200 has a serial number table (not shown). The table stores, for each of a plurality of printers, the serial number of the printer and the model name of the printer in association with each other. Therefore, the server 200 can identify the model name "AAA" of the printer 100 from the serial number "xyz" by using the table in T132. In a modified example, the serial number "xyz" may include a character string indicating the model name "AAA". In this case, the server 200 can identify the model name "AAA" from the serial number "xyz" without using the serial number table.
[0043] Next, in T134, server 200 extracts a message "Please press the Wi-Fi button three times" corresponding to the model name "AAA" identified in T132 from model table 250 (see FIG. 2) in memory 234. Next, server 200 generates web page data representing a web page including the extracted message, a predetermined message, and a start button. The predetermined message indicates that the start button is pressed after an operation according to the extracted message is performed. The start button is a button for causing terminal 10A to start Auth. Then, server 200 transmits the generated web page data to terminal 10A in T136.
[0044] When the terminal 10A receives the web page data from the server 200 at T136, at T140, the terminal 10A displays a web page 300 represented by the web page data on the display unit 14. The web page 300 includes a message 302 and a start button.
[0045] In response to message 302 in web page 300, the user presses the Wi-Fi button (not shown) included in operation unit 112 of printer 100 three times at T150. In this case, printer 100 transitions from DPPOFF state to DPPON state at T152. Specifically, printer 100 (i.e., CPU 132) supplies an instruction to Wi-Fi I / F 116 to transition from DPPOFF state to DPPON state. This puts printer 100 in a state in which it can execute communication according to the DPP method (for example, receiving an Auth request, sending an Auth response, etc.). In other words, web page 300 is an operation screen showing a change operation for changing the state of printer 100 from DPPOFF state to DPPON state.
[0046] As described above, according to this embodiment, the web page 300 includes a message 302 for changing the state of the printer 100 having the model name "AAA" to the DPPON state. This allows the user to easily change the state of the printer 100 to the DPPON state. If the printer 100 is maintained in the DPPOFF state, the printer 100 cannot send an Auth response to the terminal 10A. In this case, Auth fails and a Wi-Fi connection cannot be established between the printer 100 and the AP 6.
[0047] Next, in T160, the user executes an operation of selecting a start button in the web page 300. In this case, the terminal 10A (i.e., the printer application 42) supplies the character string 150 identified in T120 to the connection application 41 in T162.
[0048] In T170, the terminal 10A (i.e., the connection application 41) identifies the public key 170 indicated by the identifier "K" from the character string 150 supplied from the printer application 42. Thereafter, the terminal 10A (i.e., the connection application 41) executes the processes of T25, T30, and T35 in FIG. 3. That is, the terminal 10A transmits an Auth request using the public key 170 identified in T170 to the printer 100. In other words, the terminal 10A does not transmit an Auth request to the printer 100 until the start button is operated. For this reason, when the printer 100 is in the DPP OFF state, it is possible to suppress transmission of an Auth request from the terminal 10A to the printer 100.
[0049] 3, when the terminal 10A (i.e., the connection application 41) sends an Auth request to the printer 100, it receives an Auth response from the printer 100 (see T30 in FIG. 3), and then sends an SC to the printer 100 (see T35). This allows the terminal 10A to establish a Wi-Fi connection between the printer 100 and the AP 6 (see T40).
[0050] (Case B: Figure 5) Next, the BS of case B executed by the terminal 10B will be described. When the terminal 10B accepts an operation to start the connection application 52 from the user in T200, the terminal 10B executes the following processes in accordance with the connection application 52. When the terminal 10B accepts an operation to photograph the QR code indicated by the sticker 100B from the user in T210, the terminal 10B photographs the QR code with a camera (not shown). In T220, the terminal 10B decodes the QR code to obtain the character string 150. Then, in T222, the terminal 10B identifies the public key 170 indicated by the identifier "K" from the character string 150. Here, the terminal 10B cannot identify the URI 160 indicated by the identifier "I".
[0051] Because terminal 10B cannot identify URI 160, it does not execute the process (see T130, T136, and T140 in FIG. 4) for displaying web page 300 using URI 160. In this embodiment, it is assumed that the user of terminal 10B knows the operation for changing printer 100 to the DPPON state (i.e., pressing the Wi-Fi button three times). For this reason, the user can press the Wi-Fi button three times in T250 without looking at web page 300. In this case, printer 100 transitions from the DPPOFF state to the DPPON state in T252.
[0052] When the terminal 10B identifies the public key 170 in T222, it repeatedly transmits an Auth request using the public key 170 to the printer 100 without waiting for a user operation (for example, an operation of the start button at T160 in FIG. 4). For this reason, the terminal 10B can cause the printer 100 to receive the Auth request after the state of the printer 100 transitions to the DPPON state. When the terminal 10B transmits an Auth request to the printer 100, it receives an Auth response from the printer 100 (see T30 in FIG. 3), and then transmits an SC to the printer 100 (see T35). This allows the terminal 10B to establish a Wi-Fi connection between the printer 100 and the AP 6 (see T40).
[0053] (Effects of this embodiment) According to the above configuration, the user of the terminal 10A can easily execute a change operation on the printer 100 by viewing the web page 300 (T140 in FIG. 4). Therefore, the user can easily establish a Wi-Fi connection between the printer 100 and the AP 6 according to the DPP method using the terminal 10A. Furthermore, the character string 150 obtained from the QR code is written according to the Bootstrapping Information Format. Therefore, the terminal 10B that does not have the printer application 42 can also use the public key 170 included in the character string 150. Therefore, the user of the terminal 10B can easily establish a Wi-Fi connection between the printer 100 and the AP 6 according to the DPP method using the terminal 10B.
[0054] In particular, since the character string 150 displayed by the QR code is written in accordance with the Bootstrapping Information Format, the QR code is highly likely to pass the Wi-Fi Alliance certification test. This allows the QR code of the printer 100 to be widely used by various terminals that do not have the printer app 42.
[0055] (Correspondence) The printer 100, the terminal 10A, and the terminal 10B are examples of a "communication device", a "first terminal", and a "second terminal", respectively. The printer 100 and the AP6 are examples of a "pair of devices". The printer application 42 and the connection application 52 are examples of a "first computer program" and a "second computer program", respectively. The DPPOFF state and the DPPON state are examples of an "impossible state" and an "available state", respectively. The message 302 in the web page 300 is an example of a "specific message". The processes of T130, T136, and T140 in FIG. 4 are examples of a "display process". The process of T162 is an example of a "predetermined process". The identifier "K" and the identifier "I" are examples of a "first identifier" and a "second identifier", respectively. The URI 170 and the serial number "xyz" are examples of "specific information" and "identification information", respectively.
[0056] The processes of T30 and T35 in FIG. 3 corresponding to the terminal 10A are examples of "first target communication" and "target communication". The Auth request transmitted from the terminal 10A to the printer 100 is an example of "first authentication request" and "authentication request". The Auth response transmitted from the printer 100 to the terminal 10A is an example of "first authentication response" and "authentication response". The processes of T30 and T35 in FIG. 3 corresponding to the terminal 10B are an example of "second target communication". The Auth request transmitted from the terminal 10B to the printer 100 and the Auth response transmitted from the printer 100 to the terminal 10B are examples of "second authentication request" and "second authentication response", respectively. The SC transmitted from the terminal 10A to the printer 100 is an example of "connection information" and "first connection information". The SC transmitted from the terminal 10B to the printer 100 is an example of "second connection information".
[0057] The correspondence between the "first terminal" and the "terminal" is as follows. The process of T120 in FIG. 4 is an example of a process executed by the "first acquisition unit" and the "acquisition unit". The processes of T130, T136, and T140 are an example of a process executed by the "display process execution unit". The process of T162 is an example of a process executed by the "predetermined process execution unit".
[0058] The correspondence relationship of the "second terminal" is as follows. The process of T220 in Fig. 5 is an example of the process executed by the "second acquisition unit". The processes of T30 and T35 in Fig. 3 corresponding to the terminal 10B are an example of the process executed by the "communication execution unit".
[0059] The correspondence relationship of the "server" is as follows: The process of T134 and the process of T136 in Fig. 4 are examples of the process executed by the "extraction unit" and the "web page transmission unit", respectively.
[0060] The correspondence of the "communication devices" is as follows: The processes of T30 and T35 in FIG. 3 corresponding to the terminal 10A are an example of the processes executed by the "first communication execution unit." The processes of T30 and T35 in FIG. 3 corresponding to the terminal 10B are an example of the processes executed by the "second communication execution unit."
[0061] (Second embodiment: Figure 6) Next, a second embodiment will be described. The same points as those in the first embodiment will not be described. As shown in FIG. 6, in this embodiment, the character string 152 indicated by the QR code is different from that in the first embodiment. Specifically, the character string "12345abcd" described in association with the identifier "K" is the same as that in the first embodiment. However, the character string "SN=xyz" described in association with the identifier "I" is different from that in the first embodiment and includes the character string "SN" meaning the serial number and the serial number "xyz" of the printer 100. The printer application 42 is a program provided by the vendor of the printer 100, and therefore can recognize that the character string identified by the identifier "I" includes the serial number "xyz". The connection applications 41 and 52 cannot recognize that the character string identified by the identifier "I" includes the serial number "xyz".
[0062] 4, except that character string 152 is acquired instead of character string 150. In T332, terminal 10A identifies serial number 162 "xyz" indicated by identifier "I" from character string 152.
[0063] Next, in T324, the terminal 10A generates a URI 164 "https: / / www.server.com / xyz" including the domain "www.server.com" of the server 200 that the printer application 42 already has and the serial number "xyz" that has been specified in T322. In this way, adopting a configuration in which the printer application 42 generates the URI 164 of the server 200 is effective in a situation in which the position of the webpage data in the server 200 changes. In other words, if the printer application 42 is notified of the changed position, the printer application 42 can appropriately generate a URI that indicates the changed position.
[0064] T330 to T370 are the same as T130 to T170 in Fig. 4. Moreover, each process executed by the terminal 10B is the same as T200 to T252 in Fig. 5. In this embodiment, the serial number "xyz" is an example of "specific information". Moreover, the process of T324 in Fig. 5 is an example of "processing for generating a URI".
[0065] Although specific examples of the technology disclosed in this specification have been described in detail above, these are merely examples and do not limit the scope of the claims. The technology described in the claims includes various modifications and variations of the specific examples exemplified above. Modifications are listed below.
[0066] (Modification 1) In the case of FIG. 3, the terminal 10 establishes a Wi-Fi connection with the AP 6 by using the SSID "sss" and password "ttt" of the AP 6. Alternatively, the terminal 10 may establish a Wi-Fi connection with the AP 6 by performing wireless communication of the DPP method. That is, the AP 6 supports the DPP method and has a QR code indicating the public key of the AP 6 (for example, a sticker is attached to the housing of the AP 6). The terminal 10 acquires the public key of the AP 6 by photographing the QR code (that is, executes BS). Then, the terminal 10 executes Auth and Config with the AP 6. However, the terminal 10 generates an SC for AP in Config and transmits the SC for AP to the AP 6. Then, the terminal 10 and the AP 6 share a connection key by executing Network Access (hereinafter referred to as "NA") by using the SC for AP, and establish a Wi-Fi connection by using the connection key. Then, the terminal 10 executes BS, Auth, and Config (T25 to T35) with the printer 100. However, the terminal 10 generates a printer SC in Config that does not include the SSID and password of the AP 6, and transmits the printer SC to the printer 100. In this case, the printer 100 and the AP 6 share a connection key by executing NA using the printer SC and the AP SC, and establish a Wi-Fi connection using the connection key. In this modification, the printer SC is an example of "connection information (or first connection information, second connection information)."
[0067] (Variation 2) A Wi-Fi connection may be established between the terminal 10 and the printer 100, without establishing a Wi-Fi connection between the terminal 10 and the AP 6. In this case, the terminal 10 executes the processes of T25 to T35 in FIG. 3, and transmits the SC for the printer to the printer 100 at T35. The terminal 10 and the printer 100 then share a connection key by executing NA using the SC for the printer, and establish a Wi-Fi connection using the connection key. In this variation, the SC for the printer is an example of "connection information (or first connection information, second connection information)". Also, the terminal 10 and the printer 100 are an example of a "pair of devices".
[0068] (Modification 3) A Wi-Fi connection may not be established between the terminal 10 and the AP 6. Instead, a Wi-Fi connection may be established between the printer 100 and the AP 6. In this case, the terminal 10 executes each process from T25 to T35 in FIG. 3, and receives a terminal SC from the printer 100 at T35. Then, the terminal 10 and the AP 6 share a connection key by executing NA using the terminal SC, and establish a Wi-Fi connection using the connection key. In this modification, the terminal 10 and the AP 6 are an example of a "pair of devices." Also, as in this modification, the "target communication (or first target communication, second target communication)" may include receiving connection information (or first connection information, second connection information) from a communication device.
[0069] (Variation 4) The "specific information" is not limited to a URI or a serial number, but may be the model name, MAC address, or the like of the printer 100.
[0070] (Modification 5) The character string 150 indicated by the QR code may be written according to the Bootstrapping Information Format, and does not have to be written according to the ABNF rules.
[0071] (Variation 6) Terminal 10A does not need to be equipped with connection application 41. In this case, printer application 42 identifies public key 170 at T122 in Fig. 4, and does not execute T162. Then, printer application 42 executes communications at T30 and T35 in Fig. 3 using public key 170. In this variation, executing communications at T30 and T35 using public key 170 is an example of a "predetermined process."
[0072] 4 does not have to be data representing the web page 300 itself, but may be data including character strings, images, and the like that constitute the web page 300. In this case, printer application 42 generates web page 300 using the web page data.
[0073] (Variation 8) In the second embodiment of FIG. 6, the server 200 does not have to be provided. In this case, the printer application 42 has the model table 250. Then, instead of T324 to T340 in FIG. 6, the printer application 42 identifies a message corresponding to the serial number 162 from the model table 250 and displays an operation screen including the message. In this variation, the process in which the printer application 42 identifies a message from the model table 250 and displays an operation screen is an example of a "display process." Generally speaking, the "display process" does not have to include sending a web page request to a server, and does not have to include displaying a web page received from a server.
[0074] (Variation 9) The printer application 42 may supply the URI 160 identified in T122 of Fig. 4 to the browser program. In this case, the browser program can execute the processes of T130, T136, and T140. In this variation, the process of supplying the URI 160 to the browser program is an example of a "display process."
[0075] (Variation 10) The "communication device" does not have to be the printer 100, but may be other devices such as a scanner, a multi-function device, a mobile terminal, a PC, or a server.
[0076] (Modification 11) In the above embodiment, the processes in FIGS. 3 to 6 are implemented by software, but at least one of these processes may be implemented by hardware such as a logic circuit.
[0077] The technical elements described in this specification or drawings have technical utility either alone or in various combinations, and are not limited to the combinations described in the claims at the time of filing. In addition, the technologies illustrated in this specification or drawings can achieve multiple objectives simultaneously, and achieving one of these objectives is itself technically useful. [Explanation of symbols]
[0078] 2: communication system, 6: AP, 10A, 10B: terminal, 40, 50: OS, 42: printer application, 52: connection application, 100: printer, 100A: housing, 100B: sticker, 150, 152: character string, 160: URI, 162: serial number, 170, 172: public key, 200: server, 300: web page, 302: message
Claims
1. 1. A communication system comprising: A communication device; A first terminal; a second terminal, The first terminal comprises: A first camera; A first wireless interface for performing wireless communication in accordance with a DPP (abbreviation of Device Provisioning Protocol) method of the Wi-Fi standard; A display unit; A first computer; a first memory storing a first computer program provided by a vendor of the communication device; The first computer program controls the first computer to include the following units: a first acquisition unit that decodes a code image to acquire a character string when the code image is read by the first camera, the character string being described in accordance with a Bootstrapping Information Format and including a public key of the communication device and specific information for displaying an operation screen for the communication device; a display processing execution unit that executes a display process for displaying the operation screen on the display unit by utilizing the specific information included in the acquired character string, the operation screen indicating a change operation for changing a state of the communication device from an impossible state in which wireless communication according to the DPP method cannot be performed to a possible state in which wireless communication according to the DPP method can be performed; a predetermined processing execution unit that executes a predetermined process after the character string is acquired, the predetermined processing being a process for executing a first target communication in accordance with the DPP method with the communication device via the first wireless interface by using the public key included in the acquired character string after the state of the communication device is changed from the impossible state to the possible state due to the change operation shown on the operation screen being executed on the communication device, and the first target communication is a communication for establishing a wireless connection in accordance with the DPP method between a pair of devices; The second terminal comprises: A second camera; a second wireless interface for performing wireless communication according to the DPP method; a second computer; and a second memory that does not store the first computer program, the second memory storing a second computer program that is not provided by the vendor of the communication device; The second computer program controls the second computer to include the following units: a second acquisition unit that, when the code image is read by the second camera, decodes the code image to acquire the character string; a communication execution unit that executes a second target communication with the communication device in accordance with the DPP method via the second wireless interface by using the public key included in the acquired character string after the state of the communication device is changed from the impossible state to the possible state due to the change operation being executed on the communication device without executing the display process using the specific information, and the second target communication is communication for establishing a wireless connection between a pair of devices in accordance with the DPP method. Communication systems.
2. The string is: a first identifier according to the Augmented Backus Naur Form (ABNF) rules; a first character string described in association with the first identifier, the first character string being the public key; a second identifier according to the ABNF rules; and a second character string described in association with the second identifier, the second character string being the specific information; the first computer program of the first terminal is configured to recognize that the second character string identified by the second identifier is the specific information for displaying the operation screen, 2. The communication system of claim 1, wherein the second computer program of the second terminal is configured to be capable of recognizing that the first character string identified by the first identifier is the public key, and is configured not to be capable of recognizing that the second character string identified by the second identifier is the specific information for displaying the operation screen.
3. The communication system further comprises a server; 3 . The communication system according to claim 1 , wherein the display process is a process of receiving web page data for displaying the operation screen from the server and displaying the operation screen on the display unit.
4. the display process includes a process of transmitting a web page request to the server, the web page request destination being a Uniform Resource Identifier (URI) including identification information of the communication device; The server, a server memory for storing, for each of a plurality of types of devices, a message indicating a change operation for changing the state of the device from the disabled state to the enabled state; an extracting unit that extracts, when the web page request is received from the terminal, from the server memory, a specific message corresponding to the communication device identified by the identification information included in the URI; a web page sending unit that sends the web page data including the extracted specific message to the first terminal; The communication system of claim 3 .
5. the first memory further stores the second computer program; 5. The communication system of claim 1, wherein the predetermined process includes supplying the character string to the second computer program in the first memory to cause the second computer program in the first memory to execute the first target communication with the communication device.
6. A first computer program for a terminal, comprising: The terminal includes: Camera and A wireless interface for performing wireless communication in accordance with the DPP (Device Provisioning Protocol) method of the Wi-Fi standard; A display unit; A computer, The first computer program causes the computer to include the following units: an acquisition unit that decodes a code image to acquire a character string when the code image is read by the camera, the character string being described in accordance with a Bootstrapping Information Format and including a public key of a communication device and specific information for displaying an operation screen for the communication device; a display processing execution unit that executes a display process for displaying the operation screen on the display unit by utilizing the specific information included in the acquired character string, the operation screen indicating a change operation for changing a state of a communication device from an impossible state in which wireless communication according to the DPP method cannot be performed to a possible state in which wireless communication according to the DPP method can be performed; a predetermined processing execution unit that executes a predetermined process after the character string is acquired, the predetermined processing being a process for executing target communication with the communication device in accordance with the DPP method via the wireless interface by using the public key included in the acquired character string after a state of the communication device is changed from the impossible state to the possible state due to the change operation shown on the operation screen being executed on the communication device, and the target communication is a communication for establishing a wireless connection in accordance with the DPP method between a pair of devices; and A first computer program that functions as
7. The string is: a first identifier according to the Augmented Backus Naur Form (ABNF) rules; a first character string described in association with the first identifier, the first character string being the public key; a second identifier according to the ABNF rules; and a second character string described in association with the second identifier, the second character string being the specific information; 7. The first computer program according to claim 6, wherein the first computer program is configured to recognize that the second character string identified by the second identifier is the specific information for displaying the operation screen.
8. 8. The first computer program product according to claim 6, wherein the display process is a process for receiving web page data for displaying the operation screen from a server and displaying the operation screen on the display unit.
9. 9. The first computer program according to claim 8, wherein the specific information is a URI (short for Uniform Resource Identifier) indicating a location of the web page data in the server.
10. the specific information is identification information for identifying the communication device, 9. The first computer program according to claim 8, wherein the display process includes a process of generating a Uniform Resource Identifier (URI) indicating a location of the web page data in the server, the URI including the specific information.
11. 11. The first computer program according to claim 8, wherein the display process includes a process of receiving the web page data from the server without using a browser program of the terminal, and a process of displaying the operation screen on the display unit without using the browser program.
12. the terminal comprises a second computer program not provided by a vendor of the communication device; The first computer program of claim 6 , wherein the predetermined process includes supplying the character string to the second computer program to cause the second computer program to execute the target communication with the communication device.
13. The target communication is transmitting an authentication request using the public key to the communication device; receiving an authentication response to the authentication request from the communication device; and transmitting connection information to the communication device; The first computer program according to claim 6 , wherein the connection information is information for establishing the wireless connection in accordance with the DPP method between the pair of devices, which are the communication device and an access point.
14. A communication device, comprising: A wireless interface for performing wireless communication in accordance with the DPP (Device Provisioning Protocol) method of the Wi-Fi standard; A housing on which a sticker showing a code image obtained by encoding a character string is attached, the character string is written in accordance with a Bootstrapping Information Format and includes a public key of the communication device and specific information for displaying an operation screen for the communication device; the specific information included in the character string is a first computer program of a first terminal, the first computer program being provided by a vendor of the communication device, and is utilized to execute a display process for displaying the operation screen on the first terminal; the operation screen indicates a change operation for changing a state of the communication device from an impossible state in which wireless communication according to the DPP method cannot be performed to an possible state in which wireless communication according to the DPP method can be performed; and a first communication execution unit that executes a first target communication according to the DPP method with the first terminal via the wireless interface when the public key included in the character string is used by the first terminal after the state of the communication device is changed from the impossible state to the possible state due to the change operation indicated by the operation screen displayed on the first terminal being executed on the communication device, the first target communication being a communication for establishing a wireless connection according to the DPP method between a pair of devices; a second computer program of a second terminal, the second computer program being configured to execute a second target communication in accordance with the DPP method with the second terminal via the wireless interface when the public key included in the character string is used by the second computer program after the state of the communication device is changed from the impossible state to the possible state due to the change operation being executed on the communication device without the second computer program being provided by the vendor executing the display process using the specific information, the second computer program being configured to execute a second target communication in accordance with the DPP method with the second terminal via the wireless interface when the public key included in the character string is used by the second computer program ... after the state of the communication device is changed from the impossible state to the possible state due to the change operation being executed on the communication device without the second computer program being provided by the vendor executing the display process using the specific information, the second computer program being configured to execute a second target communication in accordance with the DPP method with the second computer program; A communication device comprising:
15. The string is: a first identifier according to the Augmented Backus Naur Form (ABNF) rules; a first character string described in association with the first identifier, the first character string being the public key; a second identifier according to the ABNF rules; and a second character string described in association with the second identifier, the second character string being the specific information; the first character string identified by the first identifier is configured to be recognizable by the second computer program of the second terminal; The communication device described in claim 14, wherein the second character string identified by the second identifier is configured to be recognizable by the first computer program of the first terminal as the specific information for displaying the operation screen, and is configured not to be recognizable by the second computer program of the second terminal as the specific information for displaying the operation screen.
16. The communication device according to claim 14 , wherein the display process is a process of receiving web page data for displaying the operation screen from a server and displaying the operation screen on the first terminal.
17. The communication device according to claim 16 , wherein the specific information is a Uniform Resource Identifier (URI) indicating a location of the web page data in the server.
18. the specific information is identification information for identifying the communication device, 17. The communication device according to claim 16, wherein the display process includes a process of generating a URI (short for Uniform Resource Identifier) indicating a location of the web page data in the server, the URI including a domain of the server that is pre-owned by the first computer program and the identification information that is the specific information.
19. The first target communication is receiving a first authentication request using the public key from the first terminal; sending a first authentication response to the first authentication request; and receiving first connection information from the first terminal; the first connection information is information for establishing the wireless connection in accordance with the DPP method between the pair of devices, which are the communication device and an access point; The second target communication is receiving a second authentication request from the second terminal using the public key; sending a second authentication response to the second authentication request; and receiving second connection information from the second terminal; The communication device according to claim 14 , wherein the second connection information is information for establishing the wireless connection in accordance with the DPP method between the pair of devices, which are the communication device and an access point.
Citation Information
Patent Citations
Communication apparatus
JP2018026698A
Communication system, communication terminal, connection method, and program
JP2018182440A
Printer and computer program for printer
JP2019180039A
Communication device and computer program for communication device
JP2019180040A
Communication device and computer program for communication device
JP2019180042A