
一 概要
Wi-Fi大家很早就接觸了,但是配網對很多人都比較陌生。因為早期的Wi-Fi裝置基本都是帶螢幕和輸入裝置的(如筆記本/手機/PDA等),而配網隻需要使用者直接輸入路由器的SSID/password即可,簡單到被人忽略。
但是随着物聯網的興起,Wi-Fi被大量應用于沒有人機互動方式的裝置中,如智能插座等物聯網終端産品中,而Wi-Fi(IEEE802.11)标準在設計之初是沒有考慮這種無人機互動方式的配網的,也就是沒有官方标準。配網成了一種類似于黑客找漏洞的技術,這也就導緻了市面上配網的方法多種多樣,且各家玩各家的,魚龍混雜,互不相通,整體體驗偏低。
幾個概念:
- 狹義配網:Wi-Fi裝置擷取路由器資訊(SSID,password等)并連接配接路由器的過程。
- 綁定:使用者手機APP賬号與被配網裝置關聯的過程。
- 廣義配網:狹義配網+綁定。
本文讨論的配網如未注明都指狹義配網,并省略雲端參與流程。簡化示意圖如下:
那麼市面上的配網技術有哪幾種呢?按原理分商用的主要有:
- 一鍵配網
-
- 廣播包長方式
-
- 多點傳播位址方式
- 裝置熱點配網
- 藍牙配網
- 手機熱點配網
- 路由器配網
- 零配
- 其他(如語音配網/攝像頭二維碼配網等)
阿裡雲IoT開發的物聯網作業系統AliOS Things支援上述1-6配網方式。
二 詳細介紹
1 一鍵配網
流程
一鍵配網(Smart Config)主要原理為:
- 裝置進入sniffer模式(又叫混雜模式,即不過濾資料封包),監聽環境中所有的802.11封包;
- 裝置需要在所支援的信道(通常1-13)上輪詢監聽(因為裝置不知道使用者手機和目标路由器的信道);
- 捕獲到符合配網規則的資料封包後停止信道輪詢,嘗試在在此信道上接收完成所有封包;
- 目前信道接收失敗或逾時重新回到步驟2;
- 資料封包接收完成則關閉sniffer模式,回到station模式并開始嘗試連接配接路由器,狹義的配網過程完成。
資料傳輸方式
資料的承載方式有兩種,一種廣播方式,另一種是多點傳播方式。下面分别介紹。
裝置在接入路由器之前,沒有獲得對應密鑰,無法解密路由器區域網路内的資料封包(包括連接配接到目标路由器的使用者手機的封包)。
如下圖所示,裝置在sniffer模式收到的資料封包主體即Frame Body部分是加密的,僅幀頭和整個封包長度是不加密的。要通過手機将配網資訊傳給裝置,那麼就得考慮使用這些資訊。
MAC幀格式:
1)廣播包長方式
資料封包長度共2位元組,且標頭和校驗和占掉了一部分字段故不能從0開始編碼,而太長會導緻整個資料封包備援資料急劇增加,如折中取11bit。
具體方式為:手機端通過發送不同長度的廣播封包,将配網資訊編碼到封包長度資訊中。——有點像藏頭詩吧?
2)多點傳播位址方式
如果使用位址編碼,即使用下圖的DA編碼,那麼就是多點傳播方式。
ieee802.11将224.0.0.0 ~ 239.255.255.255劃定為多點傳播保留位址,在以太網中,目的IP位址為多點傳播保留位址的資料包,目的MAC位址需要做一個映射。具體做法是,MAC位址的3個高位元組固定為01:00:5E,後三個位元組依次為組位址的從高位元組起的第二位元組取低7位、組位址的第三位元組和第四位元組,例如組位址225.215.145.230對應的MAC位址為01:00:5E:57:91:E6。是以有23個bit可使用者編碼。
- 優點:
使用者操作簡單,體驗好(成功時)。
-
缺點:
對手機,路由器都有嚴格的相容性要求,比如有些路由器預設關閉廣播/多點傳播封包轉發使得裝置收不到路由器轉發的封包;手機以5G頻段連接配接到路由器,2.4G的裝置壓根收不到包等,諸如此類不可控因素導緻整體相容性差,配網成功率低。
總結
物聯網剛興起時大多數廠商的預設選擇,在飽受使用者投訴之後慢慢被棄用。
2 裝置熱點配網
裝置熱點配網很好了解:
- 裝置端Wi-Fi進入softAP模式,建立一個約定名稱的AP熱點;
- APP端提示使用者手動将手機連接配接到1中裝置建立的熱點;
- 連接配接建立後,手機與裝置建立區域網路;
- 手機通過UDP/TCP将配網資訊直接傳給裝置;
- 裝置拿到配網資訊後切換回station模式,開始連接配接路由器。
- 成功率高,可靠。
- 使用者操作相對一鍵配網複雜度略高(iphone使用者需要手動跳轉到無線區域網路設定界面連接配接app界面提示的裝置熱點)。
中庸可靠是其取勝之道,在昔日霸主一鍵配網由于成功率不高被廣為吐槽後,裝置熱點配網在市場上的占有率穩定提升。
3 手機熱點配網
這是熱點配網(softAP)的一個變種,熱點不由裝置建立而是由手機建立。
- 裝置無需支援熱點模式,端上開發工作量較低;
可與一鍵配網共存(同時使能),在阿裡雲IOT手機熱點配網中,手機熱點SSID固定為aha,這樣處在一鍵配網模式的裝置一旦掃描到周圍存在aha熱點即嘗試連接配接aha。常用來做備用配網方案。
- 使用者體驗不佳,尤其在ios裝置上APP無法自動建立熱點,需要使用者跳轉設定界面手動改裝置名并手動打開熱點。
曾經作為一個創新在阿裡IoT中作為一鍵配網失敗後的替補方案,由于一鍵配網本身占比降低,替補的出場率也就更低了。
4 藍牙配網
藍牙配網整體流程跟裝置熱點配網差不多。隻不過用ble替換了裝置端的熱點,理論上還是一種基于點對點連接配接的配網方式。
- 相容性較好,成功率高。
使用者體驗好。
- 成本略高。相對與其他配網模式,需要額外增加藍牙硬體成本。
适合與本身既有藍牙又有Wi-Fi的應用場景的裝置,或者模組成本相對不是那麼敏感的土豪裝置。随着低成本BLE的推行,其占有率逐漸提升。
5 路由器配網
路由器配網的思路就是路由器在配網模式下開啟一個特定的用于配網的SSID,裝置發現了這個熱點後連接配接這個熱點以擷取配網資訊,流程跟手機熱點配網相似。其簡化流程圖如下:
- 使用者體驗較好。
- 應用面窄,需滿足裝置跟路由器都為同一方案的場景。
适合端上整套生态打法的廠商。
6 零配
這是一種充分利用待配裝置/及主配裝置的高權限優勢的配網,要求主配和待配裝置的應用程式都能發送和接收802.11管理幀。直接使用802.11 的管理幀(probe request/response)攜帶配網資訊,進而實作高效配網。簡化原理如下:
- 使用者體驗好,成功率高,如智能音響對智能裝置配網即可使用此方式。
- 應用面窄,需要滿足路由器下存在已經配網的同方案裝置的要求。
設計上本身高效可靠,但是由于手機APP權限問題,無法通過第三方程式組裝或者接收Wi-Fi管理幀,限制了其在手機上的應用(手機不能當主配),也就使得其隻能成為一種輔助或者特定領域的配網方式。
三 總結對比
通過一個表格對比各配網方式特點:
四 發展方向
除了上面列出的配網方式外,還有其他一些方向供大家參考。
- Wi-Fi P2P。使用Wi-Fi Direct技術直接将配網資訊通過手機傳給裝置。
缺點:無奈僅Android手機支援Wi-Fi Direct技術,IOS尚不支援。而且不是所有的安卓手機都支援,導緻手機相容性差,一條腿走路注定了無法普及。
- 蘋果AWDL協定。AWDL可以認為是蘋果私有的端上P2P協定,如Air Drop即基于這種協定。無奈協定不開源,即使對協定進行破解,使用起來也存在法務風險。不然可以跟1中方式配合使用,形成互補。
是以,上面兩種方式在通用配網中不會成大氣候。
- 針對特定場景的配網:
- 語音配網(使用本地語音識别技術給帶語音識别子產品的裝置如智能音響配網)。
- 針對智能攝像頭的二維碼配網(攝像頭主動掃手機APP生成的二維碼)等。
借助了自己獨特的軟硬體優勢在相應領域提供體驗上佳的配網體驗,是物聯網發展對細分市場高度定制和優化的表現。
- DPP(Device Provisioning Protocol)。Wi-Fi Easy Connect的重要組成部分,Wi-Fi Alliance官方制定。由4個步驟組成:
- 引導:掃描二維碼或輸入字元串觸發,擷取對方裝置的公鑰以及信道、mac等其他資訊;
- 驗證:待配與主配通過上一步獲得的資訊建立安全連接配接;
- 配置:配網資訊傳輸給待配裝置;
- 接入:待配裝置使用配網資訊向目标AP認證并建立連接配接。
目前DPP還處于标準制定完善階段,尚未商用。不過一旦官方出來制定一套統一配網标準,其前景還是非常可觀的,有望一統江湖,很大程度解決配網碎片化的問題。
在DPP商用之前,裝置熱點配網(↗)/藍牙配網(↗)/一鍵配網(↘)仍然是主流。