目录
在前面的博文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中完美展示了。