Garage Commander

About the project

Control your garage door from wherever you are.

Project info

Difficulty: Easy

Platforms: AdafruitBlynkIFTTTParticle

Estimated time: 1 hour

License: Apache License 2.0 (Apache-2.0)

Items used in this project

Hardware components

Grove - NFC Tag Grove - NFC Tag x 1
Servo Trigger Trigger Servo Trigger Trigger you can use either a relay shield or a single high trigger 3.3volts relay (you do not need both) x 1
Particle Relay Shield Particle Relay Shield you can use either a relay shield or a single high trigger relay (you do not need both) x 1
LilyPad Reed Switch LilyPad Reed Switch x 2
Particle Photon Particle Photon you can use a Photon or a Core (you do not need both) x 1
Particle Photon Particle Photon you can use a Photon or a Core (you do not need both) x 1

Software apps and online services

autovoice autovoice
tasker tasker
trigger trigger
IFTTT DO button IFTTT DO button
Blynk Blynk

Story

What's new

There are plenty of garage door openers in the web these days and each one is special in its own way.

So what is special about this one? The following, I hope:

  • NFC tags: scan an NFC tag to open your garage door
  • voice: use Google Now voice commands to control your garage door
  • push notifications: get the status of the garage door instantly as it changes (or request its status at any time)

You will find step-by-step instructions in the Code section below.

Garage Commander in action

Intro

Ever since we needed a new remote for our garage at home, I resisted the temptation of buying a "classic" remote.

This time I wanted an Internet of Things remote to open and close my garage door from my phone, and I wanted to build it myself. Not only to brag about it with my friends and family, but to learn about this Internet of Things crazy movement.

Ahhh the Internet of Things! it gives you the power to connect an enormous amount of devices to the internet to log their data and control them from wherever you want.

So in this project that thing "wanting" to get connected to the internet becomes the garage door. Here we go!

The prototype

Since I was new to this Particle Photon (at the time Spark Core), I wanted to give myself an easy challenge to pick up steam, so I hacked something quickly with a maker kit I had around.

In a breadboard, I mounted the Photon, a relay and a led. I soldered two wires right behind the micro push button on the wall button to open the garage and connected the relay there.

At the time, I used this Android App to send a rest request to the Particle Cloud to activate the relay. I loaded the Particle with code to close the relay for one second and then release it, simulating in this way a person hitting the button on the wall. 

The garage door would open and close whenever I wanted!

The first prototype

The limitations

This first prototype was very good to show me that I could build what I wanted, but it had few limitations.

First, if I was away and by mistake I hit the app and sent the rest request, I had no clue if the door was now open or close. My bragging rights were very limited when friends were not at my place!

I also didn't know if the request worked or not, if the door started to move after I pressed the send request in my phone, unless I was in front of the house.

In other words, it was missing the user feedback...

The user feedback

With a switch that gets activated when the door is completely close or open, one is able to know the status of the garage door remotely.

So this is what my project needed. I chose and installed two reed switches and wired them to my project board. You could also choose to install another type of switch, or even a microswitch.

Now, I needed that information on my phone, so what could be better than using Pushbullet.

The Android app

Note to iOS users: you can control this project with your iPhone or Ipad, by using the DO button or the blynk app.

Since I also wanted to learn about Android programming, I embarked in creating my very first Android app. The app is not finished nor polished, but it already allowed me to learn the basics and made me happy in that sense.

You can alternatively use the DO button app to control your garage door, you have this project and this other project as references. You can also use the Blynk app, of course.

My very first Android app!

Find the source code of the app in the software section below.

NFC tags

I wanted to have in my project something similar to that little keypad that some garage doors have on the side.

So I glued an NFC tag on the side of the garage door, where I would tap my phone to scan it and the door would open.

In the Android world, this can be achieved with Tasker and Trigger

If you know similar apps in the iOS world, please leave a comment below.

Scan an NFC tag and open your garage

Find instructions on how to implement this in the software section below. I now wrote a complete article about it here.

Voice

Another thing that I wanted to have in my project was the possibility of opening and closing the garage door with my voice.

This would allow me to drive home and one block away just say "Ok Google" and "Open Garage", effectively opening the garage door without me touching my phone.

In the Android world, this can be achieved with Google NowTasker and Autovoice.

Again, If you know similar apps in the iOS world, please leave a comment below.

Say "Ok Google" and then "open garage" to open your garage

Find instructions on how to do this in the software section below. You can also refer to the article I posted here.

The push notifications

We will use the same mechanism for push notifications as the one described in this project. Please configure pushbullet and the webhook exactly as shown there. 

I have also now created an article about pushbullet notifications, and you can find it here.

We can reuse exactly the same webhook for pushing different notifications to our devices from different projects. This is great, since there is a max of 20 webhooks we can create in the particle cloud.

Push notifications in all your devices thanks to Pushbullet and the Particle Cloud

Issues

Reed switches: I have found these little beasts to require precise alignment to work properly. Yes, they have to be close - I think you can leave a gap of max 5mm between them - but not only that, you have to really align them horizontally! Other people have replaced the magnet side of the reed switch with a Super Neodymium Disc Magnet, which I think is a great idea.

NFC tags: pay attention to where you glue these things. Don't put them over metallic surfaces, for instance, since your phone won't be able to scan them.

The end

So, did you build something similar? are you planning to? any questions?

Feel free to leave me a note below,

Gustavo.

Psst: please find my other projects here.

Help

If you require professional help with your projects, don't hesitate to write me a line about your needs at gusgonnet@gmail.com. Thank you!

Schematics, diagrams and documents

Wifi Garage Commander Schematic

the relay here represents the single high trigger relay or one of the relays in the particle relay shield

Code

MyActivity.java

java code for my first Android app

How to read an NFC tag and open your garage

particle webhook

Follow instructions to setup this webhook in this project:https://www.hackster.io/gusgonnet/water-detection-system-227b08

Particle code

flash this code in your Particle

How to use Google Voice to open your garage

How to read an NFC tag and open your garage

Credits

Photo of gusgonnet

gusgonnet

If you need professional help with a project, contact me at gusgonnet@gmail.com

   

Leave your feedback...