Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Linux中通过管道将一个串行端口连接到另一个串行端口_Linux_Bash_Serial Port_Socat - Fatal编程技术网

在Linux中通过管道将一个串行端口连接到另一个串行端口

在Linux中通过管道将一个串行端口连接到另一个串行端口,linux,bash,serial-port,socat,Linux,Bash,Serial Port,Socat,我正在寻找一种方法,以管道一个串行端口的数据(无论数据类型)到另一个串行端口。在我的例子中,我试图从一个串行端口接收数据,并通过连接到另一个串行端口的无线电实时输出数据 我已经知道我在使用什么端口,并且已经查找了一个名为socat的程序,该程序应该能够处理它,但是没有关于如何处理它的示例,我也没有弄清楚如何处理它 有没有人能够在Linux中使用socat或bash scipt/其他方法来实现这一点 我正在运行Ubuntu14.04。假设您正在读取的串行端口是/dev/ttyS0,而您正在写入的另

我正在寻找一种方法,以管道一个串行端口的数据(无论数据类型)到另一个串行端口。在我的例子中,我试图从一个串行端口接收数据,并通过连接到另一个串行端口的无线电实时输出数据

我已经知道我在使用什么端口,并且已经查找了一个名为socat的程序,该程序应该能够处理它,但是没有关于如何处理它的示例,我也没有弄清楚如何处理它

有没有人能够在Linux中使用socat或bash scipt/其他方法来实现这一点


我正在运行Ubuntu14.04。

假设您正在读取的串行端口是
/dev/ttyS0
,而您正在写入的另一个(收音机连接的地方)是
/dev/ttyS1
,您只需执行以下操作:

cat /dev/ttyS0 > /dev/ttyS1


当然,在此之前,您应该使用
stty
命令设置所有串行端口的参数。

这两个建议都可以将数据从一个端口传输到另一个端口,但是在接收数据的另一端,它会在一行中重复输入,然后是一个空行。是否可以使用cat或dd记录我正在从一个端口传输到另一个端口的数据?是否可以添加一个选项来阻止发送这些空行?请尝试使用
tee
命令:
cat/dev/ttyS0 | tee logfile.log>/dev/ttyS1
。将logfile.log与接收到的内容进行比较。还要确保您的tty设置正确。看起来接收器正在接收所有数据,但无论出于何种原因,在传输时或接收器处都会添加额外的线路。在变送器端logfile.log上,数据中没有任何额外的空行。谢谢你的帮助!您是否将TTY设置为“原始”?尝试:
stty-F/dev/ttySnum raw-echo speed
,其中“speed”是例如19200,“num”是串行端口号(0、1等)。@Ludefice您没有配置。问题同样的情况也发生在我的终端上;Socat是一条路要走,但主页直接来自地狱。
dd if=/dev/ttyS0 of=/dev/ttyS1 bs=1