使用Python解析从USB读入的串行数据

时间:2016-04-10 13:17:53

标签: python pyserial

我是python的新手。

我使用以下代码从USB设备绘制数据,该设备使用printf()将数据打印到我的覆盆子Pi。我使用以下python代码读取此数据并将其打印到屏幕:

final

代码按预期打印出以下结果(这是我使用的printf()):

 #!/usr/bin/python
    import serial
    ser = serial.Serial(
    port='/dev/ttyUSB0',\
    baudrate=115200,\
    parity=serial.PARITY_NONE,\
    stopbits=serial.STOPBITS_ONE,\
    bytesize=serial.EIGHTBITS,\
    timeout=0)
    print("connected to: " + ser.portstr)
    ser.write("help\n");
    while True:
    line = ser.readline();
    if line:
        print(line),
    ser.close()

如何解析行变量以便将Ticks(380)和nodeID(1)的数量保存到两个变量中,以便我可以在python中将这些变量用于HTTP POST请求?

1 个答案:

答案 0 :(得分:2)

拆分字符串,然后取出你想要的部分:

>>> s = "Received Ticks are: 380 and nodeID is: 1"
>>> s.split()
['Received', 'Ticks', 'are:', '380', 'and', 'nodeID', 'is:', '1']
>>> words = s.split()
>>> words[3]
'380'
>>> words[7]
'1'
>>>