Python pyserial-如何连续读取和解析
我试图从一个通过usb连接到运行ubuntu的linux计算机的硬件设备上捕获数据。以下是我目前拥有的非常简单的脚本: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) 只需将读取的内容
import serial
ser = serial.Serial('/dev/ttyUB0', 9600)
s = ser.read(10000)
print(s)
中,而为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:
,或者您正在询问比这更复杂的问题?