当前位置:  开发笔记 > 编程语言 > 正文

在Node-RED中实现两个输入

如何解决《在Node-RED中实现两个输入》经验,为你挑选了1个好方法。

在我当前的项目中,我们尝试使用Node-RED实现当前的应用程序功能.功能如下所示.这里,Fire状态接收两个输入:(1)TemperatureSensor (2)SmokeDetector.两个传感器都使用MQTT发布者发布数据.和Firestate组件可以通过MQTT子网接收数据.

火灾状态可以基于这两个参数产生输出if temperaturevalue > 70 and Smokevalue == true.鉴于此,我的问题是 - Node-RED是否支持两种输入功能?如果是,那么我们如何实现这一功能呢?如果没有,那么..我可以说使用Node-RED无法实现两个输入功能吗?我们已经看到Node-RED提供多个输出,但不提供输入.

在此输入图像描述



1> hardillb..:

您将需要使用函数节点并使用该context变量来保持消息之间的状态,并使用消息主题来确定消息来自哪个输入.

像这样的东西:

context.temp = context.temp || 0.0;
context.smoke = context.smoke || false;

if (msg.topic === 'smokeDetector') {
  context.smoke = msg.payload;
} else if (msg.topic === 'tempSensor') {
  context.temp = msg.payload;
}

if (context.temp >= 70.0 && context.smoke) {
  return {topic: 'fireState', payload: 'FIRE!'}
} else {
  return null
}

更多细节可以在这里的函数节点doc中找到

推荐阅读
刘美娥94662
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有