2.6 KiB
2.6 KiB
Project_SylDa
M5Stack Atom S3 Lite (ESP32-S3), 2 relais, 2 touch sensors (HS-S43A), BLE, Android app USB OTG.
Hardware
- Board: M5Stack Atom S3 Lite (ESP32-S3)
- Pinnen: G1=RELAY1, G2=RELAY2, G8=TOUCH1, G6=TOUCH2, G41=BUTTON (active low), G46=LED
- Touch: HS-S43A Digital Capacitive Switch Module (epenelab.io), actief HIGH, geen pullup nodig.
- 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/ — Atom S3 Lite firmware (server + client) + 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 QSPI flash - Upload:
pio run -t upload(via--no-stub). Poort: NOOIT/dev/ttyACM0(dat is het Atreus toetsenbord). ESP32 herkennen vials /dev/serial/by-id/ | grep -i espressifen die poort gebruiken. PlatformIO: pasupload_portinplatformio.iniaan naar de gevonden poort. - Direct flashen (handmatig):
~/.platformio/packages/tool-esptoolpy/esptool.py --no-stub --chip esp32s3 --port /dev/ttyACM1 --baud 115200 --before default_reset --after hard_reset write_flash --flash_mode keep --flash_size keep 0x0 .pio/build/s3lite-server/bootloader.bin 0x8000 .pio/build/s3lite-server/partitions.bin 0xE000 ~/.platformio/packages/framework-arduinoespressif32/tools/partitions/boot_app0.bin 0x10000 .pio/build/s3lite-server/firmware.bin - 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