基于.NET6的开源工业物联网网关

什么是工业物联网网关

工业物联网网关(IIoTGateway)是一种硬件设备或软件程序,作为本地设备(如PLC、扫码枪、机器人、数控机床、非标上位机等)与云端系统(如物联网平台、SCADA系统、MES系统等)之间的桥梁,在设备和云端之间流动的所有数据都通过IoT网关,如下图所示:

数据的流向

  1. 设备云端的通信(数据采集)

  2. 云端设备的通信(反向控制)

  3. 设备设备的通信(M2M)

基于.NET6的开源工业物联网网关

  1. 受益于.NET在工控以及医疗等领域的长期积累,网上的确分散着很多通信相关的dll、源码和项目,但至今没有基于B/S架构的开源项目,这也是本项目的初衷。

  2. 依托.NET6开源、跨平台、高性能的特点,以及WTM 框架的低代码开发方式,快速搭建起网关应用。目前已完成遥测和属性的上传,反向控制正在开发中。

  1. 项目地址

  • github:iotgateway: https://github.com/iioter/iotgateway/ 

  • gitee:iotgateway: https://gitee.com/iioter/iotgateway/

  • 项目文档:http://42.193.160.84/

  • 在线体验:http://42.193.160.84:518/

开源网关具有以下特点

  • 跨平台运行

  1. 既可以是windows,也可以是linux系统;

  2. 既可以是主机运行,也可以通过docker运行;

  3. 既可以是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网关在互联网和设备本身之间增加了另外一层,大幅度减少了连接到互联网的设备的数量,网关变成了第一道防线,进而防止外部各方对物联网设备进行未经授权的控制。

  • 容易扩展

在工业现场的高度分散性的前提下,随着连接的设备数量不断增加,不同协议设备的持续接入,只能通过网关来管理和控制这些复杂的变化,而不是以往牵一发而动全身的痛苦的升级。

  • 数据处理

1、数据预处理

倍率偏移量处理等,这有助于边缘计算的发展,因为他本身就是边缘智能的一种简单应用。

2、数据过滤

设备产生的海量数据中,全部发送到平台端肯定是不堪重负的,一方面传输、处理和存储都是有成本的;另一方面可能只有一部分是需要关注的,如变化的产量,就需要变化才上传,一直推送不变的值是没有意义的。

3、数据汇总和聚合

有些场景下不同设备或相同设备的不同变量是需要聚合计算后发送到平台端的,有些原始数据没有特别大的价值,当然这也可以分担一部分平台端的压力

4、数据缓存

网络通信不是100%可靠的,断线时IoT网关既需要暂存数据,当网络恢复后发送至云端;又需要存储云端的控制策略,让控制流程及时执行。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Node-Red是一个开源的可视化编程工具,可以用于构建物联网应用程序。在工业物联网中,Node-Red可以作为网关应用程序的核心,处理设备数据、执行控制操作和与云平台通信。以下是基于Node-Red的工业物联网网关应用开发步骤: 1. 确定应用场景和需求:根据工业物联网应用需求,确定需要采集的设备数据、控制操作、通信协议和云平台接口等。 2. 确定硬件平台和设备接口:选择合适的硬件平台,如树莓派、Arduino等,确定设备接口,如GPIO、串口、I2C、SPI等。 3. 安装Node-Red:在硬件平台上安装Node-Red,可以使用官方提供的安装包或手动安装。 4. 配置设备接口:在Node-Red中配置设备接口,使用相应的节点和插件进行设备数据采集和控制操作。 5. 配置通信协议和云平台接口:在Node-Red中配置通信协议和云平台接口,使用相应的节点和插件进行数据传输和处理。 6. 编写应用程序逻辑:使用Node-Red提供的可视化编程工具,编写应用程序逻辑,实现设备数据采集、控制操作和云平台通信。 7. 测试和调试:在硬件平台上进行测试和调试,确保应用程序正常运行。 8. 部署和运维:将应用程序部署到生产环境中,进行运维和维护,保证应用程序的稳定性和可靠性。 总之,基于Node-Red的工业物联网网关应用开发需要具备一定的硬件和软件技术基础,同时需要对工业物联网应用场景和需求有深入的了解。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值