1. 程式人生 > >IoT時代:Wi-Fi“配網”技術剖析總結

IoT時代:Wi-Fi“配網”技術剖析總結

導讀

近年來,物聯網市場競爭激烈,從物聯網平臺廠商,裝置生產商,到服務提供商,都在湧入這片紅海。預計到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的配網方式。

關注高德技術,找到更多出行技術領域專業內容

&n