SmartConfig一鍵配網
SmartConfigTM 是由 TI 開發的配網技術,用于將新的 Wi-Fi 設備連接到 Wi-Fi 網絡。它使用移動應用程序將無線網憑據從智能手機或平板電腦端廣播給未配網的 Wi-Fi 設備。這項技術的優勢在于,設備無需直接獲知 AP 的 SSID 或密碼,而是通過智能手機獲取。這對于沒有用戶界面的無頭設備和系統而言十分重要。目前, ESP32 支持三種類型的 SmartConfig 配網: Airkiss、ESPTouch 和 ESPTouch v2。ESPTouch v2 自 SmartConfig v3.0 (SmartConfig 的版本可以從 esp_smartconfig_get_version() 獲取)起開始支持,ESPTouch v2 和 ESPTouch 采用完全不同的配網算法,因此配網速度更快。此外,ESPTouch v2 還增加了 AES 加密功能和自定義數據字段。
基本原理
設備進入 Wi-Fi 混雜模式(promiscuous mode)以監聽捕獲周圍的 Wi-Fi 報文。由于設備暫未聯網,且 Wi-Fi 網絡的數據幀已通過加密,設備無法獲取 payload 的內容,但可以獲取報文的某些特征數據,例如每個報文的長度。同時對于某些數據幀,例如 UDP 的廣播包或多播包,其報文的幀頭結構比較固定,較容易識別。
此時在手機 App 或者小程序端,即可通過發送 UDP 的廣播包或多播包,并利用報文的特征,例如長度變化進行編碼。
將目標 Wi-Fi 路由器的 SSID/PSW 字符以約定的編碼方式發送出去,設備端在捕獲到 UDP 報文后,按約定的方式進行解碼,即可得到目標 Wi-Fi 路由器的相關信息并進行聯網。
設備綁定流程
SmartConfig 方式配網,每個廠商的編碼方式和報文選擇上有自己的協議,文章里的 ESP8266和ESP32采用的協議是樂鑫 ESP-TOUCH協議。基于該協議,設備端在連接 Wi-Fi 路由器成功后,將會告知手機端自己的 IP 地址。此時手機端可以通過數據通道,例如 TCP/UDP 通訊將后臺提供的配網 Token 發送給設備,并由設備轉發至物聯網后臺,依據 Token 進行設備綁定。
簡單來說,smartconfig一鍵配網就是ESP8266/32打開配網模式,手機連接WIFI(必須是2.4GWIFI )后打開樂鑫軟件APP進入ESPTOUCH,輸入密碼,點擊確認后手機會往外進行發送報文,設備接收到報文后進行連接WiFi,獲取ip地址。
ESP8266/ESP32 SmartConfig配網
AT指令配置方式

ESP8266/ESP32兩個通過smartconfig配網的方法是相同,只是燒錄的固件不同。
ESP8266模組燒錄的是樂鑫的ESP-WROOM-02-AT-V2.2.2.0固件,可直接從樂鑫的官網: [ESP8266固件]進行獲取,壓縮包里面都會有文檔進行說明這個固件是如何使用以及AT指令集。
ESP32模組燒錄的是樂鑫的ESP32-WROOM-32-AT-V3.4.0.0固件,可直接從樂鑫的官網: [ESP32固件]進行獲取,壓縮包里面都會有文檔進行說明這個固件是如何使用以及AT指令集。
燒錄對應固件后,發送以下指令打開配網
AT+CWMODE=1 //設置WiFi模式為單Station模式
AT+CWSTARTSMART //開啟 SmartConfig
手機端打開ESPTOUCH軟件,進入ESPTOUCH界面,然后輸入密碼點擊確認后,就會開始向外部發送報文了。( [ESPTOUCH軟件下載地址])
過一會后就可以看到ESP8266/32設備配網成功了。
軟件頁面:
串口頁面:

出現Smartconfig connected wifi則表示連接成功。
Arduino程序配置方式
官方在Arduino IDE中,同樣為ESP32提供了SmartConfig的示例,實際使用開發可以修改移植到自己的項目中,下面我們來測試一下實際效果。
下載好ESP32的開發環境,我們可以看官方已經為我們提供了SmartConfig的例程,直接打開進行燒錄就可以。
燒錄完成后我們打開串口輸出,查看連接現象,操作和上面的是一樣的,這里就不多說了,直接看連接成功的輸出結果:
這里輸出獲取到的IP地址則已經連接上了。
總結
- 無論 SmartConfig 成功與否,都請在執行其他命令之前調用AT+CWSTOPSMART 釋放 SmartConfig 占用的內存。
- 串口的接線兩個單片機各有不同,可以看對應固件的用戶指南進行接線。


審核編輯 黃宇
-
配網
+關注
關注
0文章
181瀏覽量
9484 -
ESP32
+關注
關注
26文章
1198瀏覽量
21807
發布評論請先 登錄
【ESP8266系列】WT8266-S3模組規格書
【ESP8266系列】WT8266-S5模組規格書
【ESP8266系列】WT8266-S6模組規格書
【ESP8266系列】WT8266-S6模組產品介紹
無需安裝!在瀏覽器里就能玩轉ESP32/ESP8266,這個神器絕了!
如何備份復制拷貝出ESP32/8266內的固件程序
晶科鑫 | 國產26MHz晶振匹配Espressif(樂鑫) ESP8285/ESP8266芯片案例
ESP8266和ESP32開發板常見的2種下載方式
樂鑫ESP32-C6和ESP32-C61究竟該如何選擇?一文讀懂本質區別
ESP8266和ESP32開發板常見的2種下載方式
請問一下我想用ESP8685直接替換ESP8266而不用寫程序,可以讓ESP8685直接通過之前ESP8266的外掛的flash運行程序嗎
STM32+esp8266連接機智云,上傳溫濕度數據并控制繼電器開關(平臺配置、代碼生成、代碼移植)
ESP8266_ESP32 Smartconfig一鍵配網功能
評論