# ESP-AT-Custom **Repository Path**: augsnake/esp-at-custom ## Basic Information - **Project Name**: ESP-AT-Custom - **Description**: 以 ESP-AT 为基础,尽量减少对 ESP-AT 源码的修改,增加一些特殊功能 - **Primary Language**: C - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-12-16 - **Last Updated**: 2022-06-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ESP32-C3 WIFI模块自定义 ## 目标 以 ESP-AT 为基础,尽量减少对 ESP-AT 源码的修改,增加一些特殊功能 ## 增加AT命令 * AT+CGMM 查询模块类型,与手机模块命令兼容,返回 ESP32-C3 * AT+BLUFISSIDPWD? 查询 BLUFI 配网下发的 SSID 和密码 * AT+BLUFICUSTOMDATA? 查询 BLUFI 配网下发的自定义数据 * AT+WIFICUSTOM 查询、保存配网成功时的 SSID 和 密码 ```TXT 查询命令 AT+WIFICUSTOM? 保存命令 AT+WIFICUSTOM=, ``` ## 修改说明 * custom\at_custom_cmd.c 复制到 esp-at\main * 把 esp_at_custom_cmd_regist 加入 app_main() 中 ```C at_custom_init(); //增加自定义AT命令 extern bool esp_at_custom_cmd_regist(void); esp_at_custom_cmd_regist(); ``` * 修改文件 esp-idf\components\bt\common\api\esp_blufi_api.c esp_blufi_register_callbacks 函数如下 ```C // 增加一行 extern void hook_esp_blufi_register_callbacks(esp_blufi_callbacks_t *callbacks); esp_err_t esp_blufi_register_callbacks(esp_blufi_callbacks_t *callbacks) { ESP_BLE_HOST_STATUS_CHECK(ESP_BLE_HOST_STATUS_ENABLED); if (callbacks == NULL) { return ESP_FAIL; } // 增加一行,拦截 ESP-AT Blufi 过程,自定义处理 hook_esp_blufi_register_callbacks(callbacks); btc_blufi_set_callbacks(callbacks); return (btc_profile_cb_set(BTC_PID_BLUFI, callbacks->event_cb) == 0 ? ESP_OK : ESP_FAIL); } ``` 注意: ESP源码中存在多个 esp_blufi_api.c 文件 ## 参考 [编译 ESP-AT 工程](https://docs.espressif.com/projects/esp-at/zh_CN/latest/Compile_and_Develop/How_to_clone_project_and_compile_it.html) [添加自定义 AT 命令]( https://docs.espressif.com/projects/esp-at/zh_CN/latest/Compile_and_Develop/How_to_add_user-defined_AT_commands.html)