The present disclosure relates to apparatuses, systems, and methods for establishing communication between electronic devices.
Many electronic devices are capable of communicating with each other, and various communication protocols have been established to enable this communication. Bluetooth Classic, for example, is one such protocol intended for short-range, or local, communication between devices. It has seen widespread adoption particularly with portable electronics such as mobile phones. In Bluetooth Classic, data is divided into a plurality of packets, which is then transmitted over one of 79 designated Bluetooth frequency channels within the 2.4 GHz band.
Bluetooth Low Energy has more recently emerged as an alternative or companion to Bluetooth Classic. Bluetooth Low Energy employs a Universal Unique ID (“UUID”) as the key by which to connect devices. As long as both devices share this UUID, they may connect to each other. Compared to Bluetooth Classic, power consumption of Bluetooth Low Energy is significantly reduced, but so is the amount of data that is intended to be transmitted therethrough. Bluetooth Low Energy is therefore typically employed for applications that have no need to exchange a great deal of data but are required to operate on battery power for a significant amount of time at minimal cost.
But for electronic devices to communicate with each other, a connection process must first be performed. In the specific context of Bluetooth Classic, for example, part of this connection process is referred to as pairing. To begin pairing two Bluetooth devices, one device must first acknowledge the existence of the other, i.e., one device must be discoverable and the other device must scan and search for that discoverable device. This often requires a substantial amount of interaction on the part of the user of those devices. For example, the user must often physically set one of the Bluetooth-enabled devices so as to be discoverable and the other to be in discovery or scanning mode. This input can be performed manually and/or by voice, but either way it often requires the user to operate the two devices in sequence. Thereafter, the user may be required to identify the discoverable device from a list of discovered devices presented on the scanning device. The discovery process is then complete and the pairing process may begin.
As part of this pairing process, the two devices thereafter exchange a security key to encrypt their communications and make them secure. This exchange can be accomplished in multiple ways depending on, say, user preference or the display and input capabilities of the devices. It may be accomplished, for example, by a numerical comparison, in which the user is required to confirm that keys on both devices are the same. It may also be accomplished by way of a passcode entry, in which the user is required to enter a passcode on one of the two devices. Or the two devices may employ a Just Works method, typically reserved for devices without user input capabilities, in which no key or passcode need be exchanged by the user.
So as can be seen, current connection processes of electronic devices require a substantial amount of user intervention. Not only is the user often required to physically input information, but this user may be required to make certain decisions at specific stages of the connection process to ensure that it is performed successfully. This can be problematic because a successful connection between devices thus depends on the level of the user's understanding of and familiarity with the technology. And even if the devices themselves provide text or voice prompts in the attempt to guide the user through the process, misinterpretation or non-observance of that guidance by the user can lead to failure of the devices to connect to each other. There is thus a need to automate this connection process to reduce or eliminate user intervention and thereby potentially reduce failed connection attempts and user frustration.
There may thus be provided, according to one or more aspects of the present disclosure, an electronic device that comprises a communication device for communicating with an external server; local communication modules for communicating with another electronic device; and at least one controller. The at least one controller may be specifically configured to receive from the external server a universal unique ID (UUID) that is also sent by the server to the other electronic device; connect, by way of a first communication protocol of the local communication modules, with the other electronic device to which was sent the UUID; and while connected by the first communication protocol, connect to the other electronic device by way of a second communication protocol of the local communication modules.
Other aspects of the present disclosure may include a system comprising a first electronic device and a second electronic device. The first electronic device may in turn comprise a communication device for communicating with an external server; local communication modules; and at least one controller specifically configured to: send to the server an identifier; receive from the server, in response to the identifier, a universal unique ID (UUID); and announce the UUID by way of a first communication protocol of the local communication modules. The second electronic device may comprise a communication device for communicating with the external server; local communication modules; and at least one controller specifically configured to: transmit to the server a request for the UUID, the request including the identifier that is shared by the first electronic device; receive from the server, in response to the request, the UUID that is also sent by the server to the first electronic device; search for devices having the UUID by way of the first communication protocol; and determine if the UUID of the first electronic device matches the UUID of the second electronic device. The controllers of the first and second electronic devices may be further configured to connect the first and second electronic devices by way of the first communication protocol if the UUID of the first electronic device is determined to match that of the second electronic device. The at least one controller of the first electronic device may be yet further configured to send data to the second electronic device by way of the first communication protocol. And in response to receiving the data from the first electronic device by way of the first communication protocol, the at least one controller of the second electronic device may be further configured to make the second electronic device detectable by way of a second communication protocol of the local communication modules.
And yet other aspects of the present disclosure comprise a method of connecting electronic devices, the method comprising: receiving, by a first of the electronic devices and in response to the first electronic device sending an identifier to an external server, a universal unique ID (UUID) from the server; receiving, by a second of the electronic devices and in response to the second electronic device sending a request transmitting the identifier to the server, the UUID from the server; announcing, by the first electronic device, the UUID over a first communication protocol; determining, by the second electronic device, if the UUID of the first electronic device matches the UUID of the second electronic device; connecting the first and second electronic devices by way of the first communication protocol if the UUID of the first electronic device is determined to match that of the second electronic device; sending data from the first electronic device to the second electronic device by way of the first communication protocol; and in response to receiving the data from the first electronic device by way of the first communication protocol, making the second electronic device detectable by way of a second communication protocol.
These and other non-limiting aspects of the present disclosure will be described with reference to the following detailed embodiments and accompanying drawings.
The device 10 may be, for example, a mobile telephone, smartphone, or other portable electronic device able to be carried by a user. And the device 20 may be a radio or other infotainment system installed or installable in a vehicle such as an automobile. However, the specific constitution of the devices 10, 20 is not limited. They may be, for example, any electronic device or machinery with wireless communication capability.
The local communication modules 140 may include individual modules capable of establishing the local communication 2 with the electronic device 20 in the vicinity of the first electronic device 10. For example, these local communication modules may include as a first local communication module a Bluetooth Low Energy Module 142 and a Bluetooth Classic Module 144 as a second local communication module. Each of these modules may include the necessary hardware, e.g., processor, memory, and associated circuitry, and software necessary to perform communication by way of Bluetooth Low Energy and Bluetooth Classic, respectively. Settings for these modules 142 and 144, e.g., whether ON or OFF, may be controlled by way of Bluetooth setting instructions 116 stored in the memory 110. Bluetooth Low Energy and Bluetooth Classic may respectively serve as non-limiting examples of a first communication protocol and a second communication protocol.
The local communication modules 240 may include individual modules capable of establishing the local communication 2 with the electronic device 10 when located in the vicinity of the first electronic device 10. For example, the local communication modules may include as a first local communication module a Bluetooth Low Energy Module 242 and a Bluetooth Classic Module 244 as a second local communication module. Each of these modules may include the necessary hardware, e.g., processor, memory and associated circuitry, and software necessary to perform communication by way of Bluetooth Low Energy and Bluetooth Classic, respectively. Settings for these modules 242 and 244 may be controlled by way of Bluetooth setting instructions 214 stored in the memory 210.
In a first step 410 shown in
At step 430, the first electronic device 10 may transmit, by way of the communication device 120 and the network 1, an identifier or ID 118 stored in the memory 110 to the server 30. This identifier 118 may be shared by the second electronic device 20, and it may be associated with the vehicle within which the electronic device 20 may be provided. For example, the identifier 118 may be the Vehicle Identification Number (“VIN”) of that vehicle or automobile. The identifier 118 may be entered into the first electronic device 10 by way of the input device 130. It can be entered, say, by user input on a keyboard or touchscreen or through image recognition by which a camera of the first electronic device 10 takes an image of, e.g., a barcode or other object, to obtain the identifier 118. To transmit the identifier 118, the device 10 may place an HTTP call using the HTTP protocols 114 to POST the identifier to the server 30.
At step 610 shown in
At step 510 shown in
The electronic device 10, in step 440, may then announce the acquired UUID 316 by using the local communication modules 140. In the context of this specific non-limiting example, the controller 100 may cause the Bluetooth Low Energy module 142 to advertise the UUID 316 by way of Bluetooth Low Energy. At step 520, the electronic device 20 may simultaneously search using its local communication modules 240 for other devices broadcasting the UUID 316. In the context of this specific non-limiting example, the controller 200 may cause the Bluetooth Low Energy module 242 to scan for the UUID 316 by way of Bluetooth Low Energy. And at step 530, the controller 200 may determine whether the UUIDs respectively stored in the memories 110 and 210 of the devices 10, 20 are matched. If they are not matched, scanning for the UUID 316 may continue by the second electronic device 20. But if the UUIDs are determined to match, connection between the devices 10 and 20 may be established at steps 450 and 540 by way of Bluetooth Low Energy.
The controller 100, based on instructions from the application 112, may then create a service using the UUID 316 as the key to communicate with the device 20 over Bluetooth Low Energy. At step 460, this service may be used as a conduit to transfer data from the electronic device 10 to the electronic device 20 and for the device 20 to alert the device 10 of that data's receipt. For example, this data may be the user profile data sent by the server 30 or it may be other device configuration data that contains user preferences for operating the electronic device 20. It could be, say, user-preferred channel presets, preferred seat positioning, mirror positioning and climate control settings, and/or paid service subscription information. Under the control of the application 112, the controller 100 may segment this transferred data into a plurality of parts of, say, a few KBs each, and transmit these parts in sequence to the device 20. For each data part received, the device 20 may return to the device 10 a response notification, upon receipt of which the controller 100 may send the next available data part until all parts of the data are sent. Bluetooth Low Energy thus provides an initial opportunity to transmit relatively large amounts of data between the devices 10 and 20. In the context of this specific non-limiting example, in which data may be transmitted to and stored in the memory 210, the electronic device 20 can thus be easily and effortlessly configured to a user's liking with only minimal, if any, intervention by that user.
The electronic device 20 may receive the data transmitted from the device 10 over Bluetooth Low Energy at step 550. And because of that receipt, the controller 200 may access at step 560 the Bluetooth setting instructions 214 to turn on the second communication module to make the electronic device 20 detectable by way of the second communication protocol. In the context of this specific non-limiting example, the processor 200 accesses the Bluetooth Classic Module 244 to make the device 20 discoverable by way of Bluetooth Classic. Receipt of the data transmitted from the electronic device 10 over Bluetooth Low Energy may thus cause the device 20 to make itself discoverable. And at steps 470 and 570, the electronic devices 10 and 20 connect to each other by way of the second communication protocol.
As another non-limiting possibility, the device name may be included in the user profile data sent from the server 30 to the device 10 along with the UUID 316. If no such device is found, the scanning process may continue. Also prior to the pairing step 730, and under the control of the application 112, the Bluetooth setting instructions 214 may be set so that the device type of the electronic device 20 is NO INPUT/NO OUTPUT. This may occur even if the electronic device 20 has input/output capabilities such as, e.g., a touchscreen or keyboard. As previously mentioned, the process of pairing Bluetooth Classic devices may differ depending on the capabilities of the devices to be connected. Because the type of the electronic device 20 is set to NO INPUT/NO OUTPUT, the Just Works pairing method may be employed and a confirmation screen may not be displayed on the output device 235 during the pairing process. This may further limit required user interaction and thus avoid additional user confusion and frustration. Then at step 740, the paired devices 10 and 20 connect to each other by way of Bluetooth Classic.
According to the above description, devices, a system, and associated method are provided by which two electronic devices may be connected to each other to communicate. As discussed previously, by using a first communication protocol such as Bluetooth Low Energy, connection using a second protocol such as Bluetooth Classic may be achieved. Bluetooth Low Energy is particularly advantageous because it does not require prior pairing to exchange information between the devices. Further, using a low-energy-consuming protocol such as Bluetooth Low Energy may be used to help establish communication with one that uses more energy, thus potentially improving battery life of the device. Further, the connection can be accomplished with minimal or no user intervention. This has the potential to reduce failures of the connection process as well as user frustration.
While the disclosure has been presented in conjunction with exemplary embodiments, these embodiments should be viewed as illustrative, not limiting of the present invention. Indeed, various modifications, substitutions, or the like are possible within the spirit and scope of the invention. For example, although Bluetooth Low Energy and Bluetooth Classic have been provided as specific examples of the first and second communication protocols, others may be employed. Indeed, the second communication protocol may be any wireless communication protocol that requires pre-configuration in order to connect electronic devices. It may be, for example, Wi-Fi, in which context the communication devices 10 and 20 may be any Wi-Fi-capable device. Because Wi-Fi requires searching, discovery, and password confirmation to exchange information between the two devices to be connected, the above process may be advantageous. The first communication protocol may alternatively be near-field communication (“NFC”). Further, although HTTP has been provided as an exemplary mechanism through which the devices 10, 20 communicate with the server 30, the present invention is not so limited. Other mechanisms include FTP, HTTPS, SFTP, and WS. And although the various steps of the processes 400, 500, 600, and 700 are described as being performed by a controller, each of these steps may be performed by its own functional unit implemented by, e.g., a dedicated system such as an Application Specific Integrated Circuit (“ASIC”).