design specifications - simon fraser universitywhitmore/courses/ensc305/projects/2009/... · 2010....
TRANSCRIPT
-
5 March 2009 Patrick Leung School of Engineering Science Simon Fraser University Burnaby, BC V5A 1S6 Re: ENSC 440 Design Specifications for the D‐Tech Reminding System Dear Mr. Leung: The document included outlines the design specifications for goldFish Technologies’ D‐Tech Reminding System. We are designing and implementing a device that will scan a person as they are leaving their home, check for important items that they have forgotten to bring with them, and alert them of these items. Our design specifications describe how we plan to implement hardware and software solutions to meet the proof of concept requirements described in our functional specifications document. The specifications will also be used by the members of the team to direct design, development and testing efforts. goldFish Technologies is built of five motivated and skilled fifth year engineering science undergraduates: Owen Lin, Sami Nguyen, Sharika Salim, Jeremy So, and Christopher Yao. If you have any questions or concerns please feel free to contact us at ensc‐[email protected]. Sincerely,
Sharika Salim Chief Executive Officer goldfish Technologies
-
Design Specifications: RFID-Based Reminder System
Project Team: Shar ika Sal im Sami Nguyen
Jeremy So Chr i s Yao Owen L in
Contact Person: Shar ika Sal im ensc-goldf i sh@sfu .ca
Submitted to: Mr. Patr ick Leung Mr. Steve Whitmore I s sue Date : March 5, 2009 Revis ion : 1 .0
-
i | P a g e
Executive Summary
The Best Reminder Before Leaving Your Home As most people have experienced the inconvenience of forgetting something important while leaving for school, work, or even social events, the creation of a reminder system that integrates seamlessly into everyday routines would save time and even money. The recent advances in communication technology have created various opportunities for innovative designs and solutions. Taking advantage of this, we at goldFish Technologies are probing various possibilities to create products for the sake of easing the everyday lives of our customers. Our invention, D‐Tech, seeks to integrate technology to create a reminder system that is able to scan and identify a household member as they leave their home. In the case that the family member leaves something of importance behind, the system would notify them. We hope this solution will bring ease of comfort to those who, due to various reasons, often forget items of importance. The D‐Tech system consists of two main components: the Central unit and the Detect‐and‐Scan unit. These two units are installed at the main household exit and serve the following functionalities:
‐ Detect and identify a user as they are leaving their home. ‐ Scan for tagged items on the user and notify them if any items are missing. ‐ Display relevant to‐do tasks and notes to the user. ‐ Allow touch‐based user interactions for task and item input.
In addition to these main components, a standalone accessory to the D‐Tech system called the Anywhere Access Form, gives users an alternative method for item and task input to the D‐Tech system database. It is a web‐based application that can be accessed over the internet by the user’s own computer. This document presents the design specifications of the D‐Tech reminder system. Continuing from the functional specification document, we outline what design choices were made to ensure that functionality requirements were met.
-
ii | P a g e
Table of Contents Executive Summary ....................................................................................................... i List of Figures ............................................................................................................... iv List of Tables ................................................................................................................ iv Glossary ....................................................................................................................... iv 1. Introduction ............................................................................................................. 1 1.1. Scope ................................................................................................................. 1 1.2. Intended Audience ............................................................................................ 1
2. System Requirements............................................................................................ 1 2.1. Understanding the User .................................................................................... 1 2.2. System Overview .............................................................................................. 2
3. Overall System Design ........................................................................................... 3 3.1. System Design Overview ................................................................................... 4 3.2. Hardware Design Overview .............................................................................. 4 3.3. Software Design Overview ................................................................................ 5
4. Hardware System Design ...................................................................................... 6 4.1. Detect and Scan Unit ........................................................................................ 6
4.1.1. Motion Detector ........................................................................................ 6 4.1.2. RFID Scanner .............................................................................................. 7
4.2. Hardware Communication Hub ........................................................................ 9 4.3. Central Unit Hardware ...................................................................................... 9
4.2.1. Development Board .................................................................................. 9 4.2.2. Power Requirements ............................................................................... 10
5. Physical System Design ........................................................................................ 10 6. System Software Design ...................................................................................... 12 6.1. Anywhere Access Form ................................................................................... 12
6.1.1. Overview .................................................................................................. 12 6.1.2. Online Web Server .................................................................................. 13 6.1.3. Security .................................................................................................... 14 6.1.4. Information Database ............................................................................. 14 6.1.5. Usability Design ....................................................................................... 15
6.2. Central Unit Software ..................................................................................... 16 6.2.1. Entry Database ........................................................................................ 16 6.2.2. Database Structure .................................................................................. 17 6.2.3. Entry Addition Algorithm......................................................................... 18 6.2.4. Entry Comparison Algorithm ................................................................... 18 6.2.5. Entry Deletion Algorithm ......................................................................... 20
6.3. Graphical User Interface ................................................................................. 21 7. System Test Plan .................................................................................................. 22 7.1. Unit Tests ........................................................................................................ 22
-
iii | P a g e
7.1.1. Motion Sensing Activation Test ............................................................... 22 7.1.2. RFID Scanning Test .................................................................................. 22 7.1.3. Anywhere Access Form Test .................................................................... 22 7.1.4. Central Unit Data Collection Test ............................................................ 22 7.1.5. Database Input and Organization Test .................................................... 23 7.1.6. Database Access and Modification Test .................................................. 23 7.1.7. GUI Command and Navigation Test ........................................................ 23
7.2. Integration Tests ............................................................................................. 23 7.2.1. Online Input Entry Stage ......................................................................... 23 7.2.2. Home Input Entry Stage .......................................................................... 23 7.2.3. Motion Sensing Activation Stage ............................................................ 24 7.2.4. RFID Scanning Stage ................................................................................ 24 7.2.5. Reminder Stage ....................................................................................... 24
8. Environmental Considerations ............................................................................ 24 9. Conclusion ........................................................................................................... 25 10. References ........................................................................................................... 26
-
iv | P a g e
List of Figures Figure 2.1: System Diagram of D‐Tech Unit ........................................................................ 2 Figure 3.1: Hardware Overview ........................................................................................... 5 Figure 3.2: Software Overview ............................................................................................ 5 Figure 4.1: Detect and Scan Interactions ............................................................................ 6 Figure 4.2: Sensor Switch Circuit Schematic ....................................................................... 7 Figure 4.3: Application Schematic for the TRF7960[2]........................................................ 8 Figure 4.4: Communication Overview ................................................................................. 9 Figure 4.5: MC9328MX1 block diagram[3]........................................................................ 10 Figure 5.1: Central Unit System Enclosure Design (measurements in mm) ..................... 11 Figure 5.2: Detect and Scan Unit Enclosure (measurements in mm) ............................... 11 Figure 6.1: Anywhere Access Form Flow Chart ................................................................. 12 Figure 6.2: Login Page ....................................................................................................... 14 Figure 6.3: Simple Form Layout ......................................................................................... 15 Figure 6.4: Ease of Use (Calendar Pick list) ....................................................................... 15 Figure 6.5: Allocation of the three main algorithms in Entry Database ........................... 16 Figure 6.6: Entry Database using linked list data structuring ........................................... 17 Figure 6.7: Flowchart of data addition process ................................................................. 18 Figure 6.8: Flowchart of the comparison algorithm .......................................................... 19 Figure 6.9: Flowchart of the deletion process ................................................................... 20 Figure 6.10: General Dialog Layout ................................................................................... 21
List of Tables Table 1: Operating Specifications for the TRF7960 ............................................................ 8 Table 2: Web Application Scripting Languages ................................................................. 13
Glossary AE Analog Emitter DMM Digital Multi‐meter GUI Graphical User Interface LCD Liquid Crystal Display PIM Personal Information Manager PIR Passive Infrared RFID Radio Frequency Identification SPI Serial Peripheral Interface UART Universal Asynchronous Receiver/Transmitter USB Universal Serial Bus
-
1 | P a g e
1. Introduction The D‐Tech system is an item and task reminding device, which can be installed at the user’s front door. Once items have been tagged with our SmartTags and entered into the system’s database, the system will be able to scan and detect whether or not specific items are missing as a person passes their front door. If there is a mismatch between the list of items the user wanted to bring, and the list of items that are on the user, the system will notify the user by displaying the missing objects on a touch‐based liquid crystal display (LCD). In addition, the user can also specify tasks that they wish to be reminded of when they are leaving their home. 1.1. Scope This document outlines the design choices we came to in order to fulfill the functional specifications as listed in the goldfish Functional Specifications [1]. It provides a detailed description of how each subsystem is implemented and validates design choices with respect to each subsystem’s functional requirements. In addition, a thorough system test plan is outlined. 1.2. Intended Audience This document is to be used by all members of goldfish Technologies. The team lead will refer to it in order to track the group’s progress, and the design engineers can use it as an overall guideline for future design and implementation stages. These specifications can also aid the test engineers when they are executing the system test plan, and will help them verify the validity of the test outputs.
2. System Requirements 2.1. Understanding the User The D‐Tech system is intended for average busy households. In a family, generally each member has multiple personal commitments and belongings. Commonly, a calendar or to‐do list is used to organize tasks and note personal reminders. The use of our product will facilitate family members in scheduling task and item reminders to a single electronic unit, and hence better organize their daily activities.
-
2 | P a g e
2.2. System Overview The D‐Tech reminder system consists of three essential units: the Anywhere Access Form, the Detect and Scan Unit and the Central Unit. Figure 2.1 shows how these three units interact with each other by illustrating data and their operation.
Figure 2.1: System Diagram of D‐Tech Unit
The specific functionality of each subsystem is as described:
1. The Anywhere Access Form Through use of the internet, users can add reminder entries with the Anywhere Access Form. This web‐based application uploads user‐submitted entries directly onto a security enabled web server. Information from this server is then downloaded to the Central Unit database in a frequent interval. By giving users the option of adding tagged item and task entries remotely from the Central Unit, using any computer, the form provides additional functionality and convenience to the user.
-
3 | P a g e
2. The Detect and Scan Unit
This unit consists of two interacting components: the Detect component which involves a motion sensor, and a Scan unit which involves a radio frequency identification (RFID) module. The RFID module is always on stand‐by until a user is in the vicinity of their front door. When the motion sensor detects a user’s movement, the RFID module is activated to scan the user and record all items that are on that person. The detected items are then sent to the Central Unit for comparison and display.
3. The Central Unit The Central Unit has two major components: the processing unit, which manages data and its algorithms; and the graphical user interface (GUI), which acts as an interactive medium between the system and the user. The processing unit keeps track of each household member’s reminders by implementing algorithms that automatically delete expired items and run comparison tests between the tags the users possesses and the list of items they were scheduled to be reminded of. Similarly to the Anywhere Access Form, users can add new entries through the GUI, which is displayed on a touch‐based LCD. Additionally, the GUI allows users to manually delete items as desired. Thus the central unit is a crucial component to the system’s functionality as it is the only subsystem that interacts with the other subsystems as well as the user.
3. Overall System Design The following sections detail the overall technical design of the D‐Tech system. In the design of the reminder system, goldFish Technologies had to take into consideration the kind of user that would be using the product, as well as the environment of its intended use. As such, the D‐Tech software solution was designed with ease of use in mind, and the hardware solution was designed with unobtrusiveness in mind. The design approach to the entire D‐Tech system was focused around making a system that can integrate into a person’s daily life as seamlessly as possible, while still providing an ideal reminder that involves both a message and signal.
-
4 | P a g e
3.1. System Design Overview In designing our system, we sought to minimize the amount of steps the user has to perform in order to register an item. The design of our system requires the user to perform the following things:
1) Place a registered SmartTag (RFID Tag) on the item. 2) Register the object description via the Central Unit display screen or the
online form from any computer with an internet connection.
Though the registration of the item may seem inconvenient, with computers being so integrated into our daily lives, this method will easily become natural and will prove to be more effective than conventional methods of reminding. Furthermore, our system incorporates a task scheduler, which would be akin to inputting tasks into personal information manager (PIM) programs such as Microsoft Outlook or writing them down in a day planner. The added benefit of having an online form is that the user may edit their tasks and tagged items from any computer with an internet connection and not just on their D‐Tech Central Unit. 3.2. Hardware Design Overview The hardware is designed to be easy to install and quick to scan a user. In addition, our hardware is designed to minimize power consumption. As this is the proof‐of‐concept, the read range of our system is limited to about 10 cm. With this limited range, the current draw of the scan unit alone is an upwards of 120mA [2]. However, in anticipation of the much higher power consumption required by a scan unit with a 1m range, a switch was designed to activate the reader only when there is a body present. This ensures that no power is consumed when there are no SmartTags within the vicinity of the door to scan. This combination of the scan unit and the switch is referred to as Detect and Scan Unit. The Detect and Scan Unit will consist of a parallax parallel infrared (PIR) motion sensor connected to a Texas Instruments TRF7960 RFID reader board via a relay circuit. The TRF7960 will relay RFID data to our Central Unit via a serial connection. The D‐Tech Central Unit is designed to be compact and wall mountable, with a form factor and size similar to that of the input device from a home security system. This Central Unit contains an LCD touch screen as well as audio speakers. The Central Unit will also have internet access in order to retrieve data from the online server database. Ideally, this internet access would be via a wireless connection to the user’s home network. In the case the user does not have wireless network set‐up in house, we are making use of the wired Ethernet port on the development board to allow the user to directly connect their system to the internet.
-
5 | P a g e
The final piece of hardware used in our design is a laptop, which is a temporary workaround to a communication problem between the development board and the Detect and Scan unit. The development board is unable to act as a universal serial bus (USB) host device, making it impossible to retrieve data from the RFID reader. The laptop provides a means to read data from the RFID reader and funnel it directly to the development board. It will essentially act as a hardware driver that facilitates communication between the two devices. Figure 3.1 shows the overview of our hardware design with regards to the path of the data.
Figure 3.1: Hardware Overview 3.3. Software Design Overview D‐Tech Anywhere Access Form, though secondary to the main system, is very important interface for the user. This form is web based to increase accessibility as well as adaptability. Having a web‐based design allows features and additional functionality to be added easily. The Anywhere Access Form will be designed using various web scripting languages, which will be mentioned later.
The other software portion of the D‐Tech system is contained in the D‐Tech Central Unit. The Central Unit will contain a GUI which will provide users with information about forgotten objects as well as display the user’s task list. The Central Unit software will have to facilitate communication and synchronization with the Anywhere Access Form, compare the SmartTag data from the scanner with the system database, and allow data input and display. Software to be used on the Central Unit will be designed in Microsoft Visual Studio for embedded systems, while the operating system used will be Microsoft Windows CE 4.2. The choice of development software was made based on availability of the software as well as online resources and support. Figure 3.2 shows the overview of our software design with regards to the path of the data.
Figure 3.2: Software Overview
TRF7960 Data
Anywhere Access Form Central
Unit Software
User input
Output
TRF7960 RFID Reader
MC9328MX1 development board
LCD/Audio speakers
Input OutputLaptop
-
6 | P a g e
4. Hardware System Design The following section details the design choices for the entire hardware component of the D‐Tech reminder system. 4.1. Detect and Scan Unit The Detect and Scan Unit consists of two separate entities: the detector and the scanner. The diagram below shows the relationship of the unit and its interactions with the rest of the system.
Figure 4.1: Detect and Scan Interactions The motion detector will be constantly powered while the RFID scanner will be in sleeping mode until the motion detector sends a signal to wake it up. This design approach ensures that the scanner will not overheat and it also saves overall system power consumption. Below we will individually discuss the functional specifications of the motion detector and the RFID scanner. 4.1.1. Motion Detector The motion detector acts as a control switch that regulates power to the RFID Scanner. We are utilizing the PIR sensor which detects changes in infrared around its environment. The unit operates on 5V at 100μA at room temperature. During the initial set up, the motion sensor requires around six minutes to adjust to the surroundings [3]. Along with the PIR sensor a power switch circuit is constructed with a mechanical relay. The schematic of the sensor switch circuit is shown below in Figure 4.2.
RFID Scanner
Motion Detector
D‐Tech Central Unit Connects power when
motion is detected
Sends information to central system
-
7 | P a g e
Figure 4.2: Sensor Switch Circuit Schematic
When the PIR sensor is activated, it will output 3.3V which turns on the mechanical relay, and this in turn powers the RFID scanner. 4.1.2. RFID Scanner Keeping in mind the technical requirements needed to achieve seamless interaction between the D‐Tech System and the end user, the RFID Scanner will have to meet several specifications:
• Ability to read and identify multiple tags • Have a dependable range • Offers expendability and flexibility • Can be easily integrated
With these requirements, our group has chosen the TRF7960 Multi‐Standard Fully Integrated 13.56‐MHz RFID analog emitter (AE) and Data Farming Reader System (TRF7960) as the RFID Scanner unit. The unit is compliant with the ISO 15693 standard and is capable of detecting up to sixteen unique RFID tags within ten centimeters without an external antenna. With a built in CP2102 universal asynchronous receiver/transmitter (UART) to USB converter, the unit can be easily integrated into a
-
8 | P a g e
computer. While the unit offers two modes of operation, in both parallel and serial peripheral interface (SPI), for the functionality needs of our product, only the parallel mode of operation is utilized. The parallel mode offers us the ability to read multiple tags simultaneously. Below is the application schematic for the TRF7960 in parallel mode.
Figure 4.3: Application Schematic for the TRF7960[4]
While the TRF7960 can detect up to sixteen unique RFID tags, a point of concern is the fact that the unit does not offer any built in collision prevention measures. With this in mind, the D‐Tech system will attempt to solve the issue by scanning the user multiple times to ensure consistency and accuracy. The TRF7960 requires 5V and 120mA drawn from the USB port to operate. Below is a table listing the key operating specifications of the TRF7960 reader module. Table 1: Operating Specifications for the TRF7960 [4]
Standard ISO 14443A,ISO 14443B,ISO 15693,ISO 18000‐3 Frequency 13.56 MHz Output Power (mV) 100,200 Supply Voltage (Vdc) 0 to 5.0 Current Consumption (mA) 120 Operating Temperature (˚C) ‐40 to 110
-
9 | P a g e
4.2. Hardware Communication Hub Due to design constraints for both the TRF7960 RFID reader as well as the MC9328MX1 development board, we have to utilize a computer to act as a medium for communication between the reader and the development board. While the TRF7960 has only a USB output, the MC9328MX1 can only accept SPI and UART input. This limitation forces us to use a laptop to act as a wire and a data converter that will convert the USB output from the TRF7960 into a UART input for the MC9328MX1. We will use this measure only for our proof of concept design as we expect future versions to improve on the design of the development board so that it can accept USB inputs while acting as a host. The diagram below shows the current relationship of the laptop with respect to the TRF7960 and the MC9328MX1.
Figure 4.4: Communication Overview 4.3. Central Unit Hardware 4.2.1. Development Board The processor for the Central Unit is a Motorola MC9328MX1, which is mounted on a development board containing an LCD touch screen and several UART peripheral interfaces as well as Ethernet and audio ports. The decision to use this particular development board is partly due to the fact that it was readily available at zero cost to goldFish Technologies. We decided to use a full development board as opposed to a PIC microcontroller because the features included on the processor and accompanying development board match much more closely to what we need than PIC microcontrollers. The particular features we wanted for the D‐Tech include USB hosting capabilities, LCD touch screen, internet connectivity and preloaded operating system. The Motorola MC9328MX1 possesses most of these features. While the MC9328MX1 did not have hosting capabilities, the zero cost associated with obtaining the development board offset this drawback. Figure 4.5 shows a functional block diagram of the MC9328MX1.
TRF7960 RFID
Laptop MC9328MX1 Development
Board USB information from RFID reader
Converted UART input
-
10 | P a g e
Figure 4.5: MC9328MX1 Block Diagram [5]
4.2.2. Power Requirements Ideally, the entire D‐Tech door console unit should be powered through an AC adapter which plugs into a wall outlet. This adapter provides +3V at 1500mA. Since we were required to incorporate a laptop in our workaround to the communication problem, the laptop will also be powered through a connection to a wall outlet. The laptop takes +15V at 5A. Because the laptop is being used to transfer data, it was convenient to power the Detect and Scan Unit via the USB connection to the laptop. The Detect and Scan unit consumes +5V and up to 130mA when the antenna is active. The USB power connection of a laptop provides the +5V and enough current to the device [3].
5. Physical System Design There will be two separate physical components to our system. The development board and the LCD screen will be encased as the Central Unit as shown in Figure 5.1. The RFID board and motion sensor will be packaged as the Detect and Scan Unit as shown in Figure 5.2. All measurements are provided are in millimeters.
-
11 | P a g e
Figure 5.1: Central Unit System Enclosure Design (measurements in mm)
Figure 5.2: Detect and Scan Unit Enclosure (measurements in mm)
-
12 | P a g e
6. System Software Design The following section will outline the system software design choices for the entire software component of the D‐Tech reminder system. 6.1. Anywhere Access Form The D‐Tech System Anywhere Access Form is an available online portal for users to add tagged item and tasks to their D‐Tech Central Unit database. This web application acts similarly to a survey or questionnaire, asking the users for relevant information. Performing as an accessory to the D‐Tech system, the home system is able to work without the Anywhere Access Form. However, with the extended functionality of the form, D‐Tech system’s usability and flexibility is greatly improved. 6.1.1. Overview
Figure 6.1: Anywhere Access Form Flow Chart
-
13 | P a g e
Figure 6.1 above outlines the complete operational flow of the Anywhere Access Form software. Many different web scripting languages were needed to develop the web application. The table below summarizes the language used and their purpose in our design. Table 2: Web Application Scripting Languages
Scripting Language Purpose/Use HTML (HyperText Markup Language) Scripting webpage layout and web
application CSS (Cascading Style Sheet) Describes the look and formatting of all
web pages on the website PHP Required to allow opening of a file and
writing to a file JavaScript For interactive calendar pick list function Flash For webcam functionality
6.1.2. Online Web Server The form is hosted on a provided online server at 1&1 Hosting Service. For our purpose we required the following criteria to meet our functional specifications:
• The ability to handle a high volume of users • PHP5 and JavaScript support for the scripting of the form • Configurable security settings
The basic 1&1 hosting account met all these needs in exception to the last point. However, due to the inexpensive price and good customer reviews, we decided to choose their service and find a work around for the security feature. With success, we found that security settings could be set with advanced knowledge of hypertext access files called .htaccess files. These files allow configuration management of files placed in the same server directory as the .htaccess file [6].
-
14 | P a g e
6.1.3. Security
Because the Anywhere Access Form is hosted on an online web server, the user can open the website on any computer with internet access, whether it is at home or elsewhere. Due to its accessibility, security features had to be designed to ensure that personal data is not made public. A login page was designed, which requires a user to login with correct credentials in order to access the web form page.
As previously mentioned, the security of the files was implemented by protecting the entire website directory that contained the related web form application page and database files. 6.1.4. Information Database Once a user takes a photograph with their webcam or submits the form, data is immediately uploaded and appended to a text file on the server. The following line shows the structure of which the data would be saved:
This method of implementation allows for the file to be easily read and parsed by the Central Unit software. By providing this intermediate connection between the Central Unit database and the server database we can ensure that data is not lost by saving a copy of it to the server database. Even if the Central Unit is turned off, data could still be entered through the online application and stored appropriately. The choice of saving the information to a simple text file also allows quick reading of the information to the Central Unit database.
Timestamp.id;task.item.indicator;person.name;start.date; expiry.date;repeat.indicator;tag.id;tag.desciption; image.address
Figure 6.2: Login Page
-
15 | P a g e
6.1.5. Usability Design Our main usability concerns involved ensuring that the form was simple and intuitive to use. To meet these requirements, the following design was implemented: Simple Website Design ‐ Large text was used to ensure that text was not straining to the user ‐ Minimal amount of fields on a single page to minimize confusion ‐ Small layout and minimal images to minimize load time Intuitiveness and Ease of Use ‐ Contrasting colours were used to show separation of page sections and to highlight areas of importance ‐ Different field types were used for different data entry fields ‐ Character limit was set on fields to prevent data overflow and errors ‐ Built in instructions and examples ‐ Calendar pop‐up pick lists to allow easy date selection These features were implemented using the languages outline in Table 2, from before.
Figure 6.3: Simple Form Layout
Figure 6.4: Ease of Use (Calendar Pick list)
-
16 | P a g e
6.2. Central Unit Software The software aspect of the Central Unit comprises of the Entry Database and the GUI. The following section will discuss each component in detail. 6.2.1. Entry Database The Entry Database utilizes a linked list data structure to store and organize item and tasks entries. Functions and algorithm to support this database will be discussed in later sections. Figure 6.5 illustrates the allocation of the three main algorithms: comparison, add entry, and delete entry algorithm.
Figure 6.5: Allocation of the three main algorithms in Entry Database
-
17 | P a g e
6.2.2. Database Structure This type of data structure provides a dynamic storage system which allows quick access and data manipulation. In addition, to ensure that there is no data loss, backup text files will also be generated for the linked list. Figure 6.6 illustrates a two dimensional linked list used by the Entry Database. The first dimension consists of registered users, where each user contains three separate lists, occupying the second dimension.
Item 1 Item 2 Item 3
Task 1 Task 2 Task 3 Task 4 Task 5
Item 1 Item 3 Task 2 Task 4
User 1
Daily List
Items List
Tasks List
Item 1 Item 2 Item 3
Task 1 Task 2 Task 3
Item 3 Task 2
User 2
Daily List
Items List
Tasks List
Item 3
Task #
Item #
Entries: not yet due
Entries: due
Figure 6.6: Entry Database using linked list data structuring
Item or task entries can be added through the Anywhere Access Form or the GUI. Further entry modification or removal can be done through the GUI as well. Due to the nature of linked lists, there’s no size limitation to this database as long as physical memory is sufficient.
-
18 | P a g e
6.2.3. Entry Addition Algorithm There are two methods available to the user for adding a new item or task reminder. The user can add using the Anywhere Access Form available online, or they can manually enter the information on to the Central Unit. In both cases the data is added to the general database which keeps track of the entries corresponding to each user. An overview of data addition process is detailed in Figure 6.7.
Figure 6.7: Flowchart of data addition process 6.2.4. Entry Comparison Algorithm When a user walks through the door, the RFID module sends over all the detected RFID codes to the Central Unit, through serial port communication and an event is triggered on the GUI to activate its comparison algorithm. As each user is required to carry an RFID tag that identifies the user, the received RFID codes will be compared with a list of user identification (ID) codes that are mapped to household members. Only if a user ID code is found, will the system run the rest of the algorithm to determine and display item or task reminders associated with the current day. This process is described in more detail in Figure 6.8.
-
19 | P a g e
Figure 6.8: Flowchart of the comparison algorithm
-
20 | P a g e
6.2.5. Entry Deletion Algorithm Similar to the adding a new entry, there are two methods available for deleting an entry from the database. The user can either wait for the entry to expire, provided that the entry has an expiration date, or they can manually delete the entry on the Central Unit. In the first case, automatic deletion is employed, as every new day the system will iterate through all the items in the database and will delete all items that have expired permanently from the database. This process is illustrated in Figure 6.9.
Figure 6.9: Flowchart of the deletion process
-
21 | P a g e
6.3. Graphical User Interface The GUI at the D‐Tech Central Unit interacts with user in two modes, the Scan Mode and the Edit Mode. As for user input, the Central Unit hosts a touch‐screen LCD display. This offers a greater degree of interaction and control, since multiple command and navigation buttons can coexist on each dialog. In order to maintain an intuitive interface, a designated location on the screen will be reserved for specific types of commands, as illustrated in Figure 6.10.
Current Location / ModeCurrent Location / Mode
Navigation 1 Navigation 2
Command 1
Command 2
Command 3
Enter Text
Command Area
Navigation Area
DisplayArea
Current Mode
Figure 6.10: General Dialog Layout
-
22 | P a g e
7. System Test Plan The primary test plan for accessing functionality of the system consists of a series of Unit Tests and Integration Tests. The purpose of the Unit Tests is to evaluate each component’s functionalities during the development process. Whereas the Integration Test, conducted during component integration, is to ensure functionalities are operating correctly as a complete system. Once the Integration Test has concluded the Final Acceptance Test will be conducted to evaluate the performance of the system.
7.1. Unit Tests 7.1.1. Motion Sensing Activation Test Component: Motion Sensor Unit Precondition: Motion sensor detects motion and trigger signal to indicate a reading Procedures: Present object or person before motion sensor and measure signal using
oscilloscope or digital multi‐meter (DMM) Requirement: Unit produce a signal to indicate motion 7.1.2. RFID Scanning Test Component: RFID Unit Precondition: RFID unit scans and reads identification number on RFID tags Procedures: Present RFID tags before unit’s antenna and review collected data Requirement: Unit scan and correctly read all RFID tags placed beside the antenna 7.1.3. Anywhere Access Form Test Component: Web Server Precondition: Anywhere Access Form records fields for item or task entry, converts
entry to coded files and uploads to server for downloading Procedures: Enter simulated item or task and download coded file from web server Requirement: Downloaded file contains all entries with correct fields 7.1.4. Central Unit Data Collection Test Component: Central Unit Precondition: Download coded file from an online server and parse data from database Procedures: Upload a coded file on web server, download coded file and parse data Requirement: Coded file downloads and parses successfully, parsed data contain
correct information
-
23 | P a g e
7.1.5. Database Input and Organization Test Component: Central Unit Precondition: Input parsed data to database, organize item and task entries Procedures: Simulate parsed data and run functions to enter and organize entries Requirement: Database successfully input parse data, entries are stored in correctly
database 7.1.6. Database Access and Modification Test Component: Central Unit Precondition: Access item or task entries according to user, modify entries and return
data to database Procedures: Modify pre‐existing test entries on database and access these entries
afterwards Requirement: Pre‐existing test entries are correctly modified and accesses to these
entries are successful 7.1.7. GUI Command and Navigation Test Component: Central Unit Precondition: Command and navigation buttons on the GUI run specified functions and
forms Procedure: Select all command and navigation buttons, and review functions
activated by these buttons Requirement: All command and navigation buttons access the correct functions and
forms
7.2. Integration Tests 7.2.1. Online Input Entry Stage Component: Web Server, Central Unit Precondition: User records item or task entries via Anywhere Access Form, and then
entries are forwarded to database Procedures: Enter item or task using Anywhere Access Form 7.2.2. Home Input Entry Stage Component: Central Unit, Motion Sensor Unit Precondition: User records and modifies item or task entries, updates are made to
database Procedures: Enter and edit item or task using Central Unit’s GUI
-
24 | P a g e
7.2.3. Motion Sensing Activation Stage Component: Motion Sensor Unit, RFID Unit Precondition: Motion sensor detects motion and activates RFID scanner Procedures: Present object or person before motion sensor 7.2.4. RFID Scanning Stage Component: RFID Unit, Central Unit Precondition: RFID unit scans, reads identification number on RFID tags and forward
data to comparison algorithms Procedures: Present tagged items and user ID before unit’s antenna 7.2.5. Reminder Stage Component: Central Unit Precondition: Remind user of due tasks and item he /she has forgotten Procedures: Review forgotten items and tasks remind via GUI Requirement: Correct item and task reminders are displayed on GUI
8. Environmental Considerations The majority of the D‐Tech system consists of silicon based technology. The Central Unit as well as the RFID scanner cannot be disposed of easily due to the nature of the printed circuit board (PCB) as well as the materials of the chipsets. Due to this we believe any metal wiring should be salvaged for reuse, the PCB board themselves should be melted for future designs, and the chipsets should be properly disposed of by a waste disposal agency. The casing of the D‐Tech system consists of reusable plastic and wood, making it easy to recycle and would have little or no impact on the environment. In general we believe the D‐Tech system will present an overall minimal impact on the environment due to its size as well as the material used for its construction.
-
25 | P a g e
9. Conclusion This document outlined the design choices we came to in order to fulfill the functional specifications of the D‐Tech reminder system. The product development is divided into two distinctive phases. The proof‐of‐concept model is being developed at this time, while strictly following the specifications outlined above. It is expected that all design requirements described in this document will be completed by the target date of April 15, 2009.
-
26 | P a g e
10. References [1] “D‐Tech Functional Specifications”, goldFish Technologies, 2009 [2] Texas Instruments, TRF7960EVM User’s Guide, November 2006. [Online].
Available: http://focus.ti.com/lit/ug/slou192c/slou192c.pdf. [Accessed: March 1, 2009].
[3] Parallax, Inc, Datasheet: PIR Sensor (#555‐28027), v.1.2, February 2007 [Online].
Avaliable: http://www.parallax.com/Portals/0/Downloads/docs/prod/audiovis/PIRSensor‐
V1.2.pdf [4] Texas instruments, TRF7960, TRF7961 Multi‐Standard Fully Integrated 13.56‐
MHz RFID Analog Front End and Data‐Framing Reader System, August 2006. [Online]. Available:
http://focus.ti.com/lit/ds/symlink/trf7960.pdf
[5] Freescale Semiconductor, Datasheet: Technical Data MC9328MX1, rev. 7, February 1991. [Online]. Available: http://www.freescale.com/files/32bit/doc/data_sheet/MC9328MX1.pdf. [Accessed: March 1, 2009].
[6] “.htaccess” Wikipedia.org. [Online]. Available:
http://en.wikipedia.org/wiki/.htaccess [Accessed: March 5, 2009]
DesignSpec-LetterDesignSpecsFinal