Node-RED具有非常好的“单击部署”功能。使用此功能,node-red可以非常快速地部署其所有节点和流。
但是,我想知道 - 当我们在节点RED中单击“部署”按钮时,我们在Node-RED编辑器中开发的流和节点在哪里部署?我问的原因是因为我想在远程设备(例如Android)上自动部署Node-RED生成的代码(我猜它在Node.js中)。
我知道连接的解决方案之一是 - 在Android设备上运行MQTT发布者,在NodeRED中的MQTT订阅者中写订阅者以获取事件数据。但是,这个解决方案的问题是 - 手动部署(耗时,容易出错)。
正如Tiago在此问题的答案部分中所建议的那样,Node-RED根据我们在Node-RED编辑器中定义的节点和流程在useDir
中生成 JSON文件。我们可以获取node.js
个文件而不是JSON文件吗?这有助于我们在每台设备上部署特定于设备的代码而无需在每台设备上加载Node-RED编辑器吗?
答案 0 :(得分:2)
您可以在这些远程设备上复制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
我的userDir:
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文件,看看它我确定你理解它是如何工作的:)