Computer Science Honours Project Proposal Final
1. Principal Investigator
Samantha Knights, Computer Science Honours Student, Rhodes University Mailing address: 60 Beaufort Street, Grahamstown, 6139.
Telephone (digs): 046 622 3081 (cell): 083 280 5015 [email protected]
2. Title of Project
A Comparative Study of Two Bluetooth API for an Automated Wireless Identification System (AWIS).
Secondary aim: To design and test an application that will allow wireless device connectivity and data transfer.
This will contribute to a proof-of-concept system for an Automated Wireless Identification System (AWIS) for tracking animals in the wild.
3. Mentoring Supervisors:
Dr. Greg Foster Prof. Peter Clayton
4. Support
Rhodes University Computer Science Department Microsoft
5. Objective of Research
The overall goal is to investigate available application development interfaces that will support device connectivity, basic data transfer and a flexible feature-rich and robust environment for networking application development. An investigation will be conducted to discover the available functionality provided by existing APIs, the limits to their flexibility and the feasibility of developing a custom system- specific API.
There are also a number of sub-goals for the project. Mastering development in Windows CE, gaining an insight into Bluetooth protocol and implementation from both a research and application point of view. Gaining valuable experience working in a project team.
6. Background/ History of the Study
Bluetooth is a wireless radio-based network protocol enabling connections between several different devices. It is popular because of its relatively low costs and power consumption as well as its widely available industry support. Bluetooth provides a more effective mechanism for wireless networks than previous technologies such as IrDA. Devices do not need line of sight which is a major consideration in the context of the overall animal tracking project – allowing data capture of freely roaming animals of up to 10 meters.
The Bluetooth specification includes common data and objects that allow all devices to communicate in the same way. Devices are connected via RF and form an ad-hoc piconet network known as a scatter-net (this consists of one master and a number of slave devices).
The Bluetooth Protocol Stack implements the Bluetooth Protocol and acts as a controlling agent allowing one to control devices via programs. This stack comprises of layers (sub-protocols) and profiles. The Host Controller Interface (HCI) interfaces between the host and controller, Logical Link Control and Adaptation Layer (L2CAP) handles data transmission from higher layers and SDP (Service Discovery Protocol) discovers Bluetooth devices in the surrounding area.
Application Developers can utilise features of the Bluetooth Stack though an Application Development Interface or API. Windows CE – a small, multi-platform operating system - exposes these APIs in two ways: Windows Sockets (Winsock exposes RFCOMM protocol) and through Virtual COM Ports. There are also a number of vendor created APIs which all provide different functionality.
API functions can be used to build up Bluetooth profiles. These are designed sets of functionality for Bluetooth devices by defining user and behaviour characteristics.
7. Approach of the Study
Reading would be necessary to obtain familiarity with Bluetooth technology and existing applications studied. Since the technology is fairly new, keeping up to date with current advancements will be necessary. As a first step would be to use
Embedded Visual C++ within the .NET Framework to ping two devices (devices should be able to send out an ID and time stamp). This can be done by using the Winsock and Virtual COM Port APIs. There is a vast amount of example source code available to aid in coming to grips with the developing environment.
Initially two dongles plugged into a host machine will be used. The application can then be downloaded onto two PDAs for testing. The devices should be configured to automatically allow for visibility to other devices.
Once some connections can be made, simple data transfer will be implemented – possibly using OBEX (Object Exchange Protocol).
From here it will be necessary to explore any other requirements of the network problem and see how much flexibility the APIs provide.
Some research will be done into 3rd party stacks and APIs available on the market.
A study on their effectiveness, comparison to others, efficiency and so on, will be conducted thereby allowing a measure of possible solutions for further development.
8. Information to be Derived/Deliverables
An application that will allow for wireless device connectivity. Further to that a feasibility study evaluating Bluetooth technology will be undertaken, specifically from point of view of the application developer. Important issues such as the viability of rapid development of Bluetooth prototypes – this is a major selling point for vendors of Bluetooth development kits. A discussion of what hurdles are faced when products are rolled out in a short space of time and perhaps how these could be addressed in an intermediate layer.
9. Equipment Requirements
Windows CE .NET development package. Visual C++ .NET and MIT (all of which are already available in the CS department at Rhodes).
Devices for testing. PDAs may be the most convenient. Two dongles could be used in the interim. Suggested: 2 devices, one host, a Bluetooth Stack and an API.
10. Planned Fieldwork Dates and Locations
Field work will include running around department pretending to be animals. {☺}
11. Timeline for implementation First Term
Reading – Background and investigation of existing APIs.
Identify the problem and application(s) design.
Mid-Semester Holiday
Put together a project web page (will include a project synopsis, time-line, presentation, material for literature survey and relevant links).
Gather information for literature survey.
Second Term
Implementation of APIs – Winsock, Virtual Comm and 3rd party vendors.
On going evaluation of functionality provided.
Ping two devices as well as implement simple data transfer. Here it will be necessary to port the application to a number of PDAs.
Write Literature Survey.
Third Term
Comparison with existing applications. Further extensions to applications.
Poster presentations.
Fourth Term
Draft and Final Paper Oral Presentations.
Final project write up.
12. Additional Information
The other members involved in the AWIS will either be working on higher or lower layers relative to my own project. Bradley Clayton will be investigating a scatternet algorithm to allow ad-Hoc networking of Bluetooth devices moving data to a central data point. Adam King will be developing an algorithm to allow peer-to-peer
networking which will allow for the exchange of data between Bluetooth enabled devices. Both of these projects could make use of applications I will be developing.
My project will sit on top of Brian Fox’s project which deals with custom designing operating systems for embedded devices.
13. Relevant Publications
Apple Computers Inc. Working with Bluetooth, 22 January 2004
This isn’t for the right OS but it gives a clear overview of Bluetooth.
Boling, Douglas (e-book). Programming Microsoft Windows CE .NET, Microsoft Press. Washington. 2002 (third edition).
Fish, N. Developing Communications for Windows CE .NET. Networking &
Communications in Windows CE .NET. Platform Builder, Emulator, and Shared Source. (video presentation) \\ict.ru.ac.za\dfs\MSDNAA\Resources\Embedded Systems Crash Course
Gratton, D.A. Bluetooth Profiles The Definitive Guide. Prentice Hall. New Jersey.
2003 (first edition).
Haartsen, J. et al. “Bluetooth Vision and Architecture” Mobile Computing and Communications Review. Vol 1, No 2.
Hall, M. Windows Embedded and Wireless Technologies in Windows CE .NET (video presentation) \\ict.ru.ac.za\dfs\MSDNAA\Resources\Embedded Systems Crash Course
Hopkins, B. and Antony, R. Bluetooth for Java. APress. New York. 2003 (first edition).
Microsoft Corporation. MSDN Library <http://msdn.microsoft.com/library>
Network Protocols -> Bluetooth MSN Bluetooth support site.
Morrow, R. Bluetooth Operation and Use. McGraw-Hill. New York. 2002 (first edition).
Palo Wireless Bluetooth Resource Centre <http://www.palowireless.com/bluetooth/>
Reynolds, M. dotnet247 <http://www.dotnet247.com/247reference/__site/199>
Discussion forum for Wireless .NET issues – users can post problems and suggested solutions online.
Wigley, Andy (e-book). Building .NET Applications for Mobile Devices, Microsoft Press, 2002