啟明云端/01
在使用 esp32 調(diào)試 Wi-Fi 功能時(shí),由于場(chǎng)景和各種因素的影響,難免會(huì)遇到各種連接不上,Wi-Fi斷連等問(wèn)題。下面介紹一些 API,方便新手調(diào)試 Wi-Fi 時(shí)更好的定位并解決問(wèn)題。
啟明云端/02
常見(jiàn)問(wèn)題
ESP32進(jìn)行Wi-Fi連接時(shí),如何判斷失敗原因?
在ESP-IDF 4.0以上的版本,可以在Wi-Fi斷連事件處理中加入以下代碼,從而通過(guò)錯(cuò)誤碼來(lái)判斷連接失敗的原因。

當(dāng)回調(diào)函數(shù)接收到WIFI_EVENT_STA_DISCONNECTED事件時(shí),可以通過(guò)結(jié)構(gòu)體wifi_event_sta_disconnected_t的變量reason獲取到失敗原因。
常見(jiàn)的錯(cuò)誤碼
完整的錯(cuò)誤碼請(qǐng)參考這里。
啟明云端/03
Wi-Fi如何自動(dòng)重連?
Wi-Fi 在斷連后如何自動(dòng)重連?
在收到WIFI_EVENT_STA_DISCONNECTED事件時(shí),調(diào)用esp_wifi_connectAPI,具體代碼如下:
ESP32 Wi-Fi發(fā)射功率最高值是多少?如何調(diào)整 Wi-Fi 的發(fā)射功率?
ESP32的Wi-Fi功率輸出最高可以配置為20dBm。高功率輸出會(huì)對(duì)電池壽命和 Wi-Fi 信號(hào)穩(wěn)定性產(chǎn)生影響,因此在選擇功率輸出水平時(shí),需要根據(jù)具體的應(yīng)用場(chǎng)景和要求進(jìn)行權(quán)衡和選擇。
可通過(guò) menuconfig 配置中,改變ESP_PHY_MAX_WIFI_TX_POWER的值來(lái)調(diào)整發(fā)射功率,配置項(xiàng)如下:
或者在代碼中調(diào)用esp_wifi_set_max_tx_power()這個(gè) API來(lái)設(shè)置調(diào)整。
啟明云端/04
提示bcn_timeout怎么辦?
連接 Wi-Fi,打印bcn_timeout,ap_probe_send_start是什么情況?
默認(rèn)設(shè)置下,ESP32默認(rèn)六秒未收到 AP 的beacon幀,就會(huì)提示bcn_timeout。造成這個(gè)問(wèn)題的原因有可能會(huì)有以下幾點(diǎn):
(1)內(nèi)存資源不足。ESP32_WIFI_MGMT_SBUF_NUM不夠 (log中會(huì)打出“esf_buf: t=8, l=beacon_len, …”這樣的Error)。如果內(nèi)存不夠,可在收到disconnect event時(shí)打出 heap大小來(lái)排查。
(2)AP未發(fā)出beacon幀。可通過(guò)抓包AP的beacon幀來(lái)排查。
(3)AP Rssi值太低。在復(fù)雜環(huán)境下Rssi值較低時(shí),可能導(dǎo)致STA收不到beacon幀,可通過(guò)調(diào)用esp_wifi_sta_get_ap_info()獲取Rssi值來(lái)排查。
(4)硬件原因。收包性能太差。
注意:在出現(xiàn)bcn_timeout時(shí),STA會(huì)嘗試發(fā)送5次Probe Request,如果 AP回Probe Reponse,就保持連接;如果AP未回復(fù),STA發(fā)送Disconnect事件,并斷開(kāi)連接。
啟明云端/05
如何連接最佳AP?
如果環(huán)境中存在多個(gè)相同ssid/password時(shí),能否默認(rèn)選擇信號(hào)最好的AP連接?
默認(rèn)ESP32會(huì)連接掃描到的第一個(gè)符合的AP,并不會(huì)自動(dòng)選擇信號(hào)值最強(qiáng)的AP。如果要連接最佳AP,需要在配置station時(shí),添加信號(hào)強(qiáng)度優(yōu)先配置,具體配置代碼如下:
-
無(wú)線
+關(guān)注
關(guān)注
31文章
5518瀏覽量
174941 -
AI
+關(guān)注
關(guān)注
87文章
33442瀏覽量
273979 -
ESP32
+關(guān)注
關(guān)注
20文章
998瀏覽量
18545
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
樂(lè)鑫ESP32調(diào)試Wi-Fi常用調(diào)試API

請(qǐng)問(wèn)ESP32-AT支持Wi-Fi漫游指令嗎?
Wi-Fi 定位服務(wù)
Wi-Fi CERTIFIED?交流會(huì)的Wi-Fi?技術(shù)的性能提升到新的高度
Wi-Fi是第一項(xiàng)得到廣泛部署的高速無(wú)線技術(shù)
樂(lè)鑫2.4 GHz Wi-Fi 和雙模藍(lán)牙模組ESP32-WROVER-B
評(píng)測(cè)通用型 Wi-Fi+BT+BLE MCU 模組ESP32-SOLO-1內(nèi)置芯片ESP32-S0WD
樂(lè)鑫WiFi芯片模塊技術(shù)應(yīng)用,ESP32-WROOM-32模組,飛睿科技代理方案
無(wú)線WiFi芯片模塊,樂(lè)鑫ESP32模組技術(shù)應(yīng)用,物聯(lián)網(wǎng)無(wú)線通信發(fā)展
ESP32C3射頻測(cè)試,是否需要使用Wi-Fi Adaptivity方法來(lái)進(jìn)行Wi-Fi范圍測(cè)試?
基于ESP32-C3芯片的Wi-Fi單火線智能開(kāi)關(guān)方案
樂(lè)鑫 Wi-Fi 6 SoC ESP32-C6特點(diǎn)概述
合宙ESP32S3+Air780E,低成本DIY隨身Wi-Fi

基于ESP32-C3FN4為核心自主研發(fā)的Wi-Fi+BT模塊-RF-WM-ESP32B1

從Wi-Fi 4到Wi-Fi 7:網(wǎng)速飆升40倍的無(wú)線革命

評(píng)論