我在使用pyserial通过串口与cisco设备通信时遇到了一些麻烦。我得到了一些我期望的回应,但并非总是如此,而且我不知道我做错了什么。有时我连续多次获得空响应。我正在运行Windows 7,python 2.7,pyserial 2.7。
以下是一些示例代码以获得一些响应。
ser = serial.Serial("COM20")
ser.timeout = 2
ser.parity = 'N'
ser.write("\nenable\nsh ip int brief\n")
print ser.read(10**8)
我得到的回答看起来像预期的那样:Router(config)#
cisco所需的设置:
Bits per sec : 9600
Data bits : 8
Parity : none
Stop bits : 1
Flow control : none
据我所知,它们符合pyserial的默认值。
答案 0 :(得分:0)
也许baudrate
不正确?它默认为9600
。如果这不正确,请尝试使用关键字参数设置:
ser = serial.Serial("COM20", baudrate=<baud rate here>)
错误的baudrate
会以奇怪的方式影响读数。