关于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 @   冷月无星  阅读(1840)  评论(2编辑  收藏  举报
编辑推荐:
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 上周热点回顾(2.17-2.23)
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
点击右上角即可分享
微信分享提示