Vexal

iOS Siri / Internet-Controlled Garage Door Opener

iOS Siri / Internet-Controlled Garage Door Opener - Description

This project is still in progress

Overview

This project is to develop the ability for iOS Siri to open and close my garage door without using Apple Homekit or any smart devices, as well as for this webpage to open and close my garage door. I am making this because my sister took the last working garage door opener and refuses to give it back.

The code for this is on my github, integrated into my web server

Garage Control Page -- I am using HTTPS for authentication when logging into my house, but until I am able to get a signed ssl certificate, clicking this link will invoke a browser warning. It should be safe to ignore the warning.

Development Progress



Siri Integration

Integrating this system into Siri is mostly trivial. All that needs to be done is to make an empty iOS app called "my carport door". This app should just send the server garage door open request immediately when opening. Then, when you say "hey siri, open 'my carport door'", it will open the app and cause the open garage command to be sent. Unfortunately, using an app called "my garage door" does not work, as "garage door" is a reserved phrase for Apple Homekit. Attempting to use it with the name of an app will just cause Siri to search for a garage door connected to homekit.

Prototype

The first step in this project was to create a prototype garage door opener attached to the computer.

I decided it would be easiest at this moment to use an Arduino attached to an off-the-shelf garage remote. The Arduino's purpose is to activate a transistor-relay switch to which the garage remote's activation button is shorted to. If one has a computer with a parallel port, an arduino is not necessary for this. The parallel port can be attached directly to the transistor-relay circuit.

The relay is attached to the arduino via a transistor and the arduino's digital out pin. The transistor allows the 8 AA batteries to connect to the relay when it is provided the small voltage from the arduino digital pin. The relay activates when receiving the 12 volts from the 8 batteries. When the relay is activated, the circuit for the off-the-shelf garage door remote's push button switch is then closed, activating the radio on the garage door opener, which is programmed to work with my garage door.

Any retail garage door remote should work with this, as long as it is possible to take it apart and stick a wire into its button. The particular model I used was easy to activate -- touching both ends of the metal contacts on the button caused it to activate.

I put some extra diodes onto the circuit because I kept connecting everything backwards and breaking stuff.

The arduino is running a very simple program listening to its serial connection, and activates the digital pin attached to the device when it receives "toggle\r" over the serial connection. The webserver sends out the serial data when it receives a command from the Garage Control Page with valid account credentials. Account credentials are managed by a MySql database running in my house.

Prototype Siri Arduino Garage Opener

This image shows the circuit for the internet / iOS Siri controlled garage door opener. The circuit board in the pink plastic on the left is the garage remote taken apart (the wires are unattached in this picture because I had to attach them with tape, not solder (I lost my dad's solder spool (I however recently found his soldering iron that I previously lost))). The circuit on the breadboard is the transistor - relay switch. The large battery pack activates the relay; the circuit board on the right is the arduino, connected to the server.

Short video showing the prototype device opening my garage door from my webserver (running locally).