04/21/23 1
Short-Range Radio Frequency Networking
B. Ramamuthy
04/21/23 2
Purpose
Study personal area network PAN and related standard in bluetooth
Based on java.sun.com Bluetooth API overview, design and development.
Other sources: Colouris text and palo wireless bluetooth resource center.
Bluetooth.com source:
04/21/23 3
Introduction
Bluetooth is protocol for short range, frequency hopping radio link between devices.
Devices such as phones, PDAs, medical devices that are bluetooth-enabled.
Based on Industrial, Scientific and Medical (ISM) frequency band.
Unlicensed and globally available. Originally from Ericsson; bluetooth named
after a Nordic king instrumental in integration of Scandinavian countries.
04/21/23 4
Figure 3.18 A typical NAT-based home network 83.215.152.95
Ethernet switch
Modem / firewall / router (NAT enabled)
printer
DSL or Cableconnection to ISP192.168.1.xx subnet
PC 1
WiFi base station/access point 192.168.1.10
192.168.1.5
192.168.1.2
192.168.1.1
192.168.1.104 PC 2192.168.1.101
Laptop
192.168.1.105
Game box
192.168.1.106Media hub
TV monitor
Bluetoothadapter
Bluetoothprinter
Camera
04/21/23 5
Figure 3.22IEEE 802 network standards
IEEE No. Name Title Reference
802.3 Ethernet CSMA/CD Networks (Ethernet) [IEEE 1985a]
802.4 Token Bus Networks [IEEE 1985b]
802.5 Token Ring Networks [IEEE 1985c]
802.6 Metropolitan Area Networks [IEEE 1994]
802.11 WiFi Wireless Local Area Networks [IEEE 1999]
802.15.1 Bluetooth Wireless Personal Area Networks [IEEE 2002]
802.15.4 ZigBee Wireless Sensor Networks [IEEE 2003]
802.16 WiMAX Wireless Metropolitan Area Networks[IEEE 2004a]
04/21/23 6
Details
Radio technologyProtocol stackInteroperable profilesHow does the technology work?How is the technology used?Sample APIs to work with bluetooth:javax.bluetooth; javax.obex (for object
exchange)
04/21/23 7
Radio technology
2.5Ghz ISM bandThe bluetooth devices in a proximity
form a piconet comprising a master and upto 7 devices.
Piconets can connect, the master in a piconet can provide a bridge.
Global and unlicensed.
04/21/23 8
Protocol Stack
Protocol stack provides a number of higher level APIs for service
discovery and serial IO simulation, lower-level protocols for packet
segmentation and reassembly, protocol multiplexing and QoS
04/21/23 9
Bluetooth Protocol Stack
Bluetooth Radio
Baseband Link Controller (LC)
Link Manager protocol (LMP)
Host Controller Interface Firmware
Bluetooth Host ControllerFirmware + Hardware
Host controller interface (HCI)
Logical link control & Adaptation Protocol (L2CAP)
RFCOMM (serial port emulation)
OBEX
WAPUDP/TCP
IPPPP
Service discovery protocol (SDP)
Bluetooth HostController Stack(software)
Java API for Bluetooth wireless technology (JSR-082)
Application
04/21/23 10
Typical application Scenarios
Bluetooth application can be either server or client
Peer-peer exposing both client and server functionality
Application need not be in Java However J2ME-based devices can avail of the
bluetooth API. Though we discuss Java-based API here, MS
Vista has a WS based API for devices.
04/21/23 11
Application activities
java.sun.comBluetooth intro
04/21/23 12
Discovery
04/21/23 13
Bluetooth clients
DiscoveryAgent support discovery of services and devices.
Clients wanting to be notified should implement and register Discovery Listener interface.
04/21/23 14
Service/device discovery
A similar sequence can be assumed for device Discovery.
Services have a UUID
There is LocalDeviceAnd RemoteDevice APIs to control the devices.
04/21/23 15
Service discovery (contd.)
Once the local device has discovered at least one remote device, it can begin to search for available services –
Bluetooth applications it can use to accomplish useful tasks.
Because service discovery is much like device discovery, DiscoveryAgent also provides methods to discover services on a Bluetooth server device, and to initiate service-discovery transactions
04/21/23 16
Serial Port
The RFCOMM protocol, which is layered over the L2CAP protocol, emulates an RS-232 serial connection.
The Serial Port Profile (SPP) eases communication between Bluetooth devices by providing a stream-based interface to the RFCOMM protocol. Some capabilities and limitations to note: Two devices can share only one RFCOMM session at a
time. Up to 60 logical serial connections can be multiplexed
over this session. A single Bluetooth device can have at most 30 active
RFCOMM services. A device can support only one client connection to any
given service at a time.
Serial Port Profile (SPP)
04/21/23 17
04/21/23 18
Interoperable Profiles
Profiles have been developed to manage cross-platform interoperability among different manufacturer’s products.
They describe how implementations of user models have to be accomplished.
Lets examine the bluetooth profile as provided by palowireless.
04/21/23 19
Profiles
04/21/23 20
How does it work?Bluetooth frame structure
SCO packets (e.g. for voice data) have a 240-bit payload containing 80 bits of data triplicated, filling exactly one timeslot.
bits: 72 18 18 18 0 - 2744
Access code Headercopy 1
Headercopy 2
Headercopy 3
Data for transmission
bits: 3 1 1 1 4 8
Destination Flow Ack Seq Type Header checksum
Address withinPiconet
= ACL, SCO,poll, null
Header
04/21/23 21
Server operation
Construct a URL that indicates how to connect to the service, and store it in the service record
Make the service record available to the client Accept a connection from the client Send and receive data to and from the client The URL placed in the service record may look
something like: btspp://102030405060740A1B1C1D1E100:5
04/21/23 22
Client operation
To set up an RFCOMM connection to a server the client must:
Initiate a service discovery to retrieve the service record
Construct a connection URL using the service record
Open a connection to the server Send and receive data to and from the
server
04/21/23 23
Uses of Bluetooth
Some are from Accenture:Wiring the wiredLocating lost itemsActivity sensing + auditingEnvironmental controlSimple transactionsMedical applications are unlimited