公众号
关注微信公众号
移动端
创头条企服版APP

国内首个开源物联网边缘工业协议网关软件,Neuron v2.0产品解读

3135

作者|Joey,Neuron产品总监

不久前,我们宣布了物联网边缘工业协议网关软件Neuron正式开源的消息。随着Neuron v2.0的正式发布,大家现在已经可以在GitHub仓库中找到这一开源项目,根据自己的需求进行定制和修改。

与v1.x相比,Neuron v2.0无论是在产品功能定位还是架构设计上都进行了较大的改动。今天这篇文章将为大家进行详细解读,帮助大家更好地理解和使用Neuron v2.0。

项目简介

Neuron是运行在各类物联网边缘网关硬件上的工业协议网关软件,旨在解决工业4.0背景下设备数据统一接入难的问题。

通过将来自繁杂多样工业设备的不同协议类型数据转换为统一标准的物联网MQTT消息,实现设备与工业物联网系统之间、设备彼此之间的互联互通,进行远程的直接控制和信息获取,为智能生产制造提供数据支撑。

Neuron支持同时为多个不同通讯协议设备、数十种工业协议进行一站式接入及MQTT协议转换,仅占用超低资源,即可以原生或容器的方式部署在X86、ARM等架构的各类边缘硬件中。同时,用户可以通过基于Web的管理控制台实现在线的网关配置管理。

发展历程

Neuron的产品雏形始于工业物联网IIoT尚在起步阶段的2018年,那时IIoT场景中的数据采集很多都是通过SCADA去完成,简单说就是在SCADA中增加将数据上报到IIoT平台的功能,从而实现设备操作员操作设备的数据同步实时上报。

所以我们最早将Neuron定位成SCADA软件+MQTT协议数据上报功能。在功能上,我们选择了单连接设备,因为一般SCADA软件都只会连接一台PLC或设备,但可替换各种协议,以便对接不同品牌PLC或设备,进行数据交换。

一般情况下,SCADA必须具有一定基本数据处理能力,包括警报系统、业务规则处理及历史数据。这些功能在Neuron v1.x中均得到实现。

Neuron v1.0发布后,我们持续进行着维护与升级,也根据很多用户的需求反馈陆续增加了不少功能,包括Dashboard页面重整优化、API增加JWT鉴权认证、新的驱动、DTU Server模式连接、字符串支持、与EMQ其他产品集成等等。

Neuron开始被广泛应用到油田服务、半导体生产等工业项目中,发挥了设备数据采集的作用。

随着用户与应用场景的不断增加,我们逐渐发现最初多协议、单连接的设计开始无法适应多样的场景需求。以油田服务数据采集为例,要将所有油井数据汇聚到同一服务器上,需要Neuron同时提供多个连接到不同地区的油井。这是流程型工业生产,和离散型工业利用SCADA批量生产的情况有很大不同。而为了满足这些场景需求提供多连接功能,则需要在设计上重构整个Neuron的架构。

同时,有越来越多的用户希望在Neuron的基础上进行私有协议、个性化功能等的二次开发,而现有的Neuron v1.x为闭源项目,没有将驱动程序的数据交换做成统一接口,小部分驱动程序代码放在核心层内。

除了多连接和定制开发需求,我们还注意到Neuron v1.x中的SCADA相关功能(如工业级警报系统、业务规则)并未得到用户很充分的使用。Neuron更多地被应用于与EMQ生态内其他产品(如云原生分布式MQTT消息中间件EMQX和轻量级物联网边缘分析/流式处理软件eKuiper)集成,构建一套完整的数据采集、边缘计算与云边协同方案。因此我们也开始思考是否需要对Neuron的部分功能进行精简,使其更轻巧、更专注于数据采集功能。

综合以上诸多考虑,我们决定从v2.0开始对Neuron的架构进行重新设计,同时将其开源,以满足更多用户的多样化需求。

全新设计理念与架构

随着技术的演进,现代的硬件大都采用是多核CPU架构,即便是用在嵌入式系统中比较低端的ARM和Risc-V架构的CPU,也都拥有多核心的芯片。因此,我们能够利用这些多核心CPU能力去处理并发任务。

在Neuron v2.0架构设计中我们也充分考虑支持多核多线程。为此,我们使用了NNG这个基础消息库,这是一个多线程的IO处理和消息处理的异步并发库,能够充分利用CPU的多个核心。

我们采用了星型总线这一组织形式:有一个消息路由中心,该消息路由基于NNG提供高效率的消息转发。消息的发送和接收是线程间通讯,使用共享Buffer和智能指针,没有任何的内存拷贝,具有非常高的效率。围绕着这个路由中心,是各个具体功能的节点,由Adapter和Plugin组成。这些节点既可以是内置固有的,如轻量级的WebServer;也可以是动态增加的,如各种设备驱动、MQTT客户端、eKuiper接口等。

这样的设计隔离了各个设备驱动和北向应用的功能模块之间的耦合,另外采用订阅-发布机制来实现数据流的分发和聚合,使得Neuron v2.0有着极大的灵活性。用户可以根据现场的工作情况动态增加和减少设备驱动的节点,具有良好的可配置性

另外,当运行Neuron v2.0的硬件CPU性能好、核心多、内存大时,Neuron v2.0能支持更多的设备驱动节点、海量的数据点位、更大的数据吞吐量、更低的响应时间,具有良好的系统可伸缩性

Neuron v2.0采用了插件机制来支持多样化的用户功能需求,用户可以根据应用场景的功能需求动态的加载不同功能的插件,得到有不同功能的节点。

当设备驱动有Bug需要修复,或者有新的功能需要升级时,可以通过动态更新插件来解决问题,升级新功能。每个节点的运行是独立的,当升级一个节点的插件时,不会影响其他节点的运行,也不需要重新启动Neuron 2.0。

Neuron v2.0 总体架构概览.png

Neuron v2.0总体架构概览

Neuron v2.0亮点特性

  • 支持多种工业设备协议

南向支持从各类品牌PLC制造商到全球技术标准委员会发布的数十种协议接入,包括:西门子、罗克韦尔自动化、欧姆龙、三菱、Modbus、OPC、Siemens、Mitshibishi、Omron、IEC、EtherNet/IP等。北向支持互联网协议,如MQTT、HTTP、HTTPS等。

  • 支持同时连接多个设备

支持南北向同时接入多个相同或不同协议的设备,无需购买大量硬件网关,只需部署一套Neuron服务器即可对海量设备进行管理。同时支持运行期更新设备驱动,可随时动态更改应用和驱动,便于及时响应业务需求调整。

  • 超低内存占用

Neuron具有极少的内存占用和极低的CPU占用,既可以在低端嵌入式Linux设备中运行,也可以运行在有较大内存的Linux主机中,以支持大规模的连接设备和海量的数据点位。同时具有良好的可伸缩性,可满足不同运行资源条件下的需求。

  • 插件服务拓展

通过加载更多的插件模块来扩展更多的功能服务,例如北向数据处理引擎和南向PLC驱动程序。支持Neuron运行期更新设备驱动插件。

  • 提供SDK二次插件

开源后用户也可基于Neuron插件框架进行二次开发,定制自己的私有协议。这样满足了用户在不同项目中对私有协议与其他工业厂商协议的扩展需求。

  • 基于Web的人机界面

通过友好的Web UI提供可视化的网关配置以及采集数据查看功能。用户可以很方便地使用浏览器直接在本地网络内查看设备的状态和数据,并可以通过Web UI来控制和配置Neuron。

  • Restful API控制和配置

内置有轻量级的Web Server,可以通过浏览器来配置和控制、监听设备,或通过API服务控制工业设备或更改参数或标签配置。

  • 集成流处理引擎

在集成的eKuiper引擎中建立流式SQL脚本,通过AI/ML、控制逻辑、公式和交易,可以处理所有从各种连接源收集的工业数据。

  • 高度融合EMQ产品生态

Neuron可与EMQ其他产品高度融合,包括EMQX、NanoMQ、eKuiper(由EMQ发起,现归属于LFEdge基金会维护运营)等。无缝产品集成使用体验,统一管理控制台,实现在线多节点管理与产品配置,安全控制,统一用户认证、操作权限控制。

未来规划

未来Neuron v2.0将与v1.x分别独立运营维护,EMQ对现有的商业版Neuron v1.x仍提供缺陷修复与维护,但后续将不再基于1.x版本提供功能更新。

在后续的2.1版本中,我们将实现eKuiper流式处理引擎与Neuron的集成,eKuiper的功能将会统一无缝集成在Neuron的Dashboard页面

和eKuiper集成后,Neuron将成为一个功能强大且非常轻巧的边缘数据流处理服务器。用户可以为自己的控制逻辑、公式和事务在eKuiper内创建一些SQL规则。

eKuiper流处理引擎会对每个由Neuron采集到的数据流进行每秒数个循环扫描,实现用户定义的业务逻辑,输出的数值可以发回PLC进行反控。这些SQL脚本支持在机器运行时进行即时修改,业务处理和计算基本上已在本地边缘侧完成并且存入回本地eKuiper连接数据库。用户亦可以选择将数据发送到IIoT平台,并在发送前进行预处理。

在2.2版本,我们则计划提供统一驱动接口包SDK,用户可通过其自行为私有协议开发驱动插件,或针对某些特定行业、功能去开发应用插件。

写在最后

Neuron是我们开发团队十几年行业经验的结晶。我们的目标是使Neuron更加可靠、灵活、易用、可扩展、易迁移,尽可能多地适应各类自动化系统与工业设备,帮助解决工业物联网中海量异构设备的连接问题。同时与EMQ生态内其他产品一起,组成构建现代工业物联网平台的坚实数据基础设施,推动工业物联网行业发展。


声明:该文章版权归原作者所有,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与本网联系。
您阅读这篇文章花了0
转发这篇文章只需要1秒钟
喜欢这篇 0
评论一下 0
相关文章
评论
试试以这些内容开始评论吧
登录后发表评论
阿里云创新中心
×
#热门搜索#
精选双创服务
历史搜索 清空

Tel:18514777506

关注微信公众号

创头条企服版APP