问题标签 [node-red]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
json - 如何在 Node-RED 函数中解析出 JSON
我正在使用 Bluemix for IoT 中的 Node-RED。
如何解析函数节点中的各个信息(如 cmdmsg 和 tempr),以便可以在流程中的其他节点中使用它?我在尝试时遇到错误(见下文)
当我将其设置为查看完整的消息对象时,我正在接收我在“调试”节点中看到的 JSON 完整消息对象(来自 Node 中的 IoT)。请参阅下面的对象。
在我看来,JSON 格式正确。
我尝试将以下内容放在函数节点中,但我收到一条错误消息“TypeError:无法读取未定义的属性'tempr'”
这是函数参数的内容: return {payload:msg.payload.d.tempr};
这是消息对象
注意:我混淆了设备 ID(mac 地址)和 msgid
关于如何解析数据以及为什么我收到错误的任何想法?
json - 如何在 Node-RED 函数节点中的 JSON 中的纯文本之间进行转换?
Node-RED 我正在尝试发送和接收人类可以阅读和撰写的电子邮件。
流中传输的所有其他内容似乎都是 JSON 格式。因此,我必须为函数节点编写代码,将一些文本从电子邮件输入转换为 JSON 以转到流程的其他部分(我通过 MQTT 将其发送出去)。
而且我需要一个函数来将 JSON(来自 MQTT)转换为一些纯文本,以通过电子邮件发送给人类。
我知道函数节点说你可以编写代码,但我在任何地方都找不到任何参考(搜索了 20 分钟)告诉我如何为函数节点编写代码。
我看到了 split() 和 join() 等示例,但我不知道它们是如何工作的,我也找不到任何关于它是如何工作的信息。
如何操作电子邮件中的字符串并对它们执行测试以创建 JSON 有效负载以注入流?如何从流中获取 JSON 并将其重新格式化为人类的简单英语?
node.js - 如何使用 node.js httpRequest 连接到 dashdb
我们如何使用 node.js 的 HTTP/Request 模块连接到 Dash DB 并执行 R-script 代码。我可以使用 Node-RED 来完成,但喜欢以编程方式完成。现在我收到此错误:
下面是我的代码:
javascript - 在 Node-Red 中解析 JSON javascript
我之前在 C# 中解析过 JSON,但这次我将在 Node-Red 中使用 JavaScript。我在网上搜索并找到了几种使用 JavaScript 解析 JSON 的解决方案,但在所有示例中,JSON 都非常简单,并且其中没有太多“级别”的数据。
我将提供一小部分我需要解析的 JSON 文件
这是从 Nagios 生成的,它包含服务器和交换机以及有关它们的信息。我需要遍历所有“主机”并查看“current_state”是什么,如果它是其他东西那么 0 那么我将从该“主机”获取“host_name”和一些其他信息。
“服务”中的相同内容检查当前状态,如果它不是 0。
然后,我将使用从该 JSON 中获取的信息创建一个数组,并将其显示在信息屏幕上。
但我需要一些帮助才能开始使用 JSON。谢谢。
javascript - 如何在 node-red node exec 中运行命令以启用 LCD 脚本
我有一个脚本可以在 Raspberry PI 的 LCD 上显示当前时间。
LCD 与 Raspberry PI 连接测试工作正常。
我在 ~/.node-red 文件夹中创建了一个脚本名称 index.js,并使用命令在同一个 ~/.node-red 文件夹中安装了 LCD 节点模块:npm install lcd --save
当我使用命令在内部进行测试时,它会在 LCD 上显示时间。
如何在 node-red node exec 中执行这个 index.js 脚本?
我试过但不起作用。
在注入节点中,我输入字符串 1 作为有效负载
在 exec 节点中,我输入了命令:sudo /home/pi/.node-red/node index.js
我尝试了很多方法来执行但没有运气,
请检查图片并帮助我解决这个问题。
非常感谢提前
ibm-cloud - 如何使用 Node-RED 编辑器将参数传递给 dashDB 查询?
在 Bluemix Node-RED 应用程序中,我使用 Cloudant 和 dashDB 服务。我将 Cloudant 数据库复制到 dashDB 中,其中包含存储在 DALERT、DEVICE、ID 等表中的多个值。
我正在尝试使用值等于关键的 DALERT 列从我的 dashDB 中的 CLOUDANT 表中搜索记录。
我在 Node-RED 编辑器中尝试这些方式,但无法从 dashDB 检索数据:
请让我知道是否有任何解决方案。
http - 节点红色函数节点中的 xmlhttp 请求
是否可以从节点红色“功能”节点内发出 http GET 请求。如果是的话,有人可以指点我一些示例代码。
我想解决的问题如下:我想用自定义命令解析一个 msg.payload。对于每个命令,我想发出一个 http 请求并将命令替换为 HTTP GET 请求的响应。
%name%,%TimeOfDay% 和 %Time% 应替换为对http://nodeserver/name ,..., http://nodeserver/Time的 Get 请求的内容。
ibm-cloud - Bluemix IoT Foundation 环境停止工作
今天下午我注意到我的 Bluemix IoT 应用程序处于“未知”状态。当我挖掘应用程序以查看问题可能是什么时,我得到了以下弹出窗口:
App staging 在 buildpack 编译阶段失败
几个月来我没有对我的 NodeRED 流程进行任何更改,如果我启动一个新的 IOT Foundation 应用程序,它就可以正常启动。
关于这里发生了什么的任何想法?
javascript - Node-RED websocket 连接失败,错误无效帧头
我在 IBM Bluemix 上部署了一个非常简单的应用程序节点。此节点应用程序将以编程方式在同一台机器上启动节点 RED 实例,并在 /red 端点上提供节点 RED UI。
有一个端点 /startinstance 将启动节点 RED 实例
这是我正在使用的代码:
I 节点 RED UI 嵌入iFrame
在主应用程序 UI 中。
这工作正常,我可以成功启动节点 RED 实例。当我第一次访问节点 RED UI 时,它工作正常。但是当我停止实例并重新启动它时,它会在 google chrome 控制台中引发 Web 套接字错误,如下所示:
与“ws://myapp.mybluemix.net/red/comms”的 WebSocket 连接失败:帧头 red.min.js:16 无效
这是 Safari 控制台中的错误:
WebSocket 连接到“ws://myapp.mybluemix.net/red/comms”失败:如果没有协商的 deflate-frame 扩展,压缩位必须为 0
此设置对于 localhost 运行良好,但我不确定为什么这会在 Bluemix 上引发错误。
gzip - 对 zlib 的 Node-Red 访问
如何压缩 msg.payload 以输入 HTTP 响应节点?我怀疑这归结为能够解决zlib,但因为我不能使用类似的东西
我无法访问它。基本上我的问题可能归结为如何使 zlib 可用于功能节点。