Restaurant Automation. Design Report

Restaurant Automation Design Report Project Code May07-14 December 13, 2006 Client Senior Design Faculty Advisor Dr. Manimaran Govindarasu Technic...
Author: Randall Lamb
0 downloads 2 Views 906KB Size
Restaurant Automation Design Report Project Code May07-14

December 13, 2006

Client Senior Design

Faculty Advisor Dr. Manimaran Govindarasu

Technical Advisor Dr. Randall L. Geiger Team Members Chris Ford Sean McVeigh Obioma Ohia Nichole Taylor Anthony VanSant DISCLAIMER: This document was developed as a part of the requirements of an electrical and computer engineering course at Iowa State University, Ames, Iowa. This document does not constitute a professional engineering design or a professional land surveying document. Although the information is intended to be accurate, the associated students, faculty, and Iowa State University make no claims, promises, or guarantees about the accuracy, completeness, quality, or adequacy of the information. The user of this document shall ensure that any such use does not violate any laws with regard to professional licensing and certification requirements. This use includes any work resulting from this student-prepared document that is required to be under the responsible charge of a licensed engineer or surveyor. This document is copyrighted by the students who produced this document and the associated faculty advisors. No part may be reproduced without the written permission of the senior design course coordinator.

TABLE OF CONTENTS Section

Description

Page

1

Executive Summary ........................................................................................... 1-1

2

Project Statement............................................................................................... 2-1 2.1 Project Purpose .............................................................................................. 2-1 2.2 Operating Environment.................................................................................. 2-1 2.3 Intended Use and Users.................................................................................. 2-1 2.4 Assumptions and Limitations......................................................................... 2-2 2.4.1 Assumptions .......................................................................................... 2-2 2.4.2 Limitations............................................................................................. 2-2 2.5 Expected Project Product and Other Deliverables......................................... 2-2

3

Approach and Design ......................................................................................... 3-1 3.1 Handheld Approach ....................................................................................... 3-1 3.1.1 Design Objectives.................................................................................. 3-1 3.1.2 Functional Requirements....................................................................... 3-2 3.1.3 Technical Approach Considerations and Results.................................. 3-4 3.1.3.1 Platform .................................................................................... 3-4 3.1.3.2 Programming Language ........................................................... 3-5 3.1.3.3 Wireless Communications........................................................ 3-5 3.1.4 Testing Approach Considerations ......................................................... 3-6 3.1.5 Recommendations Regarding Project Continuation/Modification ....... 3-7 3.2 Detailed Design of Handheld (hardware) ...................................................... 3-7 3.2.1 Hardware Development Kit................................................................... 3-7 3.2.2 ICOP Technology eBox-II .................................................................... 3-9 3.2.3 Credit Card Reader.............................................................................. 3-10 3.2.4 USB Wireless Network Card .............................................................. 3-11 3.2.5 Bluetooth Converter ............................................................................ 3-12 3.2.6 Printer .................................................................................................. 3-12 3.3 Detailed Design of Handheld (software) ..................................................... 3-13 3.3.1 Inputs .................................................................................................. 3-13 3.3.1.1 Touch Screen .......................................................................... 3-13 3.3.1.2 Credit Card Reader ................................................................. 3-13 3.3.2 User Interface ..................................................................................... 3-13 3.3.3 Program Modules ............................................................................... 3-14 3.3.3.1 Update/Start Up Module......................................................... 3-14 3.3.3.2 Order Module ......................................................................... 3-14 3.3.3.3 Edit Order Module.................................................................. 3-14 3.3.3.4 Payment Module..................................................................... 3-15 3.3.4 Communications................................................................................. 3-15 3.3.4.1 Socket Programming .............................................................. 3-15 3.3.4.2 Communication Between Handheld and Other Devices ........ 3-16

i

Section

TABLE OF CONTENTS (Con’t) Description

Page

3.4 Central Computer Approach ........................................................................ 3-17 3.4.1 Design Objectives............................................................................... 3-17 3.4.2 Functional Requirements.................................................................... 3-17 3.4.3 Design Constraints ............................................................................. 3-18 3.4.4 Technical Approach Considerations and Results............................... 3-19 3.4.5 Testing Approach Considerations ...................................................... 3-19 3.4.6 Recommendations Regarding Project Continuation/Modification .... 3-20 3.5 Detailed Design of Central Computer (hardware) ....................................... 3-20 3.5.1 Dell GX270 ......................................................................................... 3-21 3.5.2 Linksys Wireless-B Broadband Router............................................... 3-21 3.6 Detailed Design of Central Computer (software) ........................................ 3-22 3.6.1 Inputs ................................................................................................... 3-23 3.6.1.1 User Input ............................................................................... 3-23 3.6.1.2 Handheld Device Input via Wireless Communication ........... 3-23 3.6.2 Networking in the Java Application.................................................... 3-23 3.6.3 System Communication ...................................................................... 3-25 3.6.4 User Interfaces..................................................................................... 3-25 3.6.5 Application Flow................................................................................. 3-27 4

Estimated Resources and Schedules ................................................................. 4-1 4.1 Estimated Resource Requirement .................................................................. 4-1 4.2 Estimated Schedule Requirement .................................................................. 4-5

5

Project Team Information ................................................................................ 5-1

6

Summary............................................................................................................. 6-1

7

References........................................................................................................... 7-1 LIST OF FIGURES................................................................................................. ii LIST OF TABLES ................................................................................................. iii ACRONYMS AND ABBREVIATIONS .............................................................. iv

ii

TABLE OF CONTENTS (Con’t) LIST OF FIGURES

Figure Figure 1 Figure 2 Figure 3 Figure 4 Figure 5 Figure 6 Figure 7 Figure 8 Figure 9 Figure 10 Figure 11 Figure 12 Figure 13 Figure 14 Figure 15 Figure 16 Figure 17 Figure 18 Figure 19

Description

Page

Project’s product components ............................................................................. 2-3 Functionality chart of the handheld device ......................................................... 3-3 Intel PXA27x Processor Developer's Kit ............................................................ 3-8 ICOP Technology eBox-II .................................................................................. 3-8 Magtek Mini USB credit card reader .................................................................. 3-9 NETGEAR 802.11B wireless USB adapter ...................................................... 3-10 Components of the IOGEAR Wireless Print Adapter Kit for USB Printers (GBP201KIT)..................................................................................................... 3-10 GUI for the handheld device ............................................................................. 3-11 Example of order arrays .................................................................................... 3-12 Socket diagram .................................................................................................. 3-13 The state machine of how the handheld device will operate............................. 3-14 Linksys Wireless-B Broadband Router ............................................................. 3-19 Server and Client Communication .................................................................... 3-20 The state machine of how the central computer will operate............................ 3-22 The state machine of how the kitchen display will operate............................... 3-23 Revised Estimated Project Schedule ................................................................... 4-6 Original Estimated Project Schedule................................................................... 4-7 Revised Deliverables Schedule ........................................................................... 4-8 Original Deliverables Schedule........................................................................... 4-9

LIST OF TABLES

Tables Table 1 Table 2 Table 3 Table 4 Table 5 Table 6

Description

Page

Revised Estimated Personnel Manhour Effort Requirements for Each............... 4-1 Original Estimated Personnel Manhour Effort Requirements for Each .............. 4-2 Revised Required Resources ............................................................................... 4-2 Original Required Resources ............................................................................... 4-3 Revised Estimated Project Costs ......................................................................... 4-4 Original Estimated Project Costs......................................................................... 4-5

iii

ACRONYMS AND ABBREVIATIONS WHOS

Wireless Handheld Ordering System

HDK

hardware development kit

LCD

liquid crystal display

GUI

graphical user interface

PCMCIA

Personal Computer Memory Card International Association

VPN

Virtual Private Network

MSDN

Microsoft Developer Network

iv

1 Executive Summary In many restaurants when a waiter takes an order from the customer they must write the order down and then enter it into a computer at one central location. The order is then printed out in the kitchen. When it is time to pay the waiter must go back to the central location and print out a copy of the customer’s bill. If the customer wants to pay with a credit card the waiter then has to take the customer’s credit card back to the computer at the central location to scan it in and then print the receipt. The current system wastes a lot of time because the waiter keeps going to and from the customer and the computer at the central location. It also wastes paper since the order must be written down, printed out in the kitchen, and finally a paper receipt must be given to the customer. The purpose of this Project is to develop a handheld device that can be used take an order while the waiter is standing at the table and send the order directly to a screen in the kitchen. When the customer is done eating the waiter will be able to show the customer their bill on the handheld device and, if the customer chooses to pay with a credit card, the device will be able to scan the credit card and print out a receipt without having to leave the customer. This system will reduce the time the waiter takes to obtain and process an order and settle the bill with the customer. The device will also eliminate some paper used because the only printout is the customer’s credit card receipt. This report contains a description of the design that the May 07-14 group will use to complete the Project on time. The report contains sections that address the following issues: operating environment; intended users; assumption and limitations; the end product; detailed design of the Project; costs; and schedule to be used for the completion of the project. The end product will be used in the demonstration, modification/continuation recommendation for the Project. A change made to the project, since the Project Plan is a revision in the cost estimate for the Project. The revision is being made due to financial constraints and the fact that some Project items needed to be changed because they would be either too expensive to purchase or were unable to be donated. The cost estimate also reflects the actual cost of items purchased by the team for each of the items required to complete the Project. The planned demonstration is going to be the same as the Project Plan, but included within this report is an alternate demonstration if one the handheld devices is unable to be obtained via donation, as it is very expensive. If this occurs, the alternate demonstration stipulates the use of a handheld like device that is readily available within the Department of Electrical and Computer Engineering.

1-1

2 Project Statement This section will outline the purpose of the Project and identify conditions that will need to be satisfied as part of the development of a paperless restaurant system.

2.1 Project Purpose The purpose of the Project is to develop a Wireless Handheld Ordering System (WHOS) to be used in a restaurant. The system will accept order information and send it to the kitchen while the waiter is standing at the customer’s table. The system needs the ability to notify the waiter when the order is done. When the customer has finished their meal, the waiter will be able to display their bill and print a final receipt that will be given to the customer. If the customer is paying by credit card the waiter will be able to swipe the credit card information using the WHOS. The system will be able to keep track of all orders taken each day. The WHOS will consist of a handheld device (hereinafter called “product”) which will be able to communicate wirelessly to output screens in the kitchen and to a central computer used to record/document all orders. The device will be modeled by using a Hardware Development Kit (HDK) based on the Intel PXA270. All inputs into the WHOS will be done using a Liquid Crystal Display (LCD) touch screen. Receipts given to customers will be printed from a thermo printer connected to the system using Bluetooth communications. All the programming for the devices will be done using Microsoft Visual C++.

2.2 Operating Environment The product will need to be used both indoors and outdoors, weather permitting. It will not be required to work in the rain or any other extreme weather conditions. It will be stored at room temperature in a dry place but must be able to perform at non-condensing ambient temperatures. Other wireless devices are possible sources for interference.

2.3 Intended Use and Users The product is intended to be used by waiters in a restaurant environment. Customers will also use the device to provide their electronic signature or debt card pin number. Orders will be received in the kitchen where the cook will be able to view and arrange the orders. The product will be designed so it can be easily used by an adult. All parts of the system will be easy to learn with a minimal amount of training. The requirements for using the product are basic reading and writing skills. The WHOS will require initially to be installed by technical personnel but menu changes, data interrogation and record reporting will be able to be accomplished by someone with limited computer skills.

2-1

2.4 Assumptions and Limitations To limit the Project’s definition and scope to a manageable form, we have identified the following assumptions and limitations. 2.4.1 Assumptions 1. Product will not be state of the art – Research shows that the resources are unattainable to make a state of the art product. 2. Since the prototype will be developed using a HDK it will not be handheld. The final commercial product can easily be developed from the prototype. 3. A maximum of 12 units will be used at once. 4. The maximum distance of transmission is within 10 meters (32 feet), about the range of Bluetooth [1]. 5. There will be a maximum of 5 simultaneous transmissions. 6. Handheld devices are able to be recharged throughout the day – The way in which this will occur will be like a Pocket PC. 7. Central computer will be located to maximize coverage. 8. Model can be developed into a handheld device. 2.4.2 Limitations 1. 2. 3. 4. 5.

Wireless and Bluetooth distance – Approximately 10m for Bluetooth and much larger depending on the structure of the building for Wireless. Power supply – This means the size of the battery used will limit the amount of time the device can be used before it needs to be recharged. Size and type of monitor available in the kitchen. The cost for items needed to complete the Project. May need to tone down the demo. The lack of programming skills due to the team being made of just electrical engineers.

2.5 Expected Project Product and Other Deliverables The expected Project product is a model of a WHOS that is ready for prototyping. The model WHOS will use simplified restaurant management software for demonstration. The following components will be available at the end of the Project: 1. 2. 3. 4. 5.

Handheld device – Intel PXA270 HDK; Computer monitor – displays the orders to the kitchen; Wireless printer – compact and prints receipts; Central computer – keeps track of orders and makes updates to the system; and Model – portrays final product.

2-2

A graphical representation of the Project’s product components and how they communicate with each other is shown in Figure 1.

Figure 1: Project’s product components

2-3

3 Approach and Design The following section will discuss in detail the approach used to develop the WHOS, the design of the components and the system. The first device to be discussed will be the handheld device and then the central computer will follow.

3.1 Handheld Approach The following is the approach used to determine how the handheld device will be designed. 3.1.1 Design Objectives The design solution should meet all these objectives: •

Develop a model of a handheld device Part of the solution will include a model of the handheld device based on a development platform. The model should emulate an actual handheld device in most areas, except for mobility considerations



Wireless communication The model handheld device must be capable of two-way communication with a central computer. The handheld will be used to send orders, and card authorizations, receive notices, updates, and any other information necessary



Bill tabulation and payment methods The wireless device must be able to calculate bills, swipe cards, receive signatures and personal identification numbers and send a receipt to be printed. This will allow the waiter to conduct all business tableside.



Software that allows input of customer’s order The handheld device must have software that contains the menu and allows the waiter to input a customer’s order and allow the waiter some degree of order customization. In addition, the menu must be customizable, and able to be changed wirelessly from the central computer.

3-1



Database that tracks orders A database needs to be developed for the central computer that allows it to track all the orders made during a period of time.



Ease of Use All devices and software must be easily used. The software on the handheld needs a stylus that allows quick and easy navigation.

3.1.2 Functional Requirements The following requirements are specified in order to successfully complete the Project. •

Sending a customers order to the kitchen The handheld device model must be able to send customers’ orders to another computer.



Receiving notices from the kitchen The handheld device model must be able to receive any notices from another computer on the restaurant’s network.



Sending order information to an “accounting database” on the central computer The handheld device model must be able to send order information to another computer for tracking,



Receive menu customizations from the central computer The handheld device model must be able to receive any customizations that a customer desires from the menu. The menu software on the handheld device must be able to update the menu on the device accordingly



Display all menu information defined by software The handheld device model must be able to run and display any information about the menu.



Touch screen capabilities The handheld device model must have touch screen capabilities to navigate the menus and for input.

3-2



Receive credit card information via a magnetic card swipe The handheld device model must be able to communicate with a card reader and receive credit card information via a magnetic card swipe. The touch screen can be used for electronic signatures and pin entry.



Communicate card information to the central computer for verification The handheld device model must be able to authorize card transactions by communicating with the central computer for card verification.



Send receipt information to a printer The handheld device model must be able to send information to printer for hardcopies of any transactions.



Stylus that allows easy navigation The stylus must allow quick navigation of menus

A flow chart representing the above is shown in Figure 2.

Functionality Chart Handheld Device User Input

Touch Screen

Send to Program

Interface

Card Reader

Send to Program

Communication

Computer Screen

Update Menu

Send to Program

Verification

Read Card

Receive Order Status

Send Order Status

Receive/Send Credit Information

Send Order to Kitchen

Table Select

Main Menu

Take Order

Send Order

Cancel Order

Payment

Cash

Credit/Debit

Edit Order

Check

Send

Figure 2: Functionality chart of the handheld device

3-3

Print Bill

Resend Order

The project must run under the following constraints: •

Cost All expenses for this Project must fall within budget. This will entail searching for either the most cost efficient or cheapest solutions.



Communications Bluetooth communications has the associated constrains: range of Bluetooth wireless is approximately 20 meters (66 feet) and Bluetooth devices can handle a maximum of 7 devices simultaneously.



Mobility The Project product will be a model of the handheld device. This model, however, will be a stationary device that runs on power provided externally. The product will not be able to be tested for all the criteria of a handheld device (size, weight, power consumption, etc) due to budgetary constraints.

3.1.3 Technical Approach Considerations and Results The following technologies were considered for implementation in the final design: 3.1.3.1

Platform

A review of platforms on which to complete the Project were considered. The platforms considered were using a Tablet PC to build a prototype, using a HDK, or using an eBox-II kit. Tablet PC The Tablet PC had the distinct advantage of being a mobile device compared to the other platforms. This would allow a prototype of WHOS to be developed. However, developing the operating system for the Tablet PC would be considerably more difficult than other platforms. Also, integration of the many hardware components would be more difficult because Tablet PC’s are not designed to maximize hardware integration. Hardware Development Kit(HDK) The HDK is a platform specifically designed for development projects. Toward this end, the Kit allows easy integration of hardware components and simplifies the development of the operator system. Disadvantages of the HDK are the cost and the lack of mobility. However, designing the WHOS on a HDK would produce a workable prototype.

3-4

eBox-II The eBox-II is another development tool for design projects. The eBox-II runs a compiled Windows CE operating system. The operating system comes with many hardware drivers to ease integration. Also, these boxes are readily available to the team. However, development on the eBox-II is somewhat cumbersome, plagued with long compile times and a steep learning curve. Selected Approach The platform chosen was the HDK because it would simplify the development and the integration of the Project. 3.1.3.2

Programming Language

The programming language to use for the WHOS development was reviewed. The languages considered were Visual C++ and Java. Visual C++ Visual C++ language is based on C++ which is familiar to many members of the WHOS team. Additional components assist in developing GUIs, often without writing much additional code. Java Java is another language that lends itself to development of GUIs. There are a lot of libraries, scripts, and other example code available freely on the internet. Selected Approach The language chosen for the WHOS development was Visual C++. The WHOS team is more familiar with C++ and Visual C++ allows menu based generation of GUIs, simplifying the development process. 3.1.3.3

Wireless Communications

The wireless communication method for the system was reviewed. The methods considered were Bluetooth and WiFi. Bluetooth Bluetooth is a wireless communication method for low power, shortrange, secure communications. It allows quick and easy integration of

3-5

different devices. However, only a limited number of devices can communicate simultaneously using Bluetooth. WiFi WiFi is a wireless communication method often employed for larger networks. It allows farther ranges and can be more secure than Bluetooth, but it consumes more power and is more difficult to integrate devices. Selected Approach The wireless communication method chosen was to use both WiFI and Bluetooth. WiFi’s range and its ability to have simultaneous users communicate at the same time will make communicating with the central computer to be easier, while Bluetooth will allow easier integration of multiple close range devices, such as a printer, and consumes less power. 3.1.4 Testing Approach Considerations The software must be tested to ensure it meets the design objectives, therefore, the software will be tested during and after development. Testing during development will consist of testing functional blocks individually after they have been completed. Testing after development will consist of “run-throughs” that will test different scenarios, such as the following ordering and payment scenarios. Scenario 1 A customer orders one menu item and pays using cash. Scenario 2 Customers at table one place three orders from the menu and customers at table two order six items from the menu. Table one pays using a debit card and table two pays using a credit card. Scenario 3 Customers at table one orders five items from the menu, customers at table two order four items from the menu and customers at table three order nine items from the menu. Table two adds one item to their order, table three removes one item from their order, and table one changes two items in their order. Table three pays using credit card, table two pays using a debit card and table one pays using cash. A successful test of these scenarios will consist of an order successfully being delivered to the central computer for processing, a bill being paid and a receipt printed.

3-6

3.1.5 Recommendations Regarding Project Continuation/Modification The recommended continuation for the Project regarding the handheld is to give the ability for each handheld device in a restaurant to have a unique ID so that the central computer will know which waiter took the order. It is recommended that a way be added for the handheld to communicate securely between the central computer and the handheld. The best way for this to occur is through a VPN connection to the server so that sensitive information such as pin numbers and credit card information is protected from people who use sniffing software to steal people’s information. It is recommended that a way be added for a waiter to log-in and log-out of the handheld so that multiple waiters could use one handheld and an employer can track each waiter’s order. It is recommended that a prototype of the handheld device with all of the required items be developed. It is recommended that manager functionality be added to the handheld. It is recommend that the GUI be made more robust by building upon this Projects design so it is more user friendly and has more options such as customizing each individual menu item to a customer’s request.. A potential modification that might be made to the Project is the use of the HDK due to its cost and the possibility of not being able to get one donated. If this were to occur then the eBox-II will be used. Currently, we are using the eBox-II as the primary development platform until an HDK can be obtained. If the eBox-II were continue to be used then there will be no touch screen and the demonstration will need to use a mouse to simulate the touch screen. This is the only modification; everything else stated in the Project Plan and in the design report will be able to be completed.

3.2 Detailed Design of Handheld (hardware) The following contains detailed information regarding the hardware to be used for the Project. 3.2.1 Hardware Development Kit The Intel PXA27x hardware development kit was chosen because of it’s capabilities to run Microsoft Windows CE, and Microsoft Visual C++. The HDK combines a PXA27x process, networking capability, USB and other output ports, and a fully integrated touch screen. The hardware development kit has the following options: •

Processor – Intel PXA270;



Memory Support o 64 MB Intel StrataFlash memory

3-7

o o

128 MB of SDRAM 128 MB M-System NAND Flash memory



Audio Codecs o AC’97 Audio and Touch Codec (Wolfson WM9713) o PCM audio support for cellular header



Ethernet o 10/100 Base-T Ethernet controller (SMSC 9115)



LCD o o

10.4” VGA TFT LCD LED backlight, dimming control



Input o 5-wire resistive touch screen o Keypad 5-way navigation



USB o o

1 x full-speed client or OTG 2 x full-speed host

Serial o o o o

Full function RS232 port Standard RS232 port IrDA SIR/FIR Bluetooth UART TTL level port





Memory Card Expansion o Two 4-bit SDIO slots o PCMCIA Type II interface



Expansion slots o Cellular expansion header (GSM and CDMA) o Peripheral expansion bus o FLASH substitution header o Video/camera interface header o SSP connector with power o I2C connector o Power substitution header for PMIC



Power o o o o

3.6V lithium-ion primary battery header Speedstep supported core voltage Smart battery SM-Bus I/F Batter removal logic

3-8



Debug o JTAG interface



Keyboard o USB keyboard[2]

Figure 3: Intel PXA27x Processor Developer's Kit[3]

3.2.2 ICOP Technology eBox-II The ICOP eBox-II hardware development kit was chosen because of its capabilities to run Microsoft Windows CE 5.0 and Microsoft Visual C++. The eBox-II combines an x86 compatible processor, ethernet networking capability, USB and other input/output ports, and memory in to a compact case seen in the Figure 4.

Figure 4: ICOP Technology eBox-II[4]

3-9

The eBox-II has the following features and specifications: •

Processor – 200 MHz Vortex86 system-on-chip (equivalent to the SiS550);



Memory – 128 MB SDRAM;



Disk – EIDE interface;



Ethernet – 10/100 Mbps Realtek 8100B with PXE boot;



CRT/LCD video controller: o AGP Rev 2.0 Compliant o Shared system memory area up to 128 MB o Up to 1920 X 1440 resolution in “true color”



Other input/output ports: o USB X 3 o PS/2 keyboard/mouse o Parallel



Real Time Clock with lithium battery backup;



BIOS – AMI BIOS;



Audio o AC97 V2.1 CODEC o Microphone, line in/out connections



Power Requirements – single voltage, +5Volts at 1.7 Amps, with ACPI support;



Dimensions – 5.2 X 2.5 X 4.4 inches; and



Operating temperature – 20 to 60 degrees C[4].

3.2.3 Credit Card Reader A Magtek Mini USB credit card reader will be used for this Project. This particular credit card reader was chosen because it has the following desired features and specifications. •

Powered by USB (No external power supply required);



Dual and three track capability;



Bi-directional read capability;

3-10



Reads encoded cards that meet ISO, ANSI and AAMVA standards;



Up to 1,000,000 passes with ISO-conforming cards;



Includes USB interface;



Card speed – 3 – 50 inches per second[5].

Figure 5: Magtek Mini USB credit card reader[5]

3.2.4 USB Wireless Network Card A NETGEAR 802.11B wireless USB adapter type MA 111 will be used in this project because it is capable of connecting to the eBox-II via a 1.1 USB port. The important specifications and system requirements for this device are as follows: •

System requirements o Pentium class PC o Available USB port o Windows 98SE, Me, 2000 or XP o 2 MB of free hard drive space



Specifications o Radio data rate – 1,2,5.5,11 Mbps (auto rate capable) o Modulation type – direct sequence spread spectrum (DSSS) o Frequency – 2.412 ~ 2.462 GHz o Encryption – 40/64 bit and 128-bit WEP encryption o Bus interface – USB 1.1 o Electromagnetic compliance – FCC part 15 class B and class E o Enviromental specifications – temperature range 0 to 60 degrees C, humidity level 5-95%, non condensing[6]

3-11

Figure 6: NETGEAR 802.11B wireless USB adapter[6]

3.2.5 Bluetooth Converter A Bluetooth converter will be used in order to convert a standard printer into a wireless printer. The IOGEAR Wireless Print Adapter Kit for USB Printers (GBP201KIT) was chosen for our application, because it has the following features: •

Enables the computer and USB printer with Bluetooth wireless technology and allows it to wirelessly send print jobs to a USB printer;



Plug and play, easy to install;



Bluetooth class 2 device with a range of 66 feet;



Supports data rates of 723 Kbps; and



Allows sharing a printer with up to 7 Bluetooth devices

A picture of the all of the components in the kit are shown in Figure 7. The device with the USB port will plug into the handheld device, and will be responsible for sending all the information to be printed. The other device will connect to the printer, and will receive all information that needs to be printed.

Figure 7: Components of the IOGEAR wireless print adapter kit for USB printers (GBP201KIT)[7]

3.2.6 Printer For this Project, the only requirement for the printer is that it be capable of connecting through a standard USB port. This insures that it will be compatible with the Bluetooth conversion device listed above.

3-12

3.3 Detailed Design of Handheld (software) The following details information regarding the software that will be developed and used with the handheld. 3.3.1 Inputs There are two types of inputs that the handheld device will use, input from the touch screen and input from the card reader. 3.3.1.1

Touch Screen

The user will be able to select different menu options by touching them on the handheld’s touch screen. 3.3.1.2

Credit Card Reader

The credit card reader will be able to convert the information stored on the magnetic strip of a credit card into data that the handheld device is capable of understanding. 3.3.2 User Interface The GUI for the handheld device will consist of three regions. The first region will consist of the bottom half of the handheld’s display. This region is where all menu options will be displayed. The second region consists of the buttons along to the top right side of the display. This second region is where all permanent buttons will be displayed. The final region is the display window in the top left corner of the handheld’s display. It will show all order information, the price of each item, and a running tally of all items in the current order. The following figure shows the GUI for the handheld device

Figure 8: GUI for the handheld device

3-13

3.3.3 Program Modules The handheld’s main programming module will consist of many smaller modules which it will call upon as needed. The following is a break down of the functionality of each sub module. 3.3.3.1

Update/Start Up Module

The purpose of this module is to initialize all menus and submenus by reading them from the central computer. After it has read in all the menus and submenus it will save them in the handheld’s memory. Finally it will display the top level menu on the screen of the devices. 3.3.3.2

Order Module

The purpose of this module is to convert the user’s selection into an array that represents an order. Each array will be a fixed length where each column corresponds to a specific submenu. When the user makes a selection the module reads in the selection and then displays the corresponding submenu, it will then repeat this process until it reaches the final submenu, upon which point it will display the top level menu again. Each selection in each menu will be assigned a specific value that will be inserted into the array, in the column that corresponds to that specific menu. Orders will be grouped together and saved as a specific table number so they can be accessed by various other modules. An example of what a two person order may look like is displayed in the figure below. Menu 3 Order 1

[4 0 1 5 0 0] [2 1 0 0 2 1] Figure 9: Example of order arrays

This module will also be responsible for printing all information about the order including; item, all subsequent options for the item, and the total cost of all items in the display window. The final functions this model will contain will be a cancel order function. When the cancel button is pressed the current order will be eliminated. 3.3.3.3

Edit Order Module

The purpose of this model is to make it so the waiter can come back and correct any mistakes they may have made to an order. The user will be asked to select which table needs to have their order changed. The program will then display all order information for that table, and ask the user which person’s order needs to be changed. It will then

3-14

allow the order to be edited. Once the waiter is done editing the order, the program will then be sent the updated order to the kitchen program and the central computer. 3.3.3.4

Payment Module

The payment menu will be accessed by selecting the payment button on the touch screen. The payment button will be one of the permanent buttons located on the upper right side of the touch screen. The payment submenu will have three options: cash, check, debit, and credit. The cash and check option will have the same basic functionality. They will read the value typed by the server and then provide the correct amount of change to give. It will then keep a running tally of all cash and checks taken in by the server. The debit option will allow the user to enter their pin number and then send that information to the central computer where it will contact the appropriate bank to remove the money from the customer’s banking account. The credit option will enable the program to read information from the card swipe and then send it to the central computer to be verified. If accepted it will then keep a running tally of all credit card payments for that day. The final function of the module is to send all bill information to the printer so a hard copy may be given to the customer. The bill will have an itemized list of all items ordered with their price, and the method of payment used to pay the bill. 3.3.4 Communications The handheld device and the central computer will communicate using a wireless network. On the software level the two systems will communicate using sockets. 3.3.4.1

Socket Programming

Sockets are one of the easiest ways for two computers to communicate with each other. When the handheld device (client) needs to communicate with the central computer (server) it will create a socket. This socket will correspond to a socket on the server with a specific port identification. When the client socket connects with the server socket it creates a link between the two computers which information can be passed along. After communications with the server are finished the connection will be broken until the next time the client needs to communicate with the server in which case the connection will be remade. The sockets that will be used will be unidirectional, so if the central computer needs to communicate with the handheld device the central computer will become the client and the handheld will become the server. The same process will occur just the roles will be reversed. The following figure shows a basic diagram for how socket programming works.

3-15

Figure 10: Socket diagram [8]

3.3.4.2

Communication between Handheld and Other Devices

The handheld device needs to have the capability to communicate with all of the devices in the system. The most import of which is the central computer. In order for the handheld to achieve its desired functionality the following information must be sent/received to/from the correct location. •

Send order information to the central computer;



Send credit card verification to the central computer;



Send order to kitchen display;



Send bill to be printed to Bluetooth printer;



Receive menu updates from the central computer;



Receive credit card verification from central computer; and



Receive order status form kitchen.

3-16

Handheld Start Normal Operation Acknowledged Finished Updating Ready to Send

Update Notice Pay with Card

Passed/Failed

Update Menu

Send Order Authorize Card

Timeout

Timeout

Figure 11: The state machine of how the handheld device will operate.

3.4 Central Computer Approach The following addresses the design objectives, the functional requirements, and the design restraints of the central computer system. It also looks at some technical and testing approach considerations. 3.4.1 Design Objectives The approach to designing the central computer system is to research networking in Java and to learn about MySQL so that the application will be written well and will run smoothly. The central computer team already has knowledge regarding both of these, and is currently researching them for this specific project. All of the elements of the central computer system have already been chosen and the team has access to them. The central computer application needs to run as smoothly as possible on the computer. It should be easy to use and understand right from start-up. It needs to run without error at all times, as the business of a restaurant is depending upon it. Also, the application’s graphical interfaces must be very simple and professional-looking. 3.4.2 Functional Requirements The Project includes a set of functional requirements for the central computer system. These elements must be included for the Project to be considered a success.

3-17

Inventory and order history The central computer system must be able to keep track of the restaurant’s order history and automatically update the restaurant’s inventory, which the user will be able to create and update as more items come into the restaurant. Graphical user interface All applications that interact with the user on the central computer system must have a simple, easy-to-understand graphical user interface to allow for easy user navigation. User-created menus The central computer system must allow the user to create and edit menus for use on the handheld device. Kitchen-based display There must be a display in the kitchen that will display the orders to the cooks and also give them the ability to prioritize the orders and confirm order completion for waiter notification. Communication with the handheld The central computer must be able to establish a connection with the handheld so the handheld can read/write information to/from the MySQL database and so the systems can notify each other of either new orders or complete orders. 3.4.3 Design Constraints The Project requirements for the central computer system also include some design restraints, which are described as the following: Cost The overall product budget is $150, but the goal is to keep the cost for the central computer system as low as possible. That is why all the software being used is available for free. An affordable desktop computer that is already available for testing will be used, as well. User interfaces All user interfaces on the central computer system must be presented in a simple, graphical interface to allow for easy user navigation.

3-18

Minimal wireless communications The central system must be designed to allow the overall system to work with minimal communication between the two systems. The less the two systems have to interact over the network, the lower the risk of communication errors. This will also allow for more handheld systems to interact with the central computer system at once. 3.4.4 Technical Approach Considerations and Results The technical approach for the central computer system consists of starting with the original plan and seeing how well it works and if it fails, then change the plan to make the system work to meet the system requirements. Research Thorough research is an ongoing process that is still being done to understand all the elements needed to make the central computer function properly. Most of this research is being done on networking through Java and about using MySQL as a database. The research completed to date has concluded that this software will offer what the system needs to function. Wireless communication A wireless router has been chosen that should be able to handle the information being passed between the two systems. The software is also being designed to allow for a minimal number of communications between the central computer and the handheld by having the handheld only send in order information and having the central computer take care of the everything else based on that information. 3.4.5 Testing Approach Considerations All testing for the central computer system will be done continuously by project members throughout development to ensure success when all of the elements are brought together. The first thing that will be developed is the database system for the central computer. This will be created with a non-graphical user interface. Once it has been tested to make sure that the databases can be created and accessed, a graphical user interface (GUI) can be developed. Then communications between the central computer and the eBox-II will be tested. This will first be done under ideal circumstances (close proximity with minimal obstruction) to make sure the connections can be established and that the programs have been developed properly. The wireless system can then be tested by putting the system into a more realistic environment, with a greater distance between the two systems, with the eBox-II moving during communication, and with obstructions such as walls and tables and people in between the two systems. The wireless communication is one of the most important testing elements. If packets are transferred successfully, then wireless communications will be considered success in that regard. Transfer speed will also be tested. The goal is to minimize the time it takes for the systems to communicate with one another to as quickly as possible, with no

3-19

slower than a few seconds being the desired speed. Once these two things have been tested and work, the rest of the system will be developed and the final system tested in a realistic environment one last time before project presentation. The team hopes to have an opportunity to test the system in an actual restaurant environment to uncover any possible problems that may remain unseen in a laboratory environment. Final testing will be done by various people with little to no engineering background and with no initial understanding of this system. The idea here is to ensure that someone just hired as a server for a restaurant would be able to easily utilize this system if needed. In the final tests, the following will be tested: •

Ability to create and edit menus;



Ability to view/edit inventory and order history;



Effectiveness of graphical user interfaces;



Ease/difficulty in understanding how to use applications;



Wireless communications with the eBox-II;



Proper kitchen display; and



Overall practicality of using system in a restaurant environment.

3.4.6 Recommendations Regarding Project Continuation/Modification For recommendations on the continuation of the Project would be to add the ability of secure connection between the handheld and the computer system. The way in which this can be done is to setup a VPN server on the central computer that would enable secure wireless communications between the handheld and the server so that when credit card information is sent between the handheld and the central computer the information would be free from people who might be able to sniff out of the air someone’s credit information or pin number. Another recommendation for the project for continuation would be to make the database and the GUI more robust so the user could do more like create specialized menu for each day and to have the ability to communicate to the handhelds when an item in the kitchen is no longer available. As for modifications for the currently planned project the current proposed plan and design are still viable and achievable and do not need to be modified.

3.5 Detailed Design of Central Computer (hardware) The following is a detailed look at the design of the central computer system which will process orders coming from the handheld device and display them on a kitchen monitor, as well as use order information to update the restaurant’s item database and order history. The central

3-20

computer system will have software that will allow users to create, edit, and select menus and update information on the wireless handheld device. 3.5.1 Dell GX270 The Dell GX270 was chosen as the computer for the central computer system because it is a multi-purpose desktop computer with the capabilities to run the applications that will be created for it. It was also chosen because there are multiple of these machines available to the team for testing purposes. In reality, the applications will be made to be able to be installed on any modern desktop computer running on a Windows operation system. A similar computer will be used for the kitchen display, though it will likely be a laptop running an application on the Dell GX270 via a remote desktop connection. The Dell GX270 has the following features and specifications that may apply to this project: •

Processor – Intel 865G chipset, Intel® Pentium® 4 processor with 800 MHz front side bus and hyper-threading support or 533 MHz front side bus (depending on processor) and 512K L2 cache or Celeron® processor with 400 MHz front side bus and 128K L2 cache;



Memory – .4 DIMM slots (SF chassis only has two); non-ECC dual channel shared2 DDR SDRAM system memory (333Mhz or 400Mhz) up to 4GB on the SD and SMT chassis;



Ethernet – One RJ45 port;



Other input/output ports: o Eight USB 2.0 o PS/2 keyboard/mouse o One Ethernet (RJ45)



Video controller- Integrated Intel Extreme® Graphics 2;



Power supply – small form factor 160W, small desktop 210W, small mini-tower 250W[9].

3.5.2 Linksys BEFW11S4 Wireless-B Broadband Router The Linksys BEFW11S4 Wireless-B Broadband Router has been chosen as an affordable and reliable router that will be able to handle the requirements of this system. It has the following features and specifications that make it a choice wireless router for this Project: •

Standards: IEEE 802.3, IEEE 802.3u, IEEE 802.11b;



Protocol: CSMA/CD;

3-21



Channels: 11 channels (US, Canada), 13 channels (Europe) 14 channels (Japan);



Ports: o Internet: one 10/1000 RJ-45 port for cable/DSL modem connection o LAN: four 10/100 RJ-45 switched ports



Speed: 10/100Mbps (half duplex) 20/200 (full duplex);



Cabling Type: UTP category 5 or better;



Dimensions: 7.31" x 6.16" x 1.88" (186 mm x 154 mm x 48 mm);



Unit weight: 16 oz. (0.45 kg);



Power: external, 5V DC, 2A;



Certifications: FCC, CE, WiFi, UPnP;



Operating temp: 0ºC to 40ºC (32ºF to 104ºF);



Storage temp: -20ºC to 70ºC (-4ºF to 158ºF);



Operating humidity: 10% to 85%, non-condensing; and



Storage humidity: 5% to 90%, non-condensing[10]

Figure 12: Linksys BEFW11S4 broadband router

[10]

3.6 Detailed Design of Central Computer (software) The following is an overview of the software design for the applications running on the central computer system. The applications will be written in Java 5.0, and MySQL will be used for database support. One Java application will be used for the kitchen monitor user interface (which will be accessed by a computer in the kitchen over remote desktop connection) and the other for some communication with the handheld and for the user to create/edit menus, view order history, and view/edit the inventory. MySQL databases will store all inventory, order, menu, and pricing

3-22

information. These databases will be accessed from the Java application through MySQL client software for Java. 3.6.1 Inputs The application on the central computer will use two types of input: user input via a keyboard and/or mouse and information being directly received from the handheld via wireless communication. 3.6.1.1

User Input

The user will have the capability to input information into the central computer through some different applications. If the user is accessing the database, he/she will be able to create/edit/choose menus, as well as view/update the restaurant inventory and view/edit the order history. If the user is at the kitchen-based computer, he/she will use a touch screen to either prioritize orders that are on the screen or send a message to the handheld confirming that the order has completed. 3.6.1.2

Handheld Device Input via Wireless Communication

The application on the central system will receive and send information to and from the handheld through a wireless router. Using socket programming (Java 5.0 has classes designed for networking, including the Socket() class) the application will be able to receive and deliver information to/from the handheld. 3.6.2 Networking in the Java Application The application on the central system will listen for a connection request from the handheld, and establish connection upon such a request. This idea is shown in the following diagram:

Figure 13: Server and client communication[11]

The two will then be able to communicate by writing to or reading from their sockets. The following is a simple application displaying a test communication between the handheld and the central computer. The comments give insight as to the function of each part.

3-23

// open appropriate Java libraries import java.io.*; import java.net.*; public class CentralComputer { public static void main(String[] args) throws IOException { // create variables Socket wirelessSocket = null; PrintWriter out = null; BufferedReader in = null; // try-catch block protects program from errors if the machine // can not be found or if internet connection is unavailable try { // set Socket variable to the machine on the network named “eBox”, // with 7 being the port number through which the server listens wirelessSocket = new Socket("eBox", 7); // This sets up a Printwriter object that can be used to print to “eBox”. out = new PrintWriter(wirelessSocket.getOutputStream(), true); // This sets up a BufferedReader object that can be used to read from “eBox”. in = new BufferedReader(new InputStreamReader(wirelessSocket.getInputStream())); // catch possible errors } catch (UnknownHostException e) { System.err.println("Don't know about machine: eBox."); System.exit(1); } catch (IOException e) { System.err.println("Couldn't get I/O for " + "the connection to: eBox."); System.exit(1); } // creates a BufferedReader object that can be used to read user // input on this machine. BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in)); String userInput; // this loop takes any user input, prints it out to “eBox”, waits // for a response, then prints that to this machine. while ((userInput = stdIn.readLine()) != null) { out.println(userInput); System.out.println("eBox: " + in.readLine()); } // closes all I/O connections out.close(); in.close();

3-24

stdIn.close(); wirelessSocket.close(); } }

Essentially, the above program sends a message to the handheld and prints out a response. It may not be useful directly for the project, but it shows in simple terms how the two systems can communicate. It will also serve as a simple program to test communications between the central computer and the handheld. 3.6.3 System Communication MySQL is database software that is available free over the internet. It runs on commands given by the user (much like a language such as Java or C++). The very useful thing about MySQL for the purposes of the project is that there is client software available that allows a program running in either Java or C++ to directly speak to the databases and create, edit, and read from databases. This database system will work as follows: There will be a database for: the restaurant inventory; the order history; each menu created; and each table in the restaurant. Each table database will have a row for each person sitting at the table, and each column will be used for information pertaining to each person’s specific order. Every time an order is placed by the handheld the central computer will process the order and notify the kitchen that a new order has arrived. The kitchen display application then will be sent the order information and display the order on the monitor in the kitchen. The central computer can also take care of using the order information to update the inventory and order history, which will minimize the number of communications between the handheld and the central system over the network. 3.6.4 User Interfaces The application on the central computer system will have a few different uses, each requiring its own graphical user interface. For creating/editing menus, the GUI will consist of a series of options that the user can select with a mouse or keyboard. These will allow the user to select from choosing a menu, creating a menu, or editing a previously created menu.

3-25

Central Computer

View Inventory

Start Finished Inventory Update Menu

Edit

Normal Operation Customize Menu

Finished

Edit Inventory

Finished Updating Order Done Acknowledged

Finished Updating

Acknowledged

Send Menu Updates

Receive from HH

Tally Inventory

Finished

Send to Handheld

Send to Kitchen

Timeout Timeout

Timeout

Figure 14: The state machine of how the central computer will operate.

For the kitchen display, the GUI will consist of a simple series of boxes, each containing an order. They will be displayed from left to right, top to bottom, in the order they were received by the handheld. The user will be able to use the touch screen to click and drag these boxes around the screen if they need to change order priority.

Kitchen Display

Start

Normal Operation Finished Finished Edit Orders

Incoming Order Meal Done

Finished

Add Order

Remove/ Send Notice

Manual Edit

Timeout

Figure 15: The state machine of how the kitchen display will operate.

3-26

3.6.5 Application Flow When the main central computer application starts up, it will establish connection with the handheld through the wireless router. It will set up a simple server that will continuously look for information coming from the handheld. This is basically waiting for an order to be placed. The program will then notify the kitchen that a new order has been placed and what it is and display it on the monitor. The program will also use this information to update the database. This process will be going on continuously and automatically as long as the application is running. At the same time, the central computer will also be able to display the options for the user, should they need to create/choose menus or view the database. If the user chooses to create a menu, the program will display a form with numerous blank entries, in which the user can type in main categories (appetizers, salads, entrees, etc.). After pressing enter, the program will display these categories. By clicking on one of these categories, another form will be displayed, again showing blank entries into which the user can type in sub-categories, and so on (for example, salad sub-categories would be various different salads and the subcategories of each of these may be possible salad dressing options). After entering all desired items, the user can complete and save the menu. This can be accessed from the “Choose Menu” section, which will allow the user to edit the menu or select it to be sent to the handheld.

3-27

4 Estimated Resources and Schedules This Section presents the estimated resources and schedules that will be used to estimated time for each part of the phase of the Project and identify the cost of the Project. The first part will present the estimated resources required for completing the Project. The second part will present the schedule and how much time will be spent on each phase of the Project.

4.1 Estimated Resource Requirement The estimated resources requirements are broken down into three categories: personnel and estimated manhours for each task; equipment/material inventory list and associated costs for each item; and the estimated total cost of the Project. Table 1 shows the tasks required to complete the Project and the corresponding manhours to complete each task. The hours given for each team member closely relate to their expertise in programming and how much responsibility they will assume for a given task. Table 1 does not Table 1: Revised Estimated Personnel Manhour Effort Requirements for Each Task Personnel Name Chris Ford Sean McVeigh Obioma Ohia Nichole Taylor Anthony VanSant Total

Task 1 6.50 7.00 5.50 5.75 5.25 30.0

Task 2 14.0 19.0 13.0 11.5 12.5 70.0

Task 3 21.0 14.0 15.5 16.0 13.5 80.0

Task 4 40.0 49.0 48.0 43.0 45.0 225.0

Task 5 44.0 36.0 38.0 46.0 36.0 200.0

Task 6 11.5 14.0 9.5 12.0 13.0 60.0

Task 7 4.6 4.2 5.0 5.0 5.2 24.0

Task 8 42.0 56.0 35.0 45.0 38.0 216.0

Total 183.60 199.20 169.50 184.25 168.45 905.00

Task 1 – Problem Definition Task 2 – Technology Considerations and Selections Task 3 – End Product Design Task 4 – End Product Prototype Implementation Task 5 – End-Product Testing Task 6 – End-Product Documentation Task 7 – End-Product Demonstration Task 8 – Project Reporting

show any change from the original manhours given in the Project Plan. The reason for this is that it is still believed these estimations are still the best estimation of how the project will be completed. The original manhours from the Project Plan is shown below in Table 2.

4-1

Table 2: Original Estimated Personnel Manhour Effort Requirements for Each Task Personnel Name Chris Ford Sean McVeigh Obioma Ohia Nichole Taylor Anthony VanSant Total

Task 1 6.50 7.00 5.50 5.75 5.25 30.0

Task 2 14.0 19.0 13.0 11.5 12.5 70.0

Task 3 21.0 14.0 15.5 16.0 13.5 80.0

Task 4 40.0 49.0 48.0 43.0 45.0 225.0

Task 5 44.0 36.0 38.0 46.0 36.0 200.0

Task 6 11.5 14.0 9.5 12.0 13.0 60.0

Task 7 4.6 4.2 5.0 5.0 5.2 24.0

Task 8 42.0 56.0 35.0 45.0 38.0 216.0

Total 183.60 199.20 169.50 184.25 168.45 905.00

Task 1 – Problem Definition Task 2 – Technology Considerations and Selections Task 3 – End Product Design Task 4 – End Product Prototype Implementation Task 5 – End-Product Testing Task 6 – End-Product Documentation Task 7 – End-Product Demonstration Task 8 – Project Reporting

The equipment/materials necessary to complete the Project and the associated costs are shown in Table 3. The cost information for each item comes from going to supply companies on the internet that provided these items. Most of the items located in the list are free because either the team already owns the items or they can be easily obtained from the Department of Electrical and Computer Engineering. In the instance of the HDK the cost is an estimate for now. It is hoped that this item will be donated by Intel in which case the cost will be nothing. Showing the cost provides a good cost estimate of how much something like this costs and how it affects the budget. The references of where the prices came from are all contained in Section 7. Table 3: Revised Required Resources Item Parts and Materials: a. Hardware Development Kit Assembly[12] b. ICOP Technology eBox-II c. Magtek Mini USB Credit Card Reader[13] d. NETGEAR 802.11B Wireless USB Adapter e. Bluetooth Printer Adapter[14] f. Miscellaneous Parts g. Print Project Poster h. Dell Dimension GX270 i. Linksys BEFW11S4 Wireless Router Software: a. Microsoft Windows CE .NET 5.0 b. Microsoft Visual Studio Pro 2005 w/MSDN Pro Totals

Team Hours

Other Hours

Cost

3 0 0 0 0 0 8 0 0

0 0 0 0 0 0 0 0 0

~$1,399.00 Free $67.20 Free $54.00 $20.00 $50.00 Free Free

0 0 11

0 0 0

Free Free $1,590.20

To better understand the origin of the items in Table 3 it is necessary to review the original plan equipment/material list. The original plan equipment/material list is presented in Table 4 and shows the costs for each of the item that were needed for the Project. It was believed initially that all of the items could be obtained through donations and that the estimated costs were developed 4-2

to give an idea of how much it would cost to get all of the items necessary to complete the Project. Since the Project Plan was first presented, we have determined that the ideal equipment/material to complete the Project will not be realized and we have revised the required equipment/material resources in Table 3. It is necessary to present the original items to show what it will take to complete the Project under ideal conditions. Table 4: Original Required Resources Item Parts and Materials: a. Hardware Development Kit Assembly[12] b. Card Swipe[13] c. Wireless 802.11g PCMCIA Card[15] d. Bluetooth Printer[16] e. Bluetooth Adapter[17] f. Miscellaneous Parts g. Print Project Poster h. Dell Dimension B110[18] i. Linksys WRT54G Wireless Router[19] Software: a. Microsoft Windows CE .NET 4.2[20] b. Microsoft Visual Studio Pro 2005 w/MSDN Pro[21] Totals

Team Hours

Other Hours

Cost

3 0 0 0 0 0 8 0 0

0 0 0 0 0 0 0 0 0

$1,399 $75.80 $59.99 $725.00 $30.00 $20.00 $50.00 $569.00 $49.99

0 0 11

0 0 0

$995.00 $644.00 $4,617.78

The total cost of the Project includes both the cost for the equipment/materials and the labor. Labor costs were calculated by assuming that the team personnel would receive $10.50 per hour for working on the Project. The cost per hour was multiplied by the total hours each person is estimated to work to get the total cost for one team member to work on the Project. The $10.50 per hour comes from an estimate of what a recently graduated engineer (does not include benefits markup) would make per hour and what an intern would make on an internship. The cost estimate for the Project is shown in Table 5. This information is a revised estimated project cost from the original plan. The change is due to the equipment/materials needed to complete the Project has changed, thus the estimated project costs were updated to reflect these changes and also the labor cost has decreased due to new estimates in labor.

4-3

Table 5: Revised Estimated Project Costs Item Parts and Materials: a. Hardware Development Kit Assembly b. ICOP Technology eBox-II c. Magtek Mini USB Credit Card Reader d. NETGEAR 802.11B Wireless USB Adapter e. Bluetooth Printer Adapter f. Miscellaneous Parts g. Print Project Poster h. Dell Dimension GX270 i. Linksys BEFW11S4 Wireless Router

W/O Labor

With Labor

Subtotal

~$1,399.00 Free $67.20 Free $54.00 $20.00 $50.00 Free Free $1,590.20

~$1,399.00 Free $67.20 Free $54.00 $20.00 $50.00 Free Free $1,590.20

Subtotal

Free Free Free

Free Free Free

$1,590.20

$1,927.80 $2,091.60 $1,779.75 $1,934.63 $1,768.73 $9,502.51 $11,092.71

Software: a. Microsoft Windows CE .NET 5.0 b. Microsoft Visual Studio Pro w/MSDN Pro

Labor at $10.50 per hour: a. Ford, Chris b. McVeigh, Sean c. Ohia, Obioma d. Taylor, Nichole e. VanSant, Anthony Subtotal Total

Table 6 is presented for purposes of showing the that the ideal case for completing the Project. It was unrealistic to think that all the equipment/material could be obtained through donations and that the least ideal case is the realistic way of completing the project.

4-4

Table 6: Original Estimated Project Costs Item Parts and Materials: a. Hardware Development Kit b. Card Swipe c. Wireless 802.11b PCMCIA Card d. Bluetooth Printer e. Bluetooth Adapter f. Miscellaneous Parts g. Project Poster h. Dell Dimension B110 i. Linksys WRT54G Wireless Router

W/O Labor

With Labor

Subtotal

$1,399 $75.80 $59.99 $725.00 $30.00 $20.00 $50.00 $569.00 $49.99 $2,978.78

$1,399 $75.80 $59.99 $725.00 $30.00 $20.00 $50.00 $569.00 $49.99 $2,978.78

Subtotal

$995.00 $644.00 $1,639.00

$995.00 $644.00 $1,639.00

$4,617.78

$4,590.00 $4,980.00 $4,237.50 $4,606.25 $4,211.25 $22,625.00 $27,242.28

Software: a. Microsoft Windows CE .NET 4.2 b. Microsoft Visual Studio Pro w/MSDN Pro

Labor at $25.00 per hour: a. Ford, Chris b. McVeigh, Sean c. Ohia, Obioma d. Taylor, Nichole e. VanSant, Anthony Subtotal Total

4.2 Estimated Schedule Requirement The estimated schedule has two components: task start and finish schedule; project deliverables schedule. The revised estimated schedule for when a task begins and ends is shown in Figure 16, which is on the following page and the original schedule is shown in Figure 17. The revised deliverables schedule is shown in Figure 18 and the original deliverables schedule is shown in Figure 19. These schedules have not changed since the original plan. We perceive these schedules are still achievable for this Project.

4-5

4-6

Constraint Identification

Technology Research

Technology Selection

8

9

23

Client Demonstration

Industrial Review Panel Demonstration

29

30

Unbound Project Plan

Bound Project Plan

Unbound Design Report

Bound Design Report

Project Poster

Unbound Final Report

Bound Final Report

Weekly Email Reporting

32

33

34

35

36

37

38

39

Project Reporting

Faculty Advisor(s) Demonstration

28

31

Demonstration Planning

27

Maintence Documentation

Test Documentation

End-Product Documentation

22

End-Product Demonstration

Result Evaluation

21

26

Actual Testing

20

End-user Documentation

Test Development

19

25

Test Planning

18

24

End-Product Testing

17

Implementation of Prototype

14

Identification of Limitations

Document Design

Prototype Implem entation

13

16

Design Process

12

15

Identification of Requirements

11

End-Product Design

Identification of Criteria

7

10

Identification of Technologies

6

Technology Considerations

End User(s) and End Use(s)

4

5

Project Definition Completion

3

Project Definition

1

2

Task Name

ID 27

Sep '06 3 10 17

24

15

22

Nov '06 29 5 12

19

26

Dec '06 3 10 17

24

Jan '0 7 31 7

Figure 16: Revised Estimated Project Schedule

Oct '06 1 8 14

21

Feb '07 28 4 11 18

Mar '07 25 4 11 18

25

Apr '0 7 1 8 15

22

May 29

4-7

Constraint Identification

Technology Research

Technology Selection

8

9

23

Client Demonstration

Industrial Review Panel Demonstration

29

30

Unbound Project Plan

Bound Project Plan

Unbound Design Report

Bound Design Report

Project Poster

Unbound Final Report

Bound Final Report

Weekly Email Reporting

32

33

34

35

36

37

38

39

Project Reporting

Faculty Advisor(s) Demonstration

28

31

Demonstration Planning

27

Maintence Documentation

Test Documentation

End-Product Documentation

22

End-Product Demonstration

Result Evaluation

21

26

Actual Testing

20

End-user Documentation

Test Development

19

25

Test Planning

18

24

End-Product Testing

17

Implementation of Prototype

14

Identification of Limitations

Document Design

Prototype Implem entation

13

16

Design Process

12

15

Identification of Requirements

11

End-Product Design

Identification of Criteria

7

10

Identification of Technologies

6

Technology Considerations

End User(s) and End Use(s)

4

5

Project Definition Completion

3

Project Definition

1

2

Task Name

ID 27

Sep '06 3 10 17

24

15

22

Nov '06 29 5 12

19

26

Dec '06 3 10 17

24

Jan '0 7 31 7

Figure 17: Original Estimated Project Schedule

Oct '06 1 8 14

21

Feb '07 28 4 11 18

Mar '07 25 4 11 18

25

Apr '0 7 1 8 15

22

May 29

4-8

Unbound Project Plan

Bound Project Plan

Unbound Design Report

Bound Design Report

Project Poster

Unbound Final Report

Bound Final Report

Class Presentation

Industrial Review Presentation

Weekly Email Reporting

3

4

5

6

7

8

9

10

11

Project Reporting

1

2

Task Name

ID 27

Sep '06 3 10 17 9/22

24

Oct '06 1 8 22

Nov '06 29 5

11/10

12

19

26

Dec '06 3 10

12/13

17

24

Jan '0 7 31 7

Figure 18: Revised Deliverables Schedule

10/10

15

14

21

Feb '07 28 4 11

18

2/27

Mar '07 25 4 11

18

25

3/30

A pr '0 7 1 8

4/10

15

22

4/25

5

May 29

4-9

Unbound Project Plan

Bound Project Plan

Unbound Design Report

Bound Design Report

Project Poster

Unbound Final Report

Bound Final Report

Class Presentation

Industrial Review Presentation

Weekly Email Reporting

3

4

5

6

7

8

9

10

11

Project Reporting

1

2

Task Name

ID 27

Sep '06 3 10 17 9/22

24

Oc t '06 1 8 22

Nov '06 29 5

11/10

12

19

26

Dec '06 3 10

12/13

17

24

Jan '0 7 31 7

Figure 19: Original Deliverables Schedule

10/10

15

14

21

Feb '07 28 4 11

18

2/27

Mar '07 25 4 11

18

25

3/30

Apr '0 7 1 8

4/10

15

22

4/25

5

May 29

5 Project Team Information The following information identifies who the client is for the Project and the contact information for all of the team members, the faculty advisor and technical advisor that will be used in the completion of the Project. Client Senior Design Faculty Advisor Dr. Manimaran Govindarasu 3219 Coover Hall Ames, IA 50011-3060

Technical Advisor Dr. Randall Geiger 351 Durham Hall Ames, IA 50011-2252

Office Phone: (515) 294-9175 Fax: (515) 294-8432 Email: [email protected]

Office Phone: (515) 294-7745 Fax: (515) 294-1152 Email: [email protected]

Project Team Christopher Ford Electrical Engineering 15411 Horton Avenue Urbandale, IA Home Phone: (515) 975-7088 Email: [email protected]

Nichole Taylor Electrical Engineering 1400 Coconino Rd #213 Ames, IA 50014 Home Phone: (563) 505-4735 Email: [email protected]

Sean McVeigh (Project Manager) Electrical Engineering 420 South 4th Street #11 Ames, IA 50010 Home Phone: (515) 233-3360 Email: [email protected]

Anthony Vansant Electrical Engineering 123 Sheldon Ave #13 Ames, IA 50014 Home Phone: (515) 708-1291 Email: [email protected]

Obioma Ohia Electrical Engineering 103 Stanton Ave #25 Ames, IA 50014 Home Phone: (515) 710-9177 Email: [email protected]

5-1

6 Summary Although this device will not be a marketable product, the concept of the product will be proven. Restaurant waiter will have a wireless handheld device that will allow the waiter to place orders, receive payments and print receipts all with one device. Specifically, the device will incorporate an LCD touch screen, a magnetic card swipe, and a Bluetooth printer which will allow restaurants to increase the efficiency of the restaurants order/billing and inventory system and reduce the amount of paper used. Restaurants may find the idea of this device to be an attractive option, therefore such a system has a potential for success in commercial applications.

6-1

7 References [1]

"Bluetooth Frequently Asked Questions Components." MobileInfo.Com. MobileInfo. 18 Sept. 2006 .

[2]

"Untitled Document." BSQUARE Corporation. 8 Nov. 2006 .

[3]

”Intel PXA27x Processor Developer's Kit." Download.Intel.Com. Intel Corporation. 14 Sept. 2006 .

[4]

"Low-Cost Platform Supports Windows CE Contest." WindowsForDevices.com. 6 Nov. 2006 .

[5]

"Card Reading > Magstripe > Swipe > Mini." Magtek. 6 Nov. 2006 .

[6]

"MA111 - 802.11b Wireless USB Adapter." NETGEAR. 6 Nov. .

[7]

"IOGEAR: Expand Your Connectivity." IOGEAR. 6 .

[8]

"Socket Programming." Troubleshooters.Com. .

6

Nov.

Nov.

2006

2006

2006

[9]

"gx270-Spec.Pdf." 6 Nov. 2006 .

[10]

"Linksys.com - Products/Wireless/Basic Networking/Broadband Routers/WirelessB/BEFW11S4." Linksys. 6 Nov. 2006 .

[11]

"What is a Socket? (the Java Tutorials > Custom Networking > All About Sockets)." Sun Microsystems. 6 Nov. 2006 .

[12]

"PXA270 - PhyCORE-XScale/PXA270 Rapid Development Kit." 9 Oct. 2006 .

7-1

[13]

"Tracks 1, 2, & 3 Credit Card Reader." BarcodesInc. Barcodes Inc. 7 Sept. 2006 .

[14]

"Bluetooth Print Adapter Kit for USB Prints (IOGEAR-GBP201KIT)." PriceGrabber.Com. 7 Nov. 2006 .

[15]

"NetGear WG511 54 Mbps WL PC Card (NetGeat - WG511)." PriceGrabber.Com. 9 Oct. 2006 .

[16]

"Auto ID Solutions by Integrated Labeling Systems, Inc." 11 Sept. 2006 .

[17]

"Network Adapter Bluetooth USB Wireless Networking." PriceGrabber.Com. 9 Oct. 2006 .

[18]

"Basic Desktops." Dell. Dell Inc. 20 Sept. 2006 . [19] "Linksys WRT54G Wireless G-Router." Amazon.Com. Amazon. 20 Sept. 2006 . [20]

"BSQARE Store." BSQUARE. BSQUARE Corporation. 21 Sep 2006 .

[21]

"Visual Studio 2005 Professional Edition w/MSDN Pro." Pricegrabber.com. Price Grabber. 21 Sep 2006 .

7-2

Suggest Documents