Raspberry Pi Garage Door Opener - notkevinjohn/PiGarageDoor GitHub Wiki

There are several options out there for a smart garage door opener. You can buy a complete solution that involves replacing the lifter with one that has some embedded electronics. There are off-the-shelf after markets parts that connect to existing lifters to make them remotely operable over a smart home network, or even over the internet. There are even other Raspberry Pi solutions that involve running a little web-server on the Pi that exposes the functions of the garage door opener.

The end result of this project is something simple: A garage door that can be controlled by a simple button on an Android phone. The cost of all the electronics for this project is about $30.

In this tutorial, I take a slightly different approach to a problem that is, admittedly, already saturated with solutions. My intention was a solution that was as simple as it could possibly be; but also offered a meaningful glimpse into several important concepts in the areas of the Internet of Things. Here's a general overview of the technologies employed in this walk-through.

Basic Electronics

The circuit that most garage door openers use to control the lifting motor is about as simple a circuit as you could imagine: when the switch is open the motor does nothing, when the switch is briefly closed the motor engages. We'll see how to extend this circuit to add a second switch, without losing the first one.

Electrical Relay

This is a very useful device in the IoT/Automation space. Its a component that works just a light switch, turning other devices on or off, but is controlled by an electrical signal. We'll learn how to wire this to the garage door and the to the Pi.

Raspberry Pi

We'll gain hands on experience working with the Raspberry Pi, one of the preeminent micro-linux computers on the market today. It's small, it's powerful, it's cheap, it's a great machine. This will include:

Setting up the Raspberry Pi and getting it running.

Using the Raspberry Pi as a General Purpose Input/Output device (GPIO).

Connecting the Raspberry Pi to a wireless network.

Communicating with Raspberry Pi using SSH.

Android Integration

Here we install a free program called SSH Button that lets us bind a single button in our Android App to a remote SSH script running on the Raspberry Pi.

##Going Further We'll look at how to connect our garage door opener to the internet so we can open it from anywhere, and how to implement security that's good enough that doing this doesn't pose a risk.