智能設備 WiFi 配網的兩種方式

智能家居的設備智能化,不少家電設備都安裝上了 WiFi 模塊, 方便用戶經過手機控制和遠程查看家裏狀況,典型的設備如智能插座,智能空調,智能空氣淨化器。服務器

智能設備首次配置,這個過程簡單來說就是把 WiFi 設備初始化後,連到家裏的無線路由器上。第一次配置成功後,基本就一勞永逸了。微信

目前流行的wifi配置模式通常有如下2種:網絡

  • 1:智能硬件處於AP模式,手機用於station模式,手機鏈接智能插座的AP後組成局域網,手機發送須要鏈接路由的SSID及密碼至智能插座,智能硬件主動去鏈接指定路由後,完成鏈接
  • 2:一鍵配置(smartconfig)模式:智能硬件處於混雜模式下,監聽網絡中的全部報文;手機APP將SSID和密碼編碼到UDP報文中,經過廣播包或組播報發送,智能硬件接收到UDP報文後解碼,獲得正確的SSID和密碼,而後主動鏈接指定SSID的路由,完成鏈接

AP(兼容) 模式

AP 是 (Wireless) Access Point 的縮寫,即 (無線) 訪問接入點。簡單來說就像是無線路由器同樣,設備打開後進入 AP 模式,在手機的網絡列表裏面,能夠搜索到相似 TPLINK_XXX 的名字(SSID)。
鏈接步驟:less

  • 一、鏈接路由器(獲取路由器名稱)
  • 二、請求配網token,用戶輸入 WiFi 名字和密碼後
  • 三、初始化硬件設備,使設備進入 AP 模式,Wifi 燈慢閃
  • 四、手機切回 WiFi:接入上述 設備出現的 WiFi 名字(SSID)的網絡 (相似 TPLINK_XXX)。連上設備後,經過 UDP 發送 通過 AES 加密過的 ssid/password/token
  • 五、設備經過 UDP 包獲取配置信息,切換網絡模式,鏈接上家裏 WiFi,配置完成。斷開設備熱點。發送token,註冊到服務端,登陸MQTT服務器
  • 六、手機切回到家裏面的 WiFi ,根據token,去服務端查找設備。
  • 七、服務器返回智能設備的信息

 

EZ(快捷)Easy-Connect 模式

這種快速鏈接方式,相對於 AP 模式鏈接簡化操做,省了不少步驟,首次配置速度更快。測試

  • 一、手機連上 WiFi,開啓 APP 軟件,點擊"添加新設備",進入配置界面,輸入手機所在 WiFi 密碼,請求配網token
  • 二、智能硬件開啓混雜模式監聽全部網絡數據包,Wifi 燈快閃
  • 三、手機經過廣播、組播循環發送 ssid/password/token
  • 四、硬件設備經過 UDP 包(長度)獲取配置信息捕捉到ssid/password/token,Wifi燈熄滅,鏈接路由器,鏈接成功後Wifi燈常亮。發送token,註冊到服務端,註冊成功後登陸MQTT服務器。(廣播根據 UDP 包長度,組播根據 IP 地址信息)
  • 五、手機根據token,去服務端查找設備,返回設備信息

當前主流IOT的wifi方案有:

這個功能最先是TI提出並應用於CC3200上;不過從原理上講,只要芯片驅動支持開啓混雜模式(WiFi Promiscuous),就能夠支持一鍵配網功能,只是各個廠家叫法及實現編碼方式不一樣而已;
手機編碼發送採用有UDP組播或廣播,不一樣的發送方式和編碼,對應的解碼過程也不同.,當前測試發現,微信是經過UDP廣播包實現的;TI是經過往一固定IP地址發送udp包;其餘芯片廠家提供的通常爲UDP組播方式;
因爲無線數據傳播一定是廣播的,因此必然能夠被監聽到;若是AP沒有加密的話,UDP直接能夠把相關的信息發送出來.可是路由器AP通常都是加密的,並且加密方式不固定.wifi模塊在沒法直接解析出數據包編碼

  • 一、廣播:發送方可經過改變其所須要發送數據包的長度進行控制
    因此只要指定出一套利用長度編碼的通信協議,就可利用數據包的Lenght字段進行數據傳遞
  • 二、 組播:組播地址是保留的D類地址從224.0.0.0-239.255.255.255
    IP地址與MAC地址映射關係爲:將MAC地址的前25位設定爲01.00.5e,而MAC地址的後23位對應IP地址的位;故發送端能夠將數據編碼在組播ip的後23bit中,經過組播包發送,接收端進行解碼便可



做者:Orange_iOS
連接:https://www.jianshu.com/p/4fca16d8702f
來源:簡書
著做權歸做者全部。商業轉載請聯繫做者得到受權,非商業轉載請註明出處。加密

相關文章
相關標籤/搜索