doorbot
Table of Contents
Doorbot
The doorbot is responsible for scanning key fobs and unlocking the door for members. The software is written in C++ and runs on an ESP32. It expects to use the Wiegand protocol for reading fobs. It communicates with a server written in Python.
Implementation of the system is split up into a few repositories:
- https://github.com/bodgery/doorbot-server - The server for the API and management frontend
- https://github.com/bodgery/esp32_doorbot - ESP32 firmware, plus a hat for making the connections
Building a Doorbot
To deploy a doorbot, you will need the following major materials:
- RFID reader for 125KHz fobs that outputs the Wiegand protocol (https://www.amazon.com/Waterproof-Wiegand-125KHz-Control-Proximity/dp/B01LWRQMN5)
- Electronic strike running at 12V or 24V (https://www.amazon.com/UHPPOTE-Standard-Fail-Secure-Fail-Safe-Adjustable/dp/B00V49S2NI)
- A power supply matching your 12V or 24V strike
- An ESP32 [TODO: exact model of dev board]
- The doorbot hat (see below)
- An enclosure (3d printed)
Building the hat is covered elsewhere (TODO make that page)
- TODO: RFID reader connections
- TODO: Power connection
- TODO: Strike connection
- TODO: Configure firmware
- TODO: Uploading firmware
Serial Port Debugging
The ESP32 has a USB port, and much useful information is given about the cache status, key reading, etc. There are also a few commands you can send:
- check <ID> - Check if a keyfob is valid
- newcache - Rebuild the cache
- open - Open the door
- stats - Dump info about this doorbot
doorbot.txt · Last modified: 2024/04/05 18:53 by tmurray