物联网之Node-Red的学习(零):环境搭建和创建第一个node

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的文件夹的名称

猜你喜欢

转载自blog.csdn.net/m0_37356874/article/details/103983665