2014-03-27 60 views
4

我试图从设备(USB温度计)获取数据,按照这个文档https://www.npmjs.org/package/usb,但我没有任何结果。如何使用libusb发送数据到node.js中的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) 

回答

相关问题