使用Arduino和pySerial进行串行数据记录

时间:2013-06-12 05:15:19

标签: android python arduino pyserial

我有一个温度传感器(LM35)与Arduino板连接,我的sketch能够将值记录到串口,比如Ubuntu中的/dev/ttyACM0,我能够安装pySerial并将温度值记录到文件中......我使用了命令

python -m serial.tools.miniterm /dev/ttyACM0 >> templogger.csv

所以它会记录像

这样的值
27
28
27

进入templogger.csv文件。

我的要求是同时记录系统时间,就像

一样
Tue Jun 11 18:42:37 IST 2013,27
Tue Jun 11 18:42:38 IST 2013,28
Tue Jun 11 18:42:39 IST 2013,27

然后可能将存储在CSV文件中的这些值绘制到Android客户端。我该怎么办?什么是将时间和温度记录在一起的脚本?

2 个答案:

答案 0 :(得分:1)

将以下脚本保存为'with_time.py':

import sys
import time
import subprocess

p = subprocess.Popen(sys.argv[1:], stdout=subprocess.PIPE, bufsize=-1)
# for line in sys.stdin: # This cause buffering!
while True:
    line = p.stdout.readline()
    if not line:
        break
    line = time.ctime() + ',' + line
    sys.stdout.write(line)
p.wait()

并运行以下命令:

python with_time.py python -u -m serial.tools.miniterm /dev/ttyACM0 >> templogger.csv

答案 1 :(得分:0)

尝试qcsvlog - 它直接从串口绘制图表:https://github.com/ncp1402/qcsvlog