赞
踩
Node-RED是一个构建物联网应用的开源可视化界面开发工具,提供了一个基于浏览器的流程编辑器,通过拖拽连接节点的编程方式,快速连接硬件和设备到Web服务和其他软件,可以一键部署运行,创建好的流程还可以通过导出导入JSON文件轻松实现程序移植。
它是基于Node.js构建的轻量级开源工具,非常适合运行在Raspberry Pi等低成本边缘设备以及云端。兼容的运行环境如下:
Node-RED通过安装存储库中的模块,可以获取数据层或者设备层的采集数据,同时可以对采集数据进行处理加工转化为自定义json格式,进行页面展示或入库存储。
node -v
npm install -g --unsafe-perm node-red
npm install -g --unsafe-perm node-red@版本号
#示例
npm install -g node-red@2.2.2
node-red
linux环境搭建实战链接: centos通过源文件的方式安装node-red
nodered在节点在节点之间传递msg 对象,然而,这个对象被下一个msg 对象替换。那么如何在节点调用之间存储数据呢?
Node-Red 提供了三种机制:
在 Function 节点中,可以使用三个预定义的变量来访问上下文:
取值和存储的过程是使用对象的get方法取值和set方法存储值:
name =context.get("name"); //检索变量
context.set("name",name); // 存储变量
在上下文对象中为函数 1 存储的变量对函数 2 不可用,反之亦然。
flow.set("flow-topic","flow-1");
var topic = flow.get("flow-topic");
global.set("all-topic","test-1");
var topic = global.get("all-topic");
global.keys(..) :返回所有全局作用域上下文属性键的列表
存储在 context、flow 和 glbal 变量中的数据称为上下文数据,通常存储在内存中。这意味着如果重新启动流程,则数据将丢失。然而,从 0.19 版本开始,可以将上下文数据存储在文件系统中。
为此,您需要修改设置文件并添加以下条目:
上下文存储:{
默认值:“仅内存”,
仅内存:{ 模块:‘内存’},
文件:{ 模块:‘本地文件系统’}
},
您将它放在设置文件中的哪个位置并不重要,并且根据您开始使用的 node-red 版本,您可能已经有一个被注释掉的条目。上面的设置将 node-red 配置为使用内存中的默认存储以及文件存储的文件系统。将数据保存到上下文变量或从中检索数据时,您需要指定它们所在的存储。默认值在内存中。
点击右上角的设置,选择“节点管理”:
查看已安装节点:
注意:* 节点版本与nodered、node.js版本要保持兼容:*
以modebus节点为例,nodered官网-节点-modbus介绍中有兼容信息,上面说明了不同版本需要的节点版本,这里一定要注意,如果版本不兼容,后期开发时会出一些莫名的问题。
安装新节点有两种方式:
如果能在界面找到对应的包及版本,一般第一种方式较为简单。但是界面一般只显示最近版本,如果找不到版本的话,可以用第二种放方式。
npm install -g 节点名称@版本号
#示例
npm install -g node-red-contrib-modbus@5.21.2
如果不知道节点对应的详细名称,可以进入nodered官网 找到对应的包及版本。
安装成功后,浏览器刷新node-red界面http://localhost:1880/
,在对应栏目看节点是否已成功添加:
如果刷新后没出现节点,建议保存当前nodered数据后,重启nodered服务。
执行命令清理:npm cache clean --force
在使用最新Vue脚手架vue-cli搭建的项目开发时,因为频繁修改代码,导致内存溢出,出现:
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed
(致命错误:使用任何“NPM”命令时JavaScript堆将耗尽内存)
三种解决方法:
setx NODE_OPTIONS --max_old_space_size=10240
serve" : "node --max_old_space_size=4096 node_modules/.bin/vue-cli-service serve --open
开发时运行npm run serve或yarn serve即可。
和以上的方法唯一的不同,就是不需要编写vue-cli-service包的路径,代码更优雅,也不受包地址 的影响。
全局安装npx: npm i -g npx
直接在package.json替换scripts下的serve指令内容:
serve": "npx --max_old_space_size=4096 vue-cli-service serve
开发时运行npm run serve或yarn serve即可。
为了防止node-red在X-shell关闭后也跟着关闭,可以通过pm2启动
pm2是一个进程管理工具,可以用它来管理你的node进程,并查看node进程的状态,当然也支持性能监控,进程守护,负载均衡等功能。
使用快捷键: Ctrl + c 退出之前的node-red。
npm install -g pm2
pm2 start node-red
nodered卸载运行命令:npm uninstall -g node-red
[回到目录] [回到末尾]
【本人实战记录 - node-red环境搭建 : 一机多实例】
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。