- New driver: app/drivers/olimex_esp32_c6_evb_pn532/ - Full relay/input control (inherits base behaviour) - get_nfc_status(), get_nfc_config(), set_nfc_config() methods - manifest.json with NFC hardware metadata (UEXT1 pins, card standard) - NFC management routes (boards.py): - GET /boards/<id>/nfc — management page - GET /boards/<id>/nfc/status_json — live JSON (polled every 3 s) - POST /boards/<id>/nfc/config — save auth UID / relay / timeout - POST /boards/<id>/nfc/enroll — enrol last-seen card with one click - New template: templates/boards/nfc.html - Live reader status (PN532 ready, access state, last UID) - Quick Enroll: present card → Refresh → Enrol in one click - Manual Settings: type/paste UID, pick relay, set absence timeout - detail.html: NFC Access Control button shown for pn532 board type
29 lines
1.1 KiB
JSON
29 lines
1.1 KiB
JSON
{
|
|
"driver_id": "olimex_esp32_c6_evb_pn532",
|
|
"display_name": "Olimex ESP32-C6-EVB + PN532 NFC",
|
|
"description": "Olimex ESP32-C6-EVB board with 4 relays, 4 digital inputs, and a PN532 NFC reader connected via UEXT1 (HSU/UART mode). Communicates via HTTP REST API with webhook callbacks. Supports NFC card access control.",
|
|
"manufacturer": "Olimex",
|
|
"chip": "ESP32-C6 WROOM-1",
|
|
"default_num_relays": 4,
|
|
"default_num_inputs": 4,
|
|
"firmware_url": "https://github.com/OLIMEX/ESP32-C6-EVB",
|
|
"nfc": {
|
|
"reader": "NXP PN532",
|
|
"interface": "UART/HSU via UEXT1",
|
|
"uext1_pin3_gpio": 4,
|
|
"uext1_pin4_gpio": 5,
|
|
"card_standard": "ISO14443A / Mifare"
|
|
},
|
|
"api": {
|
|
"relay_on": "POST /relay/on?relay={n}",
|
|
"relay_off": "POST /relay/off?relay={n}",
|
|
"relay_toggle": "POST /relay/toggle?relay={n}",
|
|
"relay_status": "GET /relay/status?relay={n}",
|
|
"input_status": "GET /input/status?input={n}",
|
|
"register": "POST /register?callback_url={url}",
|
|
"nfc_status": "GET /nfc/status",
|
|
"nfc_config": "GET /nfc/config",
|
|
"nfc_config_set": "POST /nfc/config?auth_uid={uid}&relay={n}&pulse_ms={ms}"
|
|
}
|
|
}
|