Door Buzzer?
I don't know what else to call it. Some apartments have telephone hookups for when visitors arrive, some have simple doorbells... my apartment has a "Door Buzzer" made by MirTone. It's a simple device. It has three buttons: TALK, LISTEN, and DOOR. You press TALK to speak to the person waiting below; you press LISTEN to hear what they say, and you press DOOR to unlock the door and let them in. Simple, right?Well, of course, I had to automate this process.
The Automated Door Buzzer
First, watch this video to see what it does:
Here's what makes it happen:
So what have we got here? Well, the ugly yellow-brown plastic thing is the MirTone buzzer panel, with the three buttons as I described. Stuck to the front of it is a small, cheap microphone. This microphone works remarkably well. I've tried much more expensive microphones, and they don't work at all. Hanging on bracket beneath this, we find a small speaker. It's on a bracket because otherwise it's much too loud. I actually got this speaker by buying a cheap set of amplified computer speakers (Something like $10) and removing the speaker. The amplifier is still in use, and is hidden behind the bookshelf.
Finally, hanging on the top half of the bracket is the X-10 ActiveHome Pro unit, which is hanging that way because it gets good reception there. See the Automation section for more information on this unit. Also mounted here is the X-10 PowerFlash unit. More on that later.
There's also a bundle of wires coming out of the bottom of the MirTone. These connect up with the circuitry, coming up next.
So why do I have a hanging speaker and microphone, instead of wiring directly into the buzzer system? There are a few reasons. First, the buzzer system uses some weird voltages that I didn't feel like dealing with. Second, I don't want to risk damaging the buzzer, which is not my property. I would have to pay for a replacement for the whole building. Third, I don't want to interfere with the normal functioning of the buzzer. If the computer system is down, I can always still manually use it.
Controlling The Buzzer
This is the main interface box for controlling the Door Buzzer (and a few other things, more on that later).
What we've got here is a simple circuit that I've bastardized beyond recognition. Originally, it was a simple interface board with 8 relays, 8 transistors, and 8 capacitors. The transistors take the form of the long chips you see; it's merely 4 transistors in one package. The idea is simple: Control 8 relays on/off by using the 8 data lines on your parallel port.
3 of these relays are wired in to the "TALK / LISTEN / DOOR" buttons on the MirTone. The remaining 5 connections are used for other stuff, which I will get into later. So, pushing the "TALK" button programmatically is as simple as closing a relay. Doing that is as simple as sending a byte to the parallel port.
The Software
Alright, so there's a lot of stuff going on in this software. It's aptly named "Doorbuzzer", because it handles interfacing with the parallel port. It also does a bunch of other interfacing for other stuff. This software runs on the same machine as the Touchscreen software, in the background. This GUI is made mainly for debugging. Let's explore each component of the interface.
Master Controls
These buttons allow debugging of the the MirTone buzzer. You can press the TALK / LISTEN / DOOR buttons by clicking on them, and you can also see if the software
is pushing one (it will light up in yellow).
The "Record" and "Stop Recording" buttons allow manual control of the recording process (this is what the microphone is for, more on this later).
The "Buzz" button lets you simulate someone pressing the buzzer, to test functionality.
"Who Is It" and "Come On Up" are the two most common commands I use with visitors. When someone buzzes, I press "Who is it", and then listen for their answer.
When I recognize them, I press "Come On Up", which plays a greeting and then unlocks the door.
Information
So, this is so you know what's going on. Right now there are 8 other applications connected to this software, waiting for events and sending commands. That's quite a lot!
Projection Screen Controls
The Door Buzzer software is also the program that controls the Projection Screen. See the Media Center section for more information.
Flasher Controls
Mounted above the bookshelf, there is a large red light. This light flashes when something requires my attention, like a message waiting.
Curtains
This software also handles the curtain interface. It keeps track of whether or not the curtains are open or closed.
Relay Controls
These buttons allow manual control of the relays, and also show their status and function on-screen.
Door Status
This section shows the current status of the door to my home. A small magnetic reed switch is connected to the computer (photo soon),
informing the computer if the door is open or closed. This information is used for things like the lights coming on automatically when I come home at night.
Ramble Mode
More information on ramble mode, further down!
Projector
This software also handles the Projector interface. See the Media Center section for more information.
That's great, but what do you use it for?
Well, good question. If you watched the video at the top of the page, you've already seen the main reason.I order a lot of stuff online. As such, when packages arrive, I'm often not in my apartment. This means that I miss the delivery man, and then I have to go out of my way to get the package from the post office or wherever. It's really annoying! So, when a deliveryman buzzes, the automated system answers immediatly, and gives me about 10 seconds to answer the door. If I'm not around, the deliveryman receives an automated message, informing him that I'm not available. He then has the opportunity to leave a message.
This system also interfaces with the Touchscreen. When someone buzzes, the Touchscreen switches to a display that shows three buttons: "Who is it?", "Come On Up", and "Cancel". I can listen to who arrives.
But let's not forget the Radio Watch! When someone buzzes, my watch utters the words "There is someone at the door". I can now ask them to identify themselves and talk to them, even if I'm down the block from my building.
Since implementing this system over a year ago, I have never missed a package. It's nice when things work!
Ramble Mode
Some time ago, I happened across the Telecrapper 2000. Watch one of my favourite moments here: The HipHurts Video. I found this to be incredibly funny, and I just HAD to put this into my Door Buzzer. So I created a bunch of prerecorded questions, heavily inspired by the HipHurts video, and this is what happened:As a sample, you can listen to my friend Adam visiting:
adam.mp3 (501 k)
Obviously, I only use this system for friends and well-wishers... It would get really annoying if it happened every time.
Door Bell
So, all of this DoorBuzzer stuff is great, but I recently had another problem. People would find their way into the building, bypassing the front door. Either they'd tailgate someone in, or they had a key. For example, the postman has a key for the front door, and he sometimes delivers packages by walking up to the unit door and knocking. Sometimes, I'm in the building, but not near my door, and this means the visitor goes unnoticed. So, the solution: A door bell! But why use an ordinary door bell, if you can use a touchscreen?!
A friend had given me an old Viewsonic Airpanel. These devices are what Microsoft calls "Smart Displays". They're essentially a large PDA that can only run one application: Remote Desktop. It connects into your network via WiFi, and once connected, it opens a Remote Desktop session with another computer. So, you can remotely control or view the other computers on your network. It has no processing or web-browsing cabability of it's own, so it's pretty useless. It's also old and very slow. So, I decided to repurpose it as a high-tech information screen and doorbell for people who come to my door:
As you can see, much of the same information from my Touchscreen is repeated here, with a slicker design. Since my design skills are not that great, my friend Richard helped me redesign the interface. It's even got a trendy flip clock! Anyway, to see what happens when you press the "Press Here to Ring Bell" button, see the video at the top of the page (3rd segment).
The sound you hear is provided by this loudspeaker:
This is actually just the RIGHT channel of the same set of speakers seen earlier. I upgraded my DoorBuzzer software so that when it is communicating with the front door, it uses the LEFT channel, and when it is communicating with the door of my home, it uses the RIGHT channel. It works like a charm.
A friend of mine gave me the Cisco IP phone you see mounted to the wall next to the screen. I wasn't sure what to do with it, so I decided to put it out in the hallway. It's powered by a Power over Ethernet (PoE) injector, so there's only one wire. Pressing the "Call" button makes the phone ring; when you pick up the phone you are directly connected to my cell phone. The extension has been configured to not allow outbound calls, so people don't use my phone to make calls.
As an aside: The Viewsonic Viewpad I'm using is such a piece of crap. It randomely decides to drop it's WiFi connection and not reconnect. My high-tech solution? I've got an app that pings it every few seconds, and if there's no response, it kills power to the entire unit and then turns it back on, forcing a reboot. It makes it very reliable, sorta!