gpt4 book ai didi

python - 随着时间的推移处理微 Controller 数据

转载 作者:太空宇宙 更新时间:2023-11-04 01:40:30 25 4
gpt4 key购买 nike

我正在从事一个涉及 Arduino 和 Python 的项目。基本上,我从传感器接收数据并使用 Python 将它们写入数据库。

目前我以某种方式对 Arduino 进行了编程,它每分钟都在发送数据。 Python 程序正在等待数据并将其插入。

ser = serial.Serial('/dev/ttyUSB0',9600)
while 1:
ser.open()
if ser.readline() != "":
db.data.insert({"Light" : ser.readline(), "Ts" : time()})
ser.close()

这个方法被证明不是很好,因为我不是每分钟插入一次,而是大约每 4 分钟插入一次。

那么,对于处理这个问题,您有什么建议?对 Arduino 进行编程以一直输出数据(计算机处理器上的工作量较少),然后在 Python 中等待下一次选择?

最佳答案

除非您的 Arduino 代码将所有内容发送两次,否则一半的问题是您每次迭代调用 ser.readline() 两次。这意味着每两条消息将有一个插入。

另一件看起来很奇怪的事情是您在每次迭代期间打开和关闭串口。我怀疑这会导致您的问题,但为什么不在开始时只打开一次端口呢?

ser = serial.Serial('/dev/ttyUSB0',9600)
ser.open()
while 1:
line = ser.readline()
if line != "":
db.data.insert({"Light" : line, "Ts" : time()})
ser.close()

如需进一步帮助,请发布 Arduino 代码。

关于python - 随着时间的推移处理微 Controller 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5489378/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com