Students: Ruston Keeton, Jason Robison, Jeff Lagios, John Wilson, David Duhart
Advisors: Kamran Iqbal, Rami Adada
The System’s Engineering Capstone II Design Team, Fall 2008, assembled a RFID system including the RFID reader, antenna, and ID tags. The system is composed of an RFID reader mounted on the cart and connected to two antennas on the two sides of the cart. This reader sends item lookup codes to a handheld computer. This computer sends the codes via Wi-Fi link to a separate database implemented with a desktop computer. The database retrieves and track store inventory and buggy inventory. The database will sends price and item descriptions to the cart computer. The cart computer tracks the inventory of the cart and the individual and total cost of items. This system demonstrated proof of concept that a scan-as-you-go system of RFID purchasing can be implemented.
The SkyTek Application Programming Interface (API) was used to develop the Reader Application (RA) to access the RFID reader and communicate with the other programs running on the client computer and the server. The API provided many functions required to utilize the reader, and included several sample programs for common applications. The RA was compiled with Visual Studio C++. The reader communicated to the server by writing each RFID tag number into a data-file. The server then accesses this file to see if the reader has scanned a new item. When a tagged item is first read, the database will interpret this as an item being placed in the cart. The next time the item is scanned, the database will interpret it as the item being removed.The Client Application (CA) keeps track of all the information flowing through the two other processes running on the client machine. The reader continuously looks for new tags from the antennae’s. Once the reader receives a new tag it writes it to a file. The client application, written in PERL, continuously reads this file to check for new updates. Once a new tag is read, it transfers this information to the server where the server manipulates the data, performs the calculations, and sends the needed information back to the client application. Once the CA receives and verifies this data, it writes it to a separate file so that the Visual Studio GUI application can read the data and display it to the users screen for confirmation.
The Server Application (SA) continuously looks for new connections from client carts. Once a connection is established, the server and the client enter a handshake setting up all the environment variables. Once the variables and databases have been set up properly, the server begins to wait for the client to send new tags. Once a new tag is sent to the server, the server looks up the unique tag in the stores database, adds it to the customer’s virtual cart, updates the customer’s total price, and then sends all the needed information back to the client application. The data that the server sends back to the client is the name of the item scanned the price, a description, and the user’s new total. The server application keeps track of all product info and customer cart information. The server also performs all the calculations for the cart. This is because we want the client to have to perform the smallest amount of processing possible.
The Graphic User Interface (GUI) presents the information provided by the server in an attractive manner which customers can easily understand. The GUI scans the data-file which the server writes, and when a new item appears, updates the displayed data so that the customer is aware of all the items in their baskets, as well as the total price of the buggy inventory. The GUI was also compiled using Visual Studio .NET.