.NET 8 跨平臺高效能邊緣採集閘道器

小码编匠發表於2024-08-12

前言

在物聯網(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、登入頁面

.NET 8 跨平臺高效能邊緣採集閘道器

3、系統首頁

.NET 8 跨平臺高效能邊緣採集閘道器

4、閘道器管理

.NET 8 跨平臺高效能邊緣採集閘道器

5、閘道器狀態

.NET 8 跨平臺高效能邊緣採集閘道器

6、閘道器日誌

.NET 8 跨平臺高效能邊緣採集閘道器

專案地址

  • 文件: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技術匠] 社群,與其他熱愛技術的同行一起交流心得,共同成長!

相關文章