socat 两个串口在一起

socat 两个串口在一起

我正在编写 JUnit 测试来测试我的应用程序。该应用程序是用 Java 编写的,并使用 purejavacomm 库。为了测试串行解析器,我想设置一个虚拟串行端口,以便测试可以与解析器通信。除了简单地解析之外,它还会在串行端口可用时动态连接到串行端口,因此我不想使用,例如PipedInputStream.

该库仅查找以ttySttyUSB或开头的设备文件ttyACM。因此,我无法执行常规操作(这会在 中生成串行端口/dev/pts/x):

socat -d -d pty,raw,echo=0 pty,raw,echo=0

我尝试这样做:

socat /dev/ttyS20 /dev/ttyS21

但它不起作用。它不会退出,也不会打印错误。我尝试连接到/dev/ttyS20屏幕,但它只是说,[screen is terminating]

我查看了 (和 21) 的用户权限ttyS20,它们都有组dialout(用户:root),我的用户所在的组 (chris)。

我不想使用任何东西sudo,因为我希望测试创建串行绑定。所以我不想以 root 身份运行测试。

我是否忽略了权限的某些内容?有没有更好的方法来同时完成这一切?

相关内容