Smart Lock Log
Contents
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
- Hardware
- Components:
- 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
- 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
- Achieved basic movement control of servo
- 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
- Challenges arisen
-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.
- Software control is limited especially on such a large/powerful servo
- 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 75 min)
- 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