我正在运行最新Jessie
的Raspberry Pi 2
上记录来自DHT22
传感器的Temp
和Humidity
。
在启动项目时,我不知道RRDtool
的可能性,所以我选择将所有内容记录在一个名为DataLogger.csv
的.csv
文件中。日志记录脚本是用cron
每分钟执行一次的python 3
编写的。格式如下:
2016-04-02 21:23 16.5 45.9
2016-04-02 21:24 16.5 45.9
2016-04-02 21:25 16.5 46.0
所以是%Y-%M-%D %H:%M t Temperature t Humidity
我正在考虑在Round Robin中额外记录所有内容,所以我的问题是:
- 我可以将
.csv
行加载到RRDtool
中吗 - 我可以使用
RRDtool
中的update
每分钟检查.csv
文件并更新数据库吗
还是我必须将数据直接记录到数据库中?
RRDtool本身不与csv文件交互。但您可以编写一个小脚本来读取现有的csv文件,并将它们输入RRDtool。请注意,对update
函数的一次调用可以采用timestamp:temp:hum
格式的多个数据点。
将现有数据添加到rrd数据库后,只要在写入csv文件时添加对update
函数的调用即可。
正如Tobi所说,您需要编写自己的脚本来解析CSV失败并将数据加载到新的RRD文件中,因为RRDtool本身没有这样做的功能。
您需要提前为您的RRD制定正确的设计;看看你的数据,它似乎是每秒一次,所以你需要1秒的间隔,可能你的第一次RRA需要1cdp=1pdp。
您还应该记住,数据只能随着时间的增加而添加;因此,您永远不能为早于上次更新时间的时间点添加数据点。因此,您需要先添加CSV数据的旧设定点,依此类推。