欢迎访问宙启技术站
智能推送

使用Python实现串口通信的数据采集与存储方案

发布时间:2024-01-17 23:02:11

Python提供了一个非常方便的库pySerial来实现串口通信。下面是一个实现串口通信的数据采集与存储方案的示例代码:

import serial
import datetime

# 设置串口参数
ser = serial.Serial(
    port='/dev/ttyUSB0',  # 串口设备名,根据实际情况修改
    baudrate=9600,        # 波特率
    timeout=1             # 超时时间
)

# 打开串口
ser.open()

# 创建存储数据的文件
filename = 'data.txt'
with open(filename, 'w') as f:
    f.write('Timestamp,Data
')

# 数据采集与存储循环
while True:
    # 读取串口数据
    data = ser.readline().decode().strip()
    
    if data:
        # 获取当前时间戳
        timestamp = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
        
        # 写入文件
        with open(filename, 'a') as f:
            f.write(f'{timestamp},{data}
')
            
    # 若达到停止条件,则退出循环
    if ...:
        break

# 关闭串口
ser.close()

在这个例子中,我们首先导入了pySerial库,用于实现串口通信。然后,我们设置了串口的一些参数,如设备名、波特率和超时时间。接着,我们打开了串口,并创建了一个文件用于存储数据。

在数据采集与存储的循环中,我们使用ser.readline()函数读取串口数据,并使用.decode().strip()将字节数据转换为字符串并去除首尾的空白字符。然后,我们获取当前时间戳,并将时间戳和串口数据写入文件中。

最后,在达到停止条件后,我们关闭了串口。

需要注意的是,实际应用中,你需要根据你的串口设备的实际情况修改代码中的串口参数。此外,你还可以根据实际需求对数据进行处理,如解析数据、实时绘图等。

希望这个例子能够帮助你实现串口通信的数据采集与存储方案。