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