IoT時代:Wi-Fi「配網」技術剖析總結
- 2019 年 10 月 3 日
- 筆記
導讀
近年來,物聯網市場競爭激烈,從物聯網平台廠商,設備生產商,到服務提供商,都在湧入這片紅海。預計到2020年,全球聯網設備數量將達到260億個,年複合增長率達到20%;全球聯網設備帶來的數據將達到44ZB,這一數據將是2012年的22倍,年複合增長率48%。
物聯網時代對網路的需求
物聯網系統層次
物聯網系統從架構上劃分為三個層次:感知層、網路層、應用層:
-
感知層:解決的是人類世界和物理世界的數據獲取問題,由各種感測器以及感測器網關構成。該層被認為是物聯網的核心層,主要是物品標識和資訊的智慧採集,它由基本的感應器件(例如RFID標籤和讀寫器、各類感測器、攝影機、GPS、二維碼標籤和識讀器等基本標識和感測器件組成)以及感應器組成的網路(例如RFID網路、感測器網路等)兩大部分組成。該層的核心技術包括低速和中高速短距離傳輸技術、自組織組網技術、協同資訊處理技術,感測器網路中間件技術等,涉及的核心產品包括感測器、電子標籤、感測器節點、無線路由器、無線網關等。
-
傳輸層:也被稱為網路層,解決的是感知層所獲得的數據的接入和傳輸功能,是進行資訊交換、傳遞的數據通路。物聯網傳輸層分為有線通訊傳輸層和無線通訊傳輸層。有線通訊技術包括中長距離的廣域網路和短距離的現場匯流排;無線通訊層分為長距離的無線區域網、中短距離的無線區域網和超短距離的無線區域網。而由於物聯網的網路層承擔著巨大的數據量,並且面臨更高的服務品質要求,物聯網需要對現有網路進行融合和擴展,利用新技術以實現更加廣泛和高效的互聯功能。
-
應用層:也可稱為處理層,解決的是資訊處理和人機介面的問題。網路層傳輸而來的數據在這一層里進入各類資訊系統進行處理,並通過各種設備與人進行交互。處理層由業務支撐平台(中間件平台)、網路管理平台(例如M2M管理平台)、資訊處理平台、資訊安全平台、服務支撐平台等組成,完成協同、管理、計算、存儲、分析、挖掘、以及提供面向行業和大眾用戶的服務等功能,典型技術包括SOA技術、海量存儲、分布數據處理、數據挖掘、資訊管理等先進技術可被廣泛採用。
在各層之間,資訊不是單向傳遞的,可有交互、控制等,所傳遞的資訊多種多樣,包括在特定應用系統範圍內能唯一標識物品的識別碼和物品的靜態與動態資訊。
儘管物聯網在環境監測、智慧電力、智慧交通、工業監控、智慧家居等經濟和社會各個領域的應用特點千差萬別,但是每個應用的基本架構都包括感知、傳輸和應用三個層次,各種行業和各種領域的專業應用子網都是基於三層基本架構構建的。
物聯網接入協議與傳輸協議的區別
我們將物聯網通訊協議分為兩大類,一類是接入協議,一類是傳輸協議:
接入協議一般負責子網內設備間的組網及通訊,接入協議大多都不屬於TCP/IP協議族,只能用於設備子網(設備與網關組成的區域網)內的通訊;傳輸協議主要是運行在傳統互聯網TCP/IP協議之上的設備通訊協議,負責設備通過互聯網進行數據交換及通訊。
採用接入協議的物聯網設備,需要通過網關進行協議轉換,轉換成通訊協議才能接入互聯網。而採用通訊協議的物聯網設備,則可以直接接入互聯網。
常用的接入協議包括Wi-Fi、RFID、NFC、ZigBee、Bluetooth、LoRa、NB-IoT、GSM、GPRS、3/4/5G網路、Ethernet、RS232、RS485、USB等等;常用的通訊協議包括HTTP、CoAP、MQTT、XMPP、AMQP、JMS等。接入協議位於網路層次架構中的物理/數鏈層,通訊協議位於應用層。
物聯網接入協議和通訊協議區別如下:
那麼,既然有了可以直接接入互聯網的通訊協議,那麼接入協議的意義何在呢?接入協議的優勢說起了,相對於通訊協議,接入協議所依賴的硬體資源要求更低,功耗更低,網路傳輸的數據量也更小,因此,在控制領域等一些場景中更具優勢。
這些場景中,物聯網設備往往沒有外接電源,因此要求功耗儘可能低,比如,一節紐扣電池能夠供電一年左右。這樣的要求是HTTP等協議的所需的硬體環境難以勝任的。
常用的幾種物聯網接入協議
目前市場上常見的接入協議有ZigBee、藍牙以及Wi-Fi協議等:
- ZigBee目前在工業控制領域應用廣泛,在智慧家居領域也有一定應用。它有以下主要優勢:
①低成本:ZigBee協議數據傳輸速率低,協議簡單,所以開發成本也比較低。並且zigbee協議還免收專利費用。
②低功耗:由於ZigBee協議傳輸速率低,節點所需的發射功率僅1mW,並採用休眠+喚醒模式,功耗極低。
③自組網:通過ZigBee協議自帶的mesh功能,一個子網路內可以支援多達65000個節點連接,可以快速實現一個大規模的感測網路。
④安全性:使用crc校驗數據包的完整性,支援鑒權和認證,並且採用aes-128對傳輸數據進行加密。
ZigBee協議的最佳應用場景是無線感測網路,比如水質監測、環境控制等節點之間需要自組網以相互之間傳輸數據的工業場景中。在這些場景中ZigBee協議的優勢發揮的非常明顯。目前中國外很多廠商也將ZigBee運用在智慧家居方案中。
- 藍牙協議大家都非常熟悉了,特別是隨著藍牙4.0協議推出後發展迅速,目前已經成為智慧手機的標配通訊組件。藍牙4.0之所以在近幾年發展迅速,主要有以下兩點原因:
①低功耗:我認為這個是藍牙4.0的大殺器,使用紐扣電池的藍牙4.0設備可運行一年以上,這對不希望頻繁充電的可穿戴設備具有十分大的吸引力。當前基本世面上的可穿戴設備基本都選用藍牙4.0方案。
②可手機接入:近年來支援藍牙協議基本成為智慧手機的標配,用戶無需購買額外的接入模組。
-
Bluetooth最大的優點是不依賴於外部網路、隨身、低功耗。只要有手機和智慧設備,就能保持穩定的連接,走到哪連到哪。所以大部分運動和戶外使用的設備都會優先考慮Bluetooth。它的主要不足是:不能直接連接雲端,傳輸速度比較慢,組網能力比較弱。
-
Wi-Fi協議和藍牙協議一樣,目前也得到了非常大的發展。由於前幾年家用Wi-Fi路由器以及智慧手機的迅速普及,Wi-Fi協議在智慧家居領域也得到了廣泛應用:
①Wi-Fi可以直接接入互聯網:相對於ZigBee,採用Wi-Fi協議的智慧家居方案省去了額外的網關,相對於藍牙協議,省去了對手機等移動終端的依賴。
②Wi-Fi最大的優點是連接快速、持久、穩定,它是IoT設備端連接的首選方案,唯一需要考慮的是智慧設備對Wi-Fi覆蓋範圍的依賴導致smart devices的活動範圍比較小,不適合隨時攜帶和戶外場景。
相當於藍牙和ZigBee,Wi-Fi協議的功耗成為其在物聯網領域應用的一大瓶頸。但是隨著現在各大晶片廠商陸續推出低功耗、低成本的Wi-Fi soc(如esp8266),這個問題也在逐漸被解決。
何謂“配網”
WIFI的 “聯網”和“自動聯網”
- 連網:一般指的是Wi-Fi設備通過SSID和密碼來連接熱點AP或路由器,以加入後者所建立的網路的過程。
- 自動連網:一般指的是Wi-Fi設備在啟動、掉線、或掃描到特定的SSID後,會使用之前保存的SSID與密碼,自動連接熱點AP或路由器,而不需要手工重新輸入。其中,WIFI設備掉線後的“自動連網”,又常常被稱為“自動重連”。
- 自動連網:一般需要在之前配網成功後,將SSID和密碼進行保存,以便在需要“自動連網”時可以從保存的地址讀取出來使用。
Wi-Fi的“配網”
“配網”指的是,外部向Wi-Fi模組提供SSID和密碼,以便Wi-Fi模組可以連接指定的熱點或路由器並加入後者所建立的相關Wi-Fi網路。
Wi-Fi模組一般不像電腦手機或平板等設備,有豐富的人機交互介面,可以方便的實現配網,因此,Wi-Fi模組的“配網”方式支援,會成為Wi-Fi模組特性的一個基本話題。
能提供方便、靈活多樣、條件約束少的配網方式,常常成為Wi-Fi模組的賣點之一,更是Wi-Fi模組的使用者,在選型時需要慎重考慮評估的一個重要方面。
Wi-Fi常用配網方式及原理實現
常見的配網方式,可歸為如下幾大類:直接配網、WPS配網、WEB配網、SoftAP配網、智慧配網配網、聲波配網。用戶可以根據具體的使用場合選擇各種最適合的配網方式。
直接配網
所謂直接配網,就是通過UART串口、SPI口、SDIO口、I2C等主機介面,按照一定的通訊協議,將SSID和密碼,直接傳遞給WIFI模組。Wi-Fi模組在收到SSID和密碼後去連接熱點或路由器,並將連接的結果從主機介面返回。目前斑馬車機採用的這種方式連接盯盯拍。
例如,常見的通過UART串口AT指令配網、SPI API函數配網、SDIO API函數配網、I2C API函數配網等。
直接配網方式軟體方案實現簡單,但需要鋪設其他的通訊線路,比較適合於板載WIFI模組,或有其他協議傳輸線連接的設備間。因此對於環境要求比較高,需要在系統間有其它的通訊鏈路存在。
WPS配網
路由器中WPS是由Wi-Fi聯盟所推出的全新Wi-Fi安全防護設定(Wi-Fi Protected Setup)標準,該標準推出的主要原因是為了解決長久以來無線網路加密認證設定的步驟過於繁雜艱難之弊病。WPS用於簡化Wi-Fi無線的安全設置和網路管理。它支援兩種模式:個人識別碼(PIN)模式和按鈕(PBC)模式。
這種方式需要模組支援WPS功能。使用者往往會因為步驟太過麻煩,以致乾脆不做任何加密安全設定,因而引發許多安全上的問題。因為安全性的緣故,近幾年已經逐步被放棄,越來越多的路由器開始放棄或者自動關閉對這種方式的支援。
WEB配網
在支援AP模式的Wi-Fi模組上內嵌一個簡易的WEB伺服器,在WEB網頁里提供了配網的交互介面。其他網路設備(例如手機、平板、電腦等)直接連接上Wi-Fi模組的AP熱點,在瀏覽器上打開該WEB網頁,在WEB網頁里配置該Wi-Fi模組去連接其他的AP或路由器。
歸因於近年來越來越多的Wi-Fi晶片解決方案都開始支援STA+AP混合模式(即WIFI模組不僅可以作為工作站STA使用去連接其他路由器或熱點,同時本身也可以作為一個熱點AP供其他WIFI設備節點來連接),也歸因於近年來許多Wi-Fi晶片解決方案越來越高的集成度可以將TCP
IP協議棧直接集成在Wi-Fi模組上,因此,可以簡單地在Wi-Fi模組上直接實現一個WEB伺服器,且這個伺服器可以通過Wi-Fi模組的AP模式直接訪問(不需要依賴其他網路,手機等設備直接訪問WIFI模組自建立的Wi-Fi網路和WEB網頁,進行配置)。
這種配網方式的基本思想是,Wi-Fi模組工作在STA+AP混合模式並啟動內嵌的WEB伺服器,電腦手機或平板等Wi-Fi設備連接WIFI模組所建立的AP熱點,並獲取得到一個IP地址(即:加入了這個Wi-Fi模組的熱點AP模式所建立的Wi-Fi區域網),然後電腦手機或平板等Wi-Fi設備通過其上標配的瀏覽器訪問Wi-Fi模組上的WEB伺服器,在打開的WEB網頁中,完成各種配置,包括設置Wi-Fi模組在STA模式下去鏈接第三方熱點或路由器的SSID和密碼,讓WIFI模組作為STA去連接其他熱點AP或路由器。
SoftAP配網
SoftAP配網方式在小米智慧家居產品中被廣泛應用。其原理是在Wi-Fi網路中另外啟動TCP服務,通過TCP進行SSID和密碼的配置,使智慧硬體接入到指定的路由器。
在機器複位後,首先智慧硬體會工作在Wi-Fi的AP模式,且開啟TCP伺服器,進入監聽狀態。
在此時,使用手機接入該AP熱點,連接成功後,打開客戶端,手機會去連接TCP伺服器,三次握手連接成功後,則傳輸協議數據,內容包括指定智慧硬體將要連接的Wi-Fi的SSID和密碼。
硬體成功接收到手機發來的數據包解析得到Wi-Fi名字和密碼。回復手機正在嘗試連接了。關閉AP模式,開啟station模式連接路由器,成功連接到指定的路由器。然後手機切回到指定路由器並開啟UDP通訊,智慧硬體用UDP協議廣播配網成功數據。
智慧配網(SmartConfig/SmartConnection….)
所謂智慧配網,就是使用Wi-Fi設備本身自帶的WIFI訊號,在MAC層將SSID和密碼按照一定的協議格式填充在MAC包中不加密的包頭部分,採用廣播和抓包方式,從手機等設備將SSID和密碼分段多次傳遞給WIFI模組。
目前市面上常見的多種SmartConfig/SmartConnection技術,雖然各個Wi-Fi晶片方案會取不同的英文名字,但是基本原理則基本相同,只是填充的數據協議格式稍有區別。
智慧配網一般需要在發送SSID和密碼的設備(例如手機)上安裝一個APP,該APP實現了和Wi-Fi模組之間的協議交互(發送SSID和密碼)。
這個功能最早是TI提出並應用於CC3200上;不過從原理上講,只要晶片驅動支援開啟混雜模式(Wi-Fi Promiscuous),就可以支援一鍵配網功能,只是各個廠家叫法及實現編碼方式不同而已。
SNAP:格式數據包
DA:目標MAC地址
SA:源MAC地址
LENGTH:表示後面數據的長度
LLC:表示LLC頭
SNAP:表示3byte的廠商程式碼和2byte的協議類型表示
DATA:載荷數據
FCS:幀檢驗序列
由於無線數據傳播必定是廣播的,所以必然可以被監聽到;如果AP沒有加密的話,UDP直接可以把相關的資訊發送出來.但是路由器AP一般都是加密的,而且加密方式不固定。
Wi-Fi模組在無法直接解析出數據包。從802.11的MAC層幀格式中可以看到, 鏈路層載荷數據(即網路層頭部及網路層數)在數據幀中是清晰可辨的, 只要接收到802.11幀就可以立刻提取出載荷數據, 計算載荷數據的長度自不用說, 而這裡的載荷數據, 通常就是密文。
在發送端,可以採用2種不同的編碼發送方式:
- UDP廣播:從802.11幀格式分析中獲知,無線訊號監聽方的角度來說,不管無線信道有沒有加密,DA、SA、LENGTH、LLC、SNAP、FCS欄位總是暴露的,因此訊號監聽方可以從這6個欄位獲取有效資訊.從發送方講,由於作業系統的限制,如果採用廣播只剩下LENGTH發送方可通過改變其所需要發送數據包的長度進行控制.所以只要指定出一套利用長度編碼的通訊協議,就可利用數據包的Length欄位進行數據傳遞;
- UDP組播:組播地址是保留的D類地址從224.0.0.0-239.255.255.255,IP地址與MAC地址映射關係為:將MAC地址的前25位設定為01.00.5e,而MAC地址的後23位對應IP地址的位;故發送端可以將數據編碼在組播ip的後23bit中,通過組播包發送,接收端進行解碼即可;
接收端進入一鍵配置功能後,Wi-Fi智慧硬體從信道1開始監聽路由上的數據,如當前監聽信道有符合規則的數據包,就停止信道切換,停留在當前信道接收完全部數據.否則就依次切換至信道2.3.4….直到信道14後又從信道1開始繼續監聽依次循環;
當然,Wi-Fi智慧硬體可以在開啟混雜模式之前,先行掃描當前環境下存在的AP獲取所有當前AP的信道,然後只對當前掃描到的信道進行依次監聽,如當前環境下只存在2個路由,分別在1.6信道,只需輪流掃描channel1和channel6,這樣可以提高配置效率。
聲波配網
聲波配網,即通過手機發出聲波,將SSID、password等資訊傳給設備的一種配網方式。通過手機播放聲波把Wi-Fi的初始化連接資訊傳遞給智慧設備,讓設備識別完成Wi-Fi初始化流程建立網路連接。
一定程度上,聲波傳輸可以理解為類似NFC的一種近場通訊技術。適用於沒有觸屏或觸屏較小不易於資訊輸入,但是擁有麥克風的智慧設備,如對話機器人,智慧音響等。其優點是配網速度快、可人耳感知,缺點是受環境干擾較大。
實現聲波配網,首先需要一套特定的演算法庫,演算法庫分手機端和設備端兩部分。手機端演算法庫將ssid資訊由字元串轉化為聲音訊號(PCM),然後將聲音訊號通過音頻模組播放出來。
同時,設備端錄下這一段聲音,然後用同一套演算法庫將聲音資訊解析出來,還原成原來的ssid資訊(字元串),最後用解析到的ssid資訊用於連接WIFI。
編解碼可選擇範圍分為低頻、中頻、高頻三種,其中低頻的頻率範圍為2K~5K,中頻的範圍為8K~12K,高頻的範圍為16K~20K。頻率越高,聲音越尖銳,抗噪性能越強。
顯然聲波配網技術中的技術難點就是聲波傳輸技術。而聲波傳輸的應用其實已經很廣啦:支付寶的聲波支付,QQ音樂中的歌曲的聲波分享,茄子快傳,蛐蛐兒等。
其實原理很簡單,可以近似理解為對稱加密,加解密的過程大概如下所示:
僅傳輸ASCII可列印字元。
傳輸UTF-8字元串。
簡單的說就是在發送端把你把要識別的字元映射成頻率,然後把一個頻率映射成一個音節訊號(單頻率的正弦波)編碼成音頻播放;在接收端接收到音頻訊號後,解析出頻率,然後根據兩邊共同的碼錶找到頻率對應的字元,從而解碼出數據。
具體來說就是我們可以將700HZ的正弦波對應成字元’a’,800HZ的正弦波對應數字’b’,900HZ的正弦波對應數字’c’,以此類推。那麼數字串”abc”就對應成頻率串就是{700,800,900},然後把這個頻率串變成3個音節的正弦波音頻。如果規定每個音節持續100ms,則{700,800,900}對應300毫秒的音頻段。接收方錄製聲音,對收到的聲音進行解析,識別出700HZ,800HZ,900HZ三段正弦波頻率,然後查找碼錶,解碼出的字元串就是”abc”。
聲波配網主要流程如下:
- 首先,在手機(或平板等其它一代設備)輸入ssid資訊(或獲取當前或系統保存的ssid資訊),將資訊由buffer編碼為pcm數據;
- 將使用演算法庫編碼出來的pcm數據通過喇叭播放出來,同時,設備端打開錄音,捕獲pcm數據;
- 設備端將pcm數據通過演算法庫解碼回原來的buffer數據;
- 從數據中解析出ssid、password等資訊,並將其用於連接路由器。
IOT場景下的Wi-Fi配網選擇
Wi-Fi作為最適合物聯網連接的技術,它可以作為物聯網的粘合劑。隨著連接節點的無限激增,聯網設備的覆蓋面和總量也將隨著快速增長。其內部集成了射頻收發、MAC、基頻處理、Wi-Fi協議和配置資訊及網路協議棧,用戶利用它可以輕鬆實現串口設備的無線網路功能。用戶在實際使用中可根據表中各配網方式的優劣選擇。
高德今年發布天貓精靈高德版套裝。車盒藉助盯盯拍mini3行車記錄儀的攝影機實現AR導航功能。在該案例中,充分考慮產品功能,論證其安全性,採用SoftAP的配網方式。
關注高德技術,找到更多出行技術領域專業內容