我有一个在 Linux(Ubuntu)上运行的应用程序,需要将硬件连接到串行端口。
我想将该硬件安装在我 LAN 上其他地方的 Windows 机器 (XP SP3) 上。
因此,我需要 Windows 机器上的串行端口服务器来获取 Com1 并连接到 TCP/IP。然后,Linux 机器上的客户端将 TCP/IP 连接到 /dev/tty2 端口。
由于这些是跨平台的,我认为重定向器应该符合 RFC 2217。但我猜想一个不兼容的单一制造商解决方案可能会起作用,该解决方案可以在两个平台上安装。
然而,它必须是免费软件。
我知道 Ubuntu 上的“ser2net”,并且我正在尝试理解它。
谢谢你的帮助,马克。
答案1
好的,我想我知道了。
在 Linux 机器上,我安装并使用了命令索卡特, 因此:
sudo socat -d -d pty,link=/dev/ttys1,raw,echo=0,waitslave tcp:192.168.1.95:3000;
(请注意 ttys 中的小写 s。这似乎在我的应用程序中是允许的。)这创建了一个名为 /dev/ttys1 的链接,指向 /dev/pts/1。
然后在 Windows 上我使用派拉康这里Pira CZ 远程 COM 端口 | Pira.cz。
我将其设置为使用 Com1(我的硬件所在的位置)以及与上面相同的端口(3000)。
我现在正在处理权限问题。如果我不把权限设置为 须藤但我认为我可以处理。
剩下的就是看这个方法是否可靠。如果 piracom 或 socat 断开连接,最好有一个自动脚本来检测并修复它们。
标记。