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

关于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("检测到蓝牙适配器");    
    }

 

posted @ 2019-09-29 10:09  冷月无星  阅读(1809)  评论(2编辑  收藏  举报