我可以连接任何没有显示器的计算机的物理终端吗

我可以连接任何没有显示器的计算机的物理终端吗

可以通过迷你 USB 端口将我的笔记本电脑连接到任何网络设备,例如托管交换机或防火墙,然后用于screen连接到其TTY.

实际上是否可以通过临时 USB 到 USB 连接来连接到另一台计算机(例如笔记本电脑或服务器)?喜欢:

Terminal Client Linux Box - USB PORT ===> Target Machine - USB PORT

假设操作系统是Linux/Unix/BSD,硬件本身不支持通过USB端口模拟终端。

这个问题纯粹是出于好奇。例如,如果我希望通过 TTY 访问我的 RPI,但我不想连接显示器。

答案1

lsusb是的,您可以使用 USB 串行电缆使用和连接终端modprobe usbserialUSB 转串行电缆... 外部转换线直接实现内部硬件支持。所以无论原板有没有硬件支持,软件操作系统都可以解决。USB 到串行转换硬件逻辑...

USB 到串行转换硬件逻辑

jay_k@jay_k ~ $ lsusb
Bus 001 Device 002: ID 8087:8000 Intel Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 005: ID 2232:5005 Silicon Motion 
Bus 002 Device 004: ID 8087:07dc Intel Corp.
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
......
jay_k@jay_k ~ $ sudo modprobe usbserial vendor=VENDOR product=PRODUCT

VENDOR并被PRODUCT确定为XXXX:XXXX.这意味着VENDOR:PRODUCT

执行后modprobe,可以用dmesg找到ttyXXX。喜欢;

jay_k@jay_k ~ $ dmesg | grep tty

它将被格式化为/dev/ttyUSB....

更重要的是,您可以使用 .USB 创建 USB 到 USB 的连接Data Communication Converter Cable。但这款产品只在韩国市场销售,外部链接 - 韩国拍卖

此外,您还可以与两个串行转换器进行通信。 (但是,它有开销)

Laptop ---> USB to Serial ---> Serial to USB -> Target

并且您可以将 bash 重定向到/dev/ttyUSB....

重定向接口的输出?

您应该像使用普通文件一样使用串行设备。唯一的区别是它需要一些 ioctl() 来进行速度和控制线设置。

所以不要使用 os.system("echo ...but f = open('/dev/ttyUSB3', 'rw') ,然后使用 f.write() 和 f.read()。

理论上,您可以使用 ioctl() 来设置速度等,但在那个阶段,使用 pySerial 比自己进行所有参数编组更容易。 ser = serial.Serial(port='/dev/ttyUSB3', baudrate=9600, timeout=1, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, bytesize=serial.EIGHTBITS) 与 ser.write() 和 ser.读()。

请注意,您应该使用 udev 为串行端口设置唯一的名称,而不是硬编码 /dev/ttyUSB3。以下是针对单个 USB/RS-232 适配器执行此操作的方法,以及针对多端口 USB/RS-232 适配器执行此操作的方法。

相关内容