Title: ShortRange Radio Frequency Networking
1Short-Range Radio Frequency Networking
2Purpose
- 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.
3Introduction
- 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.
4Figure 3.18 A typical NAT-based home network
5Figure 3.22IEEE 802 network standards
6Details
- Radio technology
- Protocol stack
- Interoperable profiles
- How does the technology work?
- How is the technology used?
- Sample APIs to work with bluetooth
- javax.bluetooth javax.obex (for object exchange)
7Radio technology
- 2.5Ghz ISM band
- The 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.
8Protocol 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
9Bluetooth Protocol Stack
Application
Java API for Bluetooth wireless technology
(JSR-082)
WAP UDP/TCP IP PPP
Bluetooth Host Controller Stack (software)
OBEX
RFCOMM (serial port emulation)
Service discovery protocol (SDP)
Logical link control Adaptation Protocol (L2CAP)
Host controller interface (HCI)
Host Controller Interface Firmware
Link Manager protocol (LMP)
Bluetooth Host Controller Firmware Hardware
Baseband Link Controller (LC)
Bluetooth Radio
10Typical 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.
11Application activities
java.sun.com Bluetooth intro
12Discovery
13Bluetooth clients
- DiscoveryAgent support discovery of services and
devices. - Clients wanting to be notified should implement
and register Discovery Listener interface.
14Service/device discovery
A similar sequence can be assumed for device
Discovery. Services have a UUID There is
LocalDevice And RemoteDevice APIs to control the
devices.
15Service 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
16Serial 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.
17Interoperable Profiles
- Profiles have been developed to manage
cross-platform interoperability among different
manufacturers products. - They describe how implementations of user models
have to be accomplished. - Lets examine the bluetooth profile as provided by
palowireless.
18Profiles
19How does it work?Bluetooth frame structure
Header
SCO packets (e.g. for voice data) have a 240-bit
payload containing 80 bits of data triplicated,
filling exactly one timeslot.
20Server 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//102030405060740A1B1C1D1E1005
21Client 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
22Uses of Bluetooth
- Some are from Accenture
- Wiring the wired
- Locating lost items
- Activity sensing auditing
- Environmental control
- Simple transactions
- Medical applications are unlimited