121 lines
6.2 KiB
Markdown
121 lines
6.2 KiB
Markdown
---
|
||
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
|
||
```
|