the Home

- here -

 

the Project

- About

- Run -

- Docs -

- Issues -

 

the Tech

- Bluetooth -

- RFID -

 

the Download

- coord zip -

- server zip -

 

 

 

 

 

 

 

 

 

 

 

 

 

 

- Summer 2005 Project - 

- Bluetooth and RFID - 

- About -

 

This project aims at exploring several wireless technologies and combing them into a demo application. The two areas we researched are Radio Frequency Identification (RFID) and Bluetooth. 

The application uses the following setup:

  • 2 PCs - Windows XP SP2
  • SkyeTek RFID Reader
  • SkyeTek RFID tags
  • Compaq iPAQ - Linux

Overview of the project:

An RFID reader is connected via a serial port to one of the PCs. (Let's call this PC the Coordinator.) The application written in Java starts out by collecting data through that RFID reader. We use a set of 5 RFID tags (also called transponders); these can be written with data and data can be read from them. The user is prompted to choose between a write/read and a read_only options. Then the user brings the tags to the RFID reader and scans them one by one. At the end of this step the Java application running on the PC contains strings of data from the tags.

Next step is to establish a Bluetooth connection between the two PCs and transfer the data. Before this happens we need to start up a server, which would run in a loop on the second PC. This server is  waiting for connections to accept. After the server is started, back on the Coordinator PC we start a search for remote devices. This step is done to check and make sure there is a second Bluetooth device in range to which the Coordinator can connect. Following the device discovery is the service search step. The Coordinator computer has to search for a specific service on the remote device that would allow the two of them to communicate and transferred. The service has an ID and a name ("DataTransfer") and it hard coded in the Java source code.

After the service has been found, the two devices are ready to establish a Bluetooth connection. An output and input data streams are opened on the Server and Coordinator computers respectively. Next, the strings of data from the RFID tags are parsed and converted to integers and sent from Server to Coordinator.

Once data has reached the Server side, a method is called that sends a short string to the iPAQ. The method uses the UDP protocol to transfer the string message from the PC to the PDA via Bluetooth. For now, the string contains the data from the first RFID tag that was scanned, but this can easily be altered so that the string is some kind of alert that is sent only under certain circumstances.

In addition to the Server communicating with the iPAQ, the Server PC also has the job of displaying all the data that was received. There is a set of GUI windows that show visually the data from the RFID tags.

For this project we have assumed that the data we are display is the following:

  • temperature reading
  • energy value
  • x-coordinate
  • y-coordinate

Therefore, when a RFID tag is scanned we get a string like '12345678'. When this string is manipulated we assume that:

  • '12' is a double representing the temperature reading
  • '34' is a double representing the energy value
  • '56' is an integer representing the x-coordinate
  • '78' is an integer representing the y-coordinate

In this application, the data obtained from every tag is a 8-character string which is treated in the way described above.

 

Maria Kazandjieva, makazand[at]mtholyoke[dot]edu, Summer 2005