启明云端分享|ESP32 AT 相关资源从哪里获得?以及经常会遇到的AT相关问题
ESP32 AT 相關資源從哪里獲得?
- ESP32 AT bin 文件:AT 固件。
- ESP32 AT 文檔:AT 指令集。
- 可以基于樂鑫官方的 esp-at 工程開發更多的 AT 指令。
經常會遇到的AT相關問題答疑
一、 ESP32 AT 吞吐量如何測試及優化?
- AT 吞吐量測試的影響因素較多,建議使? esp-idf 中的 iperf 示例進行測試(用 AT 測試時,請使用透傳方式,并將數據量調整為 1460 字節連續發送)。
- 若測試速率不滿?需求,可?行編譯 esp-at ,修改 esp-idf 中 menuconfig iperf 參數,提?速率。
二、ESP32 AT Wi-Fi 連接耗時多少 ?
- ESP32 AT release/v2.0 固件初始化(模塊啟動)到 Wi-Fi 連接的整個時間?概是多久?
- 在辦公室場景下,ESP32 AT release/v2.0.0 版本連接耗時實測為 11 s。但在實際使用中,Wi-Fi 連接時間取決于路由器性能,?絡環境,模塊天線性能等多個條件。
三、AT 提示 busy 是什么原因?
- 提示 “busy” 表示正在處理前?條指令,?法響應當前輸?。因為,AT 指令的處理是線性的,只有處理完前?條指令后,才能接收下?條指令。
- 當有多余的不可?字符輸?時,系統也會提示 “busy” 或 “ERROR”,因為,任何串?的輸?,均被認為是指令輸?。
例如:
串?輸? AT + GMR (換?符 CR LF) (空格符),由于 AT + GMR (換?符 CR LF) 已經是?條完整的 AT 指令了,系統會執?該指令。
- 如果系統尚未完成 AT+GMR 操作,就收到了后?的空格符,將被認為是新的指令輸?,系統提示 “busy”。
- 如果系統已經完成了 AT+GMR 操作,再收到后?的空格符,空格符將被認為是?條錯誤的指令,系統提示”ERROR”。
四、AT 固件中 TCP 發送窗口大小是否可以修改?
- TCP 發送窗口當前無法通過命令修改,需要編譯 esp-at 代碼生成固件。
- 可以重新配置 menuconfig 參數,Component config -> LWIP / TCP -> Default send buffer size。
五、ESP32-AT 編譯過程中,出現 no module named yaml 的錯誤,應如何解決?
- 請安裝 yaml 模塊: python -m pip install pyyaml
六、ESP32 模組默認 AT 固件是否支持 BT 功能?
- ESP32-WROOM 系列模組 AT 固件默認不帶 classic BT AT 指令,如需要 BT 指令,需要自行基于 esp-at 工程編譯固件。
- 編譯時需要配置 menuconfig 菜單設置,Component config -> AT -> [*] AT bt command support。
- ESP32-WROVER 系列模組 AT 固件默認帶 classic BT AT 指令。
七、AT 命令中串口波特率是否可以修改?(默認:115200)
- AT 命令串口的波特率是可以修改的。
- 第一種方法,您可以通過串口命令 AT+UART_CUR 或者 AT+UART_DEF 進行修改, 詳情請參考 AT 指令集。
- 第二種方法,您可以重新編譯 AT 固件,編譯介紹:esp-at 環境搭建 與 修改 UART 波特率配置。
八、ESP32 AT 如何指定 TLS 協議版本?
- 編譯 esp-at 工程時,可以在 menuconfig -> Component config ->mbedTLS 目錄下,可以將不需要的版本關閉使能。
九、樂鑫芯片可以通過那些接口來傳輸 AT 指令?
- ESP8266,ESP32,ESP32-S2 可通過 SDIO, SPI UART 來傳輸 AT 指令。在 esp-at 工程中通過 menuconfig -> Component config -> AT 中進行配置。
十、ESP32 AT 如何從 UART0 口通信?
-
默認 AT 固件是通過 UART1 口通信的,如果要從 UART0 通信, 需要下載并編譯 esp-at 。
-
參考 入門指南 搭建好編譯環境;
-
修改 factory_param_data.csv 表中對應模組的 UART 管腳,將 uart_tx_pin 修改為 GPIO1,uart_tx_pin 修改為 GPIO3;
-
調整配置:make menuconfig > Component config > Common ESP-related > UART for console output(Custom) >Uart peripheral to use for console output(0-1)(UART1) > (1)UART TX on GPIO# (NEW) > (3)UART TX on GPIO# (NEW)。
十一、esp-at 固件是否支持 MQTT?
- ESP8266 芯片在 v2.1.0.0-rc1 版本后支持 MQTT。
- ESP32 系列芯片在 v2.0.0.0 版本后支持 MQTT。
- 詳情可參考 release notes。
十二、Wi-Fi-Mesh 是否支持 AT 指令?
- Wi-Fi-Mesh 當前不支持 AT 指令。
十三、ESP32 如何在 AT 中開啟 blufi 功能?
- 默認的 AT 固件不支持 blufi 功能,如果要使用 blufi 功能,需要編譯 esp-at 代碼生成固件。
- 編譯時需要在 menuconfig 中開啟 blufi 的功能:make menuconfig—>Component config—>AT—>[*]AT blufi command support。
十四、AT 是否支持 websocket 指令?
- 默認指令不支持。
- 可通過自定義指令實現,代碼參考 websocket。
十五、模組出廠 AT 固件是否支持流控?
支持該模組支持硬件流控,但是不支持軟件流控。
十六、AT 如何修改 TCP 連接數?
- ESP32 AT 最大支持 16 個 TCP 連接,可以在 menuconfig 中進行配置, 配置方法如下: - make menuconfig—> Component config—> AT—> (16)AT socket maximum connection number - make menuconfig—> LWIP—> (16)Max number of open sockets
- ESP8266 AT 最大支持 5 個 TCP 連接,可以在 menuconfig 中進行配置, 配置方法如下: - make menuconfig—> Component config—> AT—> (5)AT socket maximum connection number - make menuconfig—> LWIP—> (10)Max number of open sockets
十七、AT 固件如果 OTA 升級指?
- AT 固件可以通過指令觸發 OTA 升級。
AT+CWMODE=1
AT+CWJAP_DEF=“ssid”,“passwrod”
AT+CIUPDATE
十八、ESP32模組如何使用 AT 指令實現藍牙加密配對?
- 藍牙 AT 加密指令參考示例:
AT+RST // 重啟模塊 AT+GMR
// 查詢模組版本信息 AT+BLEINIT=2 // 將模組初始化為 server
AT+BLEGATTSSRVCRE // GATTS 創建服務 AT+BLEGATTSSRVSTART
// GATTS 開啟服務 AT+BLEADDR? // 查詢 BLE 設備的public
address。 AT+BLEADVPARAM=50,50,0,0,4 // 設置?播參數
AT+BLEADVDATA=“020120” // 設置 BLE ?播數據
AT+BLESECPARAM=4,1,8,3,3 // 設置加密參數 AT+BLEADVSTART
// 開始 BLE 廣播 AT+BLEENC=0,3
//無秘鑰連接后,進行這一步,即可產生加密連接請求,并產生加密密鑰。
總結
以上是生活随笔為你收集整理的启明云端分享|ESP32 AT 相关资源从哪里获得?以及经常会遇到的AT相关问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 启明云端分享|ESP32-C3有望三月中
- 下一篇: 很多初接触乐鑫ESP32/ESP8266