以下內容為本人的學習筆記,如需要轉載,請宣告原文鏈接 微信公眾號「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 : 剩余配網程序轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/540824.html
標籤:其他
