0

我在使用 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 的默认值匹配。

4

1 回答 1

0

也许baudrate是不正确的?它默认为9600. 如果不正确,请尝试使用关键字参数进行设置:

ser = serial.Serial("COM20", baudrate=<baud rate here>)

错误baudrate会以奇怪的方式影响读数。

于 2014-07-25T17:10:13.950 回答