当前位置: 首页 > 面试题库 >

如何使用libusb将数据发送到node.js中的USB设备

楚博雅
2023-03-14
问题内容

我已经尝试按照以下文档https://www.npmjs.org/package/usb从设备(USB温度计)中获取数据,但没有任何结果。

为了从设备获取性能数据,我应该发送类似“ d \ n”的数据。

这是我的代码:

var usb = require('usb'),
    term = usb.findByIds(65535, 2);

term.open();

var endpoints = term.interfaces[0].endpoints,
    inEndpoint = endpoints[0],
    outEndpoint = endpoints[1];

inEndpoint.transferType = 2;
inEndpoint.startStream(1, 64);
inEndpoint.transfer(64, function (error, data) {
    if (!error) {
        console.log(data);
    } else {
        console.log(error);
    }
});
inEndpoint.on('data', function (data) {
    console.log(data);
});
inEndpoint.on('error', function (error) {
    console.log(error);
});
outEndpoint.transferType = 2;
outEndpoint.startStream(1, 64);
outEndpoint.transfer(new Buffer('d\n'), function (err) {
    console.log(err);
});

运行后,我得到了这个:

D:\Dev\USBTest\node_modules\usb\usb.js:261
    t.submit(new Buffer(self.streamTransferSize), transferDone)
      ^
Error: LIBUSB_ERROR_NOT_FOUND
    at startTransfer (D:\Dev\USBTest\node_modules\usb\usb.js:261:5)
    at Array.forEach (native)
    at InEndpoint.startStream (D:\Dev\USBTest\node_modules\usb\usb.js:264:23)
    at D:\Dev\USBTest\app.js:15:16
    at Object.<anonymous> (D:\Dev\USBTest\app.js:35:2)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)

问题答案:

您忘记了调用interface.claim()。

https://github.com/nonolith/node-usb#claim



 类似资料:
  • 问题内容: 我对AJAX还是很陌生,所以很抱歉可能会引起误解,但我还没有完全理解。 我正在尝试一件简单的事情。我有一个文件,基本上是我的后端。然后我有一个和一个。就是这样,这是一个非常基本的设置。现在,在我的上,我正在获取一些数据(邮件地址)。现在,我想将该数据发送到我的后端(进入)以在那里使用它。我怎样才能做到这一点? 我已经找到了一些关于使用node.js进行AJAX的帖子,但是我不明白,特别

  • 问题内容: 我正在尝试通过套接字将数据从node.js发送到Java。我四处搜寻,但没有什么真正有用的。我习惯使用socket.io,但是在这种情况下,它似乎并不适合于此。似乎所有用于node.js的套接字扩展都不真正适合发送消息,而是听消息并回答某些问题。 我的Java应用程序基本上应该从node.js接收一些工作,完成工作并将一些结果发送回node.js。不,该工作无法在node.js上完成,

  • 问题内容: 朋友,我想在JAVA中连接数据并将其传输到COM PORT(虚拟或原始)吗? 问题答案: 引用一些。 我个人从推荐的SerialPort http://serialio.com - 它不是免费的,但它是非常值得的开发商(无稿费)牌费,任何商业项目 。可悲的是,它不再是免版税的,SerialIO.com似乎已重新成为硬件销售商。我不得不在SerialPort上搜索信息。 从个人经验来看,

  • 问题内容: 我正在使用Flask创建一个网站,并且希望能够使用页面中的数据执行python代码。我知道我可以简单地使用表单,但是它是一个页面,它在接收用户输入时会不断更新,并且每次发生任何事情时都要重新加载页面,这是一个很大的麻烦。我知道我可以在javascript内执行操作,但是如何使用js变量在javascript内执行操作?到目前为止,我唯一能想到的就是用js更新外部数据库(如MongoDB

  • 我正在使用Python语言。我有csv文件,我需要转换成json并发送到kafka,然后发送到ElasticSearch。 我能够将Csv转换为Json并发送给Kafka消费者。如何从Kafka Consumer向ElasticSearch获取数据

  • 下面是我的代码: 是不可能插入IMEI的事实,这就是为什么它不张贴,还是其他一些问题? 谢谢你的协助。