Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>Just answering the range part of your question...</p> <p>The 10 meter figure for class 2 devices (of which the iPhone is an example) is very much a guideline.</p> <p>The range of a Bluetooth device is limited by many real world factors. The 2.4 GHz radio frequency used by Bluetooth is strongly absorbed by water. For example, consider an iPhone connected to a Bluetooth mono headset. If the headset is in one ear and the iPhone is in your trouser pocket on the opposite side of your body, then there's a lot of water between the two devices. This will often cause a significant amount of packet loss in practice (you can hear this in the audio being carried). So, in this case, the range is about one meter.</p> <p>At the opposite extreme, two class 2 devices separated by nothing more than clear air can get ranges of hundreds of meters.</p> <p>Other factors that influence things are:</p> <ol> <li>Interference - Lots of things use 2.4 GHz. WiFi, for example can cause problems.</li> <li>Antenna design - Space and cost constraints often mean that the antenna design is sub-optimal. I don't know how good the iPhone is in this respect.</li> <li>Walls - Generally walls attenuate Bluetooth signals. However, sometimes they are useful reflectors.</li> <li>Quality of hardware - Some chips work better than others. Even different firmware revisions of the same chip may perform differently. Different versions of the iPhone probably have (or will have) different chips in them.</li> <li>Protocol - It is possible to work around poor signal quality with error correction and retransmission. Even if the iPhone SDK forces you to use a particular protocol, careful design of your application can make a difference.</li> </ol> <p>So, in summary, you should probably do some real world tests.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload