这个项目能做什么

ruuvitag-gollector 是一个用 Go 编写的自托管解决方案,通过蓝牙低功耗(BLE)广播从 RuuviTag 传感器收集环境测量数据,并将其转发到多种后端。它面向 Linux 系统,使用 BlueZ D-Bus API 扫描和读取传感器数据。该项目支持运行固件 2.x 或更高版本的 RuuviTag 所发出的 RAWv2 格式。 该收集器可以同时将测量数据推送到多个导出器,包括 InfluxDB(本地或远程)、PostgreSQL 和 TimescaleDB、AWS DynamoDB、AWS SQS、GCP Pub/Sub、MQTT,以及接受 JSON POST 请求的通用 HTTP Webhook。每个导出器都在 TOML 配置文件中独立配置,允许用户将相同的传感器数据同时发送到多个目的地。 配置很简单:用户指定其 RuuviTag 的 MAC 地址和可读名称,然后定义带有连接详细信息的一个或多个导出器。可以设置自定义列名以匹配现有数据库模式,也可以排除不必要的列。默认列包括时间、MAC 地址、名称、温度、湿度、气压、加速度(x/y/z)、运动计数器、测量编号、露点、电池电压和发射功率。 该应用以两种模式运行:用于测试的一次性扫描模式和用于持续采集的守护进程模式。它要求系统安装并运行 BlueZ,并且通常需要提升权限才能访问蓝牙适配器。该项目设计用于在 Raspberry Pi 等廉价硬件上运行,使其适用于温室、玻璃容器或大气数据收集等业余爱好者和小规模环境监测项目。收集器本身不需要订阅或云服务,但用户必须自托管或云托管目标数据库以及 Grafana 等可视化工具。