1

我目前有一个 Java Applet 在我的网页上运行,它通过 COM1 与显示杆通信。但是,自从 Java 更新以来,我无法再运行自签名 Java 小程序,我认为将 AJAX 请求发送回服务器并让服务器向计算机上的 TCP 端口发送响应会更容易......计算机需要一个 TCP > COM 虚拟适配器。如何安装虚拟适配器以从 TCP 端口连接到 COM1?

我调查了com0com,这让我很困惑,我看不出如何将任何端口连接到COM1。我试过tcp2com但它似乎没有在 Windows 7 x64 中安装该服务。我已经尝试过com2tcp并且界面似乎可以工作(我还没有测试过),但我不希望在桌面上运行应用程序......它需要是在后台运行的服务。

所以总结一下它是如何工作的:

  • comp1 上的网页向服务器发送 AJAX 请求
  • 服务器在端口 999 上向 comp1 发送文本响应
  • comp1 有虚拟 COM 端口监听端口 999,向 COM1 发送数据
  • 杆显示数据

编辑:我使用的是 Win 7 x64 并且 tcp2com 不能作为服务工作。我尝试使用 srvany,但我收到一条错误消息,指出应用程序启动然后停止。如果我使用 powershell 并将 tcp2com 作为参数传递,它不会退出,但也不会运行。所以我取消了整个“服务”交易并输入了命令:powershell -windowstyle hidden "tcp2com --test tcp/999 com1" 它可以工作......有点。被发送的字符都是 effed。我可以在另一台具有 COM2TCP(不同供应商)的计算机上写“echo WTF > COM1”,它会在 POS 显示杆上作为一个单独的块出现。但是,如果我在服务器和客户端机器上都使用 COM2TCP,一切正常……但这只是试用版,而且要花费数百美元!另一个注意事项,有没有办法通过 IP 发送原始文本而不必在另一台计算机上使用另一个虚拟 COM > IP 适配器?有点像 curl 的工作原理但不同......?

4

1 回答 1

1

经过一番详尽的搜索后,我发现了一个名为“ piracom ”的程序。这是一个非常简单的应用程序,可让您指定端口设置,以便通过网络将串行端口连接到侦听端口。所以这是 IP > 串行。对于 Serial > IP,我使用了 HW-VSP3-Single,因为即使在 piracom 网站上它也说它是兼容的!我已经测试过了,它有效!

我只是在我的用户帐户的启动文件夹中放置了 piracom 的快捷方式;该应用程序运行在每次您进行更改时都会更新的 .ini 文件中......因此,如果您运行服务器并将其隐藏,则在下次重新启动 PC 时,它将开始运行并隐藏所有先前的设置。简单的。

现在只需在服务器上安装 HW-VSP3 并在 Rails 应用程序上创建一个方法,该方法将写入虚拟 COM 端口。我现在能看到的唯一问题是写作echo \14Test This! > COM3实际上打印了 \14 ...如果我在我的 Java 小程序中这样做,它会发送“开始”信号。

附录 1:使用 RoR 的串行端口 gem 修复了 \14 问题。我在控制器中创建了一个返回 head :no_content 的方法,然后将数据发送到 COM 端口。通过 jQuery 的 $.Ajax 调用此方法,使用“HEAD”HTTP 方法。显然,虽然我不得不在 Rails 路由中添加 GET 动词,因为由于某些 gimpy 原因不支持 HEAD 选项。

附录2:一些垃圾数据被发送到字符串末尾的显示杆......原来我需要关闭HW-VSP3中的“NVT”选项。另请记住,需要修改防火墙以允许通信。

于 2013-10-18T22:05:41.690 回答