Web浏览器与硬件设备通信的方式是什么?

时间:2008-10-16 15:58:04

标签: embedded device

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

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

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

8 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:2)

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

实现相同目的的另一种方法是编写一个守护进程,该守护进程从设备轮询并写入数据库,然后编写前端以显示存储的数据。如果您想要提供过去讲座的时间记录,这个方案会更好。第一种方法最好是将浏览器用作设备的简单接口。

答案 2 :(得分:2)

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

答案 3 :(得分:2)

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

答案 4 :(得分:1)

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

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

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

答案 5 :(得分:0)

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

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

答案 6 :(得分:0)

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

答案 7 :(得分:0)

如果您使用USB接口连接您的硬件,我建议使用USB CDC EEM类,旨在提供以太网其他USB仿真并完全用于此目的 - 在嵌入式设备上公开Web服务器,this one for example ,各种设计。
除此之外,您还需要在PC端实施CDC EEM类驱动程序以使其正常工作。