Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
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
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
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.
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
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.
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
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
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.
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.
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.
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.
12
5. A
pp
end
ix
Ap
pen
dix
A:
Ga
ntt
Ch
art
13
A
pp
end
ix B
: T
op
– l
evel
Ga
ntt
Ch
art