3
0
Fork
You've already forked cryptaesthesia
2
electronic door system based on doorduino
C++ 79.1%
C 20.9%
Arnout Engelen e5850c4923
All checks were successful
build / build (push) Successful in 2m44s
Merge pull request 'challenge-response key validation' ( #36 ) from raboof/cryptaesthesia:test-infra into main
Reviewed-on: #36
Reviewed-by: squirl <squirl@noreply.codeberg.org>
2025年10月24日 16:52:50 +02:00
.forgejo/workflows basic test infra 2025年09月30日 22:46:17 +02:00
Board made the project follow the platformio structure, so we can have shared libraries 2025年07月07日 23:38:19 +02:00
lib use static_assert with a message 2025年10月14日 22:25:04 +02:00
src unsigned char -> uint8_t 2025年10月14日 22:18:57 +02:00
test Initialize hashes with null 2025年10月14日 19:55:54 +02:00
.gitignore ignored build files 2025年07月01日 23:47:41 +02:00
data.txt document updating keys 2025年09月23日 21:18:31 +02:00
door_setup.md updated the readme 2025年07月23日 00:14:50 +02:00
LICENSE Add LICENSE 2017年02月14日 21:57:28 +01:00
platformio.ini Basic challenge-response 2025年09月30日 22:46:18 +02:00
README.md document updating keys 2025年09月23日 21:18:31 +02:00
wiring_diagram.md moved the wiring diagram to a md file 2025年09月23日 20:39:41 +02:00

cryptaesthesia

WIP door system for Hack42

See also

https://github.com/revspace/doorduino/ https://revspace.nl/Doorduino

Firmware for the MCU in the door

Setting up

Build and flash the firmware (todo: explain how).

Connect to the SpaceDeur wifi network, with password SpaceDeur#42. Goto the wifi section, and connect to your network.

Targets

This repo contains multiple targets, and they have the following purposes:

  • door_serial: the door firmware, flashed through serial
  • door_ota: the door firmware, flashed through the network (ip is settable with the env variable: PLATFORMIO_UPLOAD_PORT).
  • mksecret: firmware with the ability to flash ibuttons

Compiling all targets

This repo contains multiple targets, to compile them all run: pio run -e door_serial -e door_ota -e mksecret.

Serial flashing

Flash the door by running pio run -e door_serial -t upload from the root of the repo.

OTA flashing

Wifi must be setup before the door can be flashed via OTA.

Set the ip address of the door with the environment variable PLATFORMIO_UPLOAD_PORT. Than flash the door by running pio run -e door_ota -t upload from the root of the repo.

For production purposes, set the password in the platformio.ini -> common -> ota_wachtwoord to the correct value.

Monitoring

To see the output of the serial monitor, run: pio run -t monitor. To serial flash and open the monitor, run: pio run -t upload && pio run -t monitor.

Wiring

Please see the wiring diagram.

Usage

Updating keys

curl -X PUT --data-binary "@data.txt" -H "Content-Type: text/plain" -v http://webuser@webpass:192.168.42.8/api/v1/set_keys