配置工作站进行串行端口通信

配置工作站进行串行端口通信

我正在尝试通过建立串行端口连接来访问西门子 RuggedComm 900W ROS(与以太网交换机相关的操作系统)。

我已按照配置手册中的说明进行操作 -https://cache.industry.siemens.com/dl/files/218/109737218/att_1028764/v1/C79000-G8976-1280_ROS_v4.3_RS900W_ConfigurationManual.pdf从第 33 页开始建立控制台连接。

按照说明,我在 Ubuntu 机器上打开一个终端,然后使用 USB 转串行端口电缆 (RS232) 将计算机物理连接到以太网交换机。然后我使用sudo journalctl——关注并确定串口被识别为ttyUSB0。

然后我配置串行端口,得到以下参数:

speed 57600 baud; rows 0; columns 0; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; discard = ^O; min = 1; time = 0;
-parenb -parodd -cmspar cs8 hupcl -cstopb cread clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl -ixon -ixoff
-iuclc -ixany -imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke -flusho -extproc

然后我运行命令出口 TERM=VT100将终端 ID 设置为 VT100。我期望登录表单会出现,但没有出现。我尝试拔下 USB 转串口并重新连接。

答案1

然后我运行命令 export TERM=VT100 将终端 ID 设置为 VT100。我期望登录表单会出现,但是没有出现。

这根本不是它的工作原理。更改 TERM不会使终端连接到不同的线路。它做了一些完全不同的事情,甚至根本没有被终端读取。

($TERM 变量实际上朝相反的方向;它是通过设置终端,并告知“ls”或“vim”等程序此终端模型使用的协议 - 例如哪些代码改变颜色,哪些代码移动光标等)

要真正将你的终端连接到 /dev/ttyUSB0 之类的串行线路,大多数终端没有直接连接的选项,因此你需要运行程序确实如此。常见的有picocomminicomdtermtioscreen

例如:

  • picocom -b 57600 /dev/ttyUSB0(使用Ctrla然后Ctrlx退出)

  • minicom -D /dev/ttyUSB0 -b 57600minicom -s(使用(Ctrla然后使用x退出)

  • dterm /dev/ttyUSB0 57600(使用Ctrl]然后q退出)

  • screen /dev/ttyUSB0 57600(使用Ctrla然后k退出)


连接并登录后,偏僻的系统需要知道您的终端 ID。(如果是 Linux 或 Unix 系统,则您需要在此处设置 TERM。)

答案2

你做错了。

这几乎就像您尝试配置串行端口以接受传入连接一样。虽然您所做的可以配置串行端口,但它不会提供输出或交互性。

(根据 PDF,虽然我能理解为什么你可能会感到困惑 - 这种设置让人回想起网络出现之前的糟糕时光)你需要终端仿真软件。毫无疑问还有其他软件,但 minicom 是最常见的软件。这将允许您配置串行端口并与控制台交互。

相关内容