Node.js用于物联网监控、优化和系统模拟



我目前正在物联网环境中进行系统(SCADA)的实时监控、控制和优化项目。数据的获取和资产的控制将通过REST api和来自物联网平台(Cumulocity或Predix,尚不确定)的通知来完成,物联网平台本身从传感器收集测量值并向设备发送操作。

然后,服务器应用程序将控制系统状态,设置警报,并做出优化决策(例如,设备规划)。

为了测试系统的行为、对决策的响应并找到良好的优化解决方案,我还计划对系统进行模拟(甚至可能对实时测量进行模拟)。

最后,Angular JS中的HMI将提供给用户,让他输入用户输入数据,跟踪系统/警报的当前状态及其历史记录,并被告知所做的决定。

我不确定所需的计算,但模拟可能会非常繁重,优化解决方案可能也有点繁重。

一家公司通常会用C实现这样的应用程序,也可以用Python实现(还需要快速开发),但我想用Node.js来实现。我找到了一个用于离散事件模拟的JS库Sim.JS,但我不知道它是否可以处理复杂的系统模拟。

简言之,你认为为什么不使用Node.js来实现这一点吗?类似的事情已经做了吗,比如在物联网监控方面?

非常感谢你的帮助,

Layvier

是的,Node.js是SCADA的一个非常快速的框架。

类似的事情已经做了吗,比如在物联网监控方面?

是的!

a) 在商业上,node.js被用于myScada-成熟的SCADA系统!

b) 您可能还想检查GitHub上node.js的SCADA/HMI节点模块的源代码:https://github.com/vytronics/vytronics.hmi

c) 或HMI SCADA项目示例https://github.com/vytronics/vytronics.project-树莓派的多平台支持!

您的问题有点笼统,但我会尽力提供帮助。我想你在问一些事情:

  1. node.js是一个可行的开发/扩展平台吗
  2. sim.js是创建模拟的可行框架吗?有替代方案吗

最终,你需要决定什么对你的项目很重要。

对于第一个问题,有许多node.js在生产系统中使用的例子。它的性能可能会有争议,并且会针对特定的用例,所以我只向您介绍相关问题:如何决定何时使用Node.js?

对于第二个问题,您可以在类似sim.js的框架中查找一些内容,包括

a) 正在进行多少积极的开发

您可以在源代码中查找最后一次提交日期(5年前):github 上的源

b) 社区为提供多少支持

您可以在社区中寻找讨论(多年来的5个主题):谷歌集团

c) 许可证对你的应用程序有效吗

根据simjs.com的说法,许可证是LGPL,可能对您有效,也可能不适用:lgpl允许我做这个吗

根据您决定使用的平台,可能有其他模拟数据源可供您使用或适应您的需求。例如,Predix机器数据模拟器,但可能还有许多其他模拟器。

希望这能有所帮助。

最新更新