一、概述
“配網”指的是,外部向WiFi模塊提供SSID和密碼,以便Wi-Fi模塊可以連接指定的熱點或路由器並加入后者所建立的相關Wi-Fi網絡。
WiFi模塊一般不像電腦手機或平板等設備,有豐富的人機交互界面,可以方便的實現配網。能提供方便、靈活多樣、條件約束少的配網方式,常常成為Wi-Fi模塊的賣點之一,更是Wi-Fi模塊的使用者,在選型時需要慎重考慮評估的一個重要方面。
常見的配網方式有:一鍵配網smart config、SoftAP配網、藍牙配網、airkiss微信配網。
二、一鍵配網smart config
一鍵配網(Smart Config)主要原理為:
1)設備進入sniffer模式(又叫混雜模式,即不過濾數據報文),監聽環境中所有的802.11報文;
2)設備需要在所支持的信道(通常1-13)上輪詢監聽(因為設備不知道用戶手機和目標路由器的信道);
3)捕獲到符合配網規則的數據報文后停止信道輪詢,嘗試在在此信道上接收完成所有報文;
4)當前信道接收失敗或超時重新回到步驟2;
5)數據報文接收完成則關閉sniffer模式,回到station模式並開始嘗試連接路由器,狹義的配網過程完成。
數據傳輸方式有兩種,一種廣播方式,另一種是組播方式。
原理:
飄散在空中的Wi-Fi密碼:SmartCfg無線配網方案的安全分析 - 知乎
wifi一鍵配網smartconfig原理及應用_燕十三的物聯網之旅-CSDN博客
一鍵配網實現:
smartconfig : linux 上實現smartconfig。來源於 https://github.com/jolin90/smartconfig。現會在其基礎上加以修改。 gitee
smartconfig/smart_config.c at master · lanzhihao/smartconfig git
JasonLee0524/wifi_smartconfig git
二、softap配網
SoftAP配網方式在小米智能家居產品中被廣泛應用。其原理是在Wi-Fi網絡中另外啟動TCP服務,通過TCP進行SSID和密碼的配置,使智能硬件接入到指定的路由器。
配網過程:
1)設備端Wi-Fi進入softAP模式,建立一個約定名稱的AP熱點;
2)APP端提示用戶手動將手機連接到1中設備建立的熱點;)
3)連接建立后,手機與設備建立局域網;
4)手機通過UDP/TCP將配網信息直接傳給設備或登錄設備內置web服務器配置;
5)設備拿到配網信息后切換回station模式,開始連接路由器。
實現:
MDK3308-EK(板載SDIO接口AP6255雙頻WiFi)通過手機配網演示 - RK3308 Mcuzone 野芯科技
external/softapDemo · firefly · T-Firefly / rk3308-linux · GitLab
三、藍牙配網
藍牙配網整體流程跟設備熱點配網差不多。只不過用ble替換了設備端的熱點,理論上還是一種基於點對點連接的配網方式。
四、嵌入式WiFi模塊Esp8266
目前樂鑫Esp8266wifi模塊方案應用成熟,可實現wifi的配網、聯網全套功能。
參考:
Esp8266學習之旅⑦ 了解softAP熱點配網模式原理,仿“機智雲”定義自己的熱點配網模式協議。(帶Demo)
ESP8266學習筆記(15)——SoftAP熱點配網 - 簡書
ESP8266搭建簡易web服務器_一個人要像一支隊伍-CSDN博客
不小心用esp8266搭了一台簡易的Web服務器出來,使用SPIFFS存放網站文件|我愛單片機 - 數碼之家
ESP8266學習筆記(10)——官方WebServer - 簡書
ESP8266_14 SOFTAP模式下的服務器端和客戶端 | MCU起航
參考:
4. 設備配網專題《原理分析,設備配網技術之AP配網》 APP