Abstract:
When a wireless connection is to be formed between a PDA  1,  for example, and a printer  11,  for example, the user of the PDA  1  causes it to read a code  13,  e.g., a barcode, from the printer  11  so that the PDA  1  can identify the printer  11  in a list  20  of discovered neighbouring devices and, consequently, send appropriate connection set up signals to the printer  11  rather than inadvertently to some other device.

Description:
FIELD OF THE INVENTION  
         [0001]    The present invention relates to wireless communication.  
         BACKGROUND TO THE INVENTION  
         [0002]    Devices implementing the Bluetooth standard have recently begun to appear. Bluetooth provides a common standard by which devices, such as PDAs (Personal Digital Assistants), mobile phones, printers, etc., can communicate with each other wirelessly. Bluetooth uses radio signals in the 2.4 GHz Industrial-Scientific-Medical band.  
           [0003]    Bluetooth has a weakness in that problems arise in discovering an intended recipient for a communication in a crowded environment, such as a conference where many people are exchanging electronic business cards or on a commuter train where many people have Bluetooth connections between mobile phone or music playing devices and ear phones. A Bluetooth device must perform a time-consuming discovery operation which will actually locate every Bluetooth device in the local environment. The user is then provided with a bewildering list of devices from which he must select the correct device.  
           [0004]    It is an aim of the present invention to solve the afore-mentioned problem of Bluetooth and similar systems.  
         SUMMARY OF THE INVENTION  
         [0005]    According to the present invention, there is provided a method of establishing a wireless connection between two devices, the method comprising storing in a first device a list of ids of connectable devices, using the first device to read an external code from a second device, selecting an id from said list in dependence on said read code and sending connection establishing signals to the second device in response to said selection.  
           [0006]    According to the present invention, there is also provided a device including code reading means, wireless communication means and processing means programmed to cause the device to perform a method according to the present invention.  
           [0007]    According to the present invention, there is further provided a device including wireless communication means, processing means for controlling the wireless communication means for wireless networking with other devices, a memory storing a device id and an external code corresponding to said device id.  
           [0008]    The code is conveniently an optical barcode. It should be appreciated that the term “code” used herein does not exclude markings that are intelligible to humans. For instance, a human can easily learn to read a written representation of Baudot code, which was of course designed for machine-to-machine communication.  
           [0009]    The code need not be permanently readable. For instance, the code may be a pattern produced on an LCD which would disappear in the event of the device bearing it being switched off or becoming inoperative due to a failure.  
           [0010]    Advantageously, the code includes a device type identifying part. This can be used for automatically configuring the first device. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0011]    [0011]FIG. 1 is a block diagram of a device according to the present invention;  
         [0012]    [0012]FIG. 2 illustrates a piconet;  
         [0013]    [0013]FIG. 3 shows the display of the device of FIG. 1 during connection to another device;  
         [0014]    [0014]FIG. 4 is a flowchart illustrating the device of FIG. 1 operating according to the present invention; and  
         [0015]    [0015]FIG. 5 is a flowchart illustrating the operation of a second device according to the present invention. 
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT  
       [0016]    Embodiments of the present invention will now be described, by way of example, with reference to the accompanying drawings.  
         [0017]    Referring to FIG. 1, an electronic device  1 , which may be a PDA, a mobile phone, or other device, comprises a processor  2 , RAM  3 , ROM  4 , display circuitry  5  including a display  9 , user input circuitry  6 , an rf subsystem  7  and a barcode reader subsystem  8  interconnected by a bus  10 . The device  1  may have additional circuits and mechanical elements (not shown) which are required for its particular function, e.g. signal processing in the case of a mobile phone and a printing engine in the case of a printer.  
         [0018]    The ROM  4  contains Bluetooth routines for controlling communication using the rf subsystem  7  which are accessible to programs being run by the processor  2  via an API.  
         [0019]    The rf subsystem  7  comprises transceiver circuitry, including a local oscillator, and a controller for controlling the transceiver circuitry in response to commands from the processor  2 . The transceiver is adapted for frequency hopping transmission and reception according to the Bluetooth specification.  
         [0020]    Referring to FIG. 2, the device  1  can connect with other Bluetooth enabled devices, in this case a printer  11  and a mobile phone  12  to form a “piconet”. The printer  11 , the mobile phone  12  and the device  1  have respective barcodes  13 ,  14 ,  15  on their outer surface. The bar codes  13 ,  14 ,  15  represent the Bluetooth Device Addresses for the printer  11 , the mobile phone  12  respectively and the device  1 .  
         [0021]    Bluetooth devices perform a discovery operation to locate other Bluetooth devices in their neighbourhood and add discovered devices to an internally stored list.  
         [0022]    Referring to FIG. 3, when the user of the device  1 , which is a PDA in this case, wishes to print using the printer  11 , the user is presented by the PDA with a list  20  of the Bluetooth Device Addresses of discovered Bluetooth devices on the display  9 . If the user knows the Bluetooth Device Addresses of the printer  11 , the user can manually select the appropriate entry in the list  20  so that the device  1  can form a piconet with the printer  11 .  
         [0023]    Referring to FIG. 4, if the user does not know the Bluetooth Device Address of the printer  11 , the user can approach the printer  11  and using software in the ROM  4  activate the barcode reader subsystem  8  to read the barcode  13  from the printer  11  (step s 1 ). The device&#39;s processor  2  then searches the members of the list  20  for a match (steps s 2 , s 3  and s 4 ) and, if one is found (step s 2 ), sets up a piconet connection with the device identified by the match, i.e. the printer  11  (step s 5 ) by sending connection establishing signals to the printer  11 . If a match is not found in the list, an error is signalled to the user (step s 6 ).  
         [0024]    Barcodes have been given in the foregoing as an example of machine-readable indicia. It will be appreciated that other forms of optically readable codes or symbols and magnetic codes could be used.  
         [0025]    It will be appreciated that the list  20  need not be displayed and that codes may be read from devices whenever a connection is required to be established.  
         [0026]    In a second embodiment, the barcode is extended to include a device id code, comprising a type part and a model part. For instance, the barcode  13  on the printer  11  would comprise the printer&#39;s Bluetooth Device Address and a code identifying it as a printer of “Thingamyjig 2000” type. The code identifying the device type can then be used by the connecting device  1  to configure itself, e.g. selecting the appropriate driver for the printer being connected to. Another example, would be to start appropriate processing software. For example, a code identifying a device as a video camera would cause the device reading the code to start video display software in preparation for receiving video signals from the camera.  
         [0027]    Referring to FIG. 5, the process of finding the Bluetooth Device Address from the barcode in the list  20  (steps s 1  to s 6 ) are the same as in the previous embodiment. However, if the Bluetooth Device Address is found in the list  20 , the connecting device&#39;s processor  2  searches (steps s 7 , s 8  and s 9 ) an internally stored list of device type codes for a match with that from the barcode. If no match is found (step s 8 ) the process is exited. However, if a match is found (step s 7 ), the processor  2  searches (steps s 10 , s 11  and s 12 ) a list of known models of devices of the identified type. If a match is found (step s 10 ) or no match is found (step s 11 ), the process moves onto a configuration step (step s 13 ). In the configuration step, the processor  2  identifies any device type and, if relevant, model specific actions to be performed, e.g. driver selection or application program execution, and performs these actions. Following the start of step s 13 , the processor  2  proceeds to set up the piconet connection (step s 14 ).  
         [0028]    It will be appreciated that many modifications may be made to the embodiments described above.