龙空技术网

Node-RED高级用法

数智工研院 459

前言:

现时大家对“node 界面”大体比较关切,大家都想要了解一些“node 界面”的相关知识。那么小编在网摘上搜集了一些有关“node 界面””的相关文章,希望小伙伴们能喜欢,兄弟们一起来了解一下吧!

上一篇基础部分,介绍了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进行搜索替换

社交

email

发送邮件

twitter

发送twitter消息

存储

file

用来将信息保存到文件当中。

高级

exec

可以设置调用执行的命令,或者脚本

Raspberry Pi

rpi gpio

控制树莓派GPIO端口。输入或者输出两种

rpi mouse

控制树莓派鼠标控制。

rpi keyboard

树莓派键盘控制。

在使用的时候,上面的Node应该可以满足的大部分应用了。

2.自定义节点

Node-Red除了系统内置的节点,还提供了自定义节点的功能,是它的一大特点。具体文档参考:

场景:当系统默认组件功能不足,用户需要个性化功能,外观设置的时候,就会用到。

可以把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可以用。打开: 就可以访问到在线资源。比如,在工业里常用的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内部工作机制,以及源代码分析。可以帮助大家透彻了解它。 其实这个软件,大家可以充分发挥想象力,它能干的事情非常多。日常工作,可以定制为各种商业化软件。

标签: #node 界面 #nodered串口