Difference between revisions of "Smart Lock Log"

From ESE205 Wiki
Jump to navigation Jump to search
m (Protected "Smart Lock Log" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)))
 
(70 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 +
[https://classes.engineering.wustl.edu/ese205/core/index.php?title=Smart_Lock Main Project Page]
 +
 +
==Week 0: (1/22-1/28)==
 +
-January 30, 2018: (Ahmed Hassan, 30 min)
 +
*Sketched General Product Prototype
 +
*Specified details on product's construction
 +
 
==Week 1: (1/29-2/4)==
 
==Week 1: (1/29-2/4)==
-January 30, 2018: (Kelvin Xie, 35min)
+
-January 30, 2018: (Kelvin Xie, 35 min)
 
*Created project wiki and log
 
*Created project wiki and log
*Entered preliminary project pla
+
*Entered preliminary project plan
 +
 
 +
-January 31, 2018: (Group, 1 hour)
 +
*Created basic project outline:
 +
**Components:
 +
***Hardware
 +
****dead bolt mount
 +
****Unlock mechanism
 +
****Microcontroller
 +
****Estimote beacon
 +
***AWS Server
 +
****AWS instance
 +
****HTTPS
 +
****Token authentication system
 +
****Unlock poll/request
 +
***App
 +
****Estimote API
 +
****Server request
 +
****Token handling
 +
*Determined delegation of work:
 +
**Each member will be the the lead of one of the above three categories. However, every member will contribute towards all three aspects of the project.
 +
**As it stands now, the leads for each role. are the following:
 +
***Hardware: Kelvin Xie
 +
***AWS Server: Ahmed Hassan
 +
***App: Graham Webb
 +
 
 +
==Week 2: (2/5-2/11)==
 +
-February 6, 2018 (Group, 1 hour)
 +
*Created Gantt Chart
 +
*Determined a more detailed plan/outline of project (See main project page)
 +
 
 +
-February 9, 2018 (Ahmed, 45 minutes)
 +
*Reflashed Raspberry Pi (removed previous password on it)
 +
*Found Products Links for Needed Materials
 +
 
 +
==Week 3: (2/12-2/18)==
 +
-February 13, 2018: (Kelvin Xie, 30 minutes)
 +
*Finalized and uploaded Gantt chart to main project page
 +
*Addressed ethical issues (See main project page)
 +
*Added list of key features (See main project page)
 +
 
 +
-February 13, 2018 (Graham Webb, 45 minutes)
 +
*Addressed safety issues
 +
*Addressed Security issues (twice)
 +
*Edited Ethical Issues
 +
*Added to budget
 +
*Added to goals
 +
*Edited materials
 +
 
 +
-February 13, 2018 (Ahmed Hassan, 25 minutes)
 +
*Cleaned up Project Page
 +
*Added details/ links to budget
 +
*Clarified specific details regard project details
 +
 
 +
-February 15, 2018 (Kelvin Xie, 15 minutes)
 +
*Finalized specific parts
 +
*Ordered parts
 +
 
 +
-February 15, 2018 (Ahmed Hassan, 1.5 hours)
 +
*Set up Pi and set up email forwarding for SSH
 +
 
 +
-February 16, 2018 (Graham Webb, 35min)
 +
*installed Android Studio
 +
*installed android app simulater
 +
*read user manual for Android Studio
 +
*researched potential app-learning software
 +
 
 +
-February 16, 2018 (Ahmed Hassan, Dr. Feher, 1.5 hours)
 +
*Resolved Remote Login on Raspberry Pi
 +
*Started Work on Presentation
 +
 
 +
-February 18,2018 (Graham Webb, 30 min)
 +
*Presentation work
 +
 
 +
==Week 4: (2/19-2/26)==
 +
-February 20, 2018 (Graham Webb, 20 min)
 +
*Meeting with Feher
 +
-February 20, 2018 (Kelvin Xie, 2 hours 30 minutes)
 +
*Work on presentation
 +
*Updated Raspberry Pi to Pixel
 +
*Familiarized myself with the Raspberry Pi interface
 +
*Worked on the VNC server and how to get and email the IP address on boot up. Struggling getting the VNC working properly. Still a work in progress.
 +
**Work on the VNC server was passed from Ahmed to myself
 +
 
 +
-February 20, 2018 (Ahmed Hassan, 30 minutes)
 +
*Created AWS account and started learning about it
 +
*[https://projects.raspberrypi.org/en/projects/demo-programs/5 Python Projects]
 +
 
 +
-February 21, 2018 (Kelvin Xie, 4 hours)
 +
*Continued work on VNC connection
 +
*Enabled VNC cloud connection so IP address is no longer required for remote connection
 +
**VNC server automatically opens on startup
 +
**Full remote access achieved. As a test, this log update was done through the Raspberry Pi from my iPad
 +
*Began learning the necessary programming to control the servo
 +
*Began research/plan for building the servo-pi connection
 +
 
 +
-February 23, 2018 (Ahmed Hassan, 1.5 hours)
 +
*Set up AWS Serer
 +
**Already had PyCharm and Python installed and loaded up laptop
 +
 
 +
-February 24, 2018 (Kelvin Xie, 3 hours)
 +
*Learned how to make proper connections between Raspberry Pi and Servo
 +
**Spliced USB cable and put together wiring
 +
*Began learning how to control servo through Raspberry Pi
 +
**Achieved basic movement control of servo
 +
***Next step will be to learn and implement precise control of servo movement
 +
*Began learning more specific python commands to control the servo more precisely
 +
**Challenges arisen
 +
***I can't seem to get the code to properly send the necessary signals. Since the Pi uses pulse width modulation, I am having difficulty figuring out timing to make the movements precise
 +
 
 +
-February 26th, 2018 (Graham Webb, 2 hours)
 +
*Hello World project
 +
 
 +
-Goals for Next Week: (Completed)
 +
*AWS Server being functional
 +
*Estimote API and Android App being Functional
 +
*Get Servo and Pi working together
 +
 
 +
==Week 5: (2/27-3/4)==
 +
- February 28, 2018 (Ahmed Hassan, 1.5 hours)
 +
*Created Rudimentary Password Generator and uploaded to server.
 +
 
 +
-March 1, 2018 (Kelvin Xie, 1 hour)
 +
*Worked on servo script
 +
**Script still causes servo to seize between movements of the servo arm.
 +
 
 +
-March 4, 2018 (Graham Webb 2.5 hours)
 +
*Worked with John on hello world project
 +
 
 +
-March 4, 2018 (Kelvin Xie, 1 hour)
 +
*Began learning about the requests module on Raspberry Pi
 +
*Continued work on servo script
 +
 
 +
==Week 6: (3/5-3/11)==
 +
-March 5, 2018 (Ahmed Hassan, 4 hours)
 +
*Created Functional Login System.
 +
**However, server will not accept login system
 +
 
 +
-March 5, 2018 (Kelvin Xie, 1.75 hours)
 +
*Worked on determining how best to correct servo movement
 +
**Software control is limited especially on such a large/powerful servo
 +
***The servo essentially vibrates while at rest in a specific position.
 +
*Finished request script
 +
**The script grabs and prints the password generated on our server
 +
 
 +
-March 6, 2018 (Kelvin Xie, 1.3 hours)
 +
*Downloaded Fusion 360 for designing 3D printed part
 +
**Began familiarizing myself with the program
 +
*Began trying to determine how various pieces of the lock will connect
 +
*Began designing it
 +
 
 +
-March 7, 2018 (Kelvin Xie, 1 hour)
 +
*Created basic skeleton design of servo-deadbolt connection piece
 +
*With John’s assistance, determined issue with the servo movement was rooted in the hardware not the software
 +
**Will be troubleshooting this in the near future
 +
 
 +
-March 8, 2018 (Graham Webb 1.5 hours)
 +
*contacted company with applicable knowledge on beacons
 +
*troubleshooting code
 +
 
 +
==Week 7: (3/12-3/18)==
 +
-March 16, 2018 (Kelvin Xie, 2.5 hours)
 +
*Familiarized myself with Ahmed's existing code and learned how the basic login system works
 +
*Began learning how to create secure connection using HTTPS
 +
 
 +
-March 17, 2018 (Ahmed Hassan, 1 Hour)
 +
*QOL updates to code
 +
*Started Work on maintaining a password archive
 +
 
 +
==Week 8: (3/19- 3/25)==
 +
-March 19, 2018 (Kelvin Xie, 45 min)
 +
*Finished lock mechanism connection piece
 +
**(May be subject to edits at later date)
 +
 
 +
-March 20, 2018 (Graham Webb 30 min)
 +
*troubleshooting HelloWorld
 +
 
 +
-March 21, 2018 (Graham Webb 1.25 hours)
 +
*Extra Meeting with TA
 +
 
 +
==Week 9: (3/26-4/1)==
 +
-March 27, 2018 (Ahmed Hassan, 1.25 Hours)
 +
*Working on Token Time out
 +
 
 +
-March 30, 2018 (Ahmed Hassan, 3 Hours)
 +
*Created new login interface
 +
*Adjusted code for both a user interface and Raspberry Pi interface
 +
 
 +
-March 31, 2018 (Kelvin Xie, 1 hour)
 +
*Added notches to the connection piece for the servo
 +
*Began work on designing housing mechanism demonstration piece
 +
**Awaiting meeting with TA to resolve servo issue and to solder necessary wires
 +
 
 +
==Week 10: (4/2-4/8)==
 +
-April 3, 2018 (Ahmed Hassan, 0.5 Hours)
 +
*Looked into User Timeouts
 +
-April 6, 2018 (Ahmed Hassan, 3 Hours)
 +
* Met with John to discuss login management
 +
* Debugging run-time errors
 +
-April 8, 2018 (Graham, 2 hours)
 +
*Extra TA meeting
 +
-April 8, 2018 (Kelvin, 2.5 hours)
 +
*Meeting with TA
 +
*Worked on servo servo movement issues
 +
 
 +
==Week 11: (4/9-4/15)==
 +
-April 9, 2018 (Kelvin Xie, 1 Hour)
 +
*Made final edits to servo connection piece
 +
**Sent in file to be printed
 +
*Continued work  on designing housing mechanism
 +
*Worked issues with servo movement
 +
 
 +
-April 12, 2018 (Kelvin Xie, 1 Hour)
 +
*Finished debugging code for servo movement
 +
 
 +
-April 13, 2018 (Ahmed Hassan, 3 Hours)
 +
* Researched database creation via SQL
 +
* Edited Web Interface for Raspberry Pi compatibility
 +
* Researched POST and GET Methods for website interaction between both app and Pi
 +
 
 +
-April 14, 2018 (Kelvin Xie, 6.5 Hours)
 +
*Conducted tests with servo turning the deadbolt
 +
*Fully implemented full functionality with AWS server
 +
*Finished housing and mount design
 +
*Added use of Hall Effect sensor to return locked or opened position
 +
**Learned how to connect and use the sensor
 +
*Diagramed full circuit
 +
*Soldered all wires together
 +
 
 +
-April 14, 2018 (Ahmed Hassan, 8 Hours)
 +
*Created Proper Hashing/ Salting system via bcrypt
 +
*Created interface for Raspberry Pi to react properly according to App input
 +
*Created Database used for username, password, and lock status storage
 +
*Uploaded Final Copy of Code to AWS
 +
*Streamlined Code and Removed unnecessary parts
 +
*Started Implementation of HTTPS via Route53
 +
 
 +
==Week 12: (4/16-4/22)==
 +
-April 16, 2018 (Kelvin Xie, 30 minutes)
 +
*Finalized necessary mount pieces
 +
**Construction of mount will take place Wednesday
 +
 
 +
-April 17, 2018 (Ahmed Hassan, 4 Hour)
 +
*Worked on Poster
 +
*Completed Poster
 +
*Debugged Code and Completed Interfacing with both Android App and Raspberry Pi
 +
 
 +
-April 17, April 19 (Graham Webb 6 hours)
 +
*Finished integrating and troublehooting application
 +
 
 +
-April 18, 2018 (All members, 6 hours)
 +
*Built servo mount
 +
*Completed all circuitry
 +
*Glued down all necessary components
 +
*Finished all necessary code
 +
*Testing
  
 +
-April 19, 2018 (Kelvin Xie 2.5 hours)
 +
*Fixed issue with servo seizing when lock was supposed be stationary.
 +
*Finalized code
 +
*Implemented code to boot program on startup
  
 +
-April 19th, (All members, 2 hours)
 +
*Extensive testing
 
[[Category:Logs]]
 
[[Category:Logs]]
 
[[Category:Spring 2018 Logs]]
 
[[Category:Spring 2018 Logs]]

Latest revision as of 12:13, 5 May 2018

Main Project Page

Week 0: (1/22-1/28)

-January 30, 2018: (Ahmed Hassan, 30 min)

  • Sketched General Product Prototype
  • Specified details on product's construction

Week 1: (1/29-2/4)

-January 30, 2018: (Kelvin Xie, 35 min)

  • Created project wiki and log
  • Entered preliminary project plan

-January 31, 2018: (Group, 1 hour)

  • Created basic project outline:
    • Components:
      • Hardware
        • dead bolt mount
        • Unlock mechanism
        • Microcontroller
        • Estimote beacon
      • AWS Server
        • AWS instance
        • HTTPS
        • Token authentication system
        • Unlock poll/request
      • App
        • Estimote API
        • Server request
        • Token handling
  • Determined delegation of work:
    • Each member will be the the lead of one of the above three categories. However, every member will contribute towards all three aspects of the project.
    • As it stands now, the leads for each role. are the following:
      • Hardware: Kelvin Xie
      • AWS Server: Ahmed Hassan
      • App: Graham Webb

Week 2: (2/5-2/11)

-February 6, 2018 (Group, 1 hour)

  • Created Gantt Chart
  • Determined a more detailed plan/outline of project (See main project page)

-February 9, 2018 (Ahmed, 45 minutes)

  • Reflashed Raspberry Pi (removed previous password on it)
  • Found Products Links for Needed Materials

Week 3: (2/12-2/18)

-February 13, 2018: (Kelvin Xie, 30 minutes)

  • Finalized and uploaded Gantt chart to main project page
  • Addressed ethical issues (See main project page)
  • Added list of key features (See main project page)

-February 13, 2018 (Graham Webb, 45 minutes)

  • Addressed safety issues
  • Addressed Security issues (twice)
  • Edited Ethical Issues
  • Added to budget
  • Added to goals
  • Edited materials

-February 13, 2018 (Ahmed Hassan, 25 minutes)

  • Cleaned up Project Page
  • Added details/ links to budget
  • Clarified specific details regard project details

-February 15, 2018 (Kelvin Xie, 15 minutes)

  • Finalized specific parts
  • Ordered parts

-February 15, 2018 (Ahmed Hassan, 1.5 hours)

  • Set up Pi and set up email forwarding for SSH

-February 16, 2018 (Graham Webb, 35min)

  • installed Android Studio
  • installed android app simulater
  • read user manual for Android Studio
  • researched potential app-learning software

-February 16, 2018 (Ahmed Hassan, Dr. Feher, 1.5 hours)

  • Resolved Remote Login on Raspberry Pi
  • Started Work on Presentation

-February 18,2018 (Graham Webb, 30 min)

  • Presentation work

Week 4: (2/19-2/26)

-February 20, 2018 (Graham Webb, 20 min)

  • Meeting with Feher

-February 20, 2018 (Kelvin Xie, 2 hours 30 minutes)

  • Work on presentation
  • Updated Raspberry Pi to Pixel
  • Familiarized myself with the Raspberry Pi interface
  • Worked on the VNC server and how to get and email the IP address on boot up. Struggling getting the VNC working properly. Still a work in progress.
    • Work on the VNC server was passed from Ahmed to myself

-February 20, 2018 (Ahmed Hassan, 30 minutes)

-February 21, 2018 (Kelvin Xie, 4 hours)

  • Continued work on VNC connection
  • Enabled VNC cloud connection so IP address is no longer required for remote connection
    • VNC server automatically opens on startup
    • Full remote access achieved. As a test, this log update was done through the Raspberry Pi from my iPad
  • Began learning the necessary programming to control the servo
  • Began research/plan for building the servo-pi connection

-February 23, 2018 (Ahmed Hassan, 1.5 hours)

  • Set up AWS Serer
    • Already had PyCharm and Python installed and loaded up laptop

-February 24, 2018 (Kelvin Xie, 3 hours)

  • Learned how to make proper connections between Raspberry Pi and Servo
    • Spliced USB cable and put together wiring
  • Began learning how to control servo through Raspberry Pi
    • Achieved basic movement control of servo
      • Next step will be to learn and implement precise control of servo movement
  • Began learning more specific python commands to control the servo more precisely
    • Challenges arisen
      • I can't seem to get the code to properly send the necessary signals. Since the Pi uses pulse width modulation, I am having difficulty figuring out timing to make the movements precise

-February 26th, 2018 (Graham Webb, 2 hours)

  • Hello World project

-Goals for Next Week: (Completed)

  • AWS Server being functional
  • Estimote API and Android App being Functional
  • Get Servo and Pi working together

Week 5: (2/27-3/4)

- February 28, 2018 (Ahmed Hassan, 1.5 hours)

  • Created Rudimentary Password Generator and uploaded to server.

-March 1, 2018 (Kelvin Xie, 1 hour)

  • Worked on servo script
    • Script still causes servo to seize between movements of the servo arm.

-March 4, 2018 (Graham Webb 2.5 hours)

  • Worked with John on hello world project

-March 4, 2018 (Kelvin Xie, 1 hour)

  • Began learning about the requests module on Raspberry Pi
  • Continued work on servo script

Week 6: (3/5-3/11)

-March 5, 2018 (Ahmed Hassan, 4 hours)

  • Created Functional Login System.
    • However, server will not accept login system

-March 5, 2018 (Kelvin Xie, 1.75 hours)

  • Worked on determining how best to correct servo movement
    • Software control is limited especially on such a large/powerful servo
      • The servo essentially vibrates while at rest in a specific position.
  • Finished request script
    • The script grabs and prints the password generated on our server

-March 6, 2018 (Kelvin Xie, 1.3 hours)

  • Downloaded Fusion 360 for designing 3D printed part
    • Began familiarizing myself with the program
  • Began trying to determine how various pieces of the lock will connect
  • Began designing it

-March 7, 2018 (Kelvin Xie, 1 hour)

  • Created basic skeleton design of servo-deadbolt connection piece
  • With John’s assistance, determined issue with the servo movement was rooted in the hardware not the software
    • Will be troubleshooting this in the near future

-March 8, 2018 (Graham Webb 1.5 hours)

  • contacted company with applicable knowledge on beacons
  • troubleshooting code

Week 7: (3/12-3/18)

-March 16, 2018 (Kelvin Xie, 2.5 hours)

  • Familiarized myself with Ahmed's existing code and learned how the basic login system works
  • Began learning how to create secure connection using HTTPS

-March 17, 2018 (Ahmed Hassan, 1 Hour)

  • QOL updates to code
  • Started Work on maintaining a password archive

Week 8: (3/19- 3/25)

-March 19, 2018 (Kelvin Xie, 45 min)

  • Finished lock mechanism connection piece
    • (May be subject to edits at later date)

-March 20, 2018 (Graham Webb 30 min)

  • troubleshooting HelloWorld

-March 21, 2018 (Graham Webb 1.25 hours)

  • Extra Meeting with TA

Week 9: (3/26-4/1)

-March 27, 2018 (Ahmed Hassan, 1.25 Hours)

  • Working on Token Time out

-March 30, 2018 (Ahmed Hassan, 3 Hours)

  • Created new login interface
  • Adjusted code for both a user interface and Raspberry Pi interface

-March 31, 2018 (Kelvin Xie, 1 hour)

  • Added notches to the connection piece for the servo
  • Began work on designing housing mechanism demonstration piece
    • Awaiting meeting with TA to resolve servo issue and to solder necessary wires

Week 10: (4/2-4/8)

-April 3, 2018 (Ahmed Hassan, 0.5 Hours)

  • Looked into User Timeouts

-April 6, 2018 (Ahmed Hassan, 3 Hours)

  • Met with John to discuss login management
  • Debugging run-time errors

-April 8, 2018 (Graham, 2 hours)

  • Extra TA meeting

-April 8, 2018 (Kelvin, 2.5 hours)

  • Meeting with TA
  • Worked on servo servo movement issues

Week 11: (4/9-4/15)

-April 9, 2018 (Kelvin Xie, 1 Hour)

  • Made final edits to servo connection piece
    • Sent in file to be printed
  • Continued work on designing housing mechanism
  • Worked issues with servo movement

-April 12, 2018 (Kelvin Xie, 1 Hour)

  • Finished debugging code for servo movement

-April 13, 2018 (Ahmed Hassan, 3 Hours)

  • Researched database creation via SQL
  • Edited Web Interface for Raspberry Pi compatibility
  • Researched POST and GET Methods for website interaction between both app and Pi

-April 14, 2018 (Kelvin Xie, 6.5 Hours)

  • Conducted tests with servo turning the deadbolt
  • Fully implemented full functionality with AWS server
  • Finished housing and mount design
  • Added use of Hall Effect sensor to return locked or opened position
    • Learned how to connect and use the sensor
  • Diagramed full circuit
  • Soldered all wires together

-April 14, 2018 (Ahmed Hassan, 8 Hours)

  • Created Proper Hashing/ Salting system via bcrypt
  • Created interface for Raspberry Pi to react properly according to App input
  • Created Database used for username, password, and lock status storage
  • Uploaded Final Copy of Code to AWS
  • Streamlined Code and Removed unnecessary parts
  • Started Implementation of HTTPS via Route53

Week 12: (4/16-4/22)

-April 16, 2018 (Kelvin Xie, 30 minutes)

  • Finalized necessary mount pieces
    • Construction of mount will take place Wednesday

-April 17, 2018 (Ahmed Hassan, 4 Hour)

  • Worked on Poster
  • Completed Poster
  • Debugged Code and Completed Interfacing with both Android App and Raspberry Pi

-April 17, April 19 (Graham Webb 6 hours)

  • Finished integrating and troublehooting application

-April 18, 2018 (All members, 6 hours)

  • Built servo mount
  • Completed all circuitry
  • Glued down all necessary components
  • Finished all necessary code
  • Testing

-April 19, 2018 (Kelvin Xie 2.5 hours)

  • Fixed issue with servo seizing when lock was supposed be stationary.
  • Finalized code
  • Implemented code to boot program on startup

-April 19th, (All members, 2 hours)

  • Extensive testing