我有一个Delcom USB灯 - 想想构建灯(http://www.delcomproducts.com/products_USBLMP.asp),我试图从node.js控制(如果有任何不同,在Ubuntu上运行)
我正在使用node-usb(https://github.com/schakko/node-usb),我可以连接&声称该设备。我甚至可以把它变成“闪光”(就像你第一次插上它时那样),但是我不能让它保持点亮,更不用说改变颜色了
var usb_driver = require("../usb.js"),
assert = require('assert');
// setup our vars
var lightVID = 0x0fc5
var lightPID = 0xb080
// Search for ledLight
var usb = usb_driver.create()
var theLight_devices = usb.find_by_vid_and_pid(lightVID, lightPID);
assert.ok((theLight_devices.length >= 1));
console.log("Total lights found: " + theLight_devices.length);
// get the light
var theLight = theLight_devices[0];
var theLightInterfaces = theLight.getInterfaces();
assert.ok((theLightInterfaces.length >= 1));
console.log("The Light contains interfaces: " + theLightInterfaces.length);
var theLightInterface = theLightInterfaces[0];
console.log("Claiming the LIGHT interface for further actions")
theLightInterface.detachKernelDriver();
//theLightInterface.claim()
console.log(theLightInterface.claim());
// controlTransfer(mixed read|write, _bmRequestTyc8, _bRequest, _wValue, _wIndex, func, timeout);
theLight.controlTransfer(new Buffer(10), 0x88, 0xc8, 0x0635, 0x04, function() { console.log("LED toggled") }, 0);
当你运行它时,它告诉我有一个设备,它声称它,它甚至闪烁,但它不会继续。
关于在哪里转向下一步的任何想法?
是否与Node.js关闭有关,“flash”是再次控制USB端口的计算机?
答案 0 :(得分:0)
下面是一些更新的代码:
var theLightInterface = theLightInterfaces[0]
console.log("Claiming the LIGHT interface for further actions " + theLightInterface)
for(var inter in theLightInterface){
console.log("Name: "+ inter)
console.log("Value: "+ theLightInterface[inter])
}
console.log("Is Active: "+ theLightInterface.isKernelDriverActive() )
console.log("Release Kernel: "+ theLightInterface.detachKernelDriver() )
console.log("Claim Interface: "+ theLightInterface.claim() )
theLight.controlTransfer(new Buffer(0), 0x12, 0xc8, 0x04, 101, function() { console.log("LED toggled") }, 1000)
输出是:
Is Active: 1
Release Kernel: undefined
Claim Interface: undefined
设置为0x12和0xc8时,它会使指示灯闪烁/闪烁 - 但我认为我无法控制USB驱动程序