Open Your Garage Door With Your Smartphone

The eternal enemy of [James Puderer]’s pockets is anything that isn’t his smartphone. When the apartment building he resides in added a garage door, the forces of evil gained another ally in the form of a garage door opener. So, he dealt with the insult by rigging up a Raspberry Pi to act as a relay between the opener and his phone.

The crux of the setup is Firebase Cloud Messaging (FCM) — a Google service that allows messages to be sent to devices that generally have dynamic IP addresses, as well as the capacity to send messages upstream, in this case from [Puderer]’s cell phone to his Raspberry Pi. After whipping up an app — functionally a button widget — that sends the command to open the door over FCM, he set up the Pi in a storage locker near the garage door and was able to fish a cable with both ethernet and power to it. A script running on the Pi triggers the garage door opener when it receives the FCM message and — presto — open sesame.

IoT Garage Door Opener Raspberry Pi

Why not try Bluetooth or a simple WiFi connection? As it turns out, the former was impossible due to distance, while the latter meant leaving his Raspberry Pi on an open network — not a comfortable option. As [Puderer] notes, this is an alternative method to get some of your devices at home onto the Internet of Things while avoiding some of its security pitfalls.

With Internet of Things devices cropping up everywhere, it’s not surprising they can even take the shape of trash cans.

41 thoughts on “Open Your Garage Door With Your Smartphone

  1. Oh great, a cloud based ethernet based garage door opener that requires internet access, a cell phone, a cell connection and isn’t even close to being NEMA or IP rated. How in the world is this an improvement to existing purpose built technology? It’s a somewhat amusing hack but it feels extraordinarily awkward when you stop for a moment and think about the levels and ways that this can cease to function and not do the one thing it was built to do. Am I the only person who thinks this?

      1. Or where authors reminisce about LCD chips from the 80s… seriously, where was the hack in that story? At least this guy actually built something and wasn’t just re-telling a story.

        1. The multimeter LCD chip mentioned is actually from the late 60’s according to the datasheet. I like this techno fusion garage opener hack. Could be used on front doors instead of expensive system keys you have to order from the landlord.

          1. I really enjoy it when my fellow tenants make things even less secure because they can’t be bothered to follow protocol. Making key copies, wedging the locked front door open with a pine cone, parking in the roadway instead of a space 3′ away, and running a hose up from the basement washer/drier area to your apartment for free water are all lifehacks to someone I guess. Why not just punch thru the cable breakout box in the wall to his neighbor’s and splice that while he’s at it?
            When he is a homeowner and it is his private property he should feel free to punch holes in everything but community space is community space. Not even going to address the fact that he rigged up power in the community storage lockers so that when it sparks it can burn up everyone’s stored things all safely concealed- ironically- behind a fire door…

          2. To SBianca: I was thinking about my own front door aswell, not only the one to the building. The hack itself would be changing the inside spring latch on my door with a solenoid one and having a servo push the buzzer. Bluetooth would be fine as short range is all I need. The administrator / landlord doesn’t know exactly where to order more keys but she remembers they were $75 a piece (they have teeth on 3 sides). I think this would be fair as I’d rather spend some time soldering than work to earn $75 after taxes.

          3. SBiance, we must have lived at the same HOA complex!

            When my neighbor got his electricity cut off at his condo, he rolled his refridgerator out to the detached garage / meth lab. (Because the garage electricity was supplied by the HOA …just to run a garage door opener and a light or two).

            Then one day we see that he has routed a long extension cord from the garage light socket, down the driveway, over the hedge, past two condos, and then thru the kitchen window into his place.

            One of the HOA board busy-bodies gave the garage cord a hard yank and fell back on her ample ass. Just as she was picking herself up, out from the un-electrified condo comes a rather irate meth head who had been watching TV. Words were exchanged; cops called, etc.

            Does this qualify as a hack?

          4. @SBiance You must be talking about those other guys! Yeah, those guys suck.

            I’m pretty respectful of my fellow tenants actually.

            The door is actually an inner door (inside a courtyard). Nobody’s concerned about security per-say (since you can get in from the side without anything), the door is mostly just to prevent the apartment kids from running around and scratching the shiny cars. (On a side note: Almost all garage doors have no intrinsic security, as the code space is ridiculously small – See here: http://samy.pl/opensesame/)

            Seriously though… no holes were punched in anything, no power was “rigged up” (the RPi is plugged into a regular outlet – the hackaday write-up got this a bit muddled from my original article), and nobody’s feelings got hurt….

            Well, mine did (sniff)… but I’m tough.

        1. Anywhere I see the word “cloud”, I replace it with “someone else’s computer somewhere on the Internet – usually based in a country with little or no data protection/privacy laws, cheap electricity and very low import duties on computer hardware”.

          1. Locally in every case. The guy sees security issues with an open Wifi but does not see them with a cloud service? With a Wifi Solution the bad guy at least has to be near the object and can not do harm from the other end of the world.

          2. @Martin – Actually, I did use local authentication as well. All requests need to have a valid UUID embedded in them.

            The security comes from the fact that the small RPi has no publicly reachable addresses or ports, so basically nothing can connect to it (it does not accept incoming connections). Its only communication to the outside world is an outbound connection to the FCM service that it initiates.

            In theory, an attacker could guess or spoof my app’s instance ID and send messages to the server somehow, but they would still need to guess one of the few UUIDs I use to authenticate requests.

            The problem with using something like DDNS is that you would need to expose your device to the public internet, and have it accept incoming connections, which is a much more risky proposition.

    1. @Internet – It is *complicated*, but then so are most of these goofy #IoT solutions. It takes a lot more effort to make something like this work reliably… that being said, after getting the gremlins out, it’s been pretty reliable for the better part of a year now.

      I really just made this for myself (and a few family members), and it does solve my problem of not carrying an extra garage remote around (especially when I’m out with both kids and the stroller). Is it worth it? Probably not, but it was fun to build.

    2. Definitely not. Integrated intelligence has its uses, but what we have not is just beyond ludicrous. The current RPi craze is the new “blinking LED done with an Arduino” – “You need a bottle opener for that beer? Hey, use this RPi…!” Next up: RPi cloud-based web 2.0 WiFi IoT MQTT doorstop (so you can tell at all times whether it’s still a doorstop or not)…

  2. I ‘hacked’ my garage door opener to work with Blynk not because I wanted to but cause I had to.

    I thought simply my remote control’s battery had died, replaced it and tried to get it to pair up. Wouldn’t pair no matter what, tried a new remote thinking maybe it was broken. Still wouldn’t work. Tore it apart, resoldered everything, new antenna, was beyond my skills and knowledge to do much more trouble shooting than that.

    Was hotter than hell and I just wanted to use my garage door again. Too hot to hit the ‘screw this, new opener today’ barrier. I had all the junk around from investing in various modules for dorking around learning about electronics and microcontrollers. So I got it to work, went the extra mile with limit switches to let me know if the door is open or closed. Was kinda fun.

    But again, I did it because I had to. I’ll replace the garage door properly this Spring cause it really sucks having to use your phone to open your garage door. It may be handy at times, but when it’s the only way to operate it? Man it’s annoying.

    I ride motorcycles year around, so taking off my gloves, futzing with the phone meanwhile dropping my gloves on the ground. Gotta get off, pick up my gloves. Barely getting a wifi signal, pressing the button and no go. Futzing with it some more to turn wifi off, get it to go.

    I whine like it’s the worst thing in the world, but it’s nearly faster for me to just hop off and raise the door by hand. I’m still thankful I don’t actually have to get off my butt to do that and glad people have put the effort in to make the project easy and accessible to a guy like me.

    But in the end… it’s a lousy way to operate a garage door if ya ask me.

    1. In the nineties I cloned the transmitter for our garden entrance door and built it into the motorcycle. Some friends asked what that small red button on the handle bar mount was for. :-) The transmitter was basically a power LC oscillator around 10kHz and was FSK modulated by a transistor connecting an extra cap to the coil. But we had only two of them which were in my parents cars.

      1. And no, there was no microcontroller in it, the modulation was done by an astable multivibrator (the two transistor thing) with 10% components. Only the two carrier frequencies really mattered, there I found 1% plastic film capacitors.

    2. For a different project, I thought about implementing an app that detected a “secret knock” while it was still in my pocket. There are Android APIs for waking up the device based on trigger from the accelerometer. Would be perfect for a garage door opener that you could keep in your pockets.

      In my particular case it wasn’t an issue, but I would feel your pain (literally) if I was motor biking around in the winter.

  3. Love it. I used to have a slightly whacky setup around 2002-2004..
    One version was a voice modem that would take a call to my line and do the “press blah to do blah” and “please enter passcode” stuff… I think I used ovolab phlink talking to indigo x10 gateway stuff. So I’d just call my number with a saved contact in my cell phone, pauses included, and it would call in and set off the script, activate the appliance module, which was just a 5vdc a/c adapter hooked to a relay, soldered into the button on the wall.

  4. I did a very similar thing using a Particle Photon as it has a managed cloud platform and IFTTT integration. I can now ask Google Home to open the garage door. Slight issue that it’s possible to shout the command through the locked front door which was them remedied by an over-complicated location logging system (using Google WiFi to trigger IFTTT when devices are connected and disconnected) so the door can be “locked” when no-one is home.

  5. I’m in the process of soldering together a gate opener, just waiting for some rolling code remote modules to arrive in the post to finish it, only mine uses a arduino running a sketch I’ve put together for home automation and reports back to a gateway box running home assistant. I can let home assistant be the gateway to a gsm connection so no need for wifi but not reliant at all on someone else’s cloud service to work, My wife insisted on the little keyfob remotes as its what she’s used to now.
    My current main issue is the original opener circuitry is toast, the main driver for the retrofit, and it had no limit switches on it, instead you had to “teach” the system the positions, and in cold weather it often left the gates not fully open and mid summer you could hear the actuators grinding away trying to overtravel straining hinges etc, so I have to fit a set of limit switches and get rid of that nonsense. The rule I have imposed on me here is if I make myself it can’t be as good as a crappy commercial system, it has to improve it.
    Raspberry pi to do this? whatever floats your boat, but just make sure you have another way to open it if/when it corrupts its filesystem…
    I first got into home automation when x10 was brand new and the thing, and I rolled my own heating controller using dallas ibuttons and a parallel port switchbox and the remains of a dead laptop. That system is still controlling the heating on that house and has temperature logs and energy consumption going back 15 years now. I shudder to think if I’d have glued it together with some cloud middleware what its functioning without upgrade life expectancy would have been…

  6. I use a similar Setup in my garage. But instead of the Raspberry Pi I use a cheap ESP8266 that is connected to my WiFi. It runs a “webserver” with an open button.
    To open the garade door I only need adevice that I can use to connect to my WiFi. This also means that the security of my garage is based on WPA.

      1. And what do you think that would accomplish…? Certifying that the empty webpage with a button in the middle you’re staring at is indeed your ESP8266 and not somebody else’s…? https itself only authenticates the webserver, not who’s looking at it…

  7. I’m uncomfortable with using Google or any other “cloud” based solution, hate that marketing term.
    You never know when they will change the api, close the service or just muck it up.
    You need the solution to work in isolation with hardware/software under your control and only then hook it up to an external service for extra bells and whistles.
    Like an mqtt broker running on a raspberry pi servicing your local devices/garage door opener and only then connected to a service in the “cloud”. So if there are any changes outside your control you can just swap to another outside service and in the meantime you can still get into your garage.

    1. IF you REALLY need to connect it to a cloud at all. There is no use in controlling (opening) the door remotely over the internet. It is sufficient to open it if you stand in front of it.

    2. Agreed. I don’t really depend on this solution. It’s just nice to have. I can still open the door the normal way.

      However, if you’re going to use a “cloud” based solution, FCM (previously GCM) is unlikely to go anywhere soon. For any other service provider, I’d be more wary… but Google has more than 1M apps in their store, and a significant portion of them use FCM. A lot of iOS apps also use FCM.

      Google recently introduced their Android Things platform (https://developer.android.com/things/index.html), which also uses services like FCM extensively. It will be interesting to see what kind of SLA Google rolls out for companies that actually want to build products build on this new platform. It’s still in developer preview, so we’ll just need to wait and see.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s