首页 > 其他分享 >.NET 8 跨平台高性能边缘采集网关

.NET 8 跨平台高性能边缘采集网关

时间:2024-08-12 11:07:57浏览次数:13  
标签:网关 自定义 插件 支持 采集 跨平台 NET 上传

前言

在物联网(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、网关日志

项目地址

最后

如果你觉得这篇文章对你有帮助,不妨点个赞支持一下!你的支持是我继续分享知识的动力。如果有任何疑问或需要进一步的帮助,欢迎随时留言。也可以加入微信公众号 [DotNet技术匠] 社区,与其他热爱技术的同行一起交流心得,共同成长!

 

标签:网关,自定义,插件,支持,采集,跨平台,NET,上传
From: https://www.cnblogs.com/1312mn/p/18354468

相关文章

  • Profibus DP主站转Modbus RTU协议网关(通讯配置详解)
    作者的许多朋友均对如何实现ProfibusDP网络和ModbusRTU网络的连接互通感到十分困扰,现在为大家统一作出解释。事实上,远创智控YC-DPM-RTU此款设备能够完美地解决这一问题。接下来,作者将会给各位全面且详尽地阐述该设备的功能、参数以及配置的方法。一,产品主要功能远创智控YC-......
  • Profibus DP(主站)转EtherNet/IP协议转换网关(通讯配置详解)
    作者的许多朋友均对如何实现ProfibusDP网络和EtherNet/IP网络的连接互通感到十分困扰,现在为大家统一作出解释。事实上,远创智控YC-DPM-EIP此款设备能够完美地解决这一问题。接下来,作者将会给各位全面且详尽地阐述该设备的功能、参数以及配置的方法。产品介绍本产品实现PROFIB......
  • pytorch_geometric的Planetoid出现“TypeError: expected np.ndarray (got matrix)”
    问题和解决方案运行GCN的例子的时候,出现了这个错误:out=torch.from_numpy(out).to(torch.float)TypeError:expectednp.ndarray(gotmatrix)解决方案:在torch_geometric.io.planetoid.py中添加importnumpyasnp,将out=torch.from_numpy(out).to(torch.float)......
  • .NET 窗口/屏幕录制
    窗口/屏幕截图适用于截图、批注等工具场景,时时获取窗口/屏幕图像数据流呢,下面讲下视频会议共享桌面、远程桌面这些场景是如何实现画面录制的。常见的屏幕画面时时采集方案,主要有GDI、WGC、DXGI。GDIGDI(GraphicsDeviceInterface)就是使用user32下WindowsAPI来实现,是Windows......
  • .NET 窗口/屏幕截图
    图像采集源除了显示控件(上一篇《.NET控件转图片》有介绍从界面控件转图片),更多的是窗口以及屏幕。窗口截图最常用的方法是GDI,直接上Demo吧:1privatevoidGdiCaptureButton_OnClick(objectsender,RoutedEventArgse)2{3varbitmap=Ca......
  • 在IIS上部署ASP.NET Core Web API
    在IIS上部署ASP.NETCoreWebAPI和BlazorWasm详细教程  前言前段时间我们完成了七天.NET8操作SQLite入门到实战的开发系列教程,有不少同学留言问如何将项目发布部署到IIS上面运行。本篇文章我们就一起来讲讲在IIS上部署ASP.NETCoreWebAPI和BlazorWasm。前提条件......
  • 主干网络篇 | YOLOv10 更换主干网络之 VanillaNet |《华为方舟实验室最新成果》
    论文地址:https://arxiv.org/pdf/2305.12972.pdf代码地址:https://github.com/huawei-noah/VanillaNet在基础模型的核心是“多样性即不同”,这一哲学在计算机视觉和自然语言处理方面取得了惊人的成功。然而,优化和Transformer模型固有的复杂性带来了挑战,需要转向简洁性的范式......
  • PointNet++笔记
    pointnet++论文题目为:PointNet++:DeepHierarchicalFeatureLearningonPointSetsinaMetricSpace。在这篇文章中,作者对pointnet进行了一些改进,因为原始的pointnet对于规模较大的点云时,性能就显得不够了。在论文的摘要开头也指出了这一点:“However,bydesignPointNetdo......
  • 通过示例了解 .NET Core 中的依赖注入
    依赖注入(DI)是一种用于实现IoC(控制反转)的设计模式,可以更好地解耦应用程序内的依赖关系并更轻松地管理它们。.NETCore内置了对依赖注入的支持,提供了一种有效管理依赖关系的强大方法。一.什么是依赖注入?依赖注入是一种技术,其中一个对象提供另一个对象的依赖项。“依赖......
  • Kubernetes-Init容器与静态Pod
    目录Init容器什么是Init容器?理解init容器Init容器与普通容器的不同之处静态Pod通过配置文件创建Init容器在Pod的生命周期中,可以执行多种操作如下图:什么是Init容器?Init容器也就是我们平时常说的初始化容器。InitContainer就是用来做初始化工作的容器,可以是一个或者多个,如果有......