Node-RED魔改,站在巨人的肩上创新

Node-RED一个开源的、流程导向的编程工具,旨在帮助用户使用流程图形式来连接物联网设备、API、服务和应用程序,以实现自动化和交互式的应用程序。Node-RED基于JavaScript,使用了Node.js运行时环境,并提供了一个基于Web的可视化编辑器来创建和管理流程。

早在几年前我们就关注到Node-RED的开源项目,被他的灵活配置界面和生态吸引,并尝试使用node-red在项目中进行应用了,当时记得版本号还是0.2,就在这种版本下我们进行了魔改,我们分析了底层代码结合业务修改和新增许多功能,将物联网平台、组态功能打包在一起了,一个EXE程序双击就能跑,不用安装一堆依賴包。希望通过分享可以为同行带来业务上的灵感。




新增和优化功能介绍

支持C#函数

可以通过C#语法进行Node-RED的逻辑处理,当时是为了引用DLL库,支持类似HSlcommunication和labview等第三方动态链接库的调用。

设备协议组件控件

新增了设备交互协议Modbus,OpcUA,西门子S7,三菱FX,三菱MC,欧姆龙HostLink,欧姆龙Fins,AB Logix,松下Mewtocol,永宏Fatek,电表DLT645,电力IEC104等,优化采集界面字典方式配置,集成合并通讯与串口队列机制,高效通讯稳定。

自定义协议组件

自定义协议组件采集界面字典方式配置,集成合并通讯与串口队列机制,通过模板中连接成功握手函数,合并数据函数,报文发送解析函数,接收解析函数来实现自定义设备通讯,方便用户自行封装协议。

串口控件优化

合并设备通讯控件,可允许进行串口和设备通讯控件共用通讯串口连接,以及监听串口收到消息。

队列控件

将节点纳入队列管控,防止逻辑或者一对一通讯冲突,以及节点限制防止无上限堵塞。

物联网云平台

引入物联网腾讯云,阿里云,百度AI,钉钉消息,微信消息等。

数据库存储

调整优化编译了InfluxDB,MySQL,redis,Mongo,MSSQL,Oracle,并新增了时序数据tdengine,我们应该也是国内首个产品集成tdengine,因为我们是在陶老师发布开源的第二天就集成了,当时被陶老师的产品思想深深的吸引了。

应用案例

采集设备接入物联网,如智能换电,环境监测,综合能源管理,动环监测,智慧公厕等场景

物联网平台规则引擎,实现了用户配置隔离,解决了当前用户配置错误不影响整个进程,隔离在线程中,配置以列表规则主题为保存,方便用户管理



原文链接:,转发请注明来源!