Files
escape_gallery_obsidian_vault/Projects/Escape Room Simulator.md
2026-07-11 16:48:59 -07:00

121 lines
6.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
active: true
tags:
- project
- eg
created: 2025-01-13 10:59
---
## Goal
Create a simulator with:
- Puzzle controller RPi
- Push button puzzle
- Locked box using solenoid with internal lights
- Sounds
- Firewall
- NATS
- 24VDC power supply with power take-off for testing external puzzles
- Room controller RPi
- Server software
- Web UI
- Ethernet hub between controller and puzzles
## Active Tasks
- [ ] Re-wire the 5V/12V power to the PWM board 2026-01-11
- [ ] Add another light to the top of the board with a MOSFET 2026-02-07
- [ ] Finish merging control code from `odin` back to the simulator 2025-12-28
- [ ] Finish creating a simple puzzle code using buttons 2025-04-03
- [ ] Check all logging and and ensure consistency 2026-01-04
- [ ] Make a latch for the box 2026-01-26
- [ ] Install lip and LED lights in locked box 2025-02-22
- [ ] Add MOSFET switch for the latch 2025-12-07
- [ ] Rewire 12V power to a MOSFET switch 2025-12-07
- [ ] Add sound effects that can be played 2025-12-08
- [ ] Install handles on the box 2025-05-30
- [ ] Install servo latch in box 2025-04-29
- [ ] Create simple puzzle using RFID readers 2025-05-31
## Future Tasks
- [ ] Install an ADC with a touch puzzle 2026-01-11
- [ ] Design a case for the LED panel 2025-12-28
- [ ] Design a case for the LEDs 2025-12-28
- [ ] Rewire the power to the I2C PWM module 2025-12-07
- [ ] Add optical sensor to the simulator 2025-11-06
- [ ] Add sound sensor to the simulator 2025-12-08
## Archived Tasks
- [x] Install the switch/plug box on the simulator 2026-02-04 ✅ 2026-02-06
- [x] Re-install a power supply for `sim-ctrl` 2026-01-11 ✅ 2026-02-04
- [x] Create Flutter app to monitor puzzle 2025-04-03 ✅ 2025-12-07
- [x] Install RFID readers next to buttons 2025-03-31 ✅ 2025-12-07
- [x] Install colored LEDs above the buttons with resin 2025-04-18 ✅ 2025-12-07
- [x] Create puzzle controller setup scripts and check in to source control 2025-05-21 ✅ 2025-06-03
- [x] Setup RPi development system 2025-05-14 ✅ 2025-06-03
- [x] Create model for holding the NVRAM SSD for the development RPi 4 2025-05-29 ✅ 2025-05-31
- [x] Solder a new GPIO v3 board 2025-05-30 ✅ 2025-06-02
- [x] Create an RFID reader box 2025-03-31 ✅ 2025-05-30
- [x] Install false bottom in lock box 2025-04-29 ✅ 2025-05-30
- [x] Design and print 12VDC power supply end cover 2025-01-13 ✅ 2025-05-04
- [x] Reflash the RPi with new WiFi password 2025-04-29 ✅ 2025-05-04
- [x] Install some buttons 2025-01-13 ✅ 2025-04-29
- [-] Route a channel for LED light lip in box 2025-01-16 ❌ 2025-04-29
- [x] Figure out which 12VDC relay to use with RPi 2025-01-31 ✅ 2025-04-29
- [x] Design box for 12VDC relay 2025-01-17 ✅ 2025-04-29
- [x] Configure `nftables` for `sim-ctrl` 2025-03-31 ✅ 2025-04-03
- [x] Disable WiFi connection on `sim-ctrl` 2025-03-30 ✅ 2025-04-03
- [x] Test `ssh` tunneling through to `sim-puz1` 2025-02-22 ✅ 2025-04-03
- [x] Install NATs server on `sim-ctrl` 2025-04-03 ✅ 2025-04-03
- [x] Test pub/sub from puzzle machine 2025-04-03 ✅ 2025-04-03
- [x] Configure `dnsmasq` on `sim-ctrl` and configure DHCP and DNS 2025-02-22 ✅ 2025-03-30
- [x] Install mag lock box to simulator 2025-01-13 ✅ 2025-03-16
- [x] Install Ubuntu on `sim-room` controller 2025-02-22 ✅ 2025-02-24
- [x] Rename system to `sim-room` 2025-02-24 ✅ 2025-02-24
- [x] Configure `sim-room` WiFi for `Valhalla` 2025-02-22 ✅ 2025-02-24
- [x] Configure static IP on `eth0` 2025-02-24 ✅ 2025-03-16
- [x] Install Raspian on `sim-puzzle-1` controller 2025-02-22 ✅ 2025-03-16
- [x] Design and print 12VDC mounting brackets 2025-01-13 ✅ 2025-01-13
- [x] Design and print mounting bracket for RPi units 2025-01-13 ✅ 2025-01-13
- [x] Install 12VDC power supply 2025-01-13 ✅ 2025-01-14
- [x] Design and print network switch holder 2025-01-14 ✅ 2025-01-14
- [x] Install outlet with 12VAC plug 2025-01-13 ✅ 2025-01-16
- [x] Install controller RPi 2025-01-13 ✅ 2025-01-16
- [x] Install ethernet switch 2025-01-13 ✅ 2025-01-16
- [x] Design better box for buck converters 2025-01-13 ✅ 2025-01-17
- [x] Design better box for puzzle RPi breakout board 2025-01-17 ✅ 2025-01-31
- [x] Install 12VDC bus bars 2025-01-17 ✅ 2025-01-31
- [x] Install puzzle RPi 2025-01-13 ✅ 2025-01-31
- [x] Install breakout board for puzzle RPi 2025-01-13 ✅ 2025-01-31
- [x] Install buck converter for 5VDC power for puzzle RPi 2025-01-13 ✅ 2025-01-31
- [x] Install a buck converter for 5VDC power to controller RPi 2025-01-13 ✅ 2025-01-31
- [x] Make a network cable from hub to controller RPi 2025-01-31 ✅ 2025-02-06
- [x] Make a network cable from hub to puzzle RPi 2025-01-31 ✅ 2025-02-06
- [x] Set two buck boards at 5VDC for 12VDC input 2025-01-31 ✅ 2025-02-06
- [x] Make a cable from power bar to controller RPi buck board 2025-01-31 ✅ 2025-02-06
- [x] Make a cable from power bar to puzzle RPi 2025-01-31 ✅ 2025-02-06
- [x] Build the mag lock box 2025-01-13 ✅ 2025-02-11
- [x] Fix icon for UI 2025-12-07 ✅ 2025-12-07
- [x] Push to `git.mozayik.net` 2025-12-07 ✅ 2025-12-07
- [x] Install `sim-puz` 2025-12-07 ✅ 2025-12-07
- [x] Install `sim-ctrl` 2025-12-07 ✅ 2025-12-07
- [x] Get System tab working 2025-12-07 ✅ 2025-12-07
- [x] Get Lighting tab working 2025-12-07 ✅ 2025-12-07
- [x] Test out Rhai scripting to see how to pass structures in and out 2025-12-10 ✅ 2025-12-13
- [x] Finish the first button puzzle sequence 2025-12-13 ✅ 2025-12-13
- [x] Timeout the success and failure buttons 2025-12-13 ✅ 2025-12-13
- [x] Support unknown state when button sequence starts 2025-12-13 ✅ 2025-12-13
- [x] Now send completed or failed status back in state 2025-12-13 ✅ 2025-12-13
### Button Puzzle States
```mermaid
stateDiagram-v2
NotRunning --> Waiting
Waiting --> Error : timeout
Waiting --> Error : wrong button
Waiting --> Completed : last right button
Waiting --> Waiting : right button
Error --> NotRunning
Completed --> NotRunning
```