Home Automation Log
- Clayton Keating
- Savannah Rush
Find our project page here
Week of September 4
This week we narrowed our project idea. Our design will be a mobile application with home security features. Using sensors, the application will notify the user if there is motion in the front doorway and will enable the user to remotely lock their door. This week we met briefly with our TA, Nathan, and scheduled a weekly time for us to meet. We also created our individual and project wikis.
Week of September 11
This week we determined a project timeline and identified key milestones throughout the semester. We thought through more of the details of our project and identified the technical mediums that we will use. We developed a list of hardware needs and supplies and crafted a budget. On Thursday, we spent time with our TA Nathan, and narrowed the scope of our project. The goal of our design is to enable a website user to remotely lock a door. With Nathan's guidance, we decided to use Raspberry Pi and create a website (rather than an app) which communicates with the locking system.
Week of September 18
- This week I spent several hours watching video tutorials (3 hours) to familiarize myself with HTML and CSS coding. I downloaded a text editor on my computer and began designing the site using an HTML file and a CSS style sheet. The site now has a "home" page with a navigation bar with a link to an "about" page (2 hours). This week I also began researching how to create a secure login page (1 hour). I have currently identified two courses of action for the login page. I can either use a PHP script or a development framework (more specifically, Laravel). Next week I will be working towards having a functioning domain and web server presence, and will continue to make progress on the login page.
- This week I ordered our project supplies online and will soon pick them up. The budget has been finalized and we decided we do not want to keep our project, so I will need to keep all of our receipts in order to get reimbursed. Once we acquire the Raspberry Pi machine, I will start learning more Python code that is relevant to servos and other project-related activities. I also have started research on casings for the door-mounted locking/unlocking mechanism. Most likely this will be 3D printed, so I will do measurements of all the supplies we have once they come in. I am awaiting the "master classes" for SolidWorks and Python, as I am by no means an expert on either.
Week of September 25
- I searched through past ESE 205 projects to research how other groups have developed a web presence. One group recommended the hosting site Bluehost, but upon further investigation this option is rather expensive and, according to online bloggers, difficult to set up SSL which we need for our secure login page. This research took 1 hour.
- I then went on to option 2: Amazon Web Services. After struggling to understand all of the myriad options available on Amazon's site, I reached out to a friend who had used it previously and received negative feedback. This took 1 hour.
- Enter Option 3: web.com. Said friend recommended this site as a hosting and domain acquisition option, similar to Bluehost. However, this site was much cheaper and offered a month-to-month purchase option for just $5/month. After performing further research on my own, I went ahead and moved forward with the site, purchasing a month plan. I set up a working domain (www.thesecuridoor.com) and uploaded my previously coded files to the site. This took 2 hours.
- Next, I set out to create a user registration and login page for the site. After finding some tutorials on the internet, I adapted them to meet our project's needs and specifications and edited the style using a CSS file. This took 2.5 hours.
- Next week we aim to connect our raspberry pi to wifi and complete the registration/login page by adding a php database.
- This week I have been out of town in Denver working on a WashU competition building a solar-powered house. That being said, I have been able to research cases for a Raspberry Pi unit that might hold it in place as well as the servo and locking mechanism. When I return to school I will print one and determine whether it will suffice or not. Otherwise, I will test out the Raspberry Pi to servo connection and programming when I return home from Denver.
Week of October 2
A link to our presentation is found here
- I read several tutorials about the workings of PHP databases and how to create them for the use of a login/registration page. This took 1 hour.
- I created a database for the site using MyPHPAdmin. However, I was unable to successfully add users to the database. I spent 4 hours creating a user case and attempting to debug. When I attempt to register a user for the site, I receive an error saying that the database does not exist. However, I have gone into PHP My Admin and created a database and table.
I have the following code: <?PHP require_once("./include/fg_membersite.php");
$fgmembersite = new FGMembersite();
//Provide your site name here $fgmembersite->SetWebsiteName('thesecuridoor.com');
//Provide the email address where you want to get notifications $fgmembersite->SetAdminEmail('email@example.com');
//Provide your database login details here: //hostname, user name, password, database name and table name //note that the script will create the table (for example, fgusers in this case) //by itself on submitting register.php for the first time $fgmembersite->InitDB(/*hostname*/'localhost',
/*username*/'fake_user', /*password*/'fake_password', /*database name*/'securidoor_login', /*table name*/'users_info');
- I also spent .5 hours making a PowerPoint for our presentation.
- Next week we aim to successfully transmit information between the Pi and the website.
- This week, I was able to boot up the Raspberry Pi after learning the correct tools to purchase in order to make this happen. In addition, I finalized the servo set-up for the Pi. In our meetings with TAs and Professor Feher, we feel that we are sufficiently moving forward on a good pace. Next week I will 3D print the Pi case and build the miniature door.
Week of October 9
- After thinking through the process of securing the site, I have decided to use our hosting platform's (web.com) site password protection. This will more closely mimic what a company does when selling a product that is tied to an online interface. Upon purchase of the product, the company gives the user a unique username and password (which can then be changed by the user). The hosting platform's security is much more robust than my original login system, which was susceptible to SQL injections and the like. Setting up password protection using the hosting platform took me 2 hours.
- I also created a form where users can request a password change, should they forget the password given to them upon "purchase". Users input their Username, Email, and Lock ID (a unique code given to each lock) and a site administrator (me) will be notified. I linked this form to the main page of the site. This took 2 hours.
Week of October 16
Week of October 23
Week of October 30
Week of November 6
Week of November 13
Week of November 20