物聯網 IOT 裝置如何脫離資訊孤島?

2022-12-28 06:00:44

以下內容為本人的學習筆記,如需要轉載,請宣告原文連結 微信公眾號「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 : 剩餘配網過程