Node-red是IBM开发的可视化编程工具,通过拖拽部件来实现逻辑化过程,连接设备硬件,WebAPI,功能函数,以及各类在线服务。通过它丰富的部件来拓展功能和定制个性化的流程(场景),而不是简单的自动化模块。
1. TARS 启用 MQTT
以下内容会以 TARS MQTTBroker 提供连接,打开 TARS,在 参数设置-MQTT服务
中确认 开启 MQTT 服务
。
2. MQTT 连接验证测试
node-red 的网络通讯模块自带mqtt,可直接使用 node-red 实现与 TARS MQTTBroker 的连接。
测试环境放置三个节点,如下图所示,分别为 inject
、debug
与 mqtt out
。将 inject
分别连线至 mqtt out
与 debug
。
双击以编辑 inject
节点。在右侧的编辑窗口中编辑 msg.topic
,设定 MQTT 的发布/订阅主题。此处设置为 test/sample
。编辑 msg.payload
为默认设置。重复
设置项中选择重复类型为 周期性执行
,设定时间间隔为 每隔10秒
。
双击 mqtt out
节点进行编辑,首先需要设置服务端,在初始状态下服务端是空白的,需要自行手动创建。然后再设置发布/订阅的主题名称。
点击右侧的编辑按钮,打开 编辑 mqtt broker 节点
,在 连接
标签页中设置 MQTT Broker 的基本信息。如使用 TARS 作为服务端进行连接,则只需要设置 服务端
、端口
以及 客户端ID
即可。
保存完成后,点击 部署
按钮,可观察 MQTT 的连接情况以及发布/订阅的信息接收情况。可使用 Smart 中的 MQTT示例来进行接收验证。
3. MQTT 读取温湿度示例通讯
接下来我们将讲解如何使用ESP32 连接的温湿度传感器实现 Node-Red 与 Smart 实时温湿度显示。
3.1. Node-Red 流程设计
此处需使用到node-red插件 node-red-dashboard
,请在测试连接前进行插件的安装。Node-Red 的流程设计图如下。
Node-Red的流程代码如下:
[{
"id":"fdc34ab6d5b95646","type":"ui_gauge","z":"058094121846eb7e","name":"温度","group":"0d3fcce518952bbd","order":0,"width":0,"height":0,"gtype":"gage","title":"温度(℃)","label":"units","format":"{
{value}}","min":0,"max":"50","colors":["#008fb3","#00e658","#ca3838"],"seg1":"10","seg2":"30","className":"","x":490,"y":1160,"wires":[]},{
"id":"ca0b009fd15d3748","type":"mqtt in","z":"058094121846eb7e",