Neuron v2.2.2 发布:MQTT插件功能提升 、新增OPC DA驱动

简介: 工业协议网关软件Neuron v2.2.2对MQTT插件、SDK开发包及其他商业驱动插件进行了优化和更新,为工业领域用户提供更加高效便捷的数据采集。

近日,Neuron 2.2.2 正式发布。 这一最新版本对 MQTT 插件、SDK 开发包及其他商业驱动插件进行了优化和更新,为工业领域用户提供更加高效便捷的数据采集,欢迎下载试用

MQTT 插件功能大幅提升

避免数据丢失

新增断线缓存数据功能。当 MQTT 连接因临时网络问题或信号不佳而离线,导致正常的数据上报中断,中断期间产生的报文可以缓存在内存中。当网络恢复时,缓存数据可以重新上传到 IoT 平台。这可以减少价值数据因为网络异常而丢失的风险。此功能通过将数据存储在内存中来实现,因此硬件网关或服务器需要有足够的内存空间,可保障的离线时间也取决于硬件网关或服务器的内存大小。断线缓存数据功能会自动生效,用户不需要做任何设定。

降低传输数据量

新增了数据订阅后按变化或超过变化范围上传的方式,用户可自行选择按照设定周期上报或是按数据变化上报。如果选定按数据变化上报,Neuron 就会在两次采集中做比较,如果数值变化或数值变化大于设定的阈值就会触发上报过程,如果无数值变化或数值变化小于设定阈值则视为不变,不触发上报过程。这种方案可大大降低数据传输量及网络阻塞风险,减少 IoT 平台服务器处理大量相同数据的时间。

数据上报更完善

新增心跳报文上传功能。周期上报所有驱动节点信息,每 1 秒发送一次,内容携带了 Neuron 当前所有驱动节点的运行状态、设备连接状态、报警状态以及运行模式等有用信息,如果 IoT 平台在特定时间(例如 5 秒)内无法接收到这个心跳报文,这代表 Neuron 可能出现故障,需要人工排查。如果有备用 Neuron 在运行,IoT 平台可指示备用 Neuron 取代有故障的那个。此外,报文信息对 IoT 平台监控设备极为重要,例如,平台上数字孪生和设备注册等相关应用都需要心跳报文内容去实现。用户可自定义心跳报文的主题 Topic。

OPC DA 驱动

新增独立的 OPC DA 和 OPC UA 协议转换程序 opcshift。opcshift 同时作为 OPC DA 客户端和 OPC UA 服务端,通过读取 DA 服务器的数据并转化为 UA 的协议格式,然后再交由 Neuron 的 OPC UA 驱动进行处理。

opcshift 依赖于微软 DCOM 技术,因此只能部署在 Windows 操作系统之上(32 位或 64 位均可)。Neuron 可以通过标准的 OPC UA 连接方式与 opcshift 跨主机连接。

opcshift 会将所有受支持的 DA 点位映射到 UA 的「命名空间 1」之下,各个点位的 ID 与 DA 服务器保持一致,可简化 Neuron 下的采集配置。由于是 OPC UA 的标准接口,opcshift 也支持其他 OPC UA 客户端(如 UaExpert)的访问。

SDK 开发包

Neuron 2.2 已有 SDK 包,用户可以直接基于 SDK 包开发新的驱动插件并应用到 Neuron 中,避免了依赖库配置的操作,可以更方便快速地开发新驱动。

根据不同的系统架构下载对应的 SDK tar.gz 包到相应的开发环境中并解压,执行以下指令进行快速安装。

# take version 2.2.0 as an example
$ cd neuron-sdk-2.2.0
# install sdk
$ sudo ./sdk-install.sh

SDK 包下载

安装完成后就可以进行驱动开发,在开发环境中创建一个新的目录文件用于存放开发驱动所需要的文件,名称可自定义。例如,创建名为 drivers 的目录文件用于存放开发驱动所需要的文件,在 drivers 目录下还需创建以下文件:

  • CMakeLists.txt 文件,项目使用 Cmake 进行构建时需要;
  • plugins 目录文件,用于存放所有驱动开发的文件,每个驱动都应有一个对应的目录文件用于存放该驱动的源文件、CMakeLists.txt 文件和 JSON 文件等。
  • build 目录文件,用于存放编译生成的文件;

目录层级如下图所示:

目录层级.png

当驱动代码完成后,在 build 目录下执行以下指令,进行编译验证。

$ cmake .. 
$ make

编译无问题后,可在 Neuron 中验证新开发的驱动。将 build/plugins 中生成的驱动 .so 文件拷贝到 /usr/local/bin/neuron/plugins 目录下,再将驱动配置 .json 文件 拷贝到 /usr/local/bin/neuron/plugins/schema 目录下,最后修改 plugins.json 文件,将新添加的驱动 .so 文件名称添加进去。

执行以下指令运行 Neuron,并在网页打开 Neuron 查看新添加的插件的使用。

$ sudo ./neuron --log

新增商业驱动插件

西门子-300/400驱动

S7-300/400 CPU 原生只支持串口连接,需要外接以太网模块,虽然 PLC 可以使用 S7 协议进行通信,但是无法使用 S7 协议的异步特性。所以我们为 S7300/400 专门开发了适配的 S7 协议,Neuron 现已支持与S7300/400 PLC 同步通信。

Beckhoff ADS 驱动

Beckhoff ADS 协议用于与 TwinCAT 设备进行通信。ADS 协议是 TwinCAT 系统中的一个传输层,为不同软件模块之间的数据交换而开发。

非 A11 驱动

新增油田设备专属协议,该协议是按照客户规格而开发的,可用于注水井、抽油机井、储罐、管线流量、管线含水等设备。

三菱 PLC 插件

支持批量采集多个数据标签的数据,从而提高读取三菱 PLC 数据的速度。

Modbus 插件新增功能

Modbus 插件新增支持 int64/uint64/double 数据类型和支持写入单线圈数据。

未来规划

  • 新增信息统计和告警功能
  • 支持在页面上下载日志功能
  • 支持多用户管理功能
  • 开发新的驱动
版权声明: 本文为 EMQ 原创,转载请注明出处。

原文链接:https://www.emqx.com/zh/blog/category/neuron

相关实践学习
消息队列RocketMQ版:基础消息收发功能体验
本实验场景介绍消息队列RocketMQ版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
目录
相关文章
|
7月前
|
消息中间件 监控 物联网
MQTT的奇妙之旅:探索RabbitMQ Web MQTT插件的威力【RabbitMQ 十一】
MQTT的奇妙之旅:探索RabbitMQ Web MQTT插件的威力【RabbitMQ 十一】
231 0
|
3天前
|
消息中间件 Kafka 应用服务中间件
仙讯畅通无阻:探索MQ阵法的强大功能
MQ(消息队列)起源于1993年IBM推出的MQSeries,后更名为WebSphere MQ和IBM MQ。常见的MQ系统包括:IBM MQ、Apache ActiveMQ、RabbitMQ、Apache Kafka、RocketMQ和Amazon SQS。这些系统广泛应用于异步通信、系统解耦和削峰填谷等场景,确保消息的可靠传递。在修真界,MQ阵法如同神秘的传信工具,能在仙人修炼时安全传递重要信息,保障仙讯畅通无阻。
18 4
|
4月前
|
消息中间件 Java RocketMQ
微服务架构师的福音:深度解析Spring Cloud RocketMQ,打造高可靠消息驱动系统的不二之选!
【8月更文挑战第29天】Spring Cloud RocketMQ结合了Spring Cloud生态与RocketMQ消息中间件的优势,简化了RocketMQ在微服务中的集成,使开发者能更专注业务逻辑。通过配置依赖和连接信息,可轻松搭建消息生产和消费流程,支持消息过滤、转换及分布式事务等功能,确保微服务间解耦的同时,提升了系统的稳定性和效率。掌握其应用,有助于构建复杂分布式系统。
73 0
|
7月前
|
消息中间件 存储 运维
RabbitMQ插件详解:rabbitmq_message_timestamp【Rabbitmq 五】
RabbitMQ插件详解:rabbitmq_message_timestamp【Rabbitmq 五】
137 1
|
5月前
|
消息中间件 API 开发工具
消息队列 MQ使用问题之如何开启RabbitMQ的MQTT功能
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
|
4月前
|
消息中间件 监控 数据安全/隐私保护
就软件研发问题之在RocketMQ的服务端开启认证功能的问题如何解决
就软件研发问题之在RocketMQ的服务端开启认证功能的问题如何解决
|
7月前
|
消息中间件 存储 负载均衡
分布式消息传递新时代:深入了解RabbitMQ_sharding插件的精髓【RabbitMQ 八】
分布式消息传递新时代:深入了解RabbitMQ_sharding插件的精髓【RabbitMQ 八】
151 0
|
7月前
|
消息中间件 监控 前端开发
RabbitMQ插件详解:rabbitmq_web_stomp【RabbitMQ 六】
RabbitMQ插件详解:rabbitmq_web_stomp【RabbitMQ 六】
486 0
|
5月前
|
消息中间件 存储 RocketMQ
MetaQ/RocketMQ 原理问题之在解耦场景中,消息队列工作的问题如何解决
MetaQ/RocketMQ 原理问题之在解耦场景中,消息队列工作的问题如何解决
|
7月前
|
消息中间件
rabbitmq插件升级-延时队列为列
rabbitmq插件升级-延时队列为列
670 15

热门文章

最新文章