D.I.Y. Home Monitoring: Final Comm Lab Web Project

For my web final I created the beginnings of a D.I.Y. home monitoring system.

The current version of the project can be viewed here

I wanted to create something that would allow me to monitor over the web whether my doors were open or not.

The project uses an Arduino Uno and an Arduino Ethernet shield to read homemade switches and send that information to my server.  The server then uses ruby to analyze the data and display whether or not my doors are open.

Materials

The Arduino reads the switches and displays a green light when my “doors” are closed and a red light when they are open.

P1020180 P1020179 P1020178 P1020177

 

The Ethernet shield then uses an HTTP post protocol to send the correct information to my website, which then displays the state of the switches

P1020167Screen shot 2013-03-16 at 1.16.55 PM
P1020171Screen shot 2013-03-16 at 1.19.13 PM

 
P1020172Screen shot 2013-03-16 at 1.17.43 PM
P1020169Screen shot 2013-03-16 at 1.17.16 PM

 

 

For debugging and troubleshooting purposes the site also has an admin page (for manually entering information) and a history page to view all the updates sent from the Arduino at once.

Considerations / Next steps:

The next goal for me would be to utilize web sockets instead of a timed refresh to get instant readings.  I would also like to connect the Arduino wirelessly and maybe use reed or magnetic switches if i were to actually apply this to my doors.  I would also want to create a page for statistics (when was the door last open/ closed? have the doors been open or close and any irregular times?  how long was the door open when it was last open? etc..).  And ideally I would like to make either a time based alert system that would send a message to me and the other people in my household when the door has been open for too long, or a or user based alert system that would allow someone checking the site to send a text or email from the browser to the residents.