首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用串口数据更新RRDTool

用串口数据更新RRDTool
EN

Stack Overflow用户
提问于 2013-12-26 21:13:46
回答 1查看 4K关注 0票数 1

我正在尝试用串行信息更新RRDTool数据库。是否可以在更新行中将串行数据声明为变量?使用下面的代码,rrdtool看不到N:时间戳。但是,如果我手动输入数据后的"N:“,它将更新。

代码语言:javascript
复制
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()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-30 18:00:20

我相信你想做这样的事:

代码语言:javascript
复制
ret = rrdtool.update('temperature.rrd', 'N:%s' % temp)

rrdtool包装器函数中的每个参数应该对应于rrdtool命令中的一个参数。因此,在前面的示例中,当您使用3个参数运行rrdtool.update时,您实际上运行的如下所示:

代码语言:javascript
复制
rrdtool update temperature.rrd N: 65.6

更新应该是一个单一的参数,所以这就是您真正想要的:

代码语言:javascript
复制
rrdtool update temperature.rrd N:65.6
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20791340

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档