2014-03-27 89 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) 

回答

相關問題