是否有可能创建一个通过“虚拟”串口发送数据的“虚拟”串行设备?我需要开发一些代码来与Arduino进行交互,但不要带着它。是否可以使用套接字或一些写入dev/ttyXXX文件的代码来完成?
编辑:我在运行Arch
发布于 2014-03-21 23:49:39
是的,您可以使用套接字来模拟串口。
您需要使用socat的PTY地址类型:
PTY: Generates a pseudo terminal (pty) and uses its master side. Another
process may open the pty's slave side using it like a serial line or
terminal.最简单的选择是:
socat PTY,link=./virtual-tty,raw,echo=0 -让您正在测试的应用程序打开virtual-tty。应用程序的输出将打印到控制台。您输入的文本将发送到您的应用程序。
如上所述,PTY地址类型创建一个peudo-terminal。link选项在伪终端和给定文件之间创建一个软链接.你可以选择任何你想要的文件名。如果没有软链接,您将需要打开设备,很难确定正确的设备。raw将伪终端置于原始模式.您通常希望这样做,因为您不需要任何特殊的终端处理选项。echo=0禁用回波模式。
如果您有(或创建)一个模拟在Arduino上执行的代码的应用程序,您也可以通过socat连接它。如果模拟器通过stdin/stdout进行通信,那么使用以下命令:
socat PTY,link=./virtual-tty,raw,echo=0 EXEC:simulator-command以上所述将simulator-command的stdin/stdout连接到伪终端。
如果模拟器也通过串口进行通信,那么可以使用PTY命令两次:
socat PTY,link=./arduino-sim,raw,echo=0 PTY,link=./virtual-tty,raw,echo=0让模拟器打开arduino-sim。
https://stackoverflow.com/questions/22568878
复制相似问题