标签: node-red

如何正确测试节点红色节点?

我正在开发一个节点红色节点,我想知道测试这些节点的最佳或预期方法.我一直在寻找其他一些节点,他们希望依赖于node-red本身的对等安装,并使用"helper.js"来加载这些节点.我期待更多的"单元级"测试可能会嘲弄节点红色.

unit-testing node-red

8
推荐指数
1
解决办法
1351
查看次数

在Node-RED中实现两个输入

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

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

在此输入图像描述

node.js node-red

7
推荐指数
1
解决办法
2万
查看次数

如何在节点集群中水平扩展Node-RED?

是否可以在节点集群上水平扩展Node-RED?无法找到相同的任何文档.我的方案是每秒处理数百万个事件并使用Node-RED实时处理它们.

node-red

7
推荐指数
1
解决办法
5291
查看次数

如何从Node-Red触发Raspberry Pi上的Python脚本

我正在使用Node-Red,在Raspberry Pi上托管一个物联网项目.

如何从Node-Red触发raspi上的Python脚本?我想运行一个脚本来更新位于Pi上的Adafruit LCD屏蔽上的文本

我是否应该以某种方式将Python脚本公开为Web服务?

我正在使用Raspberry Pi B +

python gpio raspberry-pi node-red iot

6
推荐指数
1
解决办法
2万
查看次数

在节点红色中,如何在不使用调试节点的情况下向调试选项卡发送消息?有没有我可以调用的方法

Node-RED 流程

我不想使用调试节点。相反,我只想将调试消息直接从我的自定义节点传递到调试选项卡。所以我想知道是否有一种方法可以用来实现这一目标。

node-red

6
推荐指数
1
解决办法
1万
查看次数

如何在不知道密钥的情况下获取JSON对象的第一个密钥对元素,并在节点红色中删除它

我正在编写一个node-red的函数节点,它接受一个带有任意键值对的JSON对象:

{ 30000c690b61: "m8Jp_M7Lc0",
  30000c290bdc65: "S3qg3Rkl8Y", 
  30000c290bdf1c: "KsLpfVrR4W", 
  30000c290be5d0: "oXasuCWV_q", 
  30000c29e618: "6Q67v-gJkS" … }
Run Code Online (Sandbox Code Playgroud)

我想访问此对象中的第一个键对元素,存储它,然后将其删除.我尝试了很多东西,但由于它是节点红色,它似乎表现不同

javascript json node-red

6
推荐指数
2
解决办法
1万
查看次数

如何将对象添加到 Node-RED msg.payload

我需要 Accel 对象作为有效负载对象的一部分:

  • 消息.payload.Accel.x:1
  • 消息有效负载.Accel.y : 2
  • 消息.payload.Accel.z : 3

如何将 Accel 和 x,z,y 添加到有效负载(最好使用更改节点)?

我已经尝试过这个:

msg.payload.Accel['x'] = 1;
return msg;
Run Code Online (Sandbox Code Playgroud)

并得到一个错误:

"TypeError: Cannot set property 'x' of undefined"
Run Code Online (Sandbox Code Playgroud)

node-red

6
推荐指数
2
解决办法
3万
查看次数

尝试创建 HTTPS 后运行 node-red-start“错误 140AB18F:SSL 例程:SSL_CTX_use_certificate:ee 密钥太小”

大家好,我一直在为我的树莓派设置对 node-red 的远程访问。我已经修改了 settings.js 并安装了 node-red-admin 但是当我去启动 node-red 我收到以下错误:

Error: error:140AB18F:SSL routines:SSL_CTX_use_certificate:ee key too small
at Object.createSecureContext (_tls_common.js:131:17)
at Server.setSecureContext (_tls_wrap.js:1152:27)
at Server (_tls_wrap.js:1030:8)
at new Server (https.js:65:14)
at Object.createServer (https.js:89:10)
at Object.<anonymous> (/usr/lib/node_modules/node-red/red.js:141:20)
at Module._compile (internal/modules/cjs/loader.js:945:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:962:10)
at Module.load (internal/modules/cjs/loader.js:798:32)
at Function.Module._load (internal/modules/cjs/loader.js:711:12) {
library: 'SSL routines',
  function: 'SSL_CTX_use_certificate',
  reason: 'ee key too small',
  code: 'ERR_SSL_EE_KEY_TOO_SMALL'
}
nodered.service: Main process exited, code=exited, status=1/FAILURE
nodered.service: Failed with result 'exit-code'.
nodered.service: Service RestartSec=100ms expired, scheduling restart.
nodered.service: Scheduled restart …
Run Code Online (Sandbox Code Playgroud)

ssl https node-red raspberry-pi3

6
推荐指数
1
解决办法
7753
查看次数

如何将负二进制数转换为int?

我想通过节点红色 modbus 节点从数据源读取数据。范围是 -20000 到 20000,但节点无法处理负数,所以我不得不将它们转换为二进制数 (DWORD),将它们拆分为低位和高位字,然后将这些字转换回整数。

var low

function dec2bin(dec){
    return (dec >>> 0).toString(2);
}

var a = msg.payload

if (a >= 0){

    a = dec2bin(a);
    a = parseInt(a,2);

} else {

    a = dec2bin(a);
    a = a.substr(16);
    a = parseInt(a,2);

} 

low = { payload: a };

return low;
Run Code Online (Sandbox Code Playgroud)

对于可视化,我想使用仪表板节点,但因此我需要将 2 个二进制字符串连接在一起并将它们转换为 int。

问题:

节点 red 将它们转换为 qword,因此二进制数 1111 1111 1111 1111 1111 1100 0001 1000 被视为 4.294.966.296?,而不是 -1000。但是,如果我用 1 个酸橙填充下一个剩余部分,那么: 1111 1111 1111 1111 1111 1111 1111 …

javascript node.js node-red modbus-tcp

6
推荐指数
1
解决办法
382
查看次数

推荐用于 Node-RED 的 .gitignore

是否有用于 Node-RED 项目的标准或推荐的 .gitignore 文件?或者是否有应该忽略的文件或文件夹?例如,像.config.jsonflow_cred.json这样的文件应该被忽略吗?

目前我正在使用gitignore.io生成的 Node 模板(见下文),但这不包含任何特定于 Node-RED 的内容。

我发现这些带有 .gitignore 文件的 github 项目:

但我不确定这些是否适用于任何 Node-RED 项目。

节点 .gitignore 文件:

# Created by https://www.gitignore.io/api/node
# Edit at https://www.gitignore.io/?templates=node

### Node ###
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*

# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json

# Runtime data
pids
*.pid
*.seed
*.pid.lock

# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov

# Coverage directory used by tools like istanbul
coverage
*.lcov …
Run Code Online (Sandbox Code Playgroud)

gitignore node.js node-red

5
推荐指数
1
解决办法
977
查看次数