To view my final report in PDF please click here.

To view the website I created for the project click here.

To download for free click here.

To convert you .doc and other files to PDF visit

Read the HTML version of the report below.


Final Report

Maria Kazandjieva, Summer 2005


This final report is meant to give a brief overview of my Summer 2005 DMP project. The description of the actual project is preceded by an overview of different technologies, which I examined during the 10-week program.

Java Swing Library - Overview

The Java Swing Library provides developers with means to create graphical user interfaces (GUI) for a myriad of applications. What makes Java preferable is its platform independent nature; any application written in Java and containing Java Swing components can be run easily on Mac, Windows, and other operating systems. One of the features that Swing provides is a look-and-feel for applications that can be adapted based on the system on which the application is running.

Bluetooth - Overview

It has been a decade since the birth of Bluetooth in 1994, when the Ericsson Company started research on new wireless technology to fit their needs. Today many cell phones and most PDAs come equipped with this technology; there are also numerous Bluetooth devices that can easily be attached to a PC via a USB port.

Bluetooth is essentially a wireless communication protocol and can be compared to 802.11b and infrared technology. The main problem with infrared is the line-of-sight requirement - two objects transceivers should be able to see each other. Bluetooth overcomes this difficulty because it uses radio signals and therefore does not require the path between two devices to be clear of objects.

In some ways the Bluetooth protocol is similar to the well-known wireless LAN protocol. For example, both of them operate in the unlicensed ISM (industrial, scientific, and medical) band at 2.4GHz. On the other hand, the purposes of these two protocols are quite different. While wireless LAN was created to connect big devices (typically PCs and/or laptops), Bluetooth is meant for smaller ones. The range of wireless LAN is approximately 300 feet and the range of Bluetooth 30 feet. The data transfer speed of the two wireless protocols follows similar comparison. Another bottom line difference is that Bluetooth was created to have low-level power consumption, and thus be useful in cases where energy resources are limited.

Today there are different scenarios in which Bluetooth is used. Some of those include synchronization of information between Bluetooth-enabled PDA and cell phone, cable replacement between PC and peripheral devices, wireless gaming, and others.

Radio Frequency Identification Overview

Radio Frequency Identification (RFID) can be thought of as the new generation of barcode technology. It is meant to provide us with a convenient way to track items, record the presence of items, etc. One major improvement from barcodes is that RFID tags can be programmed with small pieces of data.

The RFID technology consists of small RFID tags (also called transponders) and RFID readers. The RFID tags are like barcodes; each has a serial number, and is tiny enough to be put on a sticker, wristband, or button; they can be selected, written, or read. The RFID reader is the part that transmits the radio waves to the tags. It sends byte arrays to the transponders and thus communicates with them.

The project

The idea of this project was to explore different wireless technologies and combine them in one final application.

Initial project idea: There is a wireless sensor network in which nodes are connected via the ZigBee wireless protocol. These nodes have a coordinator computer, which collects some information from the network. The coordinator PC is Bluetooth-enabled and can use that to connect to a server where the ZigBee network data is dumped.

The first weeks on the project consisted of creating an appropriate graphical user interface for the server and coordinator sides. The coordinator had to search for remote devices and services, and connect to the server; then it would send a stream of data. The server side had to run in a loop, waiting for connection to accept; it also had to display data that has been received.

We decided on several arrays of data that will be in use. Each node would have energy left value, temperature reading value, and x and y coordinates. Each of these (as well as combination of two or more types of data) was to be displayed using a Swing application.

For the first half of the project all data was simulated by generating random numbers within a certain range.

After the Swing application using Bluetooth was up and running our attention moved to the RFID technology. We wanted to explore the possible uses of these
RFID tags and maybe use them to simulate a wireless network. We discovered we could write data to the tags, then read it and feed the Bluetooth application with it. This way we would not generate random numbers but use real data.

We hooked up the RFID reader to the ZigBee coordinator machine and assumed that each RFID tag is a node from the ZigBee network. The first step from there was to create a RFID application to handle the tags. We decided to limit ourselves to a pool of 5 tags and use them in our demo program.

The last step in completing the project was connecting the RFID and Bluetooth parts. As a result we ended up with a complex system containing RFID tags, a RFID reader, and 2 PCs. A sample run of the application would consist of the following:

      RFID tags are programmed with certain data;

      data is read from the tags;

      data is properly parsed and fed to the output stream of the ZigBee Coordinator machine;

      the ZigBee machine looks for Server and attempts to connect;

      the Server accepts the connection;

      data is send via a Bluetooth link to the Server computer;

      data is received;

      user displays information using the Swing GUI application.

Other work

While working on the main project, I also did some preliminary work with PDAs. I investigated what software could be put on a Compaq iPAQ so that custom Java applications for Bluetooth can be executed. Unfortunately, I did not go far because there were numerous problems with the available software. Bluetooth and PDAs remain a topic to be researched more in the future.



[1] Hopkins, B. and Antony, R. Bluetooth for Java. Apress, 2003.

[2] Shepard, Steven. RFID. McGraw - Hill, 2005.




::: home ::: about me ::: mentors ::: journal ::: report ::: links :::


Maria Kazandjieva - - last update: 08/08/05