Python pyserial-如何连续读取和解析

Python pyserial-如何连续读取和解析,python,serial-port,pyserial,sniffing,Python,Serial Port,Pyserial,Sniffing,我试图从一个通过usb连接到运行ubuntu的linux计算机的硬件设备上捕获数据。以下是我目前拥有的非常简单的脚本: import serial ser = serial.Serial('/dev/ttyUB0', 9600) s = ser.read(10000) print(s) 如何连续打印 数据是十六进制的,我想解释一下。我应该将连续数据保存到文本文件中,然后再进行另一个脚本分析吗?本质上,我正在尝试构建一个嗅探器来获取数据并进行解释 谢谢你的帮助!我是新手:)1) 只需将读取的内容

我试图从一个通过usb连接到运行ubuntu的linux计算机的硬件设备上捕获数据。以下是我目前拥有的非常简单的脚本:

import serial
ser = serial.Serial('/dev/ttyUB0', 9600)
s = ser.read(10000)
print(s)
  • 如何连续打印
  • 数据是十六进制的,我想解释一下。我应该将连续数据保存到文本文件中,然后再进行另一个脚本分析吗?本质上,我正在尝试构建一个嗅探器来获取数据并进行解释 谢谢你的帮助!我是新手:)

    1) 只需将读取的内容和打印内容放在
    中,而为True:
    部分即可

    例如:

    import serial
    ser = serial.Serial('/dev/ttyUB0', 9600)
    while True:
        s = ser.read(10000)
        print(s)
    
    import serial
    ser = serial.Serial('/dev/ttyUB0', 9600)
    
    # This will just keep going over and over again
    with open('hexdatafile.dat', 'wb') as datafile:
        datafile.write(ser.read(10000))
    
    如果您需要嗅探发送和接收,请签出另一个答案以获取更多信息

    2) 为了提高速度,我会将数据保存到文件中而不进行处理,并让另一个脚本对十六进制数据进行解码/处理。确保以二进制模式写入文件

    例如:

    import serial
    ser = serial.Serial('/dev/ttyUB0', 9600)
    while True:
        s = ser.read(10000)
        print(s)
    
    import serial
    ser = serial.Serial('/dev/ttyUB0', 9600)
    
    # This will just keep going over and over again
    with open('hexdatafile.dat', 'wb') as datafile:
        datafile.write(ser.read(10000))
    

    您是否不知道
    ,而True:
    ,或者您正在询问比这更复杂的问题?