TEAM 6: Kitchen Tracker
Spring 2007




SC CO
Suppakrit Chatchayanusorn
Charles Christopher Oneyama
NS SS
Nachiket Shelgikar
Saravana Sivasankaran

MEMBERS

PROJECT CONCEPT

The Kitchen tracker allows a person to keep track of all items in the kitchen to save time and energy when shopping for groceries. The system utilizes rfid tags on products to identify and track them through RFID sensors that relay real-time information via bluetooth technology to a smart phone /PDA.

MOTIVATION

As machines become smarter, the modern home has started to employ smarter devices that make our daily tasks easier. In that step, we found that keeping track of all that is there in the kitchen is not an easy thing to do. So when we go grocery shopping, we might miss out on key items. This can be time consuming and frustrating. Our system will eliminate this problem and be part of a larger project for a futuristic smart home.

COMPETITIVE ANALYSIS

TECHNICAL SPECIFICATIONS

Hardware: Software: Protocols:

REQUIREMENTS

OUR MAIN SUCCESS CRITERIA

We will seamlessly integrate all the information gathered through the RFID reader with the smart phone . The updating will be in real time and the grocery list will be compiled in less than 30 seconds after requesting SYNCHRONIZATION on the phone

ARCHITECTURE

System

Assumptions

All the grocery products will be RFID tagged replacing currently used UPC Barcodes

Architecture Diagram

USE CASES (INTERACTION DIAGRAMS)

Read Tags Auto Sync Manual Sync Check Grocery List

SYSTEM STATES & TRANSITIONS

Gumstix block PDA block RFID Readers block

RISKS & MITIGATION STRATEGIES

ERROR HANDLING

IMPLEMENTATION DETAILS

The current configuration

Read Tags Auto Sync

1. The RFID reader will be attached to the door

2. The RFID reader reads the tags from the grocery items and creates the last purchased list. It updates the current kitchen stock and dumps the data into a file

3. The phone requests for the latest information from the gumstix via bluetooth

4. The gumstix replies by transmitting the file with all the data

5. The phone parses this data and displays the information to the user

TEST CASES

Case
Why
How
Evaluation Criteria
Bootstrap To make sure the system starts/restarts properly

Plugging in the power of the RFID reader and the gumstix (in that order)

Fault-free
RFID reader shutdown To test the gumstix's error handling code

Plug the RFID reader's power off

Phone must notify user that RFID reader was shut down
Gumstix shut down

To test the phone's error handling code

Having the gumstix powered on and selecting "Synchronization" on the phone GUI

Phone must notify user that Gumstix power is down

Normal Operation To test the normal operation of the entire system (RFID Reader, Gumstix and E62 Phone

Start the entire system. Carry different grocery items (5 in our test case) with RFID tags attached to them and walk through a door attached with the rfid reader. Walk out with some of these items (this also replicates the act of throwing away these items into a trash can). Now switch on the Phone and load the application. Select "Synchronize." Once synchronization is complete, select "Load Current Kitchen Status." The items must include all the items brought in minus the items taken out the door.

Fault-free

Bluetooth Out of Range To test the Phone's Bluetooth transmission error handling code

Walk out of range of the gumstix's/phone's Bluetooth capabiltiy in the middle of "Synchronize." File tranmission must be incomplete so file must be corrupted The phone should realize this and notify the user that synchronization failed

Synchronization failure notification

EXPERIMENTAL EVALUATION

All tests were done with the below tags. The reader used was ThingMagic Mercury 4. The gumstix used was Connex 400 BT.

RFID Tags

RFID Tags RFID Tags RFID Tags RFID Tags RFID Tags

LESSONS LEARNED

Just because your code works on a linux machine does not mean its going to work on the gumstix (Time taken to learn-> 2 weeks)

BlueZ makes BT programming easy in Linux (Time taken to learn -> 1 week)

Carbide.C++ is a handy time saving tool to use for Symbian programming (Time taken to learn -> 2 whole days)

It never hurts to call tech support people. (Still learning...)

FUN STUFF

To be completed.

REFERENCES


Back to the top of this page
18-549 course home page