什么是工業物聯網網關
工業物聯網網關(IIoTGateway)是一種硬件設備或軟件程序,作為本地設備(如PLC、掃碼槍、機器人、數控機床、非標上位機等)與雲端系統(如物聯網平台、SCADA系統、MES系統等)之間的橋梁,在設備和雲端之間流動的所有數據都通過IoT網關,如下圖所示:

數據的流向
- 設備到雲端的通信(數據采集)
- 雲端到設備的通信(反向控制)
- 設備到設備的通信(M2M)
基於.NET6的開源工業物聯網網關
- 受益於.NET在工控以及醫療等領域的長期積累,網上的確分散着很多通信相關的dll、源碼和項目,但至今沒有基於B/S架構的開源項目,這也是本項目的初衷。
- 依托.NET6開源、跨平台、高性能的特點,以及WTM 框架的低代碼開發方式,快速搭建起網關應用。目前已完成遙測和屬性的上傳,反向控制正在開發中。

- 項目地址
- github:iotgateway
- gitee:iotgateway
- 項目文檔:http://42.193.160.84/
- 在線體驗:http://42.193.160.84:518/
開源網關具有以下特點
-
跨平台運行
- 既可以是windows,也可以是linux系統;
- 既可以是主機運行,也可以通過docker運行;
- 既可以是x86主機,也可以是arm32、arm64嵌入式開發板。


-
內置多種驅動
驅動可以看做公司的一種無形資產。目前提供Modbus完整協議、西門子全系列PLC、三菱QPLC、歐姆龍PLC、ABPLC、MTConnect數控機床等驅動。當然你也可以通過驅動Demo實現自己的驅動,也可以集成業內流行的IoTClient(碼農一生)、HSL(胡工)等提供的驅動進行整合。

-
計算表達式
類似於js等腳本語言,C#也可以作為腳本進行動態編譯執行,你可以隨時修改表達式對數據進行二次計算,不只是倍率的計算哦。

-
MQTT服務
內置MQTT Server,可以通過訂閱數據與你的業務系統進行集成,當然網關也可以作為MQTT客戶端,將數據推送到你的MQTT服務中去。


-
OPCUA服務
內置OPCUA Server,你的工控系統可以很方便的獲取數據。注意,項目中OPCUA相關功能僅用作學習及測試,若使用OPCUA協議請聯系OPC基金會進行授權,產生一切糾紛與本項目無關。

-
數字孿生3D可視化
通過使用threejs搭建了數字孿生的demo,前端通過基於WebSocket的Mqtt協議訂閱數據變化,實時獲取數據更新,而不是通過WebAPI輪訓。


-
在線組態
無縫集成在線組態項目,快速設計和部署你的可視化應用。


為什么需要物聯網網關
-
協議轉換
面對不同年代、不同廠家、不同協議的設備多少會讓人頭疼,IoT網關會幫助你屏蔽協議的差異,轉換為常用的物聯網協議(如MQTT、HTTP等)輸出到平台端,讓你有更多時間專注於平台端的業務建設。
-
保證安全
所有物聯網設備都有被外部影響和攻擊的可能,但IoT網關在互聯網和設備本身之間增加了另外一層,大幅度減少了連接到互聯網的設備的數量,網關變成了第一道防線,進而防止外部各方對物聯網設備進行未經授權的控制。
-
容易擴展
在工業現場的高度分散性的前提下,隨着連接的設備數量不斷增加,不同協議設備的持續接入,只能通過網關來管理和控制這些復雜的變化,而不是以往牽一發而動全身的痛苦的升級。
-
數據處理
-
數據預處理
如倍率、偏移量處理等,這有助於邊緣計算的發展,因為他本身就是邊緣智能的一種簡單應用。
-
數據過濾
設備產生的海量數據中,全部發送到平台端肯定是不堪重負的,一方面傳輸、處理和存儲都是有成本的;另一方面可能只有一部分是需要關注的,如變化的產量,就需要變化才上傳,一直推送不變的值是沒有意義的。
-
數據匯總和聚合
有些場景下不同設備或相同設備的不同變量是需要聚合計算后發送到平台端的,有些原始數據沒有特別大的價值,當然這也可以分擔一部分平台端的壓力。
-
數據緩存
網絡通信不是100%可靠的,斷線時IoT網關既需要暫存數據,當網絡恢復后發送至雲端;又需要存儲雲端的控制策略,讓控制流程及時執行。
