docs: update README for S3 Lite + HS-S43A, remove S3R references

This commit is contained in:
eddy 2026-08-01 22:55:19 +02:00
commit 0860be0e2b

View file

@ -2,7 +2,7 @@
# Project SylDa
BLE-gestuurde relais-switch voor de Atom S3R Voice (ESP32-S3-PICO-1-N8R8, 16MB OPI flash) met een bijbehorende Android-app. De relais kunnen worden bediend via capacitieve touch-sensoren (JR223B) óf via Bluetooth Low Energy vanaf een Android-telefoon.
BLE-gestuurde relais-switch voor de M5Stack Atom S3 Lite (ESP32-S3) met een bijbehorende Android-app. De relais kunnen worden bediend via capacitieve touch-sensoren (HS-S43A) óf via Bluetooth Low Energy vanaf een Android-telefoon.
De BLE-verbinding is beveiligd met **HMAC-SHA256 authenticatie** (application-level handtekening met replay-protectie). BLE-link encryptie/bonding is bewust niet toegepast — HMAC biedt authenticatie en replay-bescherming op applicatieniveau, voldoende voor een relais-aan/uit commando.
@ -10,12 +10,10 @@ De BLE-verbinding is beveiligd met **HMAC-SHA256 authenticatie** (application-le
| Component | Details |
|---|---|
| Board | Atom S3R Voice (ESP32-S3-PICO-1-N8R8) |
| SoC | ESP32-S3-PICO-1-N8R8 (8MB Flash, 8MB PSRAM, 16MB OPI flash) |
| Relais 1 | Op **G1** |
| Relais 2 | Op **G2** |
| Touch sensor 1 | DC3-24V Capacitieve Touch Schakelaar JR223B op **G8** (interne pullup) |
| Touch sensor 2 | DC3-24V Capacitieve Touch Schakelaar JR223B op **G6** (interne pullup) |
| Touch sensor 1 | HS-S43A Digital Capacitive Switch Module op **G8** (actief HIGH) |
| Touch sensor 2 | HS-S43A Digital Capacitive Switch Module op **G6** (actief HIGH) |
| Knop | Op **G41** (active low) |
| Status LED | Op **G46** (knippert 3x bij opstarten) |
@ -24,8 +22,8 @@ De BLE-verbinding is beveiligd met **HMAC-SHA256 authenticatie** (application-le
```
G1 = RELAY1
G2 = RELAY2
G6 = TOUCH2 (INPUT_PULLUP)
G8 = TOUCH1 (INPUT_PULLUP)
G6 = TOUCH2 (INPUT)
G8 = TOUCH1 (INPUT)
G41 = BUTTON (INPUT, active low)
G46 = LED (OUTPUT)
```
@ -41,7 +39,7 @@ Relais + → G1 / G2
Relais - → GND
```
> **JR223B touch sensor:** Minder C op punt A = gevoeliger = meer false triggers. Bij lange draden of elektrische ruis een externe pullup plaatsen.
> **HS-S43A touch sensor:** Digitale output (actief HIGH). Geen pullup nodig — de sensor geeft actief 0V of 3.3V.
## Beveiliging
@ -135,9 +133,9 @@ Elk relais gaat aan als **één van beide** bronnen actief is:
| Relais | Bron | Voorwaarde | Resultaat |
|---|---|---|---|
| Relais 1 | Touch sensor 1 | G8 = LOW (aanraken) | Relais 1 aan |
| Relais 1 | Touch sensor 1 | G8 = HIGH (aanraken) | Relais 1 aan |
| Relais 1 | BLE command | App stuurt HMAC-ondertekend `0x01` | Relais 1 aan |
| Relais 2 | Touch sensor 2 | G6 = LOW (aanraken) | Relais 2 aan |
| Relais 2 | Touch sensor 2 | G6 = HIGH (aanraken) | Relais 2 aan |
| Relais 2 | BLE command | App stuurt HMAC-ondertekend `0x02` | Relais 2 aan |
| Beide | Geen van beide | Geen touch + geen BLE command | Relais uit |
@ -181,7 +179,7 @@ Baudrate: **115200** (USB CDC). De firmware stuurt heartbeat-statussen elke 5 se
**Met geprovisioneerde key:**
```
=== Atom VoiceS3R BLE Relay ===
=== SylDa BLE Relay ===
HMAC key loaded from NVS
LED blink done, starting BLE...
BLE: advertising started as 'SylDa_Server' (start=1, isAdv=1)
@ -194,7 +192,7 @@ BLE: relay1 OFF (seq=2)
**Zonder key (nieuwe/gewiste module):**
```
=== Atom VoiceS3R BLE Relay ===
=== SylDa BLE Relay ===
No HMAC key provisioned — connect USB and run SET_KEY
LED blink done, starting BLE...
BLE: advertising started as 'SylDa_Server' (start=1, isAdv=1)
@ -377,7 +375,7 @@ De app gebruikt `Theme.AppCompat.DayNight` in plaats van het eerder geforceerde
## Technische notities
- De Atom S3R Voice gebruikt de ES8311 audio codec op G45/G0/G48/G4/G3/G17/G11, IR TX op G47, en de knop op G41. Deze pinnen zijn niet beschikbaar voor eigen gebruik (behalve G41 als input).
- De Atom S3 Lite heeft GPIO G1, G2, G5-G8, G38, G39 beschikbaar op de headers. G41 is de interne knop (active low). G46 is de interne LED.
- G1 en G2 zitten op de HY2.0-4P Grove poort. G5-G8, G38, G39 zitten op de onderste expansie-header.
- De firmware gebruikt geen M5Unified library — alleen Arduino core + ESP32 NimBLE + mbedtls.
- `ARDUINO_USB_CDC_ON_BOOT=1` is ingeschakeld voor virtuele serial via USB.