Difference between revisions of "Smart Lock Log"
m (Protected "Smart Lock Log" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))) |
|||
(67 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | ==Week 0: (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) | -January 30, 2018: (Ahmed Hassan, 30 min) | ||
*Sketched General Product Prototype | *Sketched General Product Prototype | ||
Line 16: | Line 18: | ||
****Unlock mechanism | ****Unlock mechanism | ||
****Microcontroller | ****Microcontroller | ||
− | **** | + | ****Estimote beacon |
***AWS Server | ***AWS Server | ||
****AWS instance | ****AWS instance | ||
Line 23: | Line 25: | ||
****Unlock poll/request | ****Unlock poll/request | ||
***App | ***App | ||
− | **** | + | ****Estimote API |
****Server request | ****Server request | ||
****Token handling | ****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
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 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