2

在过去的两天里,我正在阅读有关如何从未安装设备驱动程序的外部设备通过 USB 获取数据的信息。我必须通过 USB 从 WT500 Yokogawa 功率计读取数据(基本上我只想读取仪表显示的参数之一,只是功率值)。我知道 WT500 的设备驱动程序可用,但它有一些依赖项,我不想在我们的节点中安装软件或更改任何主要内容来迎合这一点。我发现它libusb可以用来执行我想要的,并且我有一个 C 程序可以嗅探 USB 设备并返回一些信息。我也研究过usb-robot,它也使用libusb。我正在探测的服务器节点具有 OpenSUSE Linux 内核 2.6.30。我安装了usbfs。

问题:

  1. 我期待使用 libusb,只要我请求,我就可以通过 USB 设备从功率计获取数据转储。我可以向仪表请求类似的东西 - 发送 25k 数据,然后在解析它时,我得到我正在寻找的参数值?考虑到我对设备的了解为零,我可以从中获得一些有意义的价值吗?一个示例代码会有所帮助。

-- 有一些标准消息,例如 ?IDN,可以用来查询 USBTMC 设备。但是,如果需要获取屏幕上显示的任何内容,则需要将特定查询发送到仪表(语法应该在技术文档/手册/通信界面中)。

  1. 我想没有更简单的方法可以做我想做的事 - 就像使用 fread 之类的东西读取文件一样?

——是的,差不多。如果安装了 USBTMC 模块(我们内核中的默认模块不起作用,安装和查询设备的详细说明在这里 - http://code.google.com/p/scte/wiki/USBTMC),那么只需要一个发送一些查询并通过cat或从特定文件中读取响应/dev

从仪表技术文档中,我看到描述的驱动程序通信接口是特定于 Windows 的,所以我认为我可能需要做一些逆向工程。

-- 是的,但只有一点点,或者可能根本没有。

谢谢你。

编辑:经过一番谷歌搜索后,我想我有了答案,我将它们添加到我提出的问题旁边。

4

0 回答 0