-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathplatformio.ini
More file actions
82 lines (73 loc) · 2.69 KB
/
platformio.ini
File metadata and controls
82 lines (73 loc) · 2.69 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
; ============================================================
; SecureLock - ESP32 Smart Security System
; PlatformIO Configuration for ESP32 DevKit V1 (30-Pin)
; ============================================================
;
; ARCHITECTURE: Component-Based Modular Design
;
; HARDWARE:
; - GPIO mapping is centralized in include/hardware_pins.h
; - Solenoid Lock (Relay): GPIO 22 (Active HIGH)
; - Status LED: GPIO 2
; - Active Buzzer: GPIO 14
; - Vibration Sensor (SW-420): GPIO 27
; - Reed Switch (Door): GPIO 13 (INPUT_PULLUP)
; - Factory Reset: GPIO 0 (BOOT button)
; - Keypad 4x4: Rows[34,35,39,36] Cols[16,17,21,23] (16=RX2, 17=TX2)
; - RFID RC522 (SPI): SS=5, SCK=18, MOSI=25, MISO=19, RST=4
;
; COMPONENTS:
; - lib/LockManager/ → Hardware control (Relay, LED, Reed)
; - lib/SecurityManager/ → Sensor logic (Vibration, Buzzer)
; - lib/AuthHandler/ → Authentication (RFID, Keypad, Duress)
; - lib/WebServer/ → Network layer (API, LittleFS)
; - src/main_runtime.cpp → Runtime entrypoint and orchestrator
;
; FEATURES:
; - Multi-factor Authentication (RFID + PIN)
; - Duress Code (2580) - Silent Alarm
; - Vibration Detection & Alarm
; - Door Open Detection
; - Web Dashboard (Glassmorphism UI)
; - RESTful API endpoints
; - Factory Reset (GPIO 0 long-press)
;
; DEPLOYMENT:
; 1. Edit include/secrets.h (WiFi credentials)
; 2. pio run --target uploadfs (Upload web files)
; 3. pio run --target upload (Upload firmware)
; 4. pio device monitor (View serial output)
; 5. Canonical dashboard file: data/html/pages/dashboard.html
; Canonical frontend entry: data/js/entry/main.js
;
; ============================================================
[env:esp32dev]
platform = espressif32
board = esp32dev
framework = arduino
; Build flags
build_flags =
-DCORE_DEBUG_LEVEL=1
-DARDUINO_RUNNING_CORE=1
-Iinclude
; Serial Monitor
monitor_speed = 115200
monitor_filters = direct
; Upload settings
upload_speed = 115200
; Keep upload_port unset so PlatformIO auto-detects COM port on each machine
; Partition scheme for LittleFS
board_build.partitions = default.csv
board_build.filesystem = littlefs
; Library Dependencies
lib_deps =
; === Web Server & JSON ===
esphome/ESPAsyncWebServer-esphome@^3.4.0 ; Async HTTP Server
esphome/AsyncTCP-esphome@^2.1.4 ; TCP for ESP32
bblanchon/ArduinoJson@^7.0.4 ; JSON Serialization
; === Hardware Peripherals ===
miguelbalboa/MFRC522@^1.4.11 ; RFID RC522 Reader
chris--a/Keypad@^3.1.1 ; 4x4 Matrix Keypad
; === Telegram Bot ===
witnessmenow/UniversalTelegramBot@^1.3.0 ; Telegram Bot API
lib_ldf_mode = chain+