.gitignore | ||
adc.c | ||
adc.h | ||
buttons.c | ||
buttons.h | ||
encoder.c | ||
encoder.h | ||
linker.ld | ||
main.c | ||
Makefile | ||
printf.c | ||
README.md | ||
ringbuffer.c | ||
ringbuffer.h | ||
stdio_impl.h | ||
uart.c | ||
uart.h | ||
usb.c | ||
usb.h |
Door Control
A project to interface an electronic door lock actuator by Abus with a PC using an Adafruit Feather STM32F405 Express.
Goals
- USB-serial converter @ 115200 baud to pass through commands to an external NXP532 NFC controller. This will be used to authenticate people who want to open the door.
- Readout of the current door state. This is done by connecting to the two outputs of the rotary encoder and integrating the changes.
- Opening and closing the door by simulating presses of two buttons.
Wiring
TODO. Add pictures and stuff.
Communication
Endpoint 3 is the serial bridge to the NFC controller and should show up as e.g. /dev/serial/by-id/usb-Imaginaerraum.de_DoorControl_433632201350535727003F0-if03 (depending on the ID of the STM32F405).
Endpoint 1 is another serial interface and used for all other functions.
Command characters:
- 'B': Print the battery voltage
- 'C': Closes the door
- 'O': Opens the door
- 'R': Print the encoder position
Currently, a change in the encoder value will be communicated immediately, as "pos: %d\r\n", the same format returned by the 'R' command.