Smart Lock Log

From ESE205 Wiki
Revision as of 00:21, 1 May 2018 by KelvinXie (talk | contribs) (Week 8: (3/19- 3/25))
Jump to: navigation, search

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, 1 Hour)

  • Worked on Poster

-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