#mqtt #influx-db #homie #devices #logging #broker #conventions

app homie-influx

服务用于连接到 MQTT 代理,并按照 Homie 规范将设备的属性记录到 InfluxDB 数据库中

11 个版本

0.2.9 2023 年 1 月 18 日
0.2.8 2022 年 9 月 16 日
0.2.7 2022 年 6 月 15 日
0.2.6 2022 年 1 月 26 日
0.1.0 2020 年 11 月 17 日

#1570 in 网络编程

Download history 1/week @ 2024-07-06 61/week @ 2024-07-27

每月 62 次下载

MIT/Apache

120KB
2.5K SLoC

Homie 设备 InfluxDB 记录器

crates.io page

homie-influx 是一个服务,用于连接到 MQTT 代理,发现遵循 Homie 规范 的设备,并将它们的属性值更改记录到 InfluxDB 数据库中。

有关更多详细信息和技术背景,请参阅 主要项目说明

安装

建议从我们的 Debian 仓库安装最新版本

$ curl -L https://homiers.jfrog.io/artifactory/api/security/keypair/public/repositories/homie-rs | sudo apt-key add -
$ echo "deb https://homiers.jfrog.io/artifactory/homie-rs stable main" | sudo tee /etc/apt/sources.list.d/homie-rs.list
$ sudo apt update && sudo apt install homie-influx

或者,您可以使用 cargo install 安装,但这需要一些额外的设置

$ cargo install homie-influx

用法

如果您已安装 Debian 软件包,服务已通过 systemd 为您设置。否则,请将 homie-influx 二进制文件复制到 /usr/bin,将 debian-scripts/homie-influx.service 复制到 /lib/systemd/system,创建一个 homie-influx 用户来运行,并创建 /etc/homie-influx 以存放配置文件。

/etc/homie-influx 下应有两个配置文件

  • homie-influx.toml 包含服务的主体配置,例如要连接到哪个 MQTT 代理和 InfluxDB 服务器。请参阅 homie-influx.example.toml 了解支持的设置示例。
  • mappings.toml 包含 Homie 基础主题到 InfluxDB 数据库的映射。默认情况下,它将在标准 homie 基础主题下查找设备,并将数据写入名为 test 的 InfluxDB 数据库。您可以添加多个基础主题来处理多个用户。

编辑这些配置文件后,您需要重新启动服务

$ sudo systemctl restart homie-influx.service

您可能需要查看日志以查看是否成功连接

$ sudo journalctl -u homie-influx.service --output=cat --follow

格式

此服务发布多达六个测量值:整数浮点数布尔值字符串枚举颜色,对应于Homie数据类型。每条消息都作为InfluxDB点发布,具有适当的名称和时间戳,值作为value字段,设备/节点/属性信息作为标签包含在内。

为了支持Grafana客户端,布尔值点还有一个额外的value_int字段,它是一个整数,1表示真,0表示假。

许可

根据您的要求,许可如下:

任选其一。

贡献

除非您明确声明,否则您根据Apache-2.0许可证定义的任何有意提交以包含在作品中的贡献,将按上述方式双重许可,不附加任何额外条款或条件。

依赖项

~19–33MB
~631K SLoC