13
Smart Doorbell with Internet of Things Application Project Schedule and Management Team 11 Homework 3 November 13, 2018 Responsible Engineers Minh Le ECE Box #186 Zachary Bergquist ECE Box #25 Andrew Duncan ECE Box #87

Smart Doorbell with Internet of Things Application Project …sjbitar/ece2799/examples2/HW3Example.pdf · The top-level Gantt chart for the remainder of the Smart Doorbell project

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Smart Doorbell with Internet of Things Application Project …sjbitar/ece2799/examples2/HW3Example.pdf · The top-level Gantt chart for the remainder of the Smart Doorbell project

Smart Doorbell with Internet of Things Application

Project Schedule and Management

Team 11

Homework 3

November 13, 2018

Responsible Engineers

Minh Le

ECE Box #186

Zachary Bergquist

ECE Box #25

Andrew Duncan

ECE Box #87

Kiki
Typewriter
This is just an example to give you an idea of what is expected. Be sure to follow the guidelines set by the assignment/rubric
Kiki
Rectangle
Page 2: Smart Doorbell with Internet of Things Application Project …sjbitar/ece2799/examples2/HW3Example.pdf · The top-level Gantt chart for the remainder of the Smart Doorbell project

2

Table of Contents

Table of Contents ............................................................................................................................ 2

1. Introduction ................................................................................................................................. 3

2. Gantt Chart .................................................................................................................................. 4

3. Task - Specific Gantt Chart......................................................................................................... 6

3.1 Research ................................................................................................................................ 6

3.2 Design.................................................................................................................................... 6

3.3 Develop Software .................................................................................................................. 7

3.4 Building Hardware ................................................................................................................ 9

3.5 Testing and Troubleshooting ............................................................................................... 10

4. Conclusion ................................................................................................................................ 11

5. Appendix ................................................................................................................................... 12

Appendix A: Gantt Chart .............................................................................................................. 12

Appendix B: Top – level Gantt Chart ........................................................................................... 13

Page 3: Smart Doorbell with Internet of Things Application Project …sjbitar/ece2799/examples2/HW3Example.pdf · The top-level Gantt chart for the remainder of the Smart Doorbell project

3

1. Introduction

Group project often requires tasks and goals have to be partitioned into individual members

of the team to ensure deadlines are met and the project reaches completion. The purpose of this

report is to summarize the special skills of each team member and organize which tasks are the

best fit for each member to ensure they contribute evenly and complete the project in a timely

manner. This can be done by creating a chart that divides the project as a whole into smaller tasks

that can be assigned to an appropriately skilled team member. In addition to providing the chart,

this report will also provide the reader with an understanding of each team member’s technical

background and why each task is most appropriate for the member it is ultimately assigned to.

Since this is such a complex project that requires many smaller milestones to be achieved

before the final project is completed, it is appropriate to develop a Gantt chart. A Gantt chart

ensures that each team member has a better understanding of what is expected of them during

various stages of development in the design process. It also provides the structure necessary to

complete every aspect of the final design of the project. The Gantt chart provided by this report

will be used to evaluate progress as a team by identifying major milestones that must be met to

complete the final design.

Page 4: Smart Doorbell with Internet of Things Application Project …sjbitar/ece2799/examples2/HW3Example.pdf · The top-level Gantt chart for the remainder of the Smart Doorbell project

4

2. Gantt Chart

The top-level Gantt chart for the remainder of the Smart Doorbell project can be seen in

Appendix A. The Gantt chart has five major components: Research, Design, Develop Software,

Building the Hardware, and Testing and Troubleshooting. The project has progressed through the

first two sections so far, and the team will work on the final three topics in parallel with one

another. This is done so that the team can work on connecting the hardware to the software so that

the final prototype of the project can be completed by 14 December 2018. This chart can be found

in Appendix B.

The first two sections, Research and Design, were split relatively equally amongst the

team. These two fields started within the first week of the term to narrow down what the project

was going to be. After selecting the Smart Doorbell to be the term project, the team began to

research how their product would be successful in the market. This was done through initial market

research, which included researching prospective markets, what features these customers would

want the most from the product, and what the current competition was. Afterwards, the team began

to design the artist concept and block diagram of the product, as well as research what components

should be used to create the most functional, cost-efficient product that met the product

requirements. These requirements were derived from the customer expectations and needs, which

were found through surveys and field research. While the team has completed the initial designs

for the product and decided on what will be included in the final product, further research will be

performed to learn how these features will be implemented into the doorbell’s design. The team’s

milestone is to have all research completed for the product’s hardware and software design by 23

November 2018. There is a potential for delays to this goal, as later research and Internet surfing

can reveal more effective ways to quickly implement these functions. These possible delays are

why the team suggested having all research complete with three weeks left in the term. This way,

if a team member finds a new way to solve a problem, the new process can be implemented in

time so that the final design is still complete by the deadline.

The remainder of the term shall be divided amongst software design, hardware

construction, and testing and troubleshooting the device. These weeks will require the team to

remain focused and productive for every day of the quarter to successfully add each feature of the

product to the final prototype. As the hardware is being constructed, the code necessary for the

Raspberry Pi’s functioning, the text alert system, sensor settings, and the web server to stream the

Page 5: Smart Doorbell with Internet of Things Application Project …sjbitar/ece2799/examples2/HW3Example.pdf · The top-level Gantt chart for the remainder of the Smart Doorbell project

5

camera’s video will be created. In the last week of the term, the team will also begin to write the

final report, including any schematics, PCB layouts, source code, and other resources used to

complete the project.

The team has decided how these three fields shall be divided. Minh shall lead the work on

the Raspberry Pi and facial recognition software. This is because Minh has the most experience in

working with the Raspberry Pi, and he also has the best understanding of the code that will be used

for the facial recognition function. Zachary shall lead the app and web server development. Zach

has completed several projects in the past that have required him to work with apps and web

servers, including his IQP. Finally, Andrew shall perform the hardware design. Andrew has had

the most experience with circuit design and creating circuit blocks and PCB’s. Each team member

will also be in charge of debugging and testing their component of the project; however, all

teammates have agreed to help out the other if necessary. Finally, the team will work on the final

report for the project together, with each team member writing about their main focus for the

project.

The team has discussed that the two most likely areas for delays will come in the hardware

design and for the Raspberry Pi to tell the doorbell chime to ring when the doorbell is rung

wirelessly. The team fears that delays in hardware design could occur if the components to be

shipped are delayed. To prevent this, the team is planning to design the circuit schematic ahead of

time and simulate the circuit. This way, if some parts come in a few days late, the team will only

have to solder the components to the board. The most likely delay in software development is in

the communication between the Raspberry Pi and the doorbell chime when a guest ring the

doorbell wirelessly. The team has decided that should this issue occur, the team members shall

convene and work to resolve this problem as quickly as possible.

Kiki
Rectangle
Kiki
Rectangle
Kiki
Typewriter
Harry
Kiki
Typewriter
Harry
Kiki
Rectangle
Kiki
Typewriter
Ron
Kiki
Rectangle
Kiki
Typewriter
Kiki
Rectangle
Kiki
Typewriter
Hermione
Kiki
Rectangle
Kiki
Typewriter
Hermione
Page 6: Smart Doorbell with Internet of Things Application Project …sjbitar/ece2799/examples2/HW3Example.pdf · The top-level Gantt chart for the remainder of the Smart Doorbell project

6

3. Task - Specific Gantt Chart

This Gantt Chart will show our project schedule and each objective in more details. This

chart can be found in Appendix A.

3.1 Research

The first part of our project is research. The team decided to devote the first week of the

term for market research and developing the list of customer requirements and product

specifications. After having a list of customer requirements and product specifications, which were

finished on Monday, October 29th, the team began to research components and perform value

analysis to find the best fitting components for the prototype. Technical researches will also be

performed in order to fill in any knowledge gaps about the technical aspects of the project.

Components research and value analysis were finished in the third week on Tuesday, November

6th, and technical researches will keep going until the team has all the necessary information,

prospectively by the end of the fifth week. The technical research will consist of researching on

current facial recognition programs, how to create a communication protocol for the doorbell, and

circuit design for the doorbell.

There are very few risks during this stage; the main concern is to make sure all the

information come from reputable sources, as well as the value analysis is performed with good

quality and the appropriate components for the prototype are picked out. No contingency plan is

needed for this part of the project.

All members of the team will be conducting research, with Zach leading the market

research and Minh leading the creation of the list of customer requirements and product

specification. As most of the hardware building is carried out by Andrew, he will be responsible

for finalizing the components for the prototype. Zach will also be responsible for compiling all the

technical researches and make sure everyone is up to date with all the knowledge.

3.2 Design

The second stage of our project was the design process. This task took the research

performed in the first two weeks of the term and converted the product specifications, component

selections, and additional features into the first sketches and block diagrams of the product. The

main risk of this phase was the time and resource constraints that result from the seven-week terms

Kiki
Rectangle
Kiki
Typewriter
Harry
Kiki
Rectangle
Kiki
Typewriter
Ron
Kiki
Rectangle
Kiki
Typewriter
Ron
Kiki
Rectangle
Kiki
Typewriter
Hermione
Page 7: Smart Doorbell with Internet of Things Application Project …sjbitar/ece2799/examples2/HW3Example.pdf · The top-level Gantt chart for the remainder of the Smart Doorbell project

7

of WPI. Since the team only has a limited time to bring a prototype to “market”, the team needed

to be cautious in deciding what could be added to the product and built within this time window.

To limit this risk, the team members performed several hours of research to see if their ideas could

be aided with the help of online videos, Instructable articles, or code forums. If the task seemed

too ambitious and lacked documentation, the team decide to eliminate the idea from the final

design.

This task consisted of four subtasks: design brainstorms, block diagram, artist

interpretation, and prototype design. The brainstorming and artist interpretation will be led by

Zach, Andrew will create the block diagram, and Minh will be responsible for the final prototype

design. The artist interpretation and block diagrams were major deadlines in the project, and

completed on Tuesday, October 30th. These two features gave the team a visual representation as

to not only how the project would function, but also how the final project would look. The major

date for this block was the team’s agreed-upon prototype design, which happened on Tuesday,

November 6th. This event made the team reach a final consensus as to what would be included in

the final design.

Since this section has been completed, there are no remaining contingency plans. When the

design process was still ongoing, the major delay faced was with deciding what should be included

in the prototype. The team’s plan was to resolve this by meeting no later than Monday, November

5th. This date was decided on because the first design review was on Wednesday, and the team

wanted to have the final features of the project in mind, so they could be highlighted during the

presentation.

3.3 Develop Software

After the design process, the process of developing the software for this project can begin.

The software is separated into four different main functions. The first function is the facial

recognition. The second function is sending notifications to the user that someone is at the door.

The third, is the ability to ring the doorbell from a distance through the use of an Android

application. The final function, is establishing a web server that can be used to stream the video

being captured by the camera in the ringer.

The facial recognition software is a Python program that scans the user’s face and compares

it to a list of pre-saved faces in an attempt to identify the person at the door. This program achieves

Kiki
Rectangle
Kiki
Typewriter
Harry
Kiki
Rectangle
Kiki
Typewriter
Ron
Kiki
Rectangle
Kiki
Typewriter
Hermione
Page 8: Smart Doorbell with Internet of Things Application Project …sjbitar/ece2799/examples2/HW3Example.pdf · The top-level Gantt chart for the remainder of the Smart Doorbell project

8

this by saving facial contours as arrays of coordinates corresponding to points in the camera frame

that highlight the shape of one’s face. This array of coordinates is then attached to a name that the

user inputs to identify which face was scanned. Once a face had been scanned and is saved into

the system, this program can compare any face that is presented in front of the camera to the library

of saved faces.

Once the facial recognition program is finished running, the notification software can

initiate. If a face is successfully detected, then the name of the recognized face will then be inserted

into the notification message sent to the homeowner’s smartphone. Otherwise, this program will

simply send a message to the homeowner informing him that there is someone at the door. In

addition to the notification, a link to a live stream from the camera will be attached to the message

sent to the homeowner. This will ensure that even people that are not saved in the facial recognition

software can be identified. This program will be written in Python as well and will function by

being first set off by a trigger initiated by the finalization of the facial recognition. This will then

send a string of text “[insert name] is knocking at your door” into the internet of things over the

home’s Wi-Fi network. This string will then be converted to text that will be compiled into an

email and an SMS that will be sent to the homeowner’s pre-saved phone number and email address.

An Android application will be developed to allow the ability to ring the doorbell,

wirelessly from a distance. This application will be very simple and only consist of a Wi-Fi enabled

button. Similar to Amazon Dash buttons, this application will send a signal through Wi-Fi that will

be picked up by the Raspberry Pi, which will be connected to the same network. After the

Raspberry Pi receives the signal, a python script will initiate sending a notification to the

homeowner’s phone and initiating the playing of a .mp3 chime noise to the internally mounted

speakers of the unit.

Lastly, a video streaming server will be set up using the web server program, Putty. The

server will be established permanently and should be able to be accessed by any device connected

to the internet. The server can be accessed simply by typing in the IP address of the Raspberry Pi

to any web browser. This address will be hyperlinked in the notification sent by the previous

program and will give the homeowner access to the live stream whenever someone is at the door.

Page 9: Smart Doorbell with Internet of Things Application Project …sjbitar/ece2799/examples2/HW3Example.pdf · The top-level Gantt chart for the remainder of the Smart Doorbell project

9

3.4 Building Hardware

The hardware design was worked on in parallel with the software design. The hardware

encompasses all physical aspects of the project, including the initial circuit design, the PCB

creation, and the doorbell casing that houses the internals of the product. These hardware facets

shall be selected based on the component research performed by November 6th. This is because

November 6th was the due date for Homework 2, which pertained to the value analysis of the

necessary components and products that will be sued to complete the project.

Andrew will be responsible for all aspects of the hardware design, and Minh will be

responsible with building the final prototype that will be demonstrated in class. The deadline for

the circuit creation is Tuesday, November 20th. The team believes that the PCB can then be

designed relatively quickly, with a tentative deadline for PCB design of Sunday, November 25th.

This will also allow the team to begin the PCB printing process early, and (hopefully) avoid the

long queues that can occur in the Prototyping Lab near the end of the term. Finally, the team aims

to have the housing complete by Sunday, December 2nd. This will also give the project enough

time to be 3D printed and assembled, avoiding the aforementioned queues. The major milestone

for this section will be done once the hardware and software have been tested and verified. Once

the software and hardware are operational, the package shall be completed by Monday, December

10th. With the prototype assembled, the team can focus on the final report and presentation.

There are two major risks with this section. The first risk is that the components may not

arrive by the tentative deadline for circuit creation, which is November 20th. The team’s plan for

this potential threat is that the circuits shall be created ahead of time. Based on the team’s research

so far, there are plenty of resources that show how the internals of the doorbell need to be wired

to the Raspberry Pi to perform the necessary functions. Most of these peripherals have a simple

wiring scheme, such as the 1080p HD camera, which uses a CSI camera port on the Raspberry Pi.

The second risk for this section is the doorbell casing. No members of the team have experience

in working with Computer-Aided Design (CAD) software to create 3D-printed components. This

could cause delays to the project near the end of the term. In an attempt to prevent this, Andrew

has begun researching how to design some of the basic structures that the final product will need,

such as the doorbell frame and openings for the camera lens.

Kiki
Rectangle
Kiki
Rectangle
Kiki
Typewriter
Harry
Kiki
Typewriter
Harry
Kiki
Rectangle
Kiki
Typewriter
Hermione
Page 10: Smart Doorbell with Internet of Things Application Project …sjbitar/ece2799/examples2/HW3Example.pdf · The top-level Gantt chart for the remainder of the Smart Doorbell project

10

3.5 Testing and Troubleshooting

The final process of the project will be testing and troubleshooting all the components of

the final product, including the software and hardware and the final prototype. The testing will be

conducted concurrently with the development of the software and hardware as well as the building

of the prototype in order to make sure everything works together seamlessly. Zach will lead the

software testing, Andrew will lead the hardware testing, and Minh will be responsible with making

sure the final prototype work as planned. All members will work together to promptly troubleshoot

and fix any problems that might come up. The team aims to finish all the testing ahead of the final

presentation, which will take place on Friday, December 14th, and make sure the prototype is

working properly.

The major risk of this part of the project is that there might be some issues that cannot be

troubleshot or fixed in time. In this case, if the bug or issue is minor enough, it can be included in

the prototype and potential workarounds will be explained in the final presentation. However, if

any issue might interfere with the usability of the final prototype, the team will be forced to remove

the bugged features.

Kiki
Rectangle
Kiki
Typewriter
Harry
Kiki
Rectangle
Kiki
Typewriter
Ron
Kiki
Rectangle
Kiki
Typewriter
Hermione
Page 11: Smart Doorbell with Internet of Things Application Project …sjbitar/ece2799/examples2/HW3Example.pdf · The top-level Gantt chart for the remainder of the Smart Doorbell project

11

4. Conclusion

The current status of the project is right on schedule with the Gantt chart. The facial

recognition software is running on the Raspberry Pi hardware with the webcam we choose.

Currently, Zach is working on completing the web server and is nearly finished. Andrew is nearly

done simulating all the circuitry of the design and is also working on developing an enclosure for

the hardware in CAD. Currently, the only milestone that may be in danger of being missed is

integrating the phone application. Efforts are being made to avoid this by choosing different

methods of implementing the physical button ring to ensure the application works harmoniously

with this. Additional research is being conducted to investigate the feasibility of using an Amazon

Dash device as the physical doorbell button in order to achieve this. Overall, the project is in great

shape and is looking to continue to progress on schedule.

Kiki
Rectangle
Kiki
Typewriter
Harry
Kiki
Rectangle
Kiki
Typewriter
Ron
Page 12: Smart Doorbell with Internet of Things Application Project …sjbitar/ece2799/examples2/HW3Example.pdf · The top-level Gantt chart for the remainder of the Smart Doorbell project

12

5. A

pp

end

ix

Ap

pen

dix

A:

Ga

ntt

Ch

art

Kiki
Rectangle
Kiki
Typewriter
Names of the responsible individual should be listed here
Kiki
Rectangle
Kiki
Rectangle
Kiki
Rectangle
Page 13: Smart Doorbell with Internet of Things Application Project …sjbitar/ece2799/examples2/HW3Example.pdf · The top-level Gantt chart for the remainder of the Smart Doorbell project

13

A

pp

end

ix B

: T

op

– l

evel

Ga

ntt

Ch

art