This project concerns building an electronic museums guide, having BlueTooth as the primary network source. The primary goal was to study Bluetooth and to develop a small application showing the advantages and disadvantages of BlueTooth in a location and context-based environment like this. Another other goal was to research and test the different stacks implementations and supported Bluetooth hardware, which we had available.
As a result we developed the museum application using BlueZ for Linux, as the server part and using a Nokia 3650 Series 60 cell phone with Symbian OS for the client side.
The virtual museum will consist of a collection of Bluetooth devices each in some way relating to one or more art artifacts or pictures. Each of these devices are interconnected to a bluetooth server which again is connected to a database server. In this way we should be able to fetch data from the database and send it to the bluetooth server which again streams it to a handheld (the client).
The connection between the Bluetooth server and the database server could be some kind of ordinary TCP Local Area Network (LAN). A wireless LAN instead of standard cables would be preferable though, because our virtual museum could cover several 1000 of square meters where cables wouldn’t be very comprehensive. The wireless LAN speeds are now so high (54Mbit/s) that we think it could cover the needs.
Since funds are limited, we have chosen only to use the Bluetooth devices we have access to. The list of these devices looks like this (a picture of most of these can be found on the CD-ROM at /test/pictures/ourdevices.jpg):
• Sony Ericsson T610 (cell phone)
• Nokia 3650 (cell phone)
• Compaq iPAQ 3670 (PDA)
• Compaq iPAQ h1940 (PDA)
• D-Link DBT-120 USB-dongle (for PC)
• CSR BUB-103 USB-dongle (for PC)
The bandwidth of a Bluetooth connection is hard to predict, because it depends on many parameters. If actual values are wanted tests must be made. The bandwidth of Bluetooth is 1Mb/s, but the maximum theoretical throughput is (723.2Kb/s / 57.6Kb/s) asynchronously and 433.9 Kb/s synchronously (Actual data throughput - without headers). This is calculated for an L2CAP connection9, since it is the lowest layer protocol you can send user data through, and therefore has the lowest header overhead.
These values will very rarely be achieved. Though distance between devices has low impact on performance, packet collisions with packets in nearby Bluetooth networks and disturbance/pollution on the radio spectrum decreases the performance.
Network structures other than peer-to-peer also decrease overall performance. Error correction, channel congestion, and flow control also limit throughput. Packet headers from higher layered protocols, will decrease performance for them. The higher the layer, the more overhead, and thus worse performance.