Bootstrap

Node-RED订阅巴法云的数据并展示

目录

订阅巴法云数据

添加 MQTT订阅

添加模板

使用MQTTX模拟数据产生

调试信息

使用Dashboard进行数据展示

添加Dashboard模块

最终展示效果


在前面的博文Node-RED的安装-CSDN博客使用Node-RED发送数据到巴法云-CSDN博客,我已经介绍了Node-RED的简单用法,今天来介绍一下如何使用Node-RED订阅MQTT服务器的数据,并进行图形显示。

订阅巴法云数据

添加 MQTT订阅

要订阅MQTT数据,需要添加一个mqtt in节点,并在节点中设置服务器端和订阅的主题。这里的主题是device004,按照巴法云的约定,004表示是传感器。

添加模板

要解析收到的device004的数据,就需要借助于模版节点。我们假定数据上传的格式为

{
    "temp":30,
    "hum":60
}

如果我们想得到temp字段的内容,我们就可以将{{payload.temp}}作为模版内容,Node-RED会自动解析收到的JSON串,并提取中相应的内容。说明一下,这里使用的JSON格式并不是巴法云默认的格式(即巴法云App和小程序使用的) ,巴法云默认的格式是小米所采用的格式,即:#温度#湿度#开关#。

为了方便调试,我还在程序中加入了两个debug节点,方便查看数据。

使用MQTTX模拟数据产生

我使用MQTTX作为客户端,产生模拟数据。客户端采用的主题是device004/set,这样所有发布的数据会被转发给所有订阅者。

调试信息

将Node-RED程序部署后,运行MQTTX客户端就可以在调试窗口中看到输出结果。

使用Dashboard进行数据展示

添加Dashboard模块

Node-RED非常强的一点,就是可以安装Dashboard模块实现数据的可视化表示。要安装Dashboard模块,可以在用户设置窗口中添加node-red-dashboard模块。

添加模块后,可以在Node-RED中添加一个gauge节点,并设置如下属性。

最终展示效果

部署程序后,现在就可以看到在客户端发布的数据在Dashboard中完美展示了。

;