ESP32C3怎么固定蓝牙广播mac地址?

张开发
2026/6/22 23:19:57 15 分钟阅读
ESP32C3怎么固定蓝牙广播mac地址?
会变通常不是芯片问题而是你现在用的是Random / Private 地址在做 BLE 广播乐鑫官方文档里BLE 的地址类型本来就分Public、Random、RPA而启用本地隐私或使用随机地址时地址就可能变化。反过来Public Address是基于芯片的基准 MAC 派生出来的默认是固定的。(Espressif Systems)你要固定最直接就是这样做把广播地址改成 Public Address不要用 Random/RPA。如果你是ESP-AT直接设成ATBLEADDR0官方文档说明0就是 Public Address而1是 Random Address。(Espressif Systems)如果你是ESP-IDF核心做法是广播参数里的own_addr_type设为Public。不要开启esp_ble_gap_config_local_privacy(true)。不要每次上电都重新生成 random 地址。官方文档明确有own_addr_type字段也有esp_ble_gap_config_local_privacy()和esp_ble_gap_set_rand_addr()这些接口。(Espressif Systems)如果你必须用随机地址但又想每次上电都固定那就不要每次重新生成而是首次生成一个 Static Random Address存到 NVS以后每次上电都读出来再调用esp_ble_gap_set_rand_addr()。乐鑫文档说明这个接口可以设置Static Random AddressAT 文档还说明静态地址高两位应为11并且 AT 配置可保存到 NVS。(Espressif Systems)结论一句话你现在大概率是用了随机地址想固定就改成 Public Address。如果你要“自定义且固定”的地址再走Static Random NVS保存或者在 BT 初始化前设置自定义 base MAC。(Espressif Systems)

更多文章