More cellphone controlled door locks

[Tom Lee] and his colleagues just moved to a new office. The doors are setup like a security checkpoint with electronic strikes and buttons on the inside to allow entry. The button simply completes a low-voltage circuit, activating the strike which made it quite easy to patch into. They build an interface board with a small relay to complete that circuit. As we’ve seen before, Linksys routers have plenty of extra room in the case so there was no problem housing the new circuit in this tiny network device. Now [Nicko] and his friends can use a custom app to input an access code or to verify a device ID from a cell phone and gain entry. The door still has keyed locks in case of a power outage. In fact, the only change made to the system was the addition of two wires to the “door release” button as seen above. See the one-touch device ID authentication in the video after the break.

This hack is similar to the GSM door entry from last year. In this case, the phones are communicating with the door via web interface and not the GSM network.

I appreciate the comments! smoker_dave: maybe you could elaborate. I confess I don’t understand why an additional diode is needed at Q2. I may have selected the wrong part in EAGLE, but I meant to signify that there’s a diode connecting the terminals of the relay coil in the direction opposite to (normal) current flow. The collapsing field should be able to flow through it and short out, yes? I’d think it wouldn’t affect Q2. But I’m no EE; would definitely appreciate a chance to learn what I’m doing wrong.

therian: If you read the post you’ll see that I’ve built systems exactly like the one you’re describing (I was using a Fonera, though). But it wasn’t necessary for this project — and, for whatever reason, I was having some trouble with the serial port when on this router when I tried it (I might’ve fried the UART accidentally — can’t figure out what else it might be).

Tom:
You may want to add a base resistor to Q1 (between the base and pin 5 of the 556). Not sure if it just got accidentally left out of the schematic, but a tip in case you didn’t know: the base-emitter junction of a transistor acts like a diode when forward-biased, so without some resistance it’s essentially a short.

You should probably also put a small (few hundred ohms, maybe) resistor between Q1’s collector and +5V. The reason I say that is if the comparator and Q1 are both on, since the comparator is open-collector output, you essentially have a dead short from +5V to ground. Poof!

That might explain the problem you’re having with startup..?

Also, excellent work! I don’t hate Arduino, but it’s refreshing seeing that people still design circuits with ’em ;) In any case I hope I helped! Good stuff you’ve got there!

@Eric: thanks! I’ll update the schematic. One other thing I realized I left out: a resistor between the comparator’s output and the 556. Otherwise you could wind up with a dead short when the first timer is active and the door fires. I think this lets the timer “win” — although come to think of it, maybe I don’t have a big enough resistor in there. I’m increasingly tempted to update the schematic and make a revision of the project my first attempt at a homemade PCB.

@DC: well, not everyone in the office has a smartphone. Some people have bought them for themselves; others have developer phones donated to the organization. And other people just have regular phones — that’s why we have the Twilio interface. Either way, it’s infrastructure that exists, so we might as well build on it. The keys are expensive to duplicate. And we didn’t want to jump through the hoops of installing an RFID reader outside of the door — this didn’t require permission from the building management, or any construction equipment more involved than a screwdriver.

@Eric: ah, now I see what you were saying about Q1’s collector. I think the missing resistor on the collector output takes care of this. The alternative is to have pin 8 able to short to ground even when it’s supposed to be getting pulled high by the timer.