大家好,欢迎来到IT知识分享网。
上一篇基础部分,介绍了Node-RED的功能,应用场景、安装、配置及基本使用。那今天将继续深入高级用法,还有初步实现原理。这样的话,就可以对Node-RED更深入的掌握,可以更加灵活应用起来。如果默认的功能如果不能满足需求,我会介绍扩展方法,大家熟悉了就可以定制自己的流式处理程序了。我已经把它移植到了边缘计算网关当中了,充当规则引擎。你们也充分发挥想象力,尽情发挥它的威力。
- 节点说明:
我们挑选一些重点的节点做下说明。
- 输入节点:flow的数据来源,入口。通过各种网络协议,手工注入,串口等方式注入数据。
- 处理节点:某些专门用来在处理数据,比如HTML解析,数据转换,拼接等等。在节点的javascript block中完成。此类节点就是处理节点。
- 输出节点:按照某种协议,规范,进行数据输出。比如可以是websocket, TCP, UDP,HTTP response。
- 社交节点:用来email收发,twitter等社交工具连接。比如可以从输入节点接收数据,通过email节点,就可以发送到163邮箱当中。
- 其它几点:比如下列表格中列出的高级节点,硬件节点等等,都是功能的封装。
节点类型 |
节点名称 |
节点说明 |
输入 |
Inject |
注入节点,向flow中注入payload |
Catch |
捕获节点异常 |
|
Status |
从其它节点发送状态消息 |
|
MQTT |
MQTT节点消息输入节点 |
|
HTTP |
HTTP 请求输入节点 |
|
Web socket |
Web socket协议输入节点 |
|
TCP |
TCP协议输入节点 |
|
UDP |
UDP协议输出节点 |
|
Serial |
串口数据输入节点 |
|
处理 |
Template |
按照预制的模板,设置message属性,或者数据转换 |
Delay |
增加延时 |
|
Function |
用户直接编写javascript处理函数。 |
|
Change |
可以对payload进行搜索替换 |
|
社交 |
|
发送邮件 |
|
发送twitter消息 |
|
存储 |
file |
用来将信息保存到文件当中。 |
高级 |
exec |
可以设置调用执行的命令,或者脚本 |
Raspberry Pi |
rpi gpio |
控制树莓派GPIO端口。输入或者输出两种 |
rpi mouse |
控制树莓派鼠标控制。 |
|
rpi keyboard |
树莓派键盘控制。 |
在使用的时候,上面的Node应该可以满足的大部分应用了。
2.自定义节点
Node-Red除了系统内置的节点,还提供了自定义节点的功能,是它的一大特点。具体文档参考:
https://nodered.org/docs/creating-nodes/first-node.html
场景:当系统默认组件功能不足,用户需要个性化功能,外观设置的时候,就会用到。
可以把npm module封装为node.每个node包含两部分:
- .js 定义了server端的行为。
- .html定义了界面中编辑器的外观及帮助。
该模块可以通过npm安装到Node-Red当中。
JS文件中需要完成:
- 创建节点,注册节点类型。

注册节点类型
2.定义如何接收消息

定义如何接收消息
3.定义如何发送消息

定义如何发送消息
还有如何关闭节点,在节点日志处理,国际化等操作。官方文档中做了非常详细的说明。
3.在线Node及Flow
Node-Red除了提供可视化编辑器以外,自己动手创建flow。还有一个强大的在线社区,上面已经提供大量资源。包括Node与Flow。我们在使用Node-Red的过程中,首先搜索一下是不是已经有现成的Node, Flow可以用。打开:https://flows.nodered.org 就可以访问到在线资源。比如,在工业里常用的modbus协议,我们看看如何支持:

搜索Node节点

安装modbus节点
点击进去就可以访问到该node的详细信息。告诉用户如何安装,如何使用。安装完成后,重启Node-Red就可以使用了。
4.综合例子
综合例子中我们综合MQTT输入,email节点。来看复杂一些的flow创建及执行过程。在我们日常的使用过程中,大部分就是这种场景。

MQTT处理流程,Node-RED处理MQTT消息体,进行预警
- Device通过MQTT协议上报数据。
- 发送到MQTT Broker。
- 在Node-Red输入节点中,进行MQTT消息订阅,当有订阅消息收到时,会接收消息并打包到message中,经过Function节点进行处理。当超过某一阀值时,会流转到email节点。通过email节点发送通知邮件。
这就是一个典型的物联网+Node-RED应用。Node-RED充当了物联网平台的规则引擎。这是放在云端。当然把它放在硬件网关中,充当边缘计算引擎也是可以的。大家可以动手亲自试一下。要是有问题,可以留言或者自私。
今天的介绍就到这里。下一期,我将带大家深入Node-RED内部工作机制,以及源代码分析。可以帮助大家透彻了解它。 其实这个软件,大家可以充分发挥想象力,它能干的事情非常多。日常工作,可以定制为各种商业化软件。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/172669.html