首页 > 解决方案 > InfluxDB 和 NodeRED

问题描述

自从我编写代码以来已经有一段时间了,这是我第一次处理 Influxdb 和 NodeRED。我正在从连接到 Pi 的传感器获取四组测量值。这是调试过程中截取的屏幕截图,测量即将结束。

在此处输入图像描述

我设法将传感器中的数据输入 NodeRED:

在此处输入图像描述

我面临的问题是:

稍后我将尝试将数据库与 Grafana 连接,这对我来说是全新的。任何帮助表示赞赏。

标签: grafanainfluxdbnode-red

解决方案


首先,在每个传感器节点的末尾添加一个函数节点,并将输出保存为变量。代码会根据您获取传感器数据的方式而有很大差异,但我是这样做的:

msg.payload = Number(msg.payload);
flow.set("presion_agua_psi",msg.payload);
flow.set("sensor_presion_agua","Wemos D1");
return {payload: msg.payload};

在下面的示例中,我使用 MQTT 发送传感器数据 传感器节点

然后,单独使用一个注入节点并将其设置为每 xx 分钟重复一次。这是您将用于将数据实际保存到 influxDB 的时间范围。

注入节点

在注入节点之后,添加一个使用变量名称及其值创建字典的函数节点。这将确保您的 influx 列以名称存储。

再一次,代码会有所不同,但这里有一个例子:

msg.payload = { 
    Timestamp:date, 
    Device:flow.get("sensor_nivel_agua"), 
    Nivel_Agua_Tinaco:flow.get("Agua_Tinaco"),
}

return msg;

最后,添加您的 influxDB 凭据并进行调试,以确保正确存储数据。


推荐阅读