1. 程式人生 > >esp8266 smartconfig-智慧配網分析和使用及注意事項

esp8266 smartconfig-智慧配網分析和使用及注意事項

基本知識:

  樂鑫⾃主研發的 ESP-TOUCH 協議採⽤的是 Smart Config(智慧配置)技術,幫助⽤戶將 採⽤ ESP8266EX 和 ESP32 的裝置(以下簡稱“裝置”)連線⾄ Wi-Fi ⽹絡。⽤戶只需在⼿ 機上進⾏簡單操作即可實現智慧配置。整個過程如下圖所示:

   

 由於裝置在⼀開始並未連線⾄⽹絡,ESP-TOUCH App ⽆法直接向裝置傳送資訊。通過 ESP-TOUCH 通訊協議,具備 Wi-Fi ⽹絡接⼊能⼒的裝置(例如智慧⼿機)就可以向接 ⼊點 (AP) 傳送⼀系列 UDP 包,其中每⼀包的⻓度(即 Length 欄位)都按照 ESPTOUCH 通訊協議進⾏編碼,SSID 和密碼就包含在 Length 欄位中,隨後裝置便可以獲 得並解析出所需的資訊。資料包結構如圖 1-2 所示:

 

原始碼和app:

原始碼的路徑如下所示:

原始碼路徑:https://github.com/EspressifApp/EsptouchForAndroid/releases/tag/v1.1.0

根據你的所需進行修改或直接安裝,筆者的截圖如下所示:

 

操作步驟:

準備⼀臺⽀持 ESP-TOUCH 的裝置,開啟配置功能;
將⼿機連線⾄路由器;
開啟安裝在⼿機上的 ESP-TOUCH App;
在 App 界⾯輸⼊路由器的 SSID 和密碼(若路由不加密則密碼為空),開始連線。

注意事項:

• 裝置與⼿機建⽴鏈路所需的時間和兩者之間的距離有關,若距離很近,僅需數秒即可完成。

• 在開啟裝置端 ESP-TOUCH 智慧配置功能之前,請確保路由器已經開啟。由於開啟此功能後,裝置會先 掃描周圍的 AP 資訊,如果路由器沒有開啟,則⽆法獲取周圍的 AP 列表。

• ESP-TOUCH App 端傳送序列有超時限制,即如果沒有在規定的時間配置上路由,App 會返回配置失敗 資訊(參考 App 原始碼)。裝置端也會有超時限制,從裝置鎖定通道開始計時到獲取 SSID 和密碼資訊, 如果達到超時限制但並未獲取到 SSID 和密碼資訊,裝置會⾃動重新開始⼀次 Smart Config。⽤戶可以通 過 esptouch_set_timeout(uint8 time_s) 或 esp_smartconfig_set_timeout(uint8 time_s) 設定超時時 間。

• Smart Config 過程中裝置需要開啟 Sniffer 模式,所以在 ESP8266 上 Station 和 soft-AP 模式都是關閉 的,不要調⽤其他相關 API。ESP32 不受此限制,可以同時開啟 Sniffer 和 Station 模式。

• 配置結束後,傳送端獲取裝置的 IP,裝置端也會返回傳送端的 IP,如果⽤戶需要⾃定義傳送端和裝置端 的資訊互動,可以使⽤此 IP 資訊進⾏局域⽹通訊。 • 如果路由器設定了“AP 隔離”,會出現裝置連線路由器成功,但 App 未收到連線成功的提示的現象。

• ⽀持⼿機同時配置多個裝置到同⼀路由器上,配置時 App 端選擇接收多個返回結果。

• ESP8266 和 ESP32 不⽀持 5G 和 11AC 模式,因此不⽀持 Smart Config 連線 5G 或 11AC 模式的路由