
Senior Design Spring 2011 April 29, 2011 2011 Group 15 Felipe Bernal Arian Caraballo Isabel Virag Daniela Zi
2 2. Project Definition 2.1 Motivation What can you make with two mangoes, some leftover chicken, an onion, coconut milk, lemon juice and some spices
92 Figure 52 Shopping List Summary page As seen in Figure 63, the page consists of a scroll down list with all of the items. These items are the one
93 Figure 53 Modify Existing Shopping List page As seen on Figure 64, this page contains a list of shopping lists that are stored in the database. E
94 Figure 54 Edit Shopping List page As shown in Figure 65, the page consists of an expandable list. This list contains the items that are currently
95 Figure 55 Recipes Menu If the first option is chosen: ‗Find recipes matching inventory‘, the program will attempt to perform a searc
96 Figure 56 Pop up window when choosing amount of missing ingredients If the third option is chosen: ‗List of all recipes‘, the system will simply d
97 Figure 57 List of recipes 5.1.19 Recipe Description The Recipe description prototype page is shown in figure 69. This page can be ac
98 Alternatively, we could simply place a button below the ingredients labeled ‗procedure‘. The user would be able to press only if they c
99 Figure 60 Adding a Recipe Ingredient to a shopping list On every one of these prototype pages, the option of returning to the main home page exist
100 Figure 61 Settings Menu When the user attempts to change the password by pressing the dropdown menu, a keyboard will appear in the bottom of the
101 5.2 Mobile App 5.2.1 Main Menu This is the prototype for the Main Menu Mobile App page. This first page starts the interaction between the user an
3 however, the architecture which produces higher performance will be selected. The threshold determining whether to select performance over cost eff
102 Items Menu screen with a list of all items in stock 5.2.3 Shopping List Menu This page allows the user to access the shopping lists in the inve
103 Screen that allows the user to type in the new shopping list If the Modify option is selected the application shows a new page with a list
104 Recipe Menu screen with its options: -show all recipes -show ready to go recipes From the Recipe Menu the user can choose to either see all
105 By clicking on the label with the word Ingredients in the Recipe Menu-Ingredients page, the system proceeds to open a new phone screen with the ti
106 Figure 71: Login Page Prototype After the users log into the system they will see the home page. The home page and all the following pages have a
107 The view item page has, on the main body, scrollable textbox with all the items that are currently in stock. Here the user can select an item to g
108 Figure 74 Shopping List Prototype Figure 75 View Recipe Prototype The page shown in Figure 86 corresponds to View Recipe from the Recipe tab.
109 scroll down or up through the list to view all recipes. One of the recipes from the list must be selected. On the right side of the screen
110 One the left side of the screen a menu with ingredients will appear, all items will be enumerated and the user can scroll down or up through the l
111 SmidgePhone class Items class User class 6.2 Website/Mobile App testing The Website and the Mobile Application in the SMIDGE pro
4 should provide a way for the user to determine what items that are usually in the fridge are missing. One goal in producing a useful shopping list
112 To test the Mobile App the following should be done Open application through the application icon. Click on the View Items button from the M
113 Create new shopping list and add it to the database. Add an item to a shopping list in the database. Remove item from an existing shoppin
114 First the LCD should display the welcome screen that greets the user and provides the products‘ name and information. Once the LCD is on in order
115 Temperature is not a crucial element in this project but still needs to be test and make sure it works how is supposed to. To test that temperatur
116 can be implemented in a project like ours. A Smart Fridge can be an appliance with a broad set of applications. These applications shall be future
117 8. Summary Working on the SMIDGE project has been a challenge for every member of this team. It has been a great experience to work as a whole dur
118 9. User’s Manual 9.1 Main Application This section provides instructions on how to operate the Main Client. This device should be placed on top o
119 If the settings icon is touched, a window will appear with the instructions on how to use this page. You can find this icon in any page. If yo
120 2. Settings Page In the settings page you can link an account that has been created in the website, to this system. Put your email and password
121 one. You do not need to scan the items in order. To add produce items click on the produce icon on the top right. When you return from the produc
5 excluding inconsistencies is also very important. There are three main goals, however, that we have for our database development. We want the data
122 You can also enter a PLU code and the same process named above will follow. This allows you to not have to search for the item being entered bu
123 If you touch an item, it will cross it off the list. This does not mean the item is deleted from the list it just means you have acquired the ite
124 7. Recipes The recipes page allows you to view the recipes that you have added to your account via either the website or the mobile phone
125 9.2 Mobile Application Requirements: The Mobile Client was developed to work on any Android device with a 2.2 or later platform. The application
126 Main Screen The picture above on the left is what the main screen of the application looks like when it is first opened. At the top y
127 2. Settings The settings activity can be accessed through the top button on the main screen only. This page will allow you to link
128 3. Inventory The image above shows the general view of your item inventory. It is a simple list of all of the items that were added to your ac
129 By clicking on a specific item, you will encounter one of the two screenshots shown above. There are two types of items that you can ha
130 4. Shopping Lists From the main menu, if you click on the shopping lists button, you will see the screen shown above to the right. This is a li
131 guidance. To add a new list, click on the ‗+‘ button at the bottom of the page. b. Adding a new shopping list and adding items to a list To add ne
6 The table below shows all the Hardware Components that shall be part of the project and the group member in charge of it. Tasks Member Group Respons
132 5.5. Recipes The main screen for recipes looks like the image above. You have two choices: browse your collection of recipes, or ‗search‘ for re
133 b. Search The second choice on the recipes main screen allows you to search recipes in our database. When you click on this choice you wi
134 Either one of these choices will lead you to the same page. However, if you type in a keyword, only a subset of recipes will appear on the list in
135 9.3 Website In order to access the web application it is necessary to create a new account with the user name, last name, email and password. The
136 Inventory By clicking on the Inventory tab the user can see all the items it has on stock, their quantity, expiration date and amount if it appli
137 To access a shopping list: 1. Click on Manage List tab. 2. Select a list name from the dropdown menu on the left side with all the lists names
138 To delete a shopping list: 1. Click on Manage List tab. 2. Select a list name from the dropdown menu on the left side with all the lists names.
139 Recipes In the Recipes Menu there are two options, Manage recipes and Search recipes. Manage recipes is to create, edit and review previous r
140 To create new recipe: 1. Click on Manage Recipes tab. 2. Select recipe name from dropdown menu with all the recipes names. To delete recipe:
141 To edit recipe: 1. Click on Manage Recipes tab. 2. Select recipe name from dropdown menu with all the recipes names. 3. Change name on Name
7 Item Quantity Cost (in dollars) PandaBoard 1 175 IMO pivot touch 1 170 HONEYWELL IS4225 SCANGLOVE 1 35 Refrigerator 1 0 – owned by member PCB 2 400
142 Users Only if the user log in is register as a system administrator. This page shows all the user on the system, their email address, name, ro
143 To add a new user: 1. Click on New user. 2. Fill in the fields email, password, name and last name. 3. Click on Create. To delete a user: 1.
144 Your Profile is the page to see your account information, it shows the user name and last name, email and password with the option to change the
145 10. Appendices 10.1 Copyright permissions The following screenshots are emails sent to manufacturers asking for copyright permissions of the figu
146
147
148
149
150
151
8 All hardware components shall be connected together in a compact manner around the refrigerator. 2.6.2 Barcode Scanner The Barcode Scanner is in
152
153 10.2 Bibliography 1973, By. "C (programming Language)." Wikipedia, the Free Encyclopedia. Web. 13 Nov. 2010. <http://en.wikipedia
154 "LS2208 Handheld Barcode Scanner from Symbol." LS2208 Handheld Barcode Scanner. N.p., n.d. Web. 9 Nov. 2010. <http://www.symbol.com/p
155 <http://pandaboard.org/node/300/#specs>. "POS Distributor, AIDC Distributor, Wholesale POS Technology Distributor." Web. 19 Nov. 2
156 10.3 Software Eclipse. Free and open source software community (IBM). Eclipse Public License. Pencil. Pascal Naidon. GNU General Public License.
9 The system shall have three main ‗item‘ options for user interaction: Add Item, Modify Item, and Remove Item. When pressed, the Add Item optio
10 The system shall provide the ability to modify the quantity, expiration date and notifications for a specific item on the inventory
11 The system shall provide the ability to modify or delete customized recipes. The system shall provide a list of recipes on which all required
i Table of Contents 2. Project Definition ...
12 The system shall provide a database for holding recipes, their ingredients and itemized procedures. The system shall provide the ability to c
13 The system shall be located inside the refrigerator, at a spot where the temperature readings are examined to be consistent and rel
14 3. Research 3.1 Implementation Methodology 3.1.1 Project Management Managing a project can be very troublesome and problematic if not done correctl
15 Each member of the group has specialized knowledge in different technologies. The project will be broken down to different components and each me
16 challenges, and so on. The design phase provides the conceptual design of the project and then the architectural design is defined. During
17 Team meetings were a huge aid in allowing each team member to provide their individual ideas and brainstorm together. Many ideas that will be impl
18 Power voltage 5 V Backlight power consumption 2.500W (including the T-con Board power consumption) Panel power consumption 0.825W (including LED Dr
19 condition was to have the best price-performance ratio, and we came up with three very competitive boards to consider. 3.3.1 BeagleBo
20 An SD/MMC 6 in 1 connector is available as a way to expand memory. It supports WiFi cards, cameras, Bluetooth cards, GPS modules, SD Memory Cards,
21 This board clearly offers more than the BeagleBoard when it comes to hardware supplies and help provided with the system. However, it is not as pop
ii 3.3.3 PandaBoard ... 2
22 Figure 4 OK6410 Hardware architecture components. Permission to use this material requested from Arm9Board.net Finally, the OK6410 provides an L
23 Figure 5 PandaBoard Architecture. Reprinted from BeagleBoard.org, licensed under a Creative Commons Attribution-Share Alike 3.0 license. The boar
24 Code, most commonly known as UPC. The basic UPC code and the one most commonly used for groceries, referred to as Type A, is composed of twelve dig
25 MetroLogic‘s Scanglove is featured as durable, lightweight, wearable automatic-single line 1D bar code scanner that improves productivity as it inc
26 important benefit is that it is battery-operated so that it can be used wirelessly; or also with a USB cable to be used a s a keyboard input and no
27 3.5 Wi-Fi modules vs. Wired One of the main reasons for Smidge to use a wireless network will be the high mobility that this type of network off
28 Figure 8 TiWI- R1 Module. Permission acquired to reprint from from LS Research, LLC 3.6 Universal Product Code and Price Lookup Code Databases The
29 3.6.1 UPC grocery (upcgrocery.com) UPC Grocery Search is advertised as a resource for detailed information of more than 80,000 grocery products.
30 3.7 Google Image Search API The Google Image Search API is valuable when you want to obtain the results of a search query as if it was done on an o
31 3.9 Power source implementation Power supply is a device that supplies electrical energy to one or more electric loads. The term is most commonly
iii 4.3 Hardware Design ...
32 To implement our project, we are left with two choices when it comes to power implementation. The first choice would be to join the two power cable
33 side of the extension cord so that it stays put on the back of the refrigerator, ultimately being out of sight and providing the whole fridge
34 technologies that are available only on iOS, such as the Multi-Touch interface and accelerometer support. The iOS SDK contains the code, informatio
35 Website - Google App Engine is a platform for developing and hosting web applications in Google-managed data centers. It was first released as a be
36 its syntax from Cand C++ but has a simpler object model and fewer low-level facilities. Java applications are typically compiled to bytecod
37 3.10.3 Web Development Languages and Platforms A large portion of the project will involve developing code for the system in web development langua
38 PHP is a dynamically typed language. Dataflow variables are not assigned a type such as int, string, etc, but rather used as common variables that
39 to enhance user experience. A Wireless user group created by a master Bluetooth device can communicate with up to seven clients. Data can be tran
40 SQLite - SQLite is a database management system contained in a relatively small programming library. This library is written in C and can be compa
41 functionality is that it can execute SQL queries from the command line in a quick and easy fashion. This is useful when trying to test table re
iv 5.7 Web application prototype ... 105 6.
42 The Electrolux screenfridge is other system that has some functions in which Smidge is going to be based on, like its ability to connect to a netwo
43 Board with ARM-based processor - For our project we have chosen to use the PandaBoard. With an OMAP4430 processor, PandaBoard is intended to use as
44 Barcode Scanner - HONEYWELL IS4225 SCANGLOVE Wearable Scanner (RS232 and Light Pen Interface) Honeywell's IS4225 automatic wearable single
45 Fridge DisplayItems RecipesShoppingListSettings Figure 11: Fridge Display Breakdown Items - The Items functionality is the main function in this di
46 item. This information can be the expiration date or the amount remaining of the product being modified. Any other information is not being consi
47 the same functionality as the list that is displayed when the user adds new items to the fridge. The difference is that in that list the items bei
48 about it in that it is the only interface that controls the scanning of items and up keeping its information. The Recipe portion of the display is
49 the list with a unique name or title (since there may be other shopping lists). If the user decides that it needs to add or remove more items it
50 allow the user to select an item and see information about it, such as name, and quantity. On this screen the user should not be able to make any c
51 stored in the database. These recipes shall be order by name or title given by the author. The user can scroll up and down the list and then sele
v Table of Figures Figure 1: Hardware Components‘ Phases and division ... 1
52 WebSiteView ItemView Shopping ListRecipesLogin ScreenHome Figure 18 Website breakdown View Shopping List: Another thing that the user should be abl
53 recipes found in the database shall appear. The list shall have the name of the recipe or the title given at the time of creation. The user shall b
54 UserFridge InterfaceSystemWeb InterfacePhone InterfaceScan New ItemEnter New RecipeView Recipe BookScan to Remove Item********ConfirmFood TypeQuant
55 Enter Components Here the user can enter the components or ingredients necessaries to make a recipe. Enter Directions This is where the user en
56 Figure 22 Sequence Diagram for the LCD Adding New Item The second function that can be performed on the LCD display is to View a Recipe. Figure 25
57 User LCD Display Server ItemsShopping listGo back to main menuConnectsAdd itemConfirmationSelect ListRequest listReturn listConnectsConfirmationSca
58 The user is able to view a shopping list through the website. Fig 28 shows a sequence diagram of the View Shopping List. To view the shopping list
59 4.2.3.3 Mobile Application Flow Diagram The user is going to have more than one operation to choose from on the phone application, and the flow of
60 item to the selected shopping list. The phone is going to connect to the server and the server is going to send the information of the new item to
61 User Phone Server ItemsView itemReturn main menuConnectsSent queryReturnShow list Figure 30 Sequence Diagram for the Phone Application View Item 4
vi Figure 52 Items Menu page ...
62 composed of. The method scanNewItem() creates an instance of ScanItems. This method controls the interface with the barcode scanner. T
63 ViewItems – This class is in charge of entering and retrieving the information from the database that is necessary to manage the items in the syste
64 There shall be many items. Attributes of each item shall be item number (identifier), ingredients, classification which shall say what kind of
65 CONNECTED Connected Fridge_Number User login Domain PHONE APPLICATION User login User password
66 ITEM Item_Number Clasification Ingredients Calories Quantity Weight Recipe_Number List_Number Figure 34 Item Table The Contain rela
67 Fridge_Number Userlogin Userpassword Products Phone_related Web site Item_number Figure 35 Contain Relation 4.2.4.2 Entity Relati
68 Figure 36 Entity Relationship Diagram Stores Includes Requires GROCERY_LIST List_number Number of items Date {Items}
69 4.2.4 Server For this project many web server options were researched, finally we decided that the most financially accessible and relia
70 Figure 37 Server Structure Diagram 4.3 Hardware Design 4.3.1 Hardware Comparison The hardware comparison is summarized in table 39.
71 components we have chosen for our project, labeled as ‗3rd choice PRICE TOTAL‘. The extras are added to the total at the bottom and in this column
vii Table of Tables Table 1 Software Components Table ...
72 Total Price 385 275 380 $20 power implementation (still on research phase) $496.59 TOTAL $124.15 INDIVIDUAL Table 13 Hardware Comparison and P
73 purposes. The lcd screen will most likely be placed on top of the mini refrigerator (although the stand is detachable if the user is using a regula
74 The other end of the cable would be plugged into the wall, making it simpler as ultimately only one cable would need connection to power. We plan o
75 Figure 39 Schematic Capture of OMAP 3530 1st level
76 Figure 41 Schematic Capture of OMAP 3530 2nd level
77 Figure 42 Schematic Capture of OMAP 3530 3rd level
78 Figure 43 Schematic Capture of TPS 65950 1st level
79 Figure 44 Schematic Capture of TPS 65950 2nd level
80 Figure 45 Schematic Capture of USB interface Figure 46 Schematic Capture of SD slot connector and RS232 interface
81 5. Prototype This section displays and explains the prototypes that have been developed as part of the design phase of this project. The protot
1 1. Executive Summary SMIDGE: the Smart Fridge System; an appliance that offers an enhanced grocery shopping experience. It aims to be the
82 must be improved is the retrieval of buttons from Android websites and being able to integrate those buttons into this display seamlessly. 5.1.2
83 The user can scroll through the list to see the items that have been scanned. There are two buttons to the right of the list. One of the buttons
84 that the user can select them on a touch screen but also small enough to be able to display quite a few of them. Another thing that should be cons
85 pages contain a help button that would instruct the user what their different options are for these particular pages. Figure 44 Modify Items page
86 be touched by the user to change the selection. Once the user hits a different radio button from the one currently selected, it will change select
87 Figure 46 Remove Item page 5.1.9 Remove Items from List Figure 58 shows the prototype that was developed for the Remove Items for List page. This
88 This button will take every item that was selected from the list and it will remove them from the system. All of the information in the database w
89 bottom let of the display. If the user hits this button, a pop up page will appear with the instructions of the page giving the
90 in the previous section. This page gives the user an interface to allow the user to make sure the shopping lists designated to be deleted are in f
91 Figure 51 Add Items to Shopping List page As seen in Figure 62, this page contains a list with all of the previous items that have been entered
Commenti su questo manuale