在 Node-RED 中部署单个节点

Deployment of individual nodes in Node-RED

Node-RED 具有非常好的 "single-click deployment" 功能。使用此功能,node-red 可以非常快速地部署其所有节点和流程。

但是,我想知道 - 当我们在 node-RED 中单击 "deploy" 按钮时,我们在 Node-RED 编辑器中开发的流和节点部署在哪里?我问的原因是因为我想在远程设备(例如 Android)[=22] 上自动部署 Node-RED 生成的代码(我猜它在 Node.js 中) =].

我知道连接的解决方案之一是 - 运行 Android 设备上的 MQTT 发布者并在 NodeRED 的 MQTT 订阅者中写入订阅者以获取事件数据。但是,此解决方案的问题是 - 手动部署(耗时,容易出错)。

正如 Tiago 在这个问题的回答部分所建议的那样,Node-RED 根据节点和流程在 useDir 中生成 JSON 个文件在 Node-RED 编辑器中定义。我们可以得到 node.js 个文件,而不是 JSON 个文件吗?这将有助于我们在每个设备上部署设备特定代码,而无需在每个设备上加载 Node-RED 编辑器?

您可以在这些远程设备上复制您的 userDir 并启动 node-red:

您的流程和设置文件都在那里:

# /opt/node/bin/node-red -help 
Node-RED v0.12.1
Usage: node-red [-v] [-?] [--settings settings.js] [--userDir DIR] [flows.json]

Options:
  -s, --settings FILE  use specified settings file
  -u, --userDir  DIR   use specified user directory
  -v                   enable verbose output
  -?, --help           show usage

我的用户目录:

root@arm:~# find /root/.node-red/
/root/.node-red/
/root/.node-red/lib
/root/.node-red/lib/flows
/root/.node-red/settings.js
/root/.node-red/flows_arm.json
/root/.node-red/.config.json
/root/.node-red/.flows_arm.json.backup

顺便说一句,您的流程只是一个 json 文件,看看它我相信您了解它是如何工作的:)