AI產品經理的必修課:物聯網通訊的設計方法
本文主要從5大方面具體介紹了關于物聯網通訊的相關知識,分別是什么是物聯網通信、物聯網通信有哪些通信技術、有哪些協議、協議是如何選擇的以及物聯網通訊技術選型考量因素。enjoy~
通信對物聯網來說十分常用且關鍵,無論是近距離無線傳輸技術還是移動通信技術,都影響著物聯網的發展。
隨著時代進步和發展,社會逐步進入互聯網+,各類傳感器采集數據越來越豐富,大數據應用隨之而來,人們考慮把各類設備直接納入互聯網以方便數據采集、管理以及分析計算。
簡而言之,物聯網智能化已經不再局限于小型設備、小網絡階段,而是進入到完整的智能工業化領域,智能物聯網化在大數據、云計算、虛擬現實上步入成熟,并納入互聯網+整個大生態環境。
一、什么是物聯網通信
物聯網的概念是在1999年提出的,簡單而言,物聯網就是“物物相連的互聯網”,其核心就是將所有物品通過射頻識別等信息傳感設備與互聯網連接起來,?實現智能化識別和管理。物聯網是指各類傳感器和現有的互聯網相互銜接的一個新技術。
1. 物聯網分為有線連接和無線連接
連接方式可以分成有線連接和無線連接,我們這里講的連接,其目的都是要進行通信,因此也就分別使用有線通信技術和無線通信技術。
2. 物聯網通信分為短距離通信和長距離通信
有很多的場合人和物只需要跟附近的通信終端通信,例如在家里,辦公室,工廠等等。這個場景一般局域網或者wifi就可以。但是也存在長距離的應用場景,例如兩個城市之間的網絡要連接起來,在高速上的車輛或乘客,甚至是海洋上的漁船。
通常我們把通信距離在100m以內的通信稱之為短距離通信,而通信距離超過1000m的稱之為長距離通信。
現實中有很多種通信技術可以滿足各種不同的通信需求,但是還沒有哪一種通信技術可以滿足所有的通信需求。
二、物聯網通信有哪些通信技術
通信技術主要是強調信息從信源到目的地的傳輸過程所使用的技術,還有一個問題是各種通信技術之間如何能協同工作呢?
為此,國際標準化組織提出了開放系統互連參考模型OSI,也就是網絡分成了物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層和應用層。也就是這個偉大的標準最終形成了互聯網,以及無所不連的物聯網。
1. 有線通信:以太網
以太網(Ethernet)是一種局域網通信技術, IEEE組織的IEEE 802.3標準制定了以太網的技術標準,它規定了包括物理層的連線、電子信號和介質訪問層協議的內容。
以太網使用雙絞線作為傳輸媒介,在沒有中繼的情況下,最遠可以覆蓋200米的范圍。最普及的以太網類型數據傳輸速率為100Mb/s,更新的標準則支持1KMb/s和10KMb/s的速率。
2. 有線通信:串口通信技術
串口(Serial port)是一種非常通用的用于設備之間通信的接口,也廣泛用于設備以及儀器儀表之間的通信。常見的串口有RS-232(使用 25 針或 9 針連接器)和工業電腦應用的半雙工RS-485與全雙工RS-422。
3. 有線通信:Modbus
和同前面幾種通信技術不一樣,通常認為Modbus只是使用串行方式進行通信的應用層協議標準,它并不包含電氣方面的規范。
Modbus最初是Modicon于1979年為使用可編程邏輯控制器(PLC)通信而發表的,后來衍生出Modbus RTU,Modbus ASCII和Modbus TCP三種模式,前兩種所用的物理接口是上面介紹的串口,后一種使用Ethernet接口。
4. 無線短距通信:Wi-Fi
Wi-Fi是一種無線局域網通信技術,全稱Wireless-Fidelity,無線保真,通信距離通常在幾十米。
Wi-Fi的缺點是通信距離有限,穩定性差,功耗較大,組網能力差。
5. 無線短距通信:藍牙
藍牙(BlueTooth)是一種設備之間進行無線通信的技術,曾經標準化為IEEE 802.15.1,現在藍牙技術聯盟(SIG)來負責維護其技術標準,藍牙標準最新版本藍牙5在2016年6月被宣布。
藍牙使用短波特高頻(UHF)無線電波,經由2.4至2.485GHz的ISM頻段來進行通信,通信距離從幾米到幾百米不等。
Bultooth Smart技術的藍牙設備之間可以直接“對話”。但是藍牙的缺點主要是其各個版本不兼容,安全性差(4.0以后得到改進),組網能力差,以及在2.4GHz頻率上的電波干擾問題等等。
6. 無線短距通信:ZigBee
ZigBee被標準化為IEEE 802.15.4,工作頻段有三個:868MHz-868.6MHz、902MHz-928MHz和2.4GHz-2.4835GHz,其中最后一個頻段世界范圍內通用,16個信道,并且該頻段為免付費、免申請的無線電頻段。
三個頻段傳輸速率分別為20kbps,40kbps以及250kbps。但是實際中ZigBee遠沒有像Wi-Fi或者藍牙那樣得到廣泛的應用,這是由于它復雜,成本高,抗干擾性差,ZigBee協議沒有開源,以及和IP協議不的對接比較復雜等等又限制了它在實際中的應用。
7. 無線短距通信:LoRa
LoRa來源于Long Range這個單詞,是一種長距離通信的通信技術。LoRa技術基于線性Chirp擴頻調制,延續了移頻鍵控調制的低功耗特性,但是大大增加了通信范圍。
LoRa技術應用典型場景包括:超長電池壽命(幾年),節點之間長距離通信,低速率(如每小時只要傳遞幾次數據)。和NB-IoT技術一樣,也可以犧牲低功耗指標來提高速率。
8. 無線遠距通信GPRS
GPRS是通用分組無線電服務(General Packet Radio Service)的縮寫,GPRS是終端和通信基站之間的一種遠程通信技術。
最后,由于移動通信終端的普及,其成本已經大大降低,因此在物聯網中采用GPRS通信技術,其硬件成本相比Wi-Fi或者ZigBee都有較大的優勢。
但是GPRS終端在通信時要使用電信運營商的基礎設施,因此需要繳納一定的費用,即數據流量費,這個服務費用限制了大量設備連接到網絡。
GPRS的速率較低,是另外一個問題。?GPRS通信質量受信號強弱影響較大,無信號覆蓋或者較弱的地方通信效果很差,可能影響業務的完成。
9. 無線近距通信:NFC
NFC,Near-field communication,中文常翻譯為近場通信。NFC是一種短距高頻的無線電技術,屬于RFID技術的一種,工作頻率在13.56MHz,有效工作距離在20cm以內。其傳輸速度有106Kb/s、212Kb/s或者424Kb/s三種。通過卡、讀卡器以及點對點三種業務模式進行數據讀取與交換。
但是NFC沒有其他無線通信那種無線信號被竊聽的風險,但是其NFC卡過于簡單以及被動式響應的設計也是不安全的因素。見到報道的風險例如:即NFC銀行卡內的交易信息,很容易被其他讀卡器,甚至智能手機讀取。
三、物聯網通信有哪些協議
我們將物聯網協議分為兩類,一類是傳輸協議,另一類是通信協議。 傳輸協議通常負責子網中設備之間的聯網和通信。
我們之前已經為每個人做過一門科學,并且對文章進行了詳細介紹。 通信協議主要是運行在傳統Internet TCP / IP協議上的設備通信協議,并負責通過Internet在設備之間進行數據交換和通信。
1. HTTP協議
HTTP協議是典型的CS通訊模式,由客戶端主動發起連接,向服務器請求XML或JSON數據。該協議最早是為了適用web瀏覽器的上網瀏覽場景和設計的,目前在PC、手機、pad等終端上都應用廣泛,但并不適用于物聯網場景。
2. REST/HTTP(松耦合服務調用)
REST?(RepresentationalState Transfer),表征狀態轉換,是基于HTTP協議開發的一種通信風格,目前還不是標準。
適用范圍:REST/HTTP主要為了簡化互聯網中的系統架構,快速實現客戶端和服務器之間交互的松耦合,降低了客戶端和服務器之間的交互延遲。因此適合在物聯網的應用層面,通過REST開放物聯網中資源,實現服務被其他應用所調用。
3. CoAP協議
CoAP?(ConstrainedApplication Protocol),受限應用協議,應用于無線傳感網中協議。
適用范圍:CoAP是簡化了HTTP協議的RESTful API,CoAP是6LowPAN協議棧中的應用層協議,它適用于在資源受限的通信的IP網絡。
4. MQTT協議(低帶寬)
MQTT?(MessageQueuing Telemetry Transport?),消息隊列遙測傳輸,由IBM開發的即時通訊協議,相比來說比較適合物聯網場景的通訊協議。
MQTT協議采用發布/訂閱模式,所有的物聯網終端都通過TCP連接到云端,云端通過主題的方式管理各個設備關注的通訊內容,負責將設備與設備之間消息的轉發。
5. DDS協議(高可靠性、實時)
DDS(DataDistribution Service for Real-Time Systems),面向實時系統的數據分布服務,這是大名鼎鼎的OMG組織提出的協議,其權威性應該能證明該協議的未來應用前景。
6. AMQP協議(互操作性)
AMQP(AdvancedMessage Queuing Protocol),先進消息隊列協議,這是OASIS組織提出的,該組織曾提出OSLC(OpenSource Lifecyle)標準,用于業務系統例如PLM,ERP,MES等進行數據交換。
適用范圍:最早應用于金融系統之間的交易消息傳遞,在物聯網應用中,主要適用于移動手持設備與后臺數據中心的通信和分析。
7. XMPP協議(即時通信)
XMPP(ExtensibleMessaging and Presence Protocol)可擴展通訊和表示協議,XMPP的前身是Jabber,一個開源形式組織產生的網絡即時通信協議。XMPP目前被IETF國際標準組織完成了標準化工作。
即時通信的應用程序,還能用在網絡管理、內容供稿、協同工具、檔案共享、游戲、遠端系統監控等。
8. JMS(Java Message Service)
JMS?(JavaMessage Service),JAVA消息服務,這是JAVA平臺中著名的消息隊列協議。
Java消息服務(JavaMessage Service)應用程序接口,是一個Java平臺中關于面向消息中間件(MOM)的API,用于在兩個應用程序之間,或分布式系統中發送消息,進行異步通信。Java消息服務是一個與具體平臺無關的API,絕大多數MOM提供商都對JMS提供支持。
四、物聯網協議的選擇
1. 發布/訂閱服務更適合物聯網環境下通信
DDS、MQTT、AMQP和JMS都是基于發布/訂閱模式,發布/訂閱框架具有服務自發現、動態擴展、事件過濾的特點,它解決了物聯網系統在應用層的數據源快速獲取、物的加入和退出、興趣訂閱、降低帶寬流量等問題,實現物的聯接在空間上松耦合(雙方無需知道通信地址)、時間上松耦合和同步松耦合。
2. 服務質量(QoS)是物聯網通信中的重要考慮因素
在服務策略的幫助下,DDS能夠有效地控制和管理網絡帶寬、內存空間等資源的使用,同時也能控制數據的可靠性、實時性和數據的生存時間,通過靈活使用這些服務質量策略,DDS不僅能在窄帶的無線環境上,也能在寬帶的有線通信環境上開發出滿足實時性需求的數據分發系統。
五、物聯網通訊技術選型考量因素
上面介紹了幾種通訊技術,下面,我們介紹選擇通訊技術時需要考量的幾個點。
1. 覆蓋范圍
覆蓋范圍是指節點(終端)和網關(基站)的有效通信范圍,是衡量通信技術的一個重要指標。物聯網的應用通常是具備數據量小、設備數量多、分布散等特點,因此覆蓋范圍便是很重要的一個因素。
覆蓋范圍越大需要的基站數量也就越少,同時基站和布設的成本以及難度也會大大降低。在覆蓋范圍上LoRa、NB-IOT、ZETA的覆蓋范圍都是在數十公里上的,ZigBee和藍牙都是在百米以內。
如果你的應用場景需要覆蓋范圍廣是硬性指標,那么就不用考慮后面兩種了。從上圖可以看來,通常情況下通訊頻段越低其覆蓋范圍越大,這里主要是因為越低的頻段在空氣和物體中傳播時衰減越小,反之亦然。
2. 通信速率
通信速率是節點或網關在一定時間內可以傳輸數據的數量。假設一個網關的通信速率是10kbps(1280字節),一個傳感器的一次數據是8字節。
那么也就是說這個網關或節點最多每秒可以收發1280字節/8字節=160個傳感器的數據。當然這只是理論值,實際會因避免數據沖突以及數據下發等因素影響。通訊速率和網關的信道數量有關,信道越多速率越高。
在常用通訊技術上來說一般是速率越高越好,不過在物聯網行業本身特性就沒有特別大的數據量需要傳輸,因此在考慮通訊速率時主要考慮在一個區域下有多少設備?會產生多大的并發數據量?什么通訊技術的網關可以承載這些數量,以此選擇適合的通訊技術并預留一些冗余即可。
3. 通信頻段
頻段指的是電磁波的頻率范圍,單位為Hz,我們常說的2.4G或5GWIFI其實指的就是頻段。無線電的頻段是有免授權和授權兩種類型的,像是WIFI用的2.4G、5G和LoRa在中國使用的470~510MHz等都是免授權頻段,因此我們可以直接免費使用。
還有一些頻段是受國家管制的,是需要向國家申請才可使用。因此我們選擇頻段的時候需要考慮頻段是否需要授權,如果是非授權頻段也要考試頻段是否擁擠?以及如何處理同頻段干擾問題。
無線電的頻段越高其數據的傳輸速率也就越高,當然功耗隨之增加。物聯網行業很多的設備通常都是數據量小、使用電池供電,所以需要設備盡可能降的低功耗,像是WiFi這種高功耗的通訊技術使用場景就非常有限了,通常只會用在小范圍內的有源設備上。
4. 運營商網絡&私有網絡
運營商網絡是指聯通、移動、電信等公司搭建的通訊網絡,這類網絡的網關是運營商搭建的,因此是不可以通過此類網絡實現本地設備的局域網通訊,也無法實現本地多數據源的邊緣計算。
運營商網絡覆蓋范圍大、信號穩定、用戶接入即可使用,當然也是需要支付通訊費用。
像是共享單車這類數據量小、設備分散且不固定的應用場景,使用運營商網絡是最適合的,但如果是場地固定、設備集中或需要多數據源以及大量數據的邊緣計算場景,那么搭建私有網絡是比較合適的,這樣會省去很多通訊費用,并且數據的響應速度也會比較快。
5. 功耗
功耗是物聯網行業一直要做取舍和頭疼的問題,除了上面說的頻段越高,傳輸速率越大,能耗越高之外,還有一個影響功耗的因素就是通訊協議。
像是WIFI這類通訊協議相對比較復雜,并且會保持長連接,因此會比較費電。而像是LoRa、ZigBee、NB-IOT這類技術的通訊協議簡單報文長度短,且具備多種工作模式,可以根據應用場景調整工作模式從而實現減低功耗的目的。
6. 單跳&多跳通訊
單跳的通訊方式是節點——網關——云端,也就是說節點的數據通過網關直接上云,不可以在網關之間進行路由轉發。
這種方式單個網關的信號范圍就是其可以使用的范圍,如果想覆蓋更大或更遠的范圍則只能增加網關,但是每個網關需要連接以太網進將數據上云,因此網關的聯網成本和復雜度較高,需要網關布設的地方同時具備電源和網絡覆蓋。
多跳通訊方式是節點——網關——中繼——云端的架構,也就是說數據可以在網關和中繼之間做路由跳轉,最后通一個網關將多個中繼下終端的數據上云。
這種多跳方式可以通過增加中繼覆蓋更大或更遠的范圍,并且只需要一個網關具備數據上云能力即可。這樣的話哪些中繼設備只需要有電源供應即可,甚至可以使用電池供電,這樣布設成本和布設難度將大大降低。
這種方式最適合的應用場景是高壓線路的通訊等范圍大、數據量小方面的應用,因為一般高壓電基站都是在空曠的田野或山區中假設,相聯網相對比較麻煩,通過多跳通訊只要一個網關能聯網上云就可以帶動很多網關的數據上云。
LoRa等通訊都是屬于單跳通訊,ZETA、ZigBee、WIFI、藍牙等通訊是屬于多跳通訊。在使用多跳通訊的時候需要注意的是上云網關通訊速率的大小直接限制了通過它上云網關的總通訊速率大小。
總結
在萬物互聯的時代,不同場景下的各種傳感器如何選擇合適的物聯網通信方式至關重要,對于系統的穩定性和可靠性有很大影響。了解各種通信技術和通信協議是硬件AI產品經理的必修課。
#專欄作家#
老張,人人都是產品經理專欄作家。AI產品經理,專注于自然語言處理和圖像識別領域?,F智能保險創業公司合伙人,希望與人工智能領域創業者多多交流。
本文原創發布于人人都是產品經理,未經許可,禁止轉載
題圖來自 Unsplash,基于 CC0 協議
好文,可以考慮各種模式結合協議的方式,?幾個例子嗎?比如wifi的sta模式
好主意,可以再展開來說說