Method for making a host personal computer act as an accessory in bluetooth piconet

Information

  • Patent Grant
  • 9906893
  • Patent Number
    9,906,893
  • Date Filed
    Thursday, June 16, 2016
    8 years ago
  • Date Issued
    Tuesday, February 27, 2018
    6 years ago
Abstract
A method for making a PC act as an accessory device in BLUETOOTH piconet is disclosed. The method includes the steps of: a) providing a BLUETOOTH adapter; b) connecting the BLUETOOTH adapter to the personal computer (PC) with a software program running in an application level; c) installing a custom BLUETOOTH adapter bus driver to be accessed and operated solely by the software program; d) implementing all necessary BLUETOOTH software stack above and including a BLUETOOTH Host to Controller Interface (HCI) profile; and e) the PC serving as a slave device.
Description
BACKGROUND OF THE INVENTION
1. Technical Field

The invention relates to wireless communication between a host computer and peripherals, particularly to connection between BLUETOOTH devices.


2. Related Art

BLUETOOTH is a wireless technology standard for exchanging data over short distances (using short-wavelength UHF radio waves in the ISM band from 2.4 to 2.485 GHz) from fixed and mobile devices, and building personal area networks (PANs). It can connect several devices, overcoming problems of synchronization.


BLUETOOTH is a packet-based protocol with a master-slave structure. One master may communicate with up to seven slaves in a piconet. BLUETOOTH is defined as a layer protocol architecture consisting of core protocols, cable replacement protocols, telephony control protocols, and adopted protocols. Mandatory protocols for all BLUETOOTH stacks are: LMP (Link Management Protocol), L2CAP (Logical Link Control and Adaptation Protocol) and SDP (Service Discovery Protocol). In addition, devices that communicate with BLUETOOTH almost universally can use these protocols: HCI (Host to Controller Interface) and RFCOMM (Radio Frequency Communications).


According to the BLUETOOTH specification, when a personal computer (PC), such as a desktop or a laptop computer, is connected with one or more external devices through BLUETOOTH, the PC generally serves as a BLUETOOTH host device and the external devices serve as BLUETOOTH accessory devices. In other words, a PC itself cannot be a Bluetooth accessory of other Bluetooth device. For example, when a smartphone is connected to a PC through BLUETOOTH, the keyboard, mouse, speaker, and microphone of the PC cannot be used by the smartphone.


To remove this restriction, a common solution is to replace all inherent drivers of the peripherals of the PC with proprietary drivers in a driver level. The proprietary driver will implement the Bluetooth software stack to make the PC serve as Bluetooth accessory for other Bluetooth device such as smart phone. Since the inherent Bluetooth software stack in driver level is replaced and cannot coexist with proprietary driver, some features or API provided by computer OS cannot be used. It will result in some Bluetooth applications based on original inherent software stack not working.


SUMMARY OF THE INVENTION

An object of the invention is to provide a method for making a host personal computer as an accessory in a BLUETOOTH piconet, which can automatically change a BLUETOOTH host PC to act as a BLUETOOTH accessory device. The method proposed in this invention is to connect another Bluetooth adapter to PC and implement Bluetooth software stack in application level on top of the adapter to let PC play Bluetooth accessory role. With this approach, the inherent Bluetooth software stack provided by OS can still work and normally make PC play Bluetooth host role. Therefore, the PC can play both Bluetooth host and accessory roles simultaneously and smoothly.


To accomplish the above object, the method for making a host personal computer as an accessory in BLUETOOTH piconet of the invention includes the steps of:


a) providing a BLUETOOTH adapter;


b) connecting the BLUETOOTH adapter to a personal computer (PC) with a software program running in application level;


c) installing a custom BLUETOOTH adapter bus driver to be accessed and operated solely by the software program;


d) implementing all necessary BLUETOOTH software stack above and including Bluetooth HCI profiles; and


e) the PC serving as a BLUETOOTH accessory device.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a schematic view of hardware arrangement of the invention; and



FIG. 2 is a flowchart of the method of the invention.





DETAILED DESCRIPTION OF THE INVENTION

Please refer to FIG. 1. The invention provides a method for making a host personal computer act as a BLUETOOTH accessory in a BLUETOOTH piconet. The method is applied between a personal computer (PC) 2 and a BLUETOOTH device 1. The PC 2 may be a desktop computer or a laptop computer with at least one USB (universal serial bus) port, UART (universal asynchronous receiver/transmitter) port, or SDIO (Secure Digital Input Output) port. The BLUETOOTH device 1 may be a smartphone or tablet computer with a BLUETOOTH function. Of course, the PC 2 is provided with peripherals such as a speaker 21, a microphone 22, a keyboard 23, and a mouse 24.


Please refer to FIG. 2, which shows a flowchart of the method of the invention. In step S1, a BLUETOOTH adapter 3 is provided. The BLUETOOTH adapter 3 is provided with a USB interface, a UART interface, or an SDIO interface for connecting a corresponding port of the PC 2. In general, the BLUETOOTH adapter 3 will be a dongle when it has a USB interface. The BLUETOOTH adapter 3 is provided with a BLUETOOTH function. In step S2, the BLUETOOTH adapter 3 is connected to a corresponding port of the PC 2 and is installed with a software program. The software program is running in an application level. In step S3, the software program installs a custom BLUETOOTH adapter bus driver to access and operate solely by itself. In step S4, the software program implements all necessary BLUETOOTH software stack above and including the HCI (Host to Controller Interface) profiles.


While each implementation has specific requirements that are detailed in the BLUETOOTH specification, the BLUETOOTH core system architecture has many consistent elements. The system includes an RF transceiver, baseband and protocol stacks that enable devices to connect and exchange a variety of classes of data.


The BLUETOOTH device 1 exchanges protocol signaling according to the BLUETOOTH specification. Core system protocols are the radio (RF) protocol, link control (LC) protocol, link manager (LM) protocol and logical link control and adaptation protocol (L2CAP), all of which are fully defined in the BLUETOOTH specification.


The lowest three system layers—the radio, link control and link manager protocols—are often grouped into a subsystem known as the BLUETOOTH controller. This is a common implementation that uses an optional standard interface—the Host to Controller Interface (HCI)—that enables two-way communication with the remainder of the BLUETOOTH system, called the BLUETOOTH host. The step S4 implements all necessary BLUETOOTH software stack above and including the HCI, namely, the logical link control and adaptation protocol (L2CAP), the RFCOMM (Radio Frequency Communications) and the SDP (Service Discovery Protocol).


The BLUETOOTH application profiles include, but not limited to, HID (human interface device), HFP (Hand-Free Profile), A2DP (Advanced Audio Distribution Profile), and BLE (BLUETOOTH low energy). All the mentioned software stack is implemented in an application level instead of a driver level.


Finally, in step S5, the PC 2 is switched to serve as a BLUETOOTH accessory device in the piconet after step S4 and can be used to wirelessly connect other BLUETOOTH devices. As a result, the peripherals of the PC 2, such as the speaker 21, the microphone 22, the keyboard 23, and the mouse 24 can become accessory devices of the BLUETOOTH device 1.


In sum, by the method of the invention, a personal computer 2 can be automatically and stably switched to serve as an accessory device in a BLUETOOTH piconet. This is very helpful for those users who connect their handheld computers to a personal computer through BLUETOOTH.


It will be appreciated by persons skilled in the art that the above embodiment has been described by way of example only and not in any limitative sense, and that various alterations and modifications are possible without departure from the scope of the invention as defined by the appended claims.

Claims
  • 1. A method for making a personal computer act as an accessory in BLUETOOTH piconet, comprising: a) providing a BLUETOOTH adapter;b) connecting the BLUETOOTH adapter to the personal computer (PC) with a software program running in an application level;c) installing a custom BLUETOOTH adapter bus driver to be accessed and operated solely by the software program;d) implementing all necessary BLUETOOTH software stack above and including a BLUETOOTH Host to Controller Interface (HCI) profile; ande) the PC serving as a slave device, wherein the slave device is adapted to be an accessory device for a handheld computer, wherein the PC plays both Bluetooth host and accessory roles simultaneously.
  • 2. The method of claim 1, wherein the BLUETOOTH adapter has a USB (universal serial bus) interface, UART (universal asynchronous receiver/transmitter) interface, or SDIO (Secure Digital Input Output) interface.
  • 3. The method of claim 2, wherein the BLUETOOTH adapter is a dongle when it has a USB interface.
  • 4. The method of claim 1, wherein step d) further comprises implementing a plurality of protocols, wherein the protocols comprise, an L2CAP (logical link control and adaptation protocol), an RFCOMM (Radio Frequency Communications) and an SDP (Service Discovery Protocol).
  • 5. The method of claim 1, wherein step d) further comprises implementing a plurality of BLUETOOTH application profiles, wherein the BLUETOOTH application profiles comprise, an HID (human interface device), HFP (Hand-Free Profile), A2DP (Advanced Audio Distribution Profile), and BLE (BLUETOOTH low energy).
US Referenced Citations (117)
Number Name Date Kind
7003102 Kiko Feb 2006 B2
7047051 Sackett May 2006 B2
7165171 Zhang Jan 2007 B2
7215649 Yu May 2007 B2
7269183 Morris Sep 2007 B2
7436300 Glass Oct 2008 B2
7506148 Zhang Mar 2009 B2
7596353 Chung Sep 2009 B2
7599662 Ibrahim Oct 2009 B2
7774027 Parikh Aug 2010 B2
7801561 Parikh Sep 2010 B2
8014339 Moore Sep 2011 B1
8050647 Ibrahim Nov 2011 B2
8073388 Grushkevich Dec 2011 B2
8095078 Benkert Jan 2012 B2
8190716 Zhodzishsky May 2012 B2
8208854 Winter Jun 2012 B2
8224247 Kidron Jul 2012 B2
8249649 Tseng Aug 2012 B2
8287434 Zavadsky Oct 2012 B2
8346170 Preston Jan 2013 B2
8554138 Higgins Oct 2013 B2
8620379 Zhodzishsky Dec 2013 B2
8700089 Tseng Apr 2014 B2
8761671 Singer Jun 2014 B2
8798541 Scott Aug 2014 B1
8862399 Schmidt Oct 2014 B2
8892175 Kirsch Nov 2014 B2
8897764 Takikawa Nov 2014 B2
8942632 Shen Jan 2015 B2
8976724 Hauser Mar 2015 B2
9049042 Tagg Jun 2015 B2
9144094 Bhamidipati Sep 2015 B2
9189182 Jung Nov 2015 B2
9229854 Kuzmin Jan 2016 B1
9237217 Zeung Jan 2016 B2
9306872 Donaldson Apr 2016 B2
9383772 Zeung Jul 2016 B2
9544718 Song Jan 2017 B2
9710377 Kuzmin Jul 2017 B1
20020012329 Atkinson Jan 2002 A1
20030013411 Uchiyama Jan 2003 A1
20030068033 Kiko Apr 2003 A1
20030087681 Sackett May 2003 A1
20040070488 Stockhammer Apr 2004 A1
20040198219 Malmstrom Oct 2004 A1
20040230790 Zhang Nov 2004 A1
20050083741 Chang Apr 2005 A1
20050107103 Melpignano May 2005 A1
20050152294 Yu Jul 2005 A1
20050181729 Ibrahim Aug 2005 A1
20050197064 Ibrahim Sep 2005 A1
20050286466 Tagg Dec 2005 A1
20060025075 Chung Feb 2006 A1
20060068760 Hameed Mar 2006 A1
20060105712 Glass May 2006 A1
20060116107 Hulvey Jun 2006 A1
20070150560 Zhang Jun 2007 A1
20070173270 Block Jul 2007 A1
20070211624 Schmidt Sep 2007 A1
20080002758 Schmidt Jan 2008 A1
20080070504 Benkert Mar 2008 A1
20080081559 Parikh Apr 2008 A1
20080081667 Parikh Apr 2008 A1
20080207126 Grushkevich Aug 2008 A1
20080274695 Muth Nov 2008 A1
20080287063 Kidron Nov 2008 A1
20080294340 Schmidt Nov 2008 A1
20080311852 Hansen Dec 2008 A1
20090061775 Warren Mar 2009 A1
20090204964 Foley Aug 2009 A1
20090318081 Winter Dec 2009 A1
20100009673 Ibrahim Jan 2010 A1
20100197326 Ngo Aug 2010 A1
20100284380 Banerjee Nov 2010 A1
20100328216 Honda Dec 2010 A1
20110034125 Preston Feb 2011 A1
20110034126 Higgins Feb 2011 A1
20110107117 Jung May 2011 A1
20110251021 Zavadsky Oct 2011 A1
20110255454 Hauser Oct 2011 A1
20110320624 Schmidt Dec 2011 A1
20120003973 Tseng Jan 2012 A1
20120142271 Zhodzishsky Jun 2012 A1
20120165062 Preston Jun 2012 A1
20120185071 Kwon Jul 2012 A1
20120203877 Bartholomay Aug 2012 A1
20130010764 Tseng Jan 2013 A1
20130065680 Zavadsky Mar 2013 A1
20130090931 Ghovanloo Apr 2013 A1
20130137415 Takikawa May 2013 A1
20130288606 Kirsch Oct 2013 A1
20140120829 Bhamidipati May 2014 A1
20140297900 Herbert Oct 2014 A1
20140342669 Zeung Nov 2014 A1
20140344494 Zeung Nov 2014 A1
20150024804 Davis Jan 2015 A1
20150223272 Parkinson Aug 2015 A1
20150281853 Eisner Oct 2015 A1
20150281877 Walden Oct 2015 A1
20150365979 Park Dec 2015 A1
20160012465 Sharp Jan 2016 A1
20160014545 Tian Jan 2016 A1
20160037389 Tagg Feb 2016 A1
20160080896 Song Mar 2016 A1
20160119320 Bansal Apr 2016 A1
20160134996 Verma May 2016 A1
20160150105 Shinomiya May 2016 A1
20160184635 Kwon Jun 2016 A1
20160189143 Koeppel Jun 2016 A1
20160249356 Pope Aug 2016 A1
20160262056 Chen Sep 2016 A1
20160277875 Ivanova Sep 2016 A1
20160359925 Song Dec 2016 A1
20160366263 Song Dec 2016 A1
20170006415 Song Jan 2017 A1
20170034646 Song Feb 2017 A1
Related Publications (1)
Number Date Country
20170366923 A1 Dec 2017 US