如何在网页中从串口读取数据

5
我想设计一个网页表单,用户需要填写一些字段。其中一个字段的值应该从客户端计算机的串行端口(COM1)中读取,该端口连接着一个特殊的硬件,当用户在填写表单时按下“发送到PC”键即可。

我如何监听网页中的COM1端口并自动将COM1的值放入网页表单中?

我听说ActiveX控件可以做到这一点,但它只与IE兼容(对吗?)。另一个选择是Java小程序。

我想要一个简单的解决方案,能够兼容至少IE/Firefox/Opera。

服务器端我可以使用ASP或PHP,但如果您能为每个语言提供解决方案,我会非常感激。

更新:

我们可以告诉客户更改其安全设置以接受我们的ActiveX/小程序。

我们还可以让客户安装一个作为服务运行并从串行端口读取的自定义程序。

问题是读取的数据应该自动且立即地输入到网页表单中。

Java小程序是个好主意,但客户必须安装体积较大的JRE。

是否有其他选项?


为什么需要一个网页?你可以有一个客户端应用程序(它可以轻松地与 com 端口通信)将数据提交到网页、RESTful 服务或 WS-* 服务。 - Matthew Whited
@Matthew:你说得没错,但这个网页是大型网站的一部分,老板希望所有东西都集成在网页中。 :-/ - Isaac
相关链接:https://dev59.com/WGUp5IYBdhLWcg3wmIYt - djvg
4个回答

4

我曾经解决过同样的问题,使用了Java Web Applet来完成。您需要使用NetBeans。请先阅读“readme”文件。如果有任何问题,请告诉我。

http://racky.wz.cz/applet_rs232.zip

专为串行COM1设计。将RS-232电缆插入其中,并在另一端短接(连接)2号和3号引脚。


1
这个回答看起来很合理,需要更多的关注。这可能是解决这个问题的一个很好的模板代码。 - Isaac

3

使用Java小程序可以从串口读取数据,但出于安全原因,您需要为应用程序签名。如果要非官方地对其进行认证(没有Sun的认证),则需要创建证书。这里有一个示例。


请问您可以更新一下链接吗?这个链接已经失效了。 - Mani Deep

1

这似乎会破坏大多数 Web 安全模型。我无法想象在浏览器中实现它的可能性,除非授予小程序或 ActiveX 控件许多权限(即使如此,我也不确定是否可能)。我认为这很可能需要某种本地“厚”客户端应用程序来与串行端口进行通信。


我们的客户没有问题授予小程序这样的权限。我也更新了问题以进行澄清。 - Isaac

0

Java 可能是您在维护跨浏览器和跨平台兼容性方面的最佳选择。快速搜索可以找到以下页面,您可能会发现它们有用:

服务器端的选择并不重要。一旦客户端读取数据,它就与将任何其他数据发送到服务器端脚本相同。


2
然而,由于安全限制,这将需要一个厚客户端,因此无法从小程序中完成。 - Chris

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接