5

我有一个通过 USB 连接到 PC 的数据采集硬件设备,我想发送一些信息和设置,获取一些数据,然后在客户端检索获取的数据并将其发送到服务器。该计划是使用 Web 门户与连接到客户端 PC 的设备进行通信。我正计划编写一个 DLL 来与设备通信。我在客户端的环境是使用 Internet Explorer 作为浏览器的 Windows。服务器端是 Windows 或 Linux。从 Web 浏览器客户端到客户端设备的最佳通信方式是什么?

澄清:第一个目标是允许客户端 PC 将采集设置发送到设备。这些设置可以在客户端手动输入,也可以来自服务器。第二个目标是将获取的数据获取到服务器的数据库中。我不需要在客户端显示获取的数据。

硬件设备有一个 CPU,但内存非常有限。与设备通信的协议未确定,但我可以像 USB 驱动器一样访问设备。

4

8 回答 8

3

您可以使用 Java 小程序并通过串行端口与设备通信。

于 2008-10-16T17:41:31.987 回答
2

与设备通信的不是网络浏览器,而是网络服务器。换句话说,编写一个小型 Web 应用程序,而不是(或除此之外)从数据库读取数据,而是从设备读取数据,并以 HTML 的形式呈现给用户。

实现相同目的的另一种方法是编写一个从设备轮询并写入数据库的守护程序,然后编写一个前端来呈现存储的数据。如果您想按时间呈现过去讲座的记录,则此方案更好。第一种方法最好将浏览器用作设备的简单界面。

于 2008-10-16T16:04:04.650 回答
2

编写一个 ActiveX 插件来收集数据,但我不确定它是否会授予您所需的权限。如果您可以在其他浏览器上运行,您也可以尝试编写 Netscape 插件。我不知道除了对插件主机施加的任何限制。

于 2008-10-16T16:30:29.573 回答
2

我们有同样的需求,并且正在评估在侦听 127.0.0.1:8080 的客户端上运行代理的选项。代理可以与设备对话,任何本地浏览器都可以通过 js 向 127.0.0.1:8080 发出请求,然后将结果转发到 Web 门户来与代理对话。不知道它是否会起作用,因为任何安全软件都可能禁止浏览器向 127.0.0.1 发出请求并压缩整个内容。

于 2008-12-02T01:55:27.167 回答
1

许多设备可以以击键的形式发送输入。当焦点位于输入字段时,来自设备的数据将用文本填充它。

如果您的数据具有固定长度或可预测的模式,您甚至可以使用 ajax 或类似方法将数据自动提交到服务器。

这种方法已成功用于条形码扫描仪。

于 2011-02-07T17:02:12.670 回答
0

您可以采取简单的方法,使用嵌入式 Web 服务器作为服务来收集数据并像从浏览器中访问普通网站一样访问它。它需要客户端启动服务。

您也可以将其用作门户的代理,在这种情况下,您不必处理多个域的安全限制。

于 2008-10-16T16:25:32.873 回答
0

通常,通过在客户端计算机上安装第三方软件/驱动程序可以解决此问题。GEM 智能卡读卡器采用这种方法。但是,我们需要记住,采用这种方法会使设计偏离瘦客户端模型。更好的方法是在客户端计算机上创建服务。

于 2008-10-16T16:39:57.900 回答
0

如果您使用 USB 接口来连接您的硬件,我建议您使用USB CDC EEM类,该类旨在提供以太网其他 USB 模拟并完全用于此目的 - 在嵌入式设备上公开 Web 服务器,例如,在各种设计中。
另外,您还需要在 PC 端实现 CDC EEM 类驱动程序才能使其正常工作。

于 2008-10-16T19:30:20.117 回答