The present invention relates a communication device and a Bluetooth communication system capable of executing wireless communication with a communicating party's device through Bluetooth™.
Recently, a system in which a smartphone and a navigation device mounted on a vehicle and the like operate in cooperation with each other has been known. For example, a user is able to set a destination for route guidance executed by the navigation device, by performing a setting operation for a destination on the smartphone. Furthermore, the user is able to transfer audio data stored in the smartphone to the navigation device and thereby reproduce the transferred audio data through an audio unit of the navigation device by conducting an operation for designating the audio data on the navigation device or on the smartphone. Japanese Patent Provisional Publication No. 2012-221392A (hereafter, referred to as “patent document 1”) describes a specific configuration of a system of this type. In the system described in the patent document 1, a navigation device and a smartphone are connected with each other through Bluetooth so as to operate in cooperation with each other.
An example of a connection protocol for letting an application in the smartphone operate on the navigation device while cooperating with the smartphone under a connection environment of Bluetooth will be explained below. The navigation device transmits an SDP (Service Discovery Profile) packet containing an UUID (Universally Unique Identifier) designating an application to be cooperatively executed to, for example, a smartphone detected by ‘Inquiry’. When the navigation device receives a response to the SDP packet from the smartphone, the navigation device establishes a virtual serial port for the application by a SPP (Serial Port Profile) packet. As a result, the application becomes able to operate, via the virtual serial port, under cooperation between the navigation device and the smartphone.
However, only one virtual serial port is allowed to be established for service communication by SPP, etc. Therefore, it was impossible to let a plurality of applications operate simultaneously under cooperation between the navigation device and the smartphone.
The present invention is made in view of the above described circumstances. That is, the object of the present invention is to provide a communication device and a Bluetooth communication system having the communication device capable of letting a plurality of services operate simultaneously under cooperation between a navigation device and a smartphone.
A communication device according to an embodiment of the invention comprises: a free band calculation means that calculates a free band for Bluetooth™ communication based on a condition of communication with a communicating party's device; a service selection means that selects a service which can be assigned to the free band, from among a service group by a Bluetooth profile for making communication with the communicating party's device wireless, based on predetermined service selection information; a service assigning means that assigns the selected service to the free band; and a service control means that controls communication with the communicating party's device for the service assigned to the free band.
Since, according to the embodiment of the invention, a plurality of services by a profile for making communication with a communicating party's device wireless can be assigned to a free band in accordance with a vacancy condition of the band, it becomes possible to let a plurality of services, such as applications, operate cooperatively and simultaneously between the communication device and the communicating party's device.
For example, the communication device further comprises a protocol enabling simultaneously controlling a plurality of Bluetooth profiles for making the communication with the communicating party's device wireless. Selection of a service by the service selection means, assignment of a service by the service assigning means and control for communication of a service by the service control means are performed in accordance with the protocol.
The predetermined service selection information is, for example, information indicating order of priority of services to be assigned to the free band. As an example, the order of priority is order set in accordance with a user operation, predetermined order or order determined based on use frequency of the service.
The service selection means may operate to detect a service available between the communication device and the communicating party's device, and select services from among detected services in decreasing order of priority, to an extent that as many services as possible are assigned to the free band.
When there is no band to which a service by a Bluetooth profile other than a Bluetooth profile for making the communication with the communicating party's device wireless can be assigned, assignment of a service having low order of priority of the services assigned to the free band by the service assigning means may be released, and the service by a Bluetooth profile other than a Bluetooth profile for making the communication with the communicating party's device wireless may be assigned to a region secured by release of the assignment.
In an embodiment of the invention, a band required for transmission may be set for each of services.
The service by a Bluetooth profile for making the communication with the communicating party's device wireless is a service by SPP (Serial Port Profile) or HID (Human Interface Device Profile).
A Bluetooth communication system according to an embodiment of the invention comprises: the above described communication device as a master terminal; and the communicating party's device as a slave terminal.
Since, according to the embodiment of the invention, a plurality of services by a profile for making communication with a communicating party's device wireless can be assigned to a free band in accordance with a vacancy condition of the band, it becomes possible to let a plurality of services, such as applications, operate cooperatively and simultaneously between the communication device and the communicating party's device.
In the following, a Bluetooth communication system according to an embodiment of the invention is explained with reference to the accompanying drawings.
The memory 104 stores various types of programs, such as, an initial program loader and a main program, and various types of data for processing by the navigation ECU 102. Immediately after power-on of the navigation device 10, the navigation ECU 102 executes the initial program loader stored in the memory 104, and initializes respective hardware units. Then, the navigation ECU 102 loads the main program stored in the memory 104 onto a predetermined work area, and executes control of the entire navigation device 10 and various types of processing by executing the loaded main program.
For example, the navigation ECU 102 executes rendering for map data read from the memory 104 and displays the map data on the LCD 114, measures a current position (i.e., a current position of the vehicle on which the navigation device 10 is mounted) based on measurement data collected at predetermined time intervals by the GPS receiver 112, and then superimposes the measured vehicle's position on the displayed map. The navigation ECU 102 periodically measures the vehicle's position based on the measurement data, and displays, on the LCD 114, the map which matches the measured vehicle's position. When the vehicle's position deviates from a route, the navigation ECU 102 searches for a route again according to Dijkstra's algorithm. Furthermore, the navigation ECU 102 is able to download the latest map data by periodically connecting to a predetermined map server on the Internet via the network IF 108.
The UI 106 is an operation means which receives an input from a user, and generates a signal corresponding to an operation input and outputs the signal to the navigation ECU 102. As the operation means of this type, various types of UIs including hardware, software or a combination of hardware and software can be cited. Specifically, the UI 106 is mechanical key switches, membrane keys, a GUI (Graphical User Interface) provided under a touch panel environment, a remote controller on which operation leys are provided, or the like.
The audio codec 116 decodes lossy compression type audio data, such as MP3 (MPEG Audio Layer-3), and reproduces the decoded audio data through the speaker 118.
After power-on of the smartphone 20, the CPU 202 executes an initial program loader stored in the memory 204, and initializes respective hardware units. Then, the CPU 202 loads a main program stored in the memory 204 onto a predetermined work area, and executes control of the entire smartphone 20 and various types of processing by executing the loaded main program.
The CPU 202 is able to download contents located on the Internet via the network IF 208 and display the contents on the touch panel 206, for example, by executing a Web browser stored in the memory 204 in accordance with an operation to the touch panel 206 by the user. The Web browser is software capable of interpreting, for example, HTML (Hyper Text Markup Language) 5, CSS (Cascading Style Sheets), Javascript™, etc.
In the memory 204, lossy compression type audio data, such as MP3, is stored. The audio codex 212 decodes the audio data stored in the memory 204, and reproduces the decoded audio data via the speaker 214.
As shown
The RF 302 is a protocol which executes frequency modulation for a signal based on GFSK (Gaussian Frequency Shift Keying) and spread spectrum communication by frequency hopping. The baseband 304 is a protocol which executes establishment of a physical line and transmission and receipt of packets. The LMP 306 is a protocol which executes link control, such as, setting or cutting of a link. The HCI 308 is a communication protocol which exchanges data between a host and a controller, and is positioned at a boundary between hardware and software. In the navigation device 10, upper layers with respect to the HIC 308 are hosts (software parts realized mainly by the navigation ECU 102), and lower layers with respect to the HCI 308 are controllers (hardware parts formed mainly by the Bluetooth IF 110). Similarly, in the smartphone 20, upper layers with respect to the HIC 308 are hosts (software parts realized mainly by the CPU 202), and lower layers with respect to the HCI 308 are controllers (hardware parts formed mainly by the Bluetooth IF 210).
The L2CAP 310 is a protocol which sets a data transmission path (a logical channel) between connected devices. The RFCOMM 312 is a protocol which emulates a transferring function of an RS-232C serial port on the L2CAP 310. The SDP 314 is a protocol which searches for services supported by a communicating party's device on the L2CAP 310. The wireless communication profile control protocol 316 controls SPP and HID (Human Interface Device) (e.g., selection and assignment of services by these profiles, communication control, etc.) by operating on the RFCOMM 312 and the SDP 314.
The profile 318 is, for example, an audio-related profile, such as, A2DP (Advanced Audio Distribution Profile) and AVRCP (Audio/Video Remote Control Profile), and a wireless communication profile, such as, SPP and HID, for making communication with a communicating party's device wireless. The application 320 is, for example, an HTML 5 based application (hereafter, referred to as “HTML 5 application”), a NaviCon™ application, Siri (Speech Interpretation and Recognition Interface) application, a Pandora (Pandora internet radio) application, or a Smart Access™ which is a cloud type Telematics Service.
The navigation device 10 broadcasts an Inquiry packet to detect a slave located within a wireless communication permissible range. In this case, only the smartphone 20 is located within the wireless communication permissible range. Therefore, only the smartphone 20 receives the Inquiry packet, and transmits, as a response, an FHS (Frequency Hop Synchronization) packet to the navigation device 10. The FHS packet is a packet for notifying the master of slave information, and includes BD_ADDR (BLTH address), clock information and the like of its own terminal device.
The navigation device 10 tries to establish connection with the smartphone 20 by transmitting a predetermined HCI command to the BD_ADDR of the received FHS packet. When a connection request by the navigation device 10 is accepted by the smartphone 20 (e.g., when a connection permission is set), synchronization in Piconet between the navigation device 10 and the smartphone 20 is established. When the synchronization in Piconet between the navigation device 10 and the smartphone 20 is established, a physical link is constructed. Construction of a physical link includes, for example, negotiation for authentication and encryption in a baseband layer (a protocol lower than the HCI 308).
After the physical link is established, the navigation device 10 sets an L2CAP channel (a logical channel) for SDP to detect a function or a service which the smartphone 20 has. The navigation device 10 transmits an SDP packet including a predefined service ID as a search key, to the smartphone 20 on the L2CAP channel. The navigation device 10 detects a service (information such as a protocol and a profile) available between the navigation device 10 and the smartphone 20 by receiving a response to the SDP packet from the smartphone 20. After detection of a service by SDP, the navigation device 10 releases the logical channel for SDP.
The navigation device 10 calculates a free band of a data transmission path for the smartphone 20. Two examples of calculation of the free band are explained below.
The calculation example 1 is a case where setting is made to reproduce audio data stored in the smartphone 20 through the navigation device 10. In this case, it is necessary to set a logical channel (hereafter, referred to as “audio-related channel”) for an audio-related profile, such as, A2DP and AVRCP, between the navigation device 10 and the smartphone 20 in order to transmit audio data between the navigation device 10 and the smartphone 20. A required band for the audio-related channel can be calculated from, for example, a bit rate. In this embodiment, the navigation device 10 stores, as information on a required band for an audio-related channel, a value calculated based on the maximum bit rate supported by an audio file format. The navigation device 10 obtains a free band by subtracting the above described value (the required band for the audio-related channel) from the entire band of the data transmission path for the smartphone 20.
The calculation example 2 is a case where setting is made not to reproduce audio data stored in the smartphone 20 through the navigation device 10. In this case, the entire band for the smartphone 20 based on the Bluetooth standard is assigned to the free band.
In the above described two examples, the free band is calculated based on a predictable communication condition. In another example, the free band may be calculated by monitoring traffic for a predetermined period of time. Since, in another example, the free band is based on an actual communication condition, the free band can be calculated more accurately.
The navigation device 10 selects a service to be assigned to the free band calculated in step S13 (calculation of free band) in
For example, as a service to be selected, an HTML 5 application, a NaviCon application, a Siri application, a Pandora application, a Smart Access application, and a file transfer are cited. The SPP mainly plays a role to transmit graphics (an image) of an application, and the HID mainly plays a role to transmit UI-related control signals of an application. Basically, a band required for transmission differs depending on each service. For example, since the HTML 5 application and the Siri application treat a large amount of information, the HTML 5 application and the Siri application need a wide band. The NaviCon application, the Pandra application and the Smart Access application treat a smaller amount of information relative to, for example, the HTML 5 application, the band required by the NaviCon application, the Pandra application and the Smart Access application is narrow (note that the size of the information is presented here only for convenience of explanation and is merely an example). Therefore, a required band for transmission is set for each of services.
The predetermined service selection information is information indicating the order of priority of services to be assigned to the free band, and is defined by the wireless communication profile control protocol 316. Services are assigned to the free band in accordance with the order of priority (the service selection information) to the extent that as many services as possible are assigned to the free band. As a tendency, as the order of priority of a service having a large amount of information becomes higher, the total number of services which can be assigned to the free band decreases. As the order of priority of a service having a small amount of information becomes higher, the total number of services which can be assigned to the free band increases. Therefore, there is a case where only one service can be assigned to the free band and a case where the number of services which can be assigned to the free band is more than ten.
As an example, let us consider a case where the order of priority 1 to 10 are respectively assigned to services (applications) A to J by the wireless communication profile, and an application A (the order of priority: 1st place), an application C (the order of priority: 3rd place), an application E (the order of priority: 5th place), an application F (the order of priority: 6th place) and an application H (the order of priority: 8th place) are detected as applications which can be used between the navigation device 10 and the smartphone 20. In this case, of the detected five applications, services are selected in the order of decreasing priorities to the extent data as many services as possible are assigned to the free space.
The order of priority of services is, for example,
The navigation device 10 registers the service selected in step S14 (selection of service) in
In the example shown in
The foregoing is the explanation about the embodiment of the invention. Embodiments according to the invention are not limited to the above described examples, and various types of variations can be made within the scope of the technical concept of the invention. For example, embodiments may include examples and variations described herein by way of illustration or modifications thereof combined in an appropriate manner.
For example, in a period of time when the audio data stored in the smartphone 20 is not reproduced through the navigation device 10, a band for the audio profiled is substantially unnecessary. Therefore, in another embodiment, the entire band for the Bluetooth standard is constantly calculated as the free space without change in step S13 (calculation of free band) in
Let us consider a case where, in the example of
In the above described embodiment, a free band s calculated and the calculated free band is registered; however, in another embodiment, the number of executable services may be increased by narrowing the band of each service.
Number | Date | Country | Kind |
---|---|---|---|
2013-093492 | Apr 2013 | JP | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2014/054864 | 2/27/2014 | WO | 00 |