Skip to main content

reTerminal DM 配置 Node-Red 和 InfluxDB

note

本文档由 AI 翻译。如您发现内容有误或有改进建议,欢迎通过页面下方的评论区,或在以下 Issue 页面中告诉我们:https://github.com/Seeed-Studio/wiki-documents/issues

简介

在 reTerminal DM(基于树莓派的 HMI)上部署 InfluxDB 可以在网络边缘实现强大的时间序列数据收集和分析。这种设置非常适合物联网应用,提供实时洞察和监控能力。通过利用轻量级但功能强大的 InfluxDB 数据库,您可以直接在 reTerminal DM 上高效管理和分析传感器数据。以下指南概述了在 reTerminal DM 上安装、配置和使用 InfluxDB 的步骤,确保无缝集成到您的数据基础设施中。

硬件准备

软件准备

我们已经准备了一份 Node-RED 入门指南。建议您在继续阅读本 Wiki 之前先查看该指南。

在 reTerminal DM 上安装 InfluxDB

本指南涵盖了在 reTerminal DM HMI 上安装和设置 InfluxDB 的步骤。

步骤 1:更新系统

首先,通过运行以下命令确保您的系统是最新的:通过 SSH 连接到 reTerminal DM 并运行

sudo apt update

步骤 2:添加 InfluxDB 仓库

将 InfluxDB 的 GPG 密钥和仓库添加到您的系统中。

添加 GPG 密钥:

curl https://repos.influxdata.com/influxdata-archive.key | gpg --dearmor | sudo tee /usr/share/keyrings/influxdb-archive-keyring.gpg >/dev/null

将仓库添加到源列表:

echo "deb [signed-by=/usr/share/keyrings/influxdb-archive-keyring.gpg] https://repos.influxdata.com/debian stable main" | sudo tee /etc/apt/sources.list.d/influxdb.list

步骤 3:更新软件包列表

更新软件包列表以包含 InfluxDB 仓库:

sudo apt update

步骤 4:安装 InfluxDB

安装 InfluxDB 版本 1:

sudo apt install influxdb

启动 InfluxDB 服务器

启用并启动 InfluxDB 服务:

步骤 1. 取消屏蔽服务:

sudo systemctl unmask influxdb

步骤 2. 启用服务:

sudo systemctl enable influxdb

步骤 3. 启动服务:

sudo systemctl start influxdb

测试 InfluxDB

访问 InfluxDB CLI 工具以执行基本的数据库操作。

步骤 1. 打开终端:

influx

步骤 2. 创建一个数据库:

CREATE DATABASE data

步骤 3. 使用该数据库:

USE data

步骤 4. 插入一个示例数据点:

INSERT room,temperature=30.1 humidity=80.2

步骤 5. 查询插入的数据:

SELECT * FROM room

为 InfluxDB 添加身份验证

步骤 1. 打开终端:

influx

步骤 2. 创建一个具有所有权限的管理员用户(将 <password> 替换为您的安全密码):

CREATE USER admin WITH PASSWORD '<password>' WITH ALL PRIVILEGES

步骤 3. 退出 InfluxDB CLI:

exit

步骤 4. 编辑 InfluxDB 配置以启用身份验证:

sudo nano /etc/influxdb/influxdb.conf

[HTTP] 部分下,添加或修改以下行:

    auth-enabled = true
pprof-enabled = true
pprof-auth-enabled = true
ping-auth-enabled = true
enabled=true
bind-address=":8086"

步骤 5. 重启 InfluxDB 服务以应用更改:

sudo systemctl restart influxdb

步骤 6. 使用管理员用户连接到 InfluxDB:

influx -username admin -password <password>

请确保将 <password> 替换为您为管理员用户设置的密码。

通过 Node-RED 向 InfluxDB 发送数据

步骤 1. 在浏览器中打开您的 Node-RED(通常为 http://<your-reTerminal-DM-ip>:1880)。

步骤 2. 使用 Node-RED 管理面板安装 node-red-contrib-influxdb

步骤 3. 将一个 inject 节点、一个 function 节点和一个 influxdb out 节点拖放到流程画布上,并按以下方式连接它们:

[Inject Node] -> [Function Node] -> [InfluxDB Out Node]

Function 节点

此节点用于格式化要发送到 InfluxDB 的数据。

步骤 1. 双击 function 节点。

步骤 2. 输入一个名称(例如,Format Data for InfluxDB)。

步骤 3. 在函数编辑器中输入以下代码:

msg.payload = [
{
temperature: 30.1,
humidity: 80.2
}
];
return msg;

步骤 4. 点击“Done”。

InfluxDB Out 节点

此节点将格式化的数据发送到 InfluxDB。

步骤 1. 双击 influxdb out 节点。

步骤 2. 输入以下详细信息:

  • Name: labdata
  • Database: data(之前创建的)
  • Measurement: lab

步骤 3. 点击铅笔图标以添加新的 InfluxDB 服务器配置。

步骤 4. 输入以下详细信息:

  • Name: InfluxDB
  • Version: 1.8-flux
  • URL: http://localhost:8086
  • Username: admin
  • Password: <password>(您创建的密码)

步骤 5. 点击“Add”,然后点击“Done”。

步骤 6. 点击“Deploy”以保存并部署您的流程。

测试流程

  1. 点击 inject 节点上的按钮以手动触发流程。
  2. 在终端中运行以下命令,检查您的 InfluxDB 数据库是否成功写入数据:
influx -username admin -password <password>
USE data
SELECT * FROM lab

请确保将 <password> 替换为您为管理员用户设置的密码。

技术支持与产品讨论

感谢您选择我们的产品!我们致力于为您提供各种支持,以确保您使用我们的产品时能够获得尽可能顺畅的体验。我们提供多种沟通渠道,以满足不同的偏好和需求。

Loading Comments...