如何通过串口连接NetMiko ?



如何在NetMiko上通过串行总线连接?我知道3年前有人问过这个问题。然而,这似乎不再相关。

我有以下代码:

from netmiko import ConnectHandler
device = {
"device_type": "aruba_osswitch",
"username": "manager",
"password": "",
"serial_settings": {"port": "COM4"}
}
net_connect = ConnectHandler(**device)
output = net_connect.send_command("show version")
print(output)

我得到错误:ValueError: ip或主机必须设置。然而,由于它是串行的,据我所知,它不需要主机或ip。有人能给点建议吗?

谢谢,

我使用的代码片段来自:- https://semfionetworks.com/blog/establish-a-console-connection-within-a-python-script-with-pyserial/在OpenSUSE OS上稍微修改一下就可以运行了

$import serial
$from time import sleep

$def send_to_console(ser: serial.Serial, command: str, wait_time: float = 0.5):
$command_to_send = command + "r"
$ser.write(command_to_send.encode('utf-8'))
$sleep(wait_time)
$print(ser.read(ser.inWaiting()). decode('utf-8'), end="") 
$with serial.Serial("/dev/ttyS8", timeout=1) as ser:
$print(f"Connecting to {ser.name}...")
$send_to_console(ser, "")
$send_to_console(ser, "enable")
$send_to_console(ser, "show ip interface brief", wait_time=2)
$print(f"Connection to {ser.name} closed.")

正如我在评论中提到的,不幸的是,Netmiko中没有实现与Aruba交换机的串行连接。我看到的唯一一个是针对思科设备的。每当您想要用串行电缆连接到设备时,只需将_serial附加到设备类型(如果它在Netmiko中实现)。对于思科设备,它将是{"device_type": "cisco_ios_serial"}之类的东西。如果您想自己做,请尝试使用pySerial库。

Netmiko已经使用pySerial进行串行连接。

这是一个使用pySerialapi的要点,它与设备无关。

相关内容

  • 没有找到相关文章

最新更新