物聯網雲平臺系統設計【一】

物聯網雲平臺系統設計

 

##物聯網雲平臺系統設計

下面將談到幾個關鍵問題:

  • 設備如何接入網絡?
  • 設備間如何通信?
  • 物聯網數據的用途?
  • 如何搭建起一個物聯網系統框架呢?它的技術架構又是怎麼樣呢?
  • 物聯網終端軟件系統架構?
  • 物聯網雲平臺系統架構?

###1. 物聯網設備如何接入到網絡?

只有設備接入到網絡裏面,才能算是物聯網設備。這裏涉及到2個關鍵點:接入方式以及網絡通信方式

####設備接入方式:
當前有2種接入方式

  1. 直接接入:物聯網終端設備本身具備聯網能力直接接入網絡,比如 在設備端加入NB-IOT通信模組,2G通信模組。
  2. 網關接入:物聯網終端設備本身不具備入網能力,需要在本地組網後,需要統一通過網關再接入到網絡。 比如終端設備通過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. 1. 任務調度

  2. 2. 任務間同步與通信

  3. 3. 內存分配

  4. 4. 中斷管理

  5. 6. 時間管理

  6. 7. 設備驅動

以任務調度組件舉例:
在嵌入式操作系統中,任務是CPU上最小運行單元。通常一個稍微複雜點IOT APP是由多個任務協同完成。比如有的任務負責處理用戶事件輸入以及UI顯示,有的任務負責處理數據通信,有的任務負責業務邏輯處理。

既然一個系統中有多個任務在跑,而CPU資源確是單一的,這樣導致每個時刻只能由一個任務在CPU上跑。 因此爲了每個任務都能夠在CPU上有運行機會,就涉及到了任務調度概念。 任務調度需要按照一定的規則來,那一般是按照哪些規則來的? 我們常見的調度方式有3種: 一個基於優先級調度的, 一個是基於時間片調度的, 一個是把優先級和時間片結合在一起調度。

以優先級調度舉例,在定義任務的時候,給每個任務分配一個優先級,在運行的時候,高優先級的任務都會優先被運行。 直到沒有高優先級任務後,低優先級任務纔會被運行。 假如低優先級任務獲得CPU資源後,這是如果有高優先級任務就緒怎麼辦呢? 兩種處理方式:1. 繼續運行 2. 搶佔式。 高優先級搶佔CPU資源進入運行狀態。

其他組件就不一一列舉了。

###物聯網雲平臺系統架構

物聯網雲平臺系統架構主要包含四大組件:

  • 設備接入
  • 設備管理
  • 規則引擎
  • 安全認證及權限管理

####設備接入

設備接入主要都幹些什麼呢?
1.包含多種設備接入協議,最主流的是MQTT協議。有些雲計算廠商也在MQTT協議上精簡協議變成獨有的接入協議。
2.併發連接管理,維持可能是數十億設備的長連接管理。

如果應對數十億的設備連接管理? 目前開放出來的MQTT代理服務器大都是單機版,最多也就是併發連接十幾萬設備。因此如果要管理數十億的連接,需要用到負載均衡,用到分佈式架構。在雲平臺需要部署分佈式MQTT代理服務器。

####設備管理

一般以樹形結構的方式管理設備,包含設備創建管理以及設備狀態管理等等。根節點以產品開始, 然後是設備組,再到具體設備。
主要包含如下管理:
產品註冊及管理
產品下面的設備增刪改查管理
設備消息發佈
OTA設備升級管理等

####規則引擎

物聯網雲平臺通常是基於現有云計算平臺搭建的。 一個物聯網成熟業務除了用到物聯網雲平臺提供功能外,一般還需要用到雲計算平臺提供功能,比如雲主機,雲數據庫等。用戶可以在雲主機上搭建web 行業應用服務。

規則引擎主要作用是把物聯網平臺數據通過過濾轉發到其他雲計算產品上。
比如可以把設備上報的數據轉發到table store數據庫產品裏。

規則引擎一般使用方式:類SQL語言,通過編寫SQL語言,用戶可以過濾數據、處理數據,並把數據發到其他雲計算產品,或者其他雲計算服務。

####安全認證及權限管理

物聯網雲平臺爲每個設備頒發唯一的證書,需要證書通過後才能允許設備接入到雲平臺。雲平臺最小授權粒度一般是做到設備級。我們所說的證書一般分爲2種:一種是產品級證書,一種是設備級證書。 產品級證書擁有最大的權限,可以對產品下所有的設備進行操作。 設備級證書,只能對自己所屬的設備進行操作,無法對其他設備進行操作。

因此每個接入雲平臺的設備都在本地存儲一個證書(其實存在形式是一個KEY,有多個字符串構成)。每次與雲端建立連接時,都要把證書帶上。以便雲端安全組件覈查通過。

####雲計算產品

大數據計算產品, 雲基礎服務(高性能服務器,雲數據庫,雲網絡)等

####物聯網應用

智慧城市, 智慧農業,工業4.0等

下面一張是來自百度物聯網平臺架構:
突出展示了物聯網設備, 物聯網雲平臺, 雲計算平臺是如何協同工作的,有較大的參考價值。

轉載請註明出處

獲取物聯網設備端及web應用服務平臺端源代碼
https://www.adminiot.com.cn/modules/1.html

瞭解更多物聯網技術資訊,物聯網開放代碼,IOT解決方案請訪問
www.adminiot.com.cn

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章