前言 在物聯網(IoT)和工業自動化領域,邊緣計算設備扮演著至關重要的角色。邊緣採集網關作為連接物理世界與數字世界的橋梁,負責收集感測器數據並將數據傳輸到雲端或本地數據中心進行處理。 本文將介紹一款基於 .NET 8 的跨平臺高性能邊緣採集網關的開源項目。希望通過這個項目能夠幫助大家搭建和部署高效的 ...
前言
在物聯網(IoT)和工業自動化領域,邊緣計算設備扮演著至關重要的角色。邊緣採集網關作為連接物理世界與數字世界的橋梁,負責收集感測器數據並將數據傳輸到雲端或本地數據中心進行處理。
本文將介紹一款基於 .NET 8 的跨平臺高性能邊緣採集網關的開源項目。希望通過這個項目能夠幫助大家搭建和部署高效的邊緣採集解決方案。
項目介紹
基於.NET 8 的跨平臺高性能邊緣採集網關,單機採集數據點位可達百萬。
ThingsGateway 是C#開發的一款邊緣採集網關,核心分為四大部分。
- 通道
通道,實際上相當於一個實際的通訊鏈路,比如一個串口,一個TCP連接等,在ThingsGateway中, 通道也會作為線程池中的一個任務,對於同一個通道中的不同設備,採集/業務方法是順序進行的。
- 插件
ThingsGateway中的採集方法或者上傳方法等都由插件完成,主程式只負責調度執行。 對於不同的採集協議或者業務需求,可以通過開發插件完成自定義的業務操作。
- 設備
建立設備,必須指定通道以及插件,也可以說設備其實是插件的配置。 同時對於採集設備、業務設備,會有些許差別。
採集設備:採集數據入網關/寫入數據到現場
業務設備:上傳數據到第三方/第三方RPC反寫
- 變數
變數,用於配置採集設備的具體點位詳情,以及對應業務設備中的配置項
項目特點
- 可視化操作
通過web瀏覽器配置,調試,驗證整個流程
- 腳本支持
靈活的數據轉換腳本以及數據上傳自定義實體腳本,可適配各大雲平臺的物模型
- 自定義插件支持
通過開發插件完成自定義的業務操作。
- 性能
測試100w變數點位,500ms-1000ms全部採集完成,穩定連續採集占用CPU資源、記憶體資源低。
- 斷線緩存
支持斷線緩存,恢復後自動上傳。
- 完整可商用的邊緣網關
完善的配置許可權,操作日誌功能等,還有OPC、WebAPI、Mqtt、Kafka、時序庫、變數報警等更多功能等待你發現。
項目插件
- 採集插件
插件名稱 | 備註 |
---|---|
Modbus | Rtu/Tcp報文格式,支持串口/Tcp/Udp鏈路 |
SiemensS7 | 西門子PLC S7系列 |
Dlt6452007 | 支持串口/Tcp/Udp鏈路 |
OpcDaMaster | 64位編譯 |
OpcUaMaster | 支持證書登錄,擴展對象,Json讀寫 |
- 業務插件
插件名稱 | 備註 |
---|---|
ModbusSlave | Rtu/Tcp報文格式,支持串口/Tcp/Udp鏈路,支持Rpc反寫 |
OpcUaServer | OpcUa服務端,支持Rpc反寫 |
MqttClient | Mqtt客戶端,支持Rpc反寫,腳本自定義上傳內容 |
MqttServer | Mqtt服務端,支持WebSocket,支持Rpc反寫,腳本自定義上傳內容 |
KafkaProducer | 腳本自定義上傳內容 |
RabbitMQProducer | 腳本自定義上傳內容 |
SqlDB | 關係資料庫存儲,支持歷史存儲和實時數據更新 |
SqlHisAlarm | 報警歷史數據關係資料庫存儲 |
TDengineDB | 時序資料庫存儲 |
QuestDB | 時序資料庫存儲 |
項目展示
1、ThingsGateway 演示地址
賬戶 : SuperAdmin
密碼 : 111111
2、登錄頁面
3、系統首頁
4、網關管理
5、網關狀態
6、網關日誌
項目地址
- 文檔:https://kimdiego2098.github.io/
- Gitee:https://kimdiego2098.github.io/
- Github:https://github.com/kimdiego2098/ThingsGateway
- Nuget:https://www.nuget.org/packages?q=Tags:%22ThingsGateway%22
最後
如果你覺得這篇文章對你有幫助,不妨點個贊支持一下!你的支持是我繼續分享知識的動力。如果有任何疑問或需要進一步的幫助,歡迎隨時留言。也可以加入微信公眾號 [DotNet技術匠] 社區,與其他熱愛技術的同行一起交流心得,共同成長!