1.9 KiB
1.9 KiB
Project_SylDa
ESP32-S3-PICO-1-N8R8 (Atom S3R Voice), 2 relais, 2 touch sensors (JR223B), BLE, Android app USB OTG.
Hardware
- Board: Atom S3R Voice (ESP32-S3-PICO-1-N8R8), 16MB OPI flash
- Pinnen: G1=RELAY1, G2=RELAY2, G8+pullup=TOUCH1, G6+pullup=TOUCH2, G41=BUTTON (active low), G46=LED
- Touch: DC3-24V Capacitieve Touch Schakelaar JR223B (GEEN TTP223). Minder C op punt A = gevoeliger = meer false triggers.
- BLE: "SylDa_Server", service
4fafc201-1fb5-459e-8fcc-c5c9c331914b - BLE cmds: 0x00=relay1 OFF, 0x01=ON, 0x02=relay2 ON, 0x03=OFF, HMAC_PKT_SIZE=37 (1 cmd + 4 seq + 32 hmac)
- NVS: namespace
hmac, keykey— HMAC key 32 bytes, NVS op 0x9000-0xDFFF (partitie tabel)
Workspace
/home/eddy/src/Project_SylDa/ — S3R firmware + Android app
Firmware — src/main.cpp
- PlatformIO,
platform = espressif32@6.7.0, boardesp32-s3-devkitc-1 - CDC USB serial (
ARDUINO_USB_CDC_ON_BOOT=1), QIO OPI flash - Upload laptop:
pio run -t upload, port/dev/ttyACM0, 115200 baud - NVS: namespace "hmac", key "key" (32 bytes HMAC)
- BLE advertising "SylDa_Server", HMAC-verified relay commands
Android app — android/
- CDC key exchange (geen FTDI), 2 relay knoppen (touch-to-hold), byte commands
- Key exchange: SettingsActivity via USB CDC (
UsbSerialTransport) - Flash: EspFlasher via USB CDC,
eraseFlash()VERWIJDERD (NVS blijft behouden) - Partitie layout flash: bootloader 0x0, partitions 0x8000, boot_app0 0xE000, firmware 0x10000
- BLE scan: 30s timeout, auto-retry 3x, reconnect na disconnect
deviceId= UUID van ESP,hmacKey= HMAC key uit key exchange- Bestanden:
MainActivity.kt,SettingsActivity.kt,EspFlasher.kt,UsbSerialTransport.kt,PrefsHelper.kt,UsbUtils.kt - Assets:
firmware/bootloader.bin,partitions.bin,boot_app0.bin,firmware.bin
ADB — telefoon
adb connect 192.168.1.43:5555
adb -s 192.168.1.43:5555 install -r app/build/outputs/apk/debug/app-debug.apk