Node.js用于物联网监控,优化和系统仿真

时间:2016-05-11 13:20:10

标签: node.js optimization simulation iot scada

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

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

为了测试系统的行为,对决策的响应以及找到一个好的优化解决方案,我还计划对系统进行仿真(甚至可以模拟实时测量)。

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

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

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

简而言之,您是否看到为什么不使用Node.js的原因? 在物联网监控中,是否已经完成了类似的工作?

非常感谢你的帮助,

Layvier

2 个答案:

答案 0 :(得分:0)

您的问题有点general,但我会尽力提供帮助。我想你在问几件事:

  1. node.js是开发/扩展的可行平台
  2. sim.js是一个可行的框架来创建模拟并且有替代方案
  3. 最终,您需要确定对您的项目重要的内容。

    对于第一个问题,有许多node.js在生产系统中使用的示例。它的表现如何,可能会引起争议,并且会针对特定情况使用,所以我只会向您推荐相关问题: How to decide when to use Node.js?

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

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

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

    b)社区提供多少支持

    您可以在社区中寻找讨论(多年来有5个主题): google group

    c)许可证适用于您的应用程序

    根据simjs.com许可证是LGPL,可能适用于您,也可能不适用于您: does the lgpl allow me to do this

    根据您决定使用的平台,您可以使用其他模拟数据源,或根据您的需求进行调整。例如,Predix machinedata-simulator但可能还有很多其他人。

    希望有所帮助。

答案 1 :(得分:0)

是的,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 - 来自Raspberry Pi的多平台支持!