摘要:本文介紹物聯網基礎知識:什麼是物聯網,以及常見的物聯網協議。
01 什麼是物聯網?
物聯網(Internet of Things)這個概念讀者應該不會陌生。物聯網的概念最早於1999年被提出來,曾被稱為繼計算機、網際網路之後,世界資訊產業發展的第三次浪潮,到現在已經發展了20餘年。
如今,在日常生活中,我們已經可以接觸到非常多的物聯網產品,例如各種智慧家電、智慧門鎖等,這些都是物聯網技術比較成熟的應用。
物聯網最早的定義是:把所有物品透過射頻識別等資訊感測裝置與網際網路連線起來,實現智慧化識別和管理。當然,物聯網發展到今天,它的定義和範圍已經有了擴充套件與變化,下面是現代物聯網具有的特點。
1. 物聯網也是網際網路
物聯網,即物的網際網路,屬於網際網路的一部分。物聯網將網際網路的基礎設施作為資訊傳遞的載體,即現代的物聯網產品一定是“物”透過某種方式接入了網際網路,而“物”透過網際網路上傳/下載資料,以及與人進行互動。
舉個透過手機App遠端啟動汽車的例子,當用戶透過App完成啟動操作時,指令從已接入網際網路的手機發送到雲端平臺,雲端平臺找到已接入網際網路的車端電腦,然後下發指令,車端電腦執行啟動命令,並將執行的結果反饋到雲端平臺;同時,使用者的這次操作被記錄在雲端,使用者可以隨時從App上查詢遠端開鎖記錄歷史。
這就是一個典型的物聯網場景,它是屬於網際網路應用的一種。“物”接入網際網路,資料和資訊透過網際網路互動,同時資料和其他網際網路應用一樣匯聚到了雲端。
2. 物聯網的主體是“物”
前面說現代物聯網應用是一種網際網路應用,但是物聯網應用和傳統網際網路應用又有一個很大的不同,那就是傳統網際網路生產和消費資料的主體是人,而現代物聯網生產和消費資料的主體是物。
在現代物聯網的應用場景下,資料的生產方是“物”,比如智慧裝置或者感測器,資料的消費者往往也是“物”。
在智慧農業的應用中,孵化室中的溫度感測器將孵化室中的溫度週期性地上傳到控制中心。當溫度低於一定閾值時,中心按照預設的規則遠端開啟加溫裝置。在這一場景中,資料的生產者是溫度感測器,資料的消費者是加溫裝置,二者都是“物”,人並沒有直接參與其中。
物聯網和傳統網際網路最大的不同:資料的生產者和消費者主要是物,資料內容也是和“物”息息相關的。
3. 物聯網和人工智慧
人工智慧可謂近年來IT領域最火的詞語之一。縱觀人工智慧的發展路線,我們可以看到,人工智慧的發展之所以能夠突飛猛進,主要有以下兩個原因。
﹣硬體的發展使得深度學習神經網路的學習時間迅速縮短。
﹣在大數據的時代,獲取大量資料的成本變低。
事實上,第二個原因尤為重要,神經網路由於其特性,需要海量的資料進行學習,可供學習的有效資料量往往決定了最後訓練出的神經網路的效果,甚至演算法的重要性都可以排在資料量之後。
而物聯網裝置,比如智慧家電、可穿戴裝置等,每天都在產生海量的資料,這些資料經過處理和清洗後,都可以作為不錯的訓練資料反哺神經網路。同時,訓練出來的神經網路又可以重新應用到物聯網裝置中,進而形成一個良性迴圈。
圖1–1所示為物聯網應用人工智慧方法進行資料採集-迭代的迴圈。透過物聯網裝置採集並訓練資料,在資料中心完成訓練後,將模型應用到物聯網裝置,並評估效果進行下一次迭代。
物聯網是人工智慧落地的一個非常好的應用場景。隨著人工智慧的迅速發展,物聯網這個同樣在很多年前就提出的理論和技術,也會迎來新的春天。
目前,網際網路資料入口漸漸朝幾大巨頭(例如阿里、騰訊)匯聚,規模較小的公司獲取資料的代價越來越高,物聯網這塊還未完全開發的資料領域就顯得尤為重要。
前端裝置最終會趨於相同,出現同質化競爭,而如何採集和使用好裝置產生的海量資料,才是你是否具有競爭優勢的決定性因素。
4. 物聯網的現狀與前景
隨著5G時代的來臨,物聯網的發展將會非常迅速。同時,物聯網方向的新增融資也一直處於上升趨勢。下面再從應用場景角度來談一下物聯網行業的發展前景。
物聯網的應用場景非常廣泛,包括:
﹣智慧城市
﹣智慧建築
﹣車聯網
﹣智慧社群
﹣智慧家居
﹣智慧醫療
﹣工業物聯網
在不同的場景下,物聯網應用的差異非常大,終端和網路架構的異構性強,這意味著在物聯網行業存在足夠多的細分市場,這就很難出現一家在市場份額上具有統治力的公司,同時由於市場夠大,所以能夠讓足夠多的公司存活。這種情況在網際網路行業是不常見的,網際網路行業的頭部效應非常明顯,市場絕大部分份額往往被頭部的兩三家公司佔據。
物聯網模式相對於網際網路模式來說更“重”一些。物聯網的應用總是伴隨著前端裝置,這也就意味著使用者的切換成本相對較高,畢竟拆除裝置、重新安裝裝置比動動手指重新下載一個應用要複雜不少。
這也就意味著,資本的推動力在物聯網行業中相對更弱。如果你取得了先發優勢,那麼後來者想光靠資本的力量趕上或者將你擠出市場,那他付出的代價要比在網際網路行業中大得多。
所以說,物聯網行業目前仍然是一片藍海,小規模公司在這個行業中也完全有能力和大規模公司同臺競爭。在AI和區塊鏈的熱度冷卻後,物聯網很有可能會成為下一個風口。作為程式設計師,在風口來臨之前,提前進行一些知識儲備是非常有必要的。
02 常見的物聯網協議
1. MQTT協議
MQTT協議(Message Queue Telemetry Transport,訊息佇列遙測傳輸協議)是IBM的Andy Stanford-Clark和Arcom的Arlen Nipper於1999年為了一個透過衛星網路連線輸油管道的專案開發的。為了滿足低電量消耗和低網路頻寬的需求,MQTT協議在設計之初就包含了以下幾個特點:
﹣實現簡單
﹣提供資料傳輸的QoS
﹣輕量、佔用頻寬低
﹣可傳輸任意型別的資料
﹣可保持的會話(Session)
隨著多年的發展,MQTT協議的重點不再只是嵌入式系統,而是更廣泛的物聯網世界。
簡單來說,MQTT協議有以下特性:
﹣基於TCP協議的應用層協議
﹣採用C/S架構
﹣使用訂閱/釋出模式,將訊息的傳送方和接受方解耦
﹣提供3種訊息的QoS(Quality of Service):至多一次、最少一次、只有一次
﹣收發訊息都是非同步的,傳送方不需要等待接收方應答
MQTT協議的架構由Broker和連線到Broker的多個Client組成,如圖2–1所示。
MQTT協議可以為大量的低功率、工作網路環境不可靠的物聯網裝置提供通訊保障。而它在移動網際網路領域也大有作為,很多Android App的推送功能都是基於MQTT協議實現的,一些IM的實現也是基於MQTT協議的。
2. MQTT-SN協議
MQTT-SN(MQTT for Sensor Network)協議是MQTT協議的感測器版本。MQTT協議雖然是輕量的應用層協議,但是MQTT協議是運行於TCP協議棧之上的,TCP協議對於某些計算能力和電量非常有限的裝置來說,比如感測器,就不太適用了。
MQTT-SN執行在UDP協議上,同時保留了MQTT協議的大部分信令和特性,如訂閱和釋出等。MQTT-SN協議引入了MQTT-SN閘道器這一角色,閘道器負責把MQTT-SN協議轉換為MQTT協議,並和遠端的MQTT Broker進行通訊。MQTT-SN協議支援閘道器的自動發現。MQTT-SN協議的通訊模型如圖2–2所示。
3. CoAP協議
CoAP(Constrained Application Protocol)協議是一種執行在資源比較緊張的裝置上的協議。CoAP協議通常也是執行在UDP協議上的。
CoAP協議設計得非常小巧,最小的資料包只有4個位元組。CoAP協議採用C/S架構,使用類似於HTTP協議的請求-響應的互動模式。裝置可以透過類似於coap://192.168.1.150:5683/2ndfloor/temperature的URL來標識一個實體,並使用類似於HTTP的PUT、GET、POST、DELET請求指令來獲取或者修改這個實體的狀態。
同時,CoAP提供一種觀察模式,觀察者可以透過OBSERVE指令向CoAP伺服器指明觀察的實體物件。當實體物件的狀態發生變化時,觀察者就可以收到實體物件的最新狀態,類似於MQTT協議中的訂閱功能。CoAP協議的通訊模型如圖2–3所示。
4. LwM2M協議
LwM2M( Lightweight Machine-To-Machine )協議是由Open Mobile Alliance(OMA)定義的一套適用於物聯網的輕量級協議。它使用RESTful介面,提供裝置的接入、管理和通訊功能,也適用於資源比較緊張的裝置。LwM2M協議的架構如圖2–4所示。
LwM2M協議底層使用CoAP協議傳輸資料和信令。而在LwM2M協議的架構中,CoAP協議可以執行在UDP或者SMS(簡訊)之上,透過DTLS(資料報傳輸層安全)來實現資料的安全傳輸。
LwM2M協議架構主要包含3種實體 — — LwM2M Bootstrap Server、LwM2M Server和LwM2M Client。
LwM2M Bootstrap Server負責引導LwM2M Client註冊並接入LwM2M Server,之後LwM2M Server和LwM2M Client就可以透過協議指定的介面進行互動了。
5. HTTP協議
正如我們之前所講,物聯網也是網際網路,HTTP這個在網際網路中廣泛應用的協議,在合適的環境下也可以應用到物聯網中。
在一些計算和硬體資源比較充沛的裝置上,比如執行安卓作業系統的裝置,完全可以使用HTTP協議上傳和下載資料,就好像在開發移動應用一樣。裝置也可以使用執行在HTTP協議上的WebSocket主動接收來自伺服器的資料。
6. LoRaWAN協議
LoRaWAN協議是由LoRa聯盟提出並推動的一種低功率廣域網協議,它和我們之前介紹的幾種協議有所不同。MQTT協議、CoAP協議都是執行在應用層,底層使用TCP協議或者UDP協議進行資料傳輸,整個協議棧執行在IP網路上。而LoRaWAN協議則是物理層/資料鏈路層協議,它解決的是裝置如何接入網際網路的問題,並不執行在IP網路上。
LoRa(Long Range)是一種無線通訊技術,它具有使用距離遠、功耗低的特點。在上面的場景下,使用者就可以使用LoRaWAN技術進行組網,在工程裝置上安裝支援LoRa的模組。
透過LoRa的中繼裝置將資料發往位於隧道外部的、有網際網路接入的LoRa閘道器,LoRa閘道器再將資料封裝成可以在IP網路中透過TCP協議或者UDP協議傳輸的資料協議包(比如MQTT協議),然後發往雲端的資料中心。
7. NB-IoT協議
NB-IoT(Narrow Band Internet of Things)協議和LoRaWAN協議一樣,是將裝置接入網際網路的物理層/資料鏈路層的協議。
與LoRA不同的是,NB-IoT協議構建和執行在蜂窩網路上,消耗的頻寬較低,可以直接部署到現有的GSM網路或者LTE網路。裝置安裝支援NB-IoT的晶片和相應的物聯網絡卡,然後連線到NB-IoT基站就可以接入網際網路。而且NB-IoT協議不像LoRaWAN協議那樣需要閘道器進行協議轉換,接入的裝置可以直接使用IP網路進行資料傳輸。
NB-IoT協議相比傳統的基站,增益提高了約20dB,可以覆蓋到地下車庫、管道、地下室等之前訊號難以覆蓋的地方。
更多關於從0到1搭建物聯網平臺的方法,推薦閱讀《物聯網系統開發:從0到1構建物聯網IoT平臺》。
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
更多精彩內容,按讚我的臉書 IT Value 研討社,獲得24個行業240份企業數位轉型資料喔!等你來看喔 😃