web-dev-qa-db-ja.com

モニターなしで任意のコンピューターの物理端末に接続できますか

ラップトップをマネージドスイッチやファイアウォールなどのネットワーク機器にミニUSBポート経由で接続し、screenを使用してTTYに接続することができます。

アドホックUSB-USB接続によって、ラップトップやサーバーなどの別のコンピューターに実際に接続することは可能ですか?お気に入り:

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

オペレーティングシステムがLinux/Unix/BSDであり、ハードウェア自体がUSBポートによる端末のエミュレーションをサポートしていないと仮定します。

この質問は純粋に好奇心からです。たとえば、RPIにTTYでアクセスしたいが、モニターを接続したくない場合です。

2
sdkks

はい、USBシリアルケーブルを使用して、lsusbおよびmodprobe usbserialを使用してターミナルに接続できます。 SB-シリアルケーブル... 外部変換ケーブルは、内部でハードウェアサポートを直接実装します。したがって、元のボードがハードウェアをサポートしているかどうかに関係なく、ソフトウェアオペレーティングシステムがそれを解決できます。 SBからシリアルへの変換ハードウェアロジック...

USB to Serial Conversion Hardware Logics

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

VENDORPRODUCTXXXX:XXXXとして決定されます。これは、VENDOR:PRODUCTを意味します。

modprobeを実行した後、dmesgでttyXXXを見つけることができます。お気に入り;

jay_k@jay_k ~ $ dmesg | grep tty

/dev/ttyUSB...としてフォーマットされます。

さらに、Data Communication Converter Cableを使用してUSBからUSBへの接続を作成できます。しかし、この製品は韓国市場にのみあります、 外部リンク-オークション韓国

また、2つのシリアルコンバーターと通信できます。 (ただし、オーバーヘッドがあります)

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)with ser.write()およびser。読んだ()。

/ dev/ttyUSB3をハードコーディングするのではなく、udevを使用してシリアルポートの一意の名前を設定する必要があることに注意してください。これは、単一のUSB/RS-232アダプターに対してこれを行う方法と、マルチポートUSB/RS-232アダプターに対してこれを行う方法です。

2
jay k