An Investigation of Bluetooth An Investigation of Bluetooth Application Program Interface Application Program Interface
Layer DevelopmentLayer Development
Sam KnightsSam Knights
Rhodes UniversityRhodes UniversitySupervisors: Dr G. Foster and Prof P. ClaytonSupervisors: Dr G. Foster and Prof P. Clayton
This will contribute towardsThis will contribute towardsan Automated Wireless an Automated Wireless
Identification System (AWIS) for Identification System (AWIS) for tracking animals in the wild.tracking animals in the wild.
Presentation OutlinePresentation Outline
Introduction/BackgroundIntroduction/BackgroundGoals and ObjectivesGoals and ObjectivesApproachApproachDeliverablesDeliverablesConclusionConclusion
IntroductionIntroduction
Who or what is Bluetooth?Who or what is Bluetooth? Danish King, blueberries Danish King, blueberries (ca 950) Wireless radio-based network protocolWireless radio-based network protocol
Background - BluetoothBackground - BluetoothWhy BluetoothWhy Bluetooth
Wild animals collect data about their own Wild animals collect data about their own social interaction social interaction
Radio collars, IrDA and 802.11b unsuitableRadio collars, IrDA and 802.11b unsuitableLow power, 10m range.Low power, 10m range.
RFCOMMRFCOMM
Background – Bluetooth 2Background – Bluetooth 2Bluetooth Bluetooth Protocol StackProtocol Stack
Implements Bluetooth Protocol and acts as controlling agentImplements Bluetooth Protocol and acts as controlling agent Allows communication with other devices and control of own Allows communication with other devices and control of own
device.device. Comprises of layers and profiles (defined set of functionality).Comprises of layers and profiles (defined set of functionality).
SDPSDP
HCIHCI
L2CAPL2CAP
Service Discovery Service Discovery ProtocolProtocol
Logical Link Control Logical Link Control Adaptation LayerAdaptation Layer
Host Controller InterfaceHost Controller Interface
ApplicationsApplications
HardwareHardware
Wireless Serial PortWireless Serial Port
BT STACK
Application Programming InterfaceApplication Programming Interface Mechanism used to access Protocol StackMechanism used to access Protocol Stack Exposes core functionalityExposes core functionality
RFCOMM APIRFCOMM API
L2CAPL2CAP
SDPSDP RFCOMMRFCOMM
HCIHCI
SDP APISDP API
OBEXOBEX
3rd Party SoftwareStack Extensions
Serial Port ProfileSerial Port Profile Service Discovery Service Discovery Application ProfileApplication Profile
OBEX APIOBEX API
BT
Sta
ckB
T S
tack
Objectives – My project fits in hereObjectives – My project fits in here
Goal : Investigate APIs allowingGoal : Investigate APIs allowingDevice connectivityDevice connectivityData transferData transferFeature-rich, robust for networking app Feature-rich, robust for networking app
developmentdevelopment
Approach - SoftwareApproach - Software
Windows CEWindows CEWindows Sockets (WinSock)Windows Sockets (WinSock)Virtual COM PortsVirtual COM Ports3rd Party Vendors e.g. AveLink3rd Party Vendors e.g. AveLink
Embedded Visual C++ 4.0Embedded Visual C++ 4.0 .NET Compact Framework.NET Compact Framework
SmallSmallfootprintfootprintclientsclients
Application Application DevelopmentDevelopment
Application Programming InterfaceApplication Programming InterfaceWindows CE implementation of the Windows CE implementation of the
Bluetooth Protocol StackBluetooth Protocol Stack
COM COM Port Port EmulationEmulation
L2CAPL2CAP
SDPSDP RFCOMMRFCOMM
HCIHCI
AFDAFD
WinsockWinsock
OBEXOBEXApplications
3rd Party SoftwareStack Extensions
Approach - ExperimentationApproach - Experimentation
To start: To start: two Bluetooth devicestwo Bluetooth devices
Two dongles initiallyTwo dongles initially A number of PDAs for mobile testingA number of PDAs for mobile testing
one Bluetooth hostone Bluetooth host Bluetooth Stack and Bluetooth APIBluetooth Stack and Bluetooth API
Basic Application must have:Basic Application must have: Stack initialisation, Device Management, Device Stack initialisation, Device Management, Device
and Service Discovery, Communication.and Service Discovery, Communication. Field test in the CS DepartmentField test in the CS Department
Device discoveryDevice discovery Data transferData transfer
DeliverablesDeliverables
Application - Device ConnectivityApplication - Device ConnectivityDevice discovery, data transfer, features.Device discovery, data transfer, features.
Feasibility StudyFeasibility StudyRapid prototyping Rapid prototyping Application developer’s point of viewApplication developer’s point of viewClaims of simplicity, constraints thereinClaims of simplicity, constraints therein
Summary and ConclusionSummary and Conclusion
Outline and introduction of BluetoothOutline and introduction of BluetoothAccess of Bluetooth Protocol Stack via Access of Bluetooth Protocol Stack via
Application Programming Interfaces (APIs)Application Programming Interfaces (APIs)Objectives and approachObjectives and approachDeliverablesDeliverables
Questions?Questions?
Wireless ProjectsWireless Projects
A. King : Peer-to-peer networking , Data transfer
B.Clayton : Scatternets, Ad-hoc networking
S. Knights : Application Programming Interfaces
BLUETOOTH STACK
B. Fox : Custom operating system
image