我正在尝试用串行信息更新RRDTool数据库。是否可以在更新行中将串行数据声明为变量?使用下面的代码,rrdtool看不到N:时间戳。但是,如果我手动输入数据后的"N:“,它将更新。
import serial
import time
import numpy
import sys
import rrdtool
ser = serial.Serial('/dev/ttyUSB0', 9600)
time.sleep(1)
ser.flush()
for i in range(2):
ser.readline()
while 1:
# Read data
temp = ser.readline()
ret = rrdtool.update('temperature.rrd', 'N:', temp)
if ret:
print rrdtool.error()
time.sleep(5)
quit()发布于 2013-12-30 18:00:20
我相信你想做这样的事:
ret = rrdtool.update('temperature.rrd', 'N:%s' % temp)rrdtool包装器函数中的每个参数应该对应于rrdtool命令中的一个参数。因此,在前面的示例中,当您使用3个参数运行rrdtool.update时,您实际上运行的如下所示:
rrdtool update temperature.rrd N: 65.6更新应该是一个单一的参数,所以这就是您真正想要的:
rrdtool update temperature.rrd N:65.6https://stackoverflow.com/questions/20791340
复制相似问题