User Tools

Site Tools


doorbot

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Last revisionBoth sides next revision
doorbot [2020/02/09 20:39] – created Timm Murraydoorbot [2023/11/29 03:16] Timm Murray
Line 1: Line 1:
 ====== Doorbot ====== ====== Doorbot ======
  
-The doorbot is responsible for scanning key fobs and unlocking the door for members. The software is written in Typescript and deployed to a Raspberry Pi. It expects to use the Wiegand protocol for reading fobs.+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: Implementation of the system is split up into a few repositories:
  
-  * https://github.com/frezik/doorbotts - The base system +  * https://github.com/bodgery/doorbot-server The server for the API and management frontend 
-  * https://github.com/frezik/rpi-doorbot-ts Raspberry Pi-specific code +  * https://github.com/bodgery/esp32_doorbot ESP32 firmware, plus a hat for making the connections
-  * https://github.com/bodgery/bodgery-doorbot-ts - Bodgery-specific code+
  
-TODO: add deployment code repository.+===== Building a Doorbot =====
  
-There are currently two doorbots. "Edd" takes care of the cleanroom doorsand "Hodor" is in the woodshop. These both check that keys are valid using "Tyrion", the main server for the member database.+To deploy a doorbotyou will need the following major materials:
  
-===== Build a New Doorbot =====+  * 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)
  
-A new doorbot can be built with the following components:+Building the hat is covered elsewhere (TODO make that page)
  
-  * 12V power supplyhttps://www.amazon.com/gp/product/B00D7CWSCG/ (if only driving a single solenoid lock, this can be slimmed down to 10A, or even 5A)  +  * TODORFID reader connections 
-  * 4x power supply holdershttps://www.thingiverse.com/thing:2062755 +  * TODOPower connection 
-  * 120V power socket w/switchhttps://www.amazon.com/URBEST-Module-Switch-Socket-IEC320/dp/B00ME5YAPK  +  * TODOStrike connection 
-  * 5V voltage converterhttps://www.amazon.com/gp/product/B00J3MHRNO  +  * TODOConfigure firmware 
-  * Micro-USB cable (can be short)  +  * TODOUploading firmware
-  * 3/8" plywood sheet, 2'x4'  +
-  * Raspberry Pi (a multicore model is strongly recommended)  +
-  * Raspberry Pi mounting bracket: https://www.thingiverse.com/thing:2480304  +
-  * Raspberry Pi prototype breakout board (see below): https://www.amazon.com/gp/product/B07BF8Z3HS  +
-  * SD card (8GB or more, recommend A1 rated or better)  +
-  * DB9 port breakout board pair: https://www.amazon.com/gp/product/B071ZLNDYT  +
-  * Mounting bracket for DB9 (you'll need to use OpenSCAD to convert this to an STL): https://github.com/bodgery/bodgery-doorbot-ts/blob/master/hardware/cable-mount.scad  +
-  * 120mm computer fan: https://www.amazon.com/ARCTIC-F12-Standard-Configuration-possible/dp/B002KTVFTE  +
-  * Red and Black hookup wire +
-  * Wood screws that won't poke through the plywood when you screw in the mounts +
-  * 4-pin molex computer connector +
-  * C13 power cable (standard computer power cable): https://www.amazon.com/gp/product/B005WKJQ4E+
  
-First, make the box by cutting the plywood on a laser cutter using this pattern: https://github.com/bodgery/bodgery-doorbot-ts/blob/master/hardware/bodgery-doorbot-box.svg. Run off all the 3D printed parts (power supply holders, Pi bracket, DB9 bracket). Install Raspbian to the SD card.+===== Serial Port Debugging =====
  
-Using the bracketsscrew down the power supply and Raspberry Pias well as the 5V power converter and the fanThe Pi should be placed near the open slot in the back, so you can plug in an Ethernet cable later.+The ESP32 has a USB portand much useful information is given about the cache statuskey reading, etcThere are also a few commands you can send:
  
-Cut the end off the micro-USB cable, with enough length to run between the Pi and the 5V power converter. Connect the power wire (usually red) to the 5V output, and the ground (black) line to ground. Use hookup wire to connect the 12V output from the power supply to the input of the 5V converter, as well as the ground line. +  * check <ID> Check if a keyfob is valid 
- +  * newcache - Rebuild the cache 
-Connect the 12V line of the molex connector (yellow wire) to the 12V power supply output, as well as the two central ground pins on the connector. Connect this to the fan. +  * open - Open the door 
- +  * stats - Dump info about this doorbot
-Connect the hot/neutral/ground wires of the power supply to the plug. //WARNING: These connections will be handling 120V power. Be sure they are well insulated and appropriately sized.// +
- +
-At this point, you should be able to plugin everything and have the Pi bootup. +
- +
-TODO: Instructions on building the breakout board +
- +
-TODO: Instructions on wiring the DB9 port+
doorbot.txt · Last modified: 2024/04/05 18:53 by Timm Murray