1. Ubuntu环境搭建
尽量使用最新版本的nodejs和npm,如果是Ubuntu16.04, 可能因为nodejs的版本较低,导致安装不成功,可以使用下载npm的版本管理工具,获取npm的最新版本,系统会自动将nodejs的版本调整到最新。
sudo apt-get install nodejs
sudo apt-get install npm
sudo npm install -g node-red
node-red
2. 创建一个NODE
可以参考官网node-red,里面有比较详细的介绍。
2.1. 创建目录
先创建一个node自定义文件夹,如node-red-contrib-example-frist-test,在该文件夹在创建三个文件:
frist-test.html、frist-test.js、package.json
2.2. package.json
{
"name" : "node-red-contrib-example-frist-test",
"version": "0.0.1",
"node-red" : {
"nodes": {
"frist-test": "frist-test.js"
}
},
"description": "node-red frist-test custom node"
}
注意:
1.name和version是需要添加的,nodes为添加的节点,以及对应的js文件;
2.如果需要添加依赖,可以添加如下实例:
"dependencies": {
"request": "^2.74.0",
"mustache": "^2.2.1"
}
2.3. frist-test.html
data-template-name为模板,里面写html代码;
data-help-name为说明,在node上可以查看描述;
script为nodejs代码,在里面可以对整个node进行配置,具体可以在github上找到可以使用的详细实例node-red-contrib-http-request。
<script type="text/javascript">
RED.nodes.registerType('frist-test',{
category: 'function',
color: '#a6bbcf',
defaults: {
name: {value:""}
},
inputs:1,
outputs:1,
icon: "file.png",
label: function() {
return this.name||"frist-test";
}
});
</script>
<script type="text/html" data-template-name="frist-test">
<div class="form-row">
<label for="node-input-name"><i class="icon-tag"></i> Name</label>
<input type="text" id="node-input-name" placeholder="Name">
</div>
</script>
<script type="text/html" data-help-name="frist-test">
<p>A simple node that converts the message payloads into all Frist-test characters</p>
</script>
2.4. frist-test.js代码
module.exports = function(RED) {
function FristNode(config) {
RED.nodes.createNode(this,config);
var node = this;
node.on('input', function(msg) {
msg.payload = msg.payload.toLowerCase();
node.send(msg);
});
}
RED.nodes.registerType("frist-test",FristNode);
}
frist-test为注册命名的node名称,需要使用RED.nodes.registerType进行注册;
RED.nodes.createNode方法为创建新的node。
3. 安装、更新和卸载
3.0. 启动命令
node-red
3.1. 安装
使用root
sudo -s
进入node-red的安装目录
cd /usr/local/lib/node_modules/node-red
安装命令
npm install ~/node-red-workspace/node-red-contrib-example-frist-test --unsafe-perm=true --allow-root
其中–unsafe-perm=true --allow-root为允许安装
3.2. 更新
在第二步自己创建的目录下,进行如下操作
sudo npm update
这个时候node-red需要重新启动
3.3. 卸载
sudo -s
cd /usr/local/lib/node_modules/node-red
npm uninstall node-red-contrib-example-frist-test
其中npm uninstall后面加node的文件夹的名称