Inspiration

Have you ever left your house, gotten a mile down the road, and wondered if you've closed your garage? Have you ever pulled in to your garage at night, and the garage door opener bulb is burned out, so your entire garage is dark? I have. So, I built an app to connect to your IOT system at home, from your vehicle. The app will activate when you pull in the driveway and allow you to open/close your garage door, turn on your lights, disable the alarm, etc. It will also show you whether your garage door is open, and whether your lights are on when you're a mile down the road.

What it does

It allows the user to interface with the IOT system in your house from the Infotainment system in your GM vehicle. It will notify the user when they've arrived home and will allow the user to open/close the garage door, and turn on the garage light. It offers peace of mind, knowing that your garage door is closed, and that the lights will be on when you get home.

How I built it

I used socket.io to communicate from the Infotainment app to a web app hosted on Heroku. This web app is running a socket.io server and is also communicating with a socket.io client at home. The home system runs a client node.js application that makes a socket.io connection to the app hosted on Heroku. The home system app also communicates through serial to the Arduino 101. It listens for messages from the Heroku app which it parses out and passes on to the 101. The 101 will give feedback to the node client, which will then forward that data to the Heroku app. The Heroku app then communicates that data back to the app in the Infotainment system. The Infotainment system will update the display to show what the home IOT system is doing.

Challenges I ran into

The largest challenge I ran in to was trying to put a team together. I spoke to 3 developers that were all interested, but at the last minute they backed out. So, I was left with the task of coming up with an idea, and developing it. I enjoy building apps like this, but didn't figure it would take me 50 hours to build!

I also ran into other issues in that I had no understanding of node.js, no understanding of Heroku, and web skills dated to 2007. Thank goodness for Google! But, in the end, I was able to cobble together a functional, somewhat ugly system, that gives me a new pathway into my home IOT system.

Servos with plastic gears! The plastic gears on the servo for my model house were stripped-out, so my garage door couldn't open and close properly. As I was building this system, I knew that the servos could possibly be an issue, but I plowed on, choosing instead to ignore the inevitable. Good thing my house doesn't run on servos!

Accomplishments that I'm proud of

Getting a node.js app to talk across the Internet to my home system. Pretty cool.

What I learned

I learned technologies that I've never been exposed to before. Node.js, socket.io, and Heroku. I also learned how valuable a team can be when building a system in a short amount of time. Even though I understand technology, and can build systems like this, it is very helpful to have a team around you to bounce ideas off of, delegate work to, and share in some cool accomplishments.

What's next for myHome

Build-out the web interface and link it in to my home IOT system. Give it to my wife, so she can disarm the alarm system, open the garage door, turn on the lights, pull up the cameras, turn down the A/C, etc.. all from her phone, or (if she's driving a GM vehicle) from the Infotainment system.

Share this project:

Updates