230 likes | 240 Views
Explore the purposes, functionalities, and development of Personal Area Networks (PAN) using Bluetooth technology. Learn about the radio technology, protocol stack, APIs, and application scenarios of Bluetooth. Discover how devices form piconets, the protocol stack structure, and various profiles for seamless device connectivity. Dive into Bluetooth application activities, service discovery, serial port communication, and interoperable profiles in the world of short-range radio frequency networking.
E N D
Short-Range Radio Frequency Networking B. Ramamuthy
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:
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.
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] Figure 3.22IEEE 802 network standards
Details • 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)
Radio 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.
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
Bluetooth Protocol Stack Application Java API for Bluetooth wireless technology (JSR-082) WAP UDP/TCP IP PPP Bluetooth Host Controller Stack (software) OBEX Service discovery protocol (SDP) RFCOMM (serial port emulation) 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
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.
Application activities java.sun.com Bluetooth intro
Bluetooth clients • DiscoveryAgent support discovery of services and devices. • Clients wanting to be notified should implement and register Discovery Listener interface.
Service/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.
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
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.
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.
bits: 72 18 18 18 0 - 2744 Access code Header Headercopy 2 Header Data for transmission copy 1 copy 3 bits: 3 1 1 1 4 8 Destination Flow Ack Seq Type Header checksum = ACL, SCO, Address within Piconet poll, null How 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.
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
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
Uses of Bluetooth • Some are from Accenture: • Wiring the wired • Locating lost items • Activity sensing + auditing • Environmental control • Simple transactions • Medical applications are unlimited