DaddyLongLegs

关于Node.js检测蓝牙适配器的心得

 

手头上有个Node.js项目需要用到蓝牙设备,关于这方面的库的选择并不多,bluetooth-hci-socket是个不错的库,支持不少主流蓝牙适配器,例如淘宝上常见的CSR8510 A10芯片。

 

截止到发稿前(2019-09-28),发布在npm上的bluetooth-hci-socket还仅仅停留在0.5.1的版本,而该版本尚不支持蓝牙适配器的检测。

抱着一线希望,我查了查bluetooth-hci-socket的github主页,发现该项目源代码的package.json里版本号是0.5.2。也许新版本会有新功能吧?

 

扒了下examples文件夹里有个文件叫list-devices-test.js,看名字好像有希望喔!

 

于是我立马下载了node-bluetooth-hci-socket项目,npm install恢复包之后,跑了下list-devices-test.js,果然能返回蓝牙适配器列表。

 

后面的报错是因为用了2种方式调用,Windows等系统用usb方式,Linux等系统用native方式

 

然后再把node-bluetooth-hci-socket项目里除了package.json以外的所有文件复制到我项目的node_modules/bluetooth-hci-socket下面,覆盖掉原来的文件。然后用以下代码即可调用:

//检测蓝牙适配器
    console.log("检测蓝牙适配器...");
    var UsbBluetoothHciSocket = require(\'bluetooth-hci-socket\');
    var usbBluetoothHciSocket = new UsbBluetoothHciSocket();
    var usbDevices=usbBluetoothHciSocket.getDeviceList();
    if (usbDevices.length > 0) {
        console.log("检测到蓝牙适配器");    
    }

 

分类:

技术点:

相关文章:

  • 2021-12-05
  • 2021-07-13
  • 2021-12-06
  • 2022-02-09
  • 2021-06-25
  • 2021-12-15
  • 2021-04-09
  • 2021-09-04
猜你喜欢
  • 2021-11-10
  • 2021-11-08
  • 2021-07-07
  • 2021-12-04
  • 2021-12-04
  • 2021-04-08
  • 2021-12-04
相关资源
相似解决方案