Python读取BEA激光雷达实时串口数据并写入文件

# 通过‘串口转USB’连接BEA LZR Raw 产品和PC,配置相应的端口号和波特率。
# 运行程序后通过input box发送命令实现与传感器通讯。

import serial
import serial.tools.list_ports
import numpy as np

Datalist= []
DataLength_FS= 824 # 一个rawdata数据包的长度

file_name= 'Rawdata_from_sensor.txt'

port_list = list(serial.tools.list_ports.comports())
 
if len(port_list) == 0:
    print("无可用串口!")
else:
    for i in range(0, len(port_list)):
        print(port_list[i])

'''-------------------------------------------------'''
port_num= 'COM'+ input('Port Number = COM:')


# for i in range(3): #只读n个包的数据
while True: 
# 循环监听端口
    with serial.Serial() as ser:
        ser.baudrate = 921600
        ser.port = port_num
        ser.timeout= 3 
        ser.open()        
        # print("串口名称:",ser.port) # 获取到当前打开的串口名
        # print("串口波特率:",ser.baudrate) # 获取波特率

        # np.append(Datalist,ser.read(DataLength_FS).hex())
        Datalist.append(ser.read(DataLength_FS).hex())
        npDatalist= np.array(Datalist)
        ser.close()   #关闭串口

    with open(file_name, 'w+',encoding='utf-8') as rawdata_file:
        rawdata_file.write(str(npDatalist))


# input('Click to Quit')

你可能感兴趣的:(BEA,python)