我正在开发一个从远程 raspberry 上的 /dev/ttyusb0 读取的应用程序。是否可以在我的本地开发机器上创建到远程设备 (raspy) 的符号链接?
谢谢!
答案1
不。
符号链接仅指向小路– 符号链接解析过程本质上只是替换了原始名称的一部分。例如,如果您有一个路径并且是指向 的符号链接,则该过程将为您提供。/home/mario/docs/notes.txt
docs
../luigi/documents
/home/mario/../luigi/documents/notes.txt
因此,你只能为以下对象创建符号链接:已经有了本地路径。(对于常规文件,这可能是网络文件系统(如 NFS/SMB/AFS/9p)提供的路径,但设备通常不能通过这种方式导出。)
如果您的程序仅读取和写入数据但不使用任何特定于串行端口的参数(流量控制等),那么您可以使用socat
或ser2net
在远程设备上创建一个临时隧道,以将其串行端口链接到 TCP 连接,并在本地机器上执行相反的操作以将该 TCP 连接链接到“pty”。
- https://stackoverflow.com/questions/22624653/create-a-virtual-serial-port-connection-over-tcp
- https://serverfault.com/questions/360321/forwarding-linux-terminal-from-serial-port-to-tcp-with-socat
但是您应该在应用程序本身中实现一种替代机制 - 除了本地设备之外,它还应该支持 TCP/IP 上的 RFC2217,这是一种常见的“TCP 上串行”协议。