| 断电保存 | 使用Preferences,学习完成后立即保存 |
| 协议解析 + RAW回放 | 每帧存储协议、值、RAW;发送时两者均发,间隔200ms |
| 多品牌兼容 | 优先使用协议发送(支持NEC、Coolix、BOSCH144等),RAW作为最终保障 |
| 多帧处理 | 学习时捕获200ms内所有帧,发送时逐帧发送 |
| 防溢出 | RAW长度限制为512,动态分配内存(也可修改) |
| RMT硬件加速 | 使用RMT分支,时序精确,不影响Wi-Fi |
platformio.ini配置
[platformio]
default_envs = esp32s3-n16r8
[env:esp32s3-n16r8]
platform = espressif32
board = esp32-s3-devkitc-1
framework = arduino
board_upload.flash_size = 16MB
board_build.flash_mode = dio
board_build.f_flash = 80000000L
board_build.psram_mode = opi
board_build.psram_type = opi
board_build.arduino.memory_type = qio_opi
board_build.partitions = partitions_16MB.csv
build_flags =
-Wno-write-strings
-DBOARD_HAS_PSRAM
monitor_speed = 115200
upload_speed = 921600
lib_deps =
tzapu/WiFiManager
https://github.com/tuxBurner/IRremoteESP8266.git#feature/ESP32_RMT
adafruit/Adafruit SHT31 library
https://github.com/blinker-iot/blinker-library/archive/refs/heads/master.z