[Zak]’s two-floor apartment has a typical door entry control system, but the setup is less than ideally convenient. The wall-mounted telephone-like intercom is downstairs, but [Zak] is usually upstairs. What’s an enterprising hacker to do? Obviously the most elegant solution is to simply do without visitors in the first place, but [Zak] opted for a more full-featured solution to the problem.
He fixed things with a custom ESP8285-based board that, with the help of opto-isolation, allows him to detect visitors and grant entry without having to be physically present at the wall-mounted intercom. It’s even integrated into Telegram, and has a few neat new features. Let’s take a look.
The first interesting bit is how [Zak] rolled his own opto-isolation. The door entry system uses 14 VAC and is frankly — electromagnetically-speaking — a very noisy device. Attaching GPIO pins directly to this system from the ESP board for interfacing is not an option. The solution in situations like this is to use opto-isolation, so that interfaced devices can be electrically isolated from one another.
Rather than use off-the-shelf options, [Zak] opted to keep things small and economical by rolling his own solution using side-mounted IR LEDs on the small interface PCB. LEDs can also act as photodiodes, so by pointing two LEDs directly at one another and driving one LED from the door control system and measuring the small amount of resulting current on the other LED, [Zak] can detect states without having to directly connect a GPIO pin.
One such opto-isolator works to detect the door buzz, and another works to cleverly sense and control the different states of the lock. A bit of additional work is needed to deal with the idiosyncrasies of the AC door system, but the result seems to work very well.
A Node.js application works with the board to provide integration with Telegram, which allows for groups to receive event notifications, and frees the system from being location-bound to the apartment.
As for improvements, there’s even an auto-unlock feature to automatically unlock the door if the buzzer is pressed within 5 minutes, which [Zak] finds very handy for the times he’s carrying up a load of groceries and doesn’t want to fumble around with keys.
We’ve previously seen [Zak] give things the IoT treatment, and the results are always impressive. Check out his battery-sipping mailbox notifier for a great example of making everyday tasks more efficient.