Node-RED怎么写入InfluxDB?具体怎么写?

文章导读
在 Node-RED 中写入 InfluxDB 主要依赖 node-red-contrib-influxdb 插件。具体写法是通过 Function 节点构造符合 InfluxDB 行协议或对象格式的消息,通常 msg.payload 应包含 measurement、tags 和 fields 属性,而不是数组包裹。用户提供的代码使用了数组格式且属性结构可能不符合节点期望,导致写入失败。正确做法是
📋 目录
  1. Node-RED 配置 InfluxDB
  2. 构建物联网系统闭环 2(11.8)
  3. 「influxDB 原理与实践 (二)」详解 influxDB 的写入与查询
  4. IOTstack 核心组件解析:Node-RED、Grafana 与 InfluxDB 如何协同工作-CSDN 博客
  5. FAQ
A A

在 Node-RED 中写入 InfluxDB 主要依赖 node-red-contrib-influxdb 插件。具体写法是通过 Function 节点构造符合 InfluxDB 行协议或对象格式的消息,通常 msg.payload 应包含 measurement、tags 和 fields 属性,而不是数组包裹。用户提供的代码使用了数组格式且属性结构可能不符合节点期望,导致写入失败。正确做法是配置 influxdb out 节点,连接 InfluxDB 服务器,并在 Function 节点中返回单一对象格式的 payload,确保字段类型正确(如整数加 i),然后部署流程即可实现数据持久化存储。

Node-RED 配置 InfluxDB

在 Node-RED 中配置 InfluxDB 需要安装相应的节点并正确设置连接参数。以下是详细步骤:1. 安装 InfluxDB 节点 打开 Node-RED 界面,点击右上角菜单,选择“管理面板”。进入“节点管理”→“安装”选项卡。搜索 node-red-contrib-influxdb,点击安装。安装完成后,重启 Node-RED。2. 准备 InfluxDB 环境 InfluxDB v1.x 创建数据库 (若未提前创建): # 使用 InfluxDB 命令行 CREATE DATABASE mydb CREATEUSERuser1 WITH PASSWORD'password1'WITH ALL PRIVILEGES AI 写代码 bash 1 2 3 InfluxDB v2.x 创建 Bucket 和组织:登录 InfluxDB Web UI(默认地址 http://localhost:8086)。进入"Load Data"→"Buckets",新建 Bucket(如 mybucket)。进入"API Tokens",生成一个具有写入权限的 Token。3. 配置 InfluxDB 节点 拖拽一个 influxdb out 节点到流程中。双击节点进行配置:Server:点击铅笔图标新建连接。Version:选择 InfluxDB 版本 (v1 或 v2)。InfluxDB v1.x 配置 Host:localhost Port:8086 Database:mydb Username/Password(若启用认证):user1/password1 InfluxDB v2.x 配置 Host:localhost Port:8086 Organization:myorg Bucket:mybucket Token: 生成的 API Token 4. 构建示例流程 示例:写入温度数据到 InfluxDB Inject 节点:触发数据生成 (设置为每 5 秒注入一次)。Function 节点:生成模拟数据:msg.payload={measurement:"temperature",tags:{location:"room1"},fields:{value:Math.random()*30+10}// 生成 10~40 的随机温度};returnmsg; AI 写代码 javascript 运行 1 2 3 4 5 6 InfluxDB out 节点:接收数据并写入数据库。(2025 年 3 月 3 日)

构建物联网系统闭环 2(11.8)

先安装 node-red,通过 docker 进行安装 在浏览器中通过 http://IP:1880 启动 node-red。按下右上侧三根横向的按钮,点击节点管理,通过搜索 influxdb 来安装 node-red 的 influxdb 插件。安装好了后,面板左侧最下方存储中多了一些 influxdb 的节点。安装 influxDB 启动浏览器访问 http://IP:8086 使用 node-red 将边缘网关数据存储到实训数据库 influxDB 在 node-red 中拖拽 mqtt-in 节点,双击设置,设置服务端为 emqx 加一个 debug 调试节点查看下数据 一定要记得每次修改完节点后,要去点击右上角的部署,这样才能生效 要在控制台查看数据,则需要用命令行 attach 容器 添加一个函数节点,把其中的 values 作为 payload 重新部署,这样就是输出传感器数据 将数据存入到 influxDB 中。拖拽 influxdb out 节点,双击配置,新建一个 influxDB 节点 将前后连线。到 influxDB 的 web 页面查看数据:安装 Grafana 实现数据可视化 使用 docker 进行安装 打开浏览器访问 http://IP:3000 访问 Grafana 的可视化 面板 保存后,会显示 3 buckets found 表示配置成功。创建看板 DashBoards。新建一个 Dashboard,进入可视化界面:选择数据源为之前配置的 influxDB 数据源,进入看板编辑页面。从 influxDB 的 web 页面去拷贝,点击 script editor 将代码粘贴到 grafana 中的 Query 中,然后点击 Query inspector,就可以看到数据了。安装 node-red(来自 2023 年 11 月 8 日的资料)

「influxDB 原理与实践 (二)」详解 influxDB 的写入与查询

1. 操作模式 支持两种原生的操作模式:influx 命令行工具,类似 mysql 命令行工具,可以方便的执行管理、运维、调试性质的操作。InfluxDB API,是一种可编程性强、编程语言友好的 RESTful API 的操作接口,支持 HTTP 和 HTTPS 协议。1.1 influx 命令行模式 上一篇讲过 influx 命令行的含义和基本用法。这里用几个示例演示。format 命令 设置服务器响应数据的格式,支持 JSON/CSV/COLUMN3 种数据格式。history 命令 显示命令操作的历史记录。默认情况下,influx 记录最后使用的 1000 条命令,存储在主目录中的./influx_history 文件中。precision 命令 指定查询和写入的时间戳的格式/精度,支持 rfc3339(YYYY-MM-DDTHH:MM:SS.nnnnnnnnnZ)、h(小时)、m(分)、s(秒)、ms(毫秒)、u(微秒)、ns(纳秒),进度默认为纳秒。设置命令 precision rfc3339 设置到 h(小时) 级别,precision h 设置到 ns(纳秒) 级别,precision ns pretty,开启 json 格式的漂亮打印 format jsonpretty settings 1.2 API 模式 RESTful 风格的接口,返回 JSON 格式的响应数据,并支持身份认证、JWT 令牌、丰富的 HTTP 响应代码等。influxDB API 接口及接口的定义描述如下图所示:curl -ig http://192.168.0.224:8086/ping api 使用参考 2. 写入 写操作支持简明的行协议,行协议是一种基于文本格式的协议。2.1 行协议 行协议的单行文本表示一条时序数据,由表、标签集、指标集和时间戳 4 部分组成,行协议的基本语法如下所示:标签 tag-key=tag-value 分别表示标签键和标签值,用于创建索引,提高查询性能。标签键和标签值都要求是字符串,该数据保存在 META 节点中。指标 field-key=field-value 分别是指标键和指标值,不会被索引,一般存放的是具体的时序数据,即随着时间戳的变化而变化的数据。指标键要求是字符串,而指标值可以是字符串类型、浮点型、整型、或布尔型 timestamp,可选参数,纳秒级精度的时间戳,如果没有该参数,InfluxDB 将采用数据写入时间为时间戳 代码语言:javascript AI 代码解释 2.1.1 数据类型 行协议中,不同的字段支持不通的数据类型 注意:整形数据,需要在数据后面加个 i,否则会被当成浮点型。2.1.2 特殊符号 行协议中一些字段对特殊符号较敏感,当需要使用这些敏感符号作为字段的一部分时,需要在前面加\进行转义处理。注意 1. 行协议对空格敏感,标签集和指标集中间必须有空格。2. 时间戳参数不(资料日期为 2026 年 4 月 16 日)

IOTstack 核心组件解析:Node-RED、Grafana 与 InfluxDB 如何协同工作-CSDN 博客

本文将详细解析这三个组件的协同工作机制,以及它们如何为物联网项目提供强大的数据处理、可视化和存储能力。IOTstack 通过 Docker 容器化技术,将三个关键组件无缝整合:Node-RED:作为可视化编程工具,提供图形化界面用于连接物联网设备和服务,实现数据采集与流程自动化 InfluxDB:时序数据库,专为存储时间序列数据优化,高效保存传感器采集的历史数据 Grafana:开源数据可视化平台,支持创建丰富的仪表盘,直观展示 InfluxDB 中的时序数据 这三个组件形成了"数据采集→存储→可视化"的完整闭环,是物联网项目的技术基石。Node-RED:物联网数据流的中枢神经 Node-RED 作为 IOTstack 的核心控制中心,通过其独特的节点式编程模型,让用户无需大量编码即可实现复杂的物联网工作流。在 IOTstack 项目中,Node-RED 容器配置可通过 scripts/start.sh 脚本启动,提供了即开即用的物联网开发环境。通过 Node-RED 的节点库,用户可以轻松连接各类传感器、执行器和云服务。其主要功能包括:接收来自传感器的实时数据 对数据进行过滤、转换和处理 将处理后的数据写入 InfluxDB 根据预设条件触发自动化操作 InfluxDB:时序数据的可靠存储库 InfluxDB 作为专为时间序列数据设计的数据库,是 IOTstack 中数据持久化的核心。它针对物联网场景做了特别优化,能够高效处理高频写入的传感器数据,并支持基于时间范围的快速查询。在 IOTstack 架构中,InfluxDB 通过 Docker 容器部署,数据存储在持久化卷中,确保系统重启后数据不丢失。其主要优势包括:高写入吞吐量,适合处理大量传感器数据流 专为时间序列数据优化的查询语言 (InfluxQL) 自动数据保留策略,可配置数据生命周期 Grafana:数据可视化的强大工具 Grafana 为 IOTstack 提供了专业级的数据可视化能力,通过直观的仪表盘展示 InfluxDB 中存储的时序数据。用户可以通过 Grafana 创建各种图表、仪表和热力图,实时监控物联网系统状态。Grafana 与 InfluxDB 的无缝集成,使得用户可以:构建自定义仪表盘,展示关键指标(消息于 2026 年 2 月 16 日发布)

FAQ

Node-RED 写入 InfluxDB 需要安装什么节点?

Node-RED怎么写入InfluxDB?具体怎么写?

需要安装 node-red-contrib-influxdb 节点,包含写操作等节点。

InfluxDB v1 和 v2 配置有什么区别?

v1 需要配置数据库名、用户名密码;v2 需要配置 Organization、Bucket 和 Token。

写入数据时 payload 格式有什么要求?

通常包含 measurement、tags、fields 属性,字段值类型需注意整数加 i。