The garage project was a little project to scratch the itch of “did I leave the garage open?” and if it’s open, close it.
I went with the Netduino to handle interfacing with the garage. It has an ethernet jack built in so networking it shouldn’t be a problem. It runs .NET code which I work with during the day and it would be interesting to see how .NET works out on the Netduino.
The Netduino has a bunch of GPIO pins which can be used for inputs as well as outputs. I was going to need one input and one output. The input would be used to monitor a switch I added to the door. This switch would provide the status of if the garage is open or not. Basically, it’s a magnet attached to the garage door and when the door is down, it closes the reed switch. By monitoring this switch, the Netduino can tell when the garage is open or closed.
To actually open and close the door, I wanted something that was rather secure, didn’t require too much engineering work, would be portable (in case I moved the Netduino or moved to a new house) and simple and cheap. I ended up purchasing a spare garage door remote. I popped the case off and wired in a relay that would keep the 9v of the garage door opener separate from the 5v of the Netduino. The relay then runs back to the Netduino’s output. When the output pin is toggled on, it simulates pressing the button on the garage door remote, triggering the garage.
Pics of the Netduino setup: https://www.rsb0.com/gallery2/v/MoreRecent/electronics/
By itself, this is pretty cool, but not that useful. I added a socket server on the Netduino so a remote connection could be made. I setup a socket client in PHP to connect to the Netduino to listen for when the garage status would change but also issue commands to the Netduino.
From the PHP script, all sorts of additional neat things could be done. I set it up to be web accessible under the right conditions. I’ve also added hooks to the script so commands could be run when the garage opens and closes. For example, the porch light turns on when the garage opens and off when it closes. So when I get home at night, I won’t be arriving in the dark.
I’ve also created an Android app which uses a collection of different Android services available to keep tabs on the garage. For instance, Google Cloud Messaging is used to subscribe to garage status updates and provide a notification on the phone.
Look what happens when I’m not studying for school…
Call Log – This is pretty spiffy, I think, and probably worthy of its own page. It’s a database driven call blocking app. Get your number blocked and when you call, a modem will pick up the phone and then hang up. The home phone rings for about a half ring to maybe a full one ring and then it stops. Call DENIED! :-) The silly cordless phone only stores 20 numbers. Now that it’s database driven, problem solved! Watch for a dedicated project page where more info and code will be posted.
Garage – While the Call Log is almost complete, the Garage project is kicking off. The goal: Monitor the status of the garage and report if it is currently open or closed. Also provide the user control to open or close the garage and feedback that the operation completed successfully (via web and mobile device). This looked like a job for a Raspberry Pi but it being on back-order, I was able to get my hands on an Arduino and Netduino much quicker (Microcenter to the rescue). The Netduino includes an ethernet jack and I was able to build a circuit that reported the garage status (open/closed). Now I just need to integrate the opener, which there’s circuit diagrams and code for on the ‘net.
This approach looks like something worth trying: http://lifehacker.com/5903288/i-learned-to-speak-four-languages-in-a-few-years-heres-how
I need to start making some note cards…
Thursday, April 19th (10am-2pm, 1st floor atrium, College of Arts and Sciences building), I will be presenting two posters for the University of Akron’s Computer Science Day. The first one is for Software Engineering Methodologies (grad class), called Selecting a Mobile Platform Strategy.
The other poster is for senior seminar and a 1 credit self study. It is called Kismet Mobile Client.
There is a third poster, Akron General Medical Center. I didn’t present it or work on the poster though. I did work on the web site, so check them out!
What an awesome Friday… Acura fixed my car for free. Our Cleveland Give Camp iPhone app was accepted to the app store and can be downloaded (search for “harvest neo” – I will get a link up here shortly). I also jail broke my iPhone and rooted my android. I can now tether my android again (whew!).