需要在初始化 BLE 之前使用 AT+SYSMFG=2,“ble_data”,“cfg2”,7,23 指令进行修改,修改完成之后再做 BLE 初始化。因为 ESP32-C6 是 nimble 在初始化蓝牙的时候就开始自动创建服务了,服务创建好了,就没法改了。
如下测试结果:
// Read ble_data
AT+SYSMFG=1,"ble_data"
// Read ble_data cfg0 parameter in ble_data
AT+SYSMFG=1,"ble_data","cfg2"
// Delete cfg0 parameter in ble_data
AT+SYSMFG=0,"ble_data","cfg2"
// Write new cfg0 parameter in ble_data, 23 is length of parameter
AT+SYSMFG=2,"ble_data","cfg2",7,23
// Write parameter and without new line
2,16,0xC500,0x01,1,1,30
// Read new cfg0 parameter in ble_data
AT+SYSMFG=1,"ble_data","cfg2"
// Set BLE server
AT+BLEINIT=2
AT+BLEGATTSCHAR?
测试结果如下:
BLE Data 原始文件的参数设置可参考: esp-at/components/customized_partitions/raw_data/ble_data
源文件对应的参数含义参见 低功耗蓝牙服务源文件介绍 。
参数对应的属性关系参考如下:
另外,ble_data
通过 mfg_nvs.csv
文件进行管理,可以 AT 固件的 customized_partitions
文件夹下获取 mfg_nvs.csv
文件,具体内容如下: