What is it?
Doorbot is an Internet-connected door unlocker that I built for a community space. It allows people to enter the space without needing to be buzzed in.
The Doorbot system consists of:
- servo motors to actuate the door buzzer button
- ESP8266 microcontroller with built-in Wi-Fi
- NodeMCU firmware for ESP8266
- lua application code for ESP8266
- MQTT message broker
- web app with user authentication
The web app sends HMAC-signed command messages to the MQTT broker. The microcontroller waits for command messages to actuate the servo motor and unlock the door.
The microcontroller also sends periodic heartbeat messages so that the web app can show when Doorbot is offline.
Building a Doorbot
The bill of materials shows everything purchased to build Doorbot.
[Update 3/3/2019: If I was starting today I’d strongly consider using the Raspberry Pi Zero W instead of the ESP8266.]
[Update 3/3/2019: This Hackaday post is a practical guide to securing a command protocol for the ESP8266.]