目前在家庭物聯網這一塊,絕大部分的電子消費品都是基於wifi聯網的設備。從商家那裡達到消費者手中之後,簡單開機使用無法體現其全部價值,還是需要經過消費者給設備配網的過程,把設備從信息孤島接入互聯互通的世界。 ...
以下內容為本人的學習筆記,如需要轉載,請聲明原文鏈接 微信公眾號「englyf」https://mp.weixin.qq.com/s/tb5eOFNUZLtPPLipLAh3vA
本文大概 1435 個字,閱讀需花 4 分鐘
內容不多,但也花了一些精力
如要交流,歡迎評論區留言
謝謝你的點贊收藏分享
目前在家庭物聯網這一塊,絕大部分的電子消費品都是基於wifi聯網的設備。從商家那裡達到消費者手中之後,簡單開機使用無法體現其全部價值,還是需要經過消費者給設備配網的過程,把設備從信息孤島接入互聯互通的世界。
什麼是配網?
買回來的電子消費品如果需要基於wifi聯網,那麼用戶就需要先通過指定APP告訴自己的設備如何連接wifi(用戶名和密碼),設備才基於獲取的賬戶信息接入網路。
設備成功聯網之後,距離能充分利用網路的功能還是有差距的。這些設備對於用戶來說就是專用的聯網設備,它不可以隨心所欲一會連接百度,一會又連接抖音,它的才能需要專用的伺服器來輔助發揮。
一般物聯網設備,都需要在公網搭配專用伺服器,基於這些伺服器幫助用戶實現對設備的隨時隨地訪問,充分溝通用戶和設備。因此,接入伺服器是第二步。為了伺服器和設備安全通信,令牌信息也不可或缺。
配網的一般過程
一般在配網的最開始階段,APP 先從伺服器請求一個令牌信息。獲得令牌返回後,APP 可通過多種方式傳遞給設備,包括wifi SSID、密碼和令牌。接著 APP 開始嘗試從伺服器獲取已激活的設備信息列表。
然後,設備利用收到的相關信息連接路由器,路由器為接入的設備分配新 IP 地址,設備成功接入網路。
設備連接伺服器,開始設備認證過程。設備將三元組信息接入伺服器,伺服器校驗信息通過。令牌信息上傳給伺服器,完成安全激活。
伺服器向 APP 返回已激活的設備信息列表,配網過程結束。
sequenceDiagram participant APP participant CloudServer participant Device participant Router APP ->> CloudServer : 請求令牌(Token) CloudServer ->> APP : 令牌(Token)返回 loop 各種傳輸手段 APP ->> Device : Token、SSID、Password end APP ->> CloudServer : 請求已激活設備列表 Device ->> Router : 連接路由器 Router ->> Device : 分配 IP 地址 Device ->> CloudServer : 請求激活 CloudServer ->> Device : 激活返回 CloudServer ->> APP : 返回已激活設備列表配網歸類
配網的主流方式有幾種,比如熱點配網、智能配網、藍牙配網等。不同方式之間的主要差異就在於從 APP 傳輸信息給到設備的不同途徑。
熱點配網
熱點配網屬於 wifi 配網的一種,利用設置設備的 wifi 模組為熱點模式,這樣允許手機連接設備的熱點,使得手機和設備處於同一區域網中,APP 即可把令牌、路由器的 SSID 和密碼等信息加密後在區域網內廣播。
設備通過接收區域網內的廣播包來解析並解密,獲取路由器的 SSID 和密碼,然後再切換到 Station 模式去連接路由器,連接成功後則可向雲端發起激活請求,完成綁定激活流程。
由於熱點英文簡稱 AP,所以也叫 AP 模式。
熱點配網流程:
sequenceDiagram participant Device participant APP Device ->> Device : 開啟熱點 APP ->> APP : 連接熱點 APP ->> Device : 廣播配網信息:令牌、SSID、Password Device ->> Device : 接收解析 APP --> Device : 剩餘配網過程智能配網
智能配網,利用設置設備的 wifi 模組為監聽模式,不斷抓取無線報文並對其進行解析,提取需要的信息。手機連接路由器,APP 把令牌、路由器的 SSID 和密碼等信息按一定方式進行編碼,通過組播或廣播方式發射無線報文。
常用的編碼方式有兩種:
先用 UDP 數據包長度來編碼,然後通過 UDP 廣播發送。
先用 MAC 地址來編碼,然後通過 UDP 組播發送。
智能配網也叫快速配網,有的簡稱 EZ 配網。
相比於 AP 配網,EZ 配網雖然也屬於 wifi 配網的一種,但是對最終用戶來說更加便捷。缺點是,EZ 配網對路由器和手機硬體有要求,所以相容性不足,以及無線干擾產生丟包的問題會更明顯,所以 EZ 配網無法保證 100% 成功。
智能配網流程:
sequenceDiagram participant Device participant Router participant APP APP ->> Router : 廣播配網信息:令牌、SSID、Password Router ->> Device : 廣播配網信息:令牌、SSID、Password Device ->> Device : 捕捉無線報文 Device ->> Device : 解析解密 APP --> Device : 剩餘配網過程藍牙配網
藍牙配網,意思就是手機 APP 通過藍牙通道傳輸配網相關信息(令牌信息、路由器的 SSID 和密碼等)給到設備,設備基於這些信息完成配網的過程。
流程是,設備首先是通過藍牙廣播暴露設備相關的信息,手機 App 接收並解析藍牙廣播包,如果廣播包中包含指定服務,則 APP 發起掃描響應請求,進一步獲取設備的詳細信息,獲取到設備完整的信息後在 App 顯示待配網設備。當用戶選擇綁定設備時,App 與設備建立藍牙連接,把配網相關信息通過藍牙通道發送給設備,設備獲取到配網信息,完成激活流程。
藍牙配網的流程如下所示:
sequenceDiagram participant Device participant APP Device ->> APP : 藍牙廣播 APP ->> APP : 接收解析 APP ->> Device : 掃描響應請求 Device ->> APP : 完整詳細信息 APP ->> APP : 顯示待配網設備 APP ->> Device : 建立藍牙連接 APP ->> Device : 配網信息 APP --> Device : 剩餘配網過程