实时传感器读取存储在数据文件中

时间:2019-06-07 11:02:53

标签: python numpy

我有一个加速度传感器,可以连续输出400 Hz的读数(如[0.21511 0.1451 0.2122])。我想存储它们并对其进行后期处理。现在,我无法存储所有读数的第一个条目。

如何实现它。

谢谢

from altimu10v5.lsm6ds33 import LSM6DS33
from time import sleep
import numpy as np

lsm6ds33 = LSM6DS33()
lsm6ds33.enable()

accel=lsm6ds33.get_accelerometer_g_forces()

while True:


    DataOut = np.column_stack(accel)
    np.savetxt('output.dat',np.expand_dims(accel, axis=0),  fmt='%2.2f %2.2f %2.2f') 

sleep(1)

´

2 个答案:

答案 0 :(得分:0)

实际的问题是,您仅打一次get_accelerometer_g_forces()。 只需将其移动到环内

已更新:

while True:
    accel=lsm6ds33.get_accelerometer_g_forces()
    f=open('output.dat','ab')
    DataOut = np.column_stack(accel)
    np.savetxt(f,np.expand_dims(accel, axis=0),  fmt='%2.2f %2.2f %2.2f') 

sleep(1)

这里是参考文献:How to write a numpy array to a csv file?

答案 1 :(得分:0)

确保读取数据包含在循环中!

您现在不需要numpy:

while True:
    with open("output.dat", "w") as f:
        f.write("%.5f, %.5f, %.5f" % tuple(accelerometer_g_forces()))

请注意,没有条件可以停止输出数据。