物聯網系統架構介紹
下面將談到幾個關鍵問題: 裝置如何接入網路。 裝置間如何通訊。 物聯網資料的用途? 如何搭建起一個物聯網系統架構呢。它的技術架構又是怎麼樣呢。 物聯網終端軟體系統架構。 物聯網雲平台系統架構。 1. 物聯網裝置如何接入到網路。
只有裝置接入到網路裡面,才能算是物聯網裝置。這裡涉及到2個關鍵點:接入方式以及網路通訊方式。 裝置接入方式:
當前有2種接入方式 直接接入:物聯網終端裝置本身具備連網能力直接接入網路,比如 在裝置端加入NB-IOT通訊模組,2G通訊模組。 網關接入:物聯網終端裝置本身不具備入網能力,需要在本機群組網後,需要統一通過網關再接入到網路。 比如終端裝置通過zigbee無線組網,然後各裝置資料通過Zigbee網關統一接入到網路裡面。常用到本地無線組網技術有Zigbee,Lora,BLE MESH, sub-1GHZ等。
在物聯網裝置裡面,物聯網網關是一個非常重要的角色。一個處在本地區域網路與外部接入網路之間的智慧型裝置。主要的功能是網路隔離,協議轉化/適配以及資料網內外傳輸。
一個典型的物聯網網關架構如下:
網路通訊方式
常用的通訊網路主要存在2種方式:
1.移動網路(主要戶外裝置用)
移動網路2G/3G/4G/5G/NB-IOT等
2.寬頻(主要戶內裝置用)
WIFI,Ethernet等 物聯網裝置接入網路後如何開展M2M,M2C通訊。
物聯網裝置終端接入網路後,只是物聯網應用的開始。 裝置接入網路後,裝置與裝置之間需要互相通訊, 裝置與雲端需要互相通訊。 只有互連,物聯網的價值才展現出來。 既然要互連,則需要一套物聯網通訊協定。只有遵循該套協議的裝置相互間能夠通訊,能夠交換資料。
常用的物聯網通訊協定有哪些。 主要有如下協議:MQTT,COAP等,他們有個共同點都是基於訊息模型來實現的。裝置與裝置之間,裝置與雲端之間通過交換訊息來實現通訊,訊息裡面攜帶了通訊資料。 物聯網裝置之間,裝置與雲平台能夠交換資料後,接下來要幹怎麼呢。
21世紀,什麼最重要。資料。 有了大量的物聯網裝置資料後, 針對資料,人類可以去挖掘裡面的規律,挖掘裡面的商業價值,對裝置未來的狀態進行預測等等。
對於物聯網資料應用,分幾個層次來講
1. 基礎應用:監控
通過物聯網收集到裝置資料後, 如果裝置資料狀態超過預設的狀態則自動第一時間警示,管理員第一時間開展處理,可以通過遠程操作,下達命令。把問題解決在萌芽狀態。
2.進階應用: 報表統計
通過統計方法, 對裝置的曆史運行資料進行統計分析。可以按不同維度分析出不同報告。然後以圖表或者大屏方式展現在管理員面前。 管理員可以快速直觀的瞭解到整個物聯網裝置健全狀況。
3.進階應用程式: 資料採礦/機器學習
這部分需要從資料裡面挖掘出有價值的東西出來。比如通過一段時間時間裝置資料的連續跟蹤分析並結合人類過往的裝置營運經驗,通過機器學習方式預測裝置發生故障機率,以及發生故障後可能的引起原因,並給出維修方案。剛才舉的例子,是物聯網進階應用程式裡面的冰山一角。 通過引入現在火熱的AI技術。 物聯網就能變成智能物聯網了。 也許在不久的將來, 人與裝置可以自由對話,裝置與裝置之間也能夠對話並自動做出最優決策。
綜合所述,物聯網的價值在於提高生產效率,管理效率,極大促進社會生產力的提高。 如何搭建起一個物聯網系統架構呢。它的技術架構又是怎麼樣呢。 物聯網終端裝置軟體系統架構
常見系統架構的總結下來主要存在如下2種: 帶RTOS的(處理複雜的業務情境,情境裡面通過需要多個事務並行協同完成工作)和不帶RTOS的(通常處理的業務情境較單一)
不帶RTOS裝置終端系統架構:
帶RTOS裝置終端系統架構:
RTOS是什麼。 即時多任務作業系統,有了它,在終端裝置裡面可以並行運行多個任務。每個任務負責一個事務。通過並行化運行,響應即時性及效率就得到提升。RTOS即時操作核心一般包含的重要組件如下:
1. 任務調度2. 任務間同步與通訊3. 記憶體配置4. 中斷管理6. 時間管理7. 裝置驅動
以任務調度組件舉例:
在嵌入式作業系統中,任務是CPU上最小運行單元。通常一個稍微複雜點IOT APP是由多個任務協同完成。比如有的任務負責處理使用者事件輸入以及UI顯示,有的任務負責處理資料通訊,有的任務負責商務邏輯處理。
既然一個系統中有多個任務在跑,而CPU資源確是單一的,這樣導致每個時刻只能由一個任務在CPU上跑。 因此為了每個任務都能夠在CPU上有運行機會,就涉及到了任務調度概念。 任務調度需要按照一定的規則來,那一般是按照哪些規則來的。 我們常見的調度方式有3種: 一個基於優先順序調度的, 一個是基於時間片調度的, 一個是把優先順序和時間片結合在一起調度。
以優先順序調度舉例,在定義任務的時候,給每個任務分配一個優先順序,在啟動並執行時候,高優先順序的任務都會優先被運行。 直到沒有高優先順序任務後,低優先順序任務才會被運行。 假如低優先順序任務獲得CPU資源後,這是如果有高優先順序任務就緒怎麼辦呢。 兩種處理方式:1. 繼續運行 2. 搶佔式。 高優先順序搶佔CPU資源進入運行狀態。
其他組件就不一一列舉了。 物聯網雲平台系統架構
物聯網雲平台系統架構主要包含四大組件: 裝置接入 裝置管理 規則引擎 安全認證及許可權管理 裝置接入
裝置接入主要都幹些什麼呢。
1.包含多種裝置接入協議,最主流的是MQTT協議。有些雲端運算廠商也在MQTT協議上精簡協議變成專屬的接入協議。
2.並發串連管理,維持可能是數十億裝置的長串連管理。
如果應對數十億的裝置串連管理。 目前開放出來的MQTTProxy 伺服器大都是單機版,最多也就是並發串連十幾萬裝置。因此如果要管理數十億的串連,需要用到負載平衡,用到分布式架構。在雲平台需要部署分布式MQTTProxy 伺服器。 裝置管理
一般以樹形結構的方式管理裝置,包含裝置建立管理以及裝置狀態管理等等。根節點以產品開始, 然後是裝置群組,再到具體裝置。
主要包含如下管理:
產品註冊及管理
產品下面的裝置增刪改查管理
裝置訊息發布
OTA裝置升級管理等 規則引擎
物聯網雲平台通常是基於現有雲端運算平台搭建的。 一個物聯網成熟業務除了用到物聯網雲平台提供功能外,一般還需要用到雲端運算平台提供功能,比如雲主機,雲資料庫等。使用者可以在雲主機上搭建web 行業應用服務。
規則引擎主要作用是把物聯網平台資料通過過濾轉寄到其他雲端運算產品上。
比如可以把裝置上報的資料轉寄到table store資料庫產品裡。
規則引擎一般使用方式:類SQL語言,通過編寫SQL語言,使用者可以過濾資料、處理資料,並把資料發到其他雲端運算產品,或者其他雲端運算服務。 安全認證及許可權管理
物聯網雲平台為每個裝置頒發唯一的認證,需要認證通過後才能允許裝置接入到雲平台。雲平台最小授權粒度一般是做到裝置級。我們所說的認證一般分為2種:一種是產品級認證,一種是裝置級認證。 產品級認證擁有最大的許可權,可以對產品下所有的裝置進行操作。 裝置級認證,只能對自己所屬的裝置進行操作,無法對其他裝置進行操作。
因此每個接入雲平台的裝置都在本機存放區一個認證(其實存在形式是一個KEY,有多個字串構成)。每次與雲端建立串連時,都要把認證帶上。以便雲端安全性群組件核查通過。 雲端運算產品
大資料計算產品, 雲基礎服務(高效能伺服器,雲資料庫,雲網路)等 物聯網應用
智慧城市, 智慧農業,工業4.0等
下面一張是來自百度物聯網平台架構:
突出展示了物聯網裝置, 物聯網雲平台, 雲端運算平台是如何協同工作的,有較大的參考價值。
轉載請註明出處
瞭解更多物聯網技術資訊,物聯網開放代碼,IOT解決方案請訪問www.adminiot.com.cn