将csv文件转换为循环数据库

时间:2016-04-18 09:37:50

标签: csv logging raspberry-pi2 rrdtool

我正在Temp传感器上Humidity正在运行的最新DHT22上记录Raspberry Pi 2Jessie

我在启动项目时不知道RRDtool的可能性,因此我选择将所有内容记录在名为.csv的{​​{1}}文件中。 日志记录脚本使用DataLogger.csv每隔一分钟编写python 3。 格式如下所示:

cron

所以它是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

我正在考虑另外记录Round Robin中的所有内容,所以我的问题是:

  1. 我可以将%Y-%M-%D %H:%M \t Temperature \t Humidity行加载到.csv
  2. 我可以使用RRDtool中的update来检查每分钟RRDtool文件并更新数据库
  3. 或者我是否应该将数据直接记录到数据库中?

2 个答案:

答案 0 :(得分:2)

RRDtool不会与csv文件进行交互。但是您可以编写一个小脚本来读取现有的csv文件并将它们提供给RRDtool。请注意,对update函数的一次调用可以采用timestamp:temp:hum格式的多个数据点。

将现有数据添加到rrd数据库后,只需在写入csv文件时添加对update函数的调用。

答案 1 :(得分:1)

正如Tobi所说,您需要编写自己的脚本来解析CSV失败并将数据加载到新的RRD文件中,因为RRDtool本身没有执行此操作的功能。

您需要提前为RRD制定正确的设计;看着你的数据,它似乎是每一秒,所以你需要1秒间隔,可能你的第一个RRA需要1cdp = 1pdp。

您还应该记住,数据只能随着时间的推移而增加;因此,您永远不能为上次更新时间之前的时间点添加数据点。因此,您需要先添加CSV数据旧集点,依此类推。