使用python转换串行数据格式

时间:2017-05-15 01:51:36

标签: python serialization

我是python的新手,目前正致力于从微控制器读取串口以捕获传感器数据的项目。我收到的串行数据如下所示:

[5;17H 0.029[5;40H 0.736[5;63H 9.557[7;17H 0.038[7;40H 0.001 [7;63H 0.008[9;17H-34.199[9;40H 25.800[9;63H 13.799[14;17H -4.623[14;40H 0.597[14;63H218.920[19;14H

这个串行数据实际上有转义序列' x1b'在打开支架之前。如何摆脱它们,转义序列和文本格式(5; 17H ..)并逐行打印传感器数据x,y,z格式。有人可以帮帮我..谢谢..

我正在使用python序列码:

import serial
ser = serial.Serial('COM9', 115200, bytesize=8, timeout=0)

while True:
  data = ser.read(size=8).decode("utf-8")
  s = str(data)
  print(data)

ser.close() 

1 个答案:

答案 0 :(得分:0)

传感器数据记录以\033开头,因此将其拆分为:

data_list = data.split('\033')
for v in data:
    print (v)