如何通过节点获取USB设备总线类型GUID属性?

时间:2017-07-08 17:34:28

标签: javascript node.js usb usb-descriptor

我正在尝试通过NPM / Node检查USB调试是打开还是关闭。一旦Android手机连接到我的系统并且USB调试关闭,那么我需要向用户显示提示以在他的手机上启用USB调试。

根据我的研究,连接到我系统的每台设备(扫描仪/电话/ USB)都有一个唯一的GUID,可帮助我区分连接的设备。此外,我无法获取USB调试细节。 请帮忙!

I want this property which is in this link

到目前为止我编写的代码是基于 iSerialNumber ,但我想根据 BUS-TYPE GUID 来区分它。

var usb = require('usb');

usb.on('attach', function(device) 
{
    var devices = usb.getDeviceList();
    var check = devices[0].deviceDescriptor;
    if(check.iSerialNumber == '3')
    {
        console.log("Please enable USB Debugging");
    }
    else
    {
        console.log("Connect an Android device");
    }
});

以下是我尝试过的最新代码,但它仅适用于三星设备: -

var usbDetect = require('usb-detection');
var Promise = require('bluebird');
var adb = require('adbkit');
var client = adb.createClient();

usbDetect.on('add', function(dev) {
    setTimeout(checkAndyDevice, 1500);
 }); 

var checkAndyDevice = function(){
 client.listDevices()
      .then(function(devices) {
        return Promise.map(devices, function() {
          return devices;
        })
      })
      .then(function(id) {
        if((JSON.stringify(id)) == '[]')
        {
            console.log("Please enable Usb Debugging option from your Android device");
        }
      })
      .catch(function(err) {
        console.error('Something went wrong:', err.stack)
      });
 };

0 个答案:

没有答案