@abandonware/bluetooth-hci-socket

中文文档
0.5.3-12发布于 2024/04/13MITTypeScriptCommonJS近 30 天下载 4万

蓝牙 HCI 套接字装入节点.js

中文使用文档
文档目录13 节
  1. 先决条件
  2. 链接
  3. 窗口
  4. 安装
  5. 使用量
  6. 行动
  7. 活动
  8. 实例
  9. 平台说明
  10. 链接
  11. 免费BSD
  12. 操作系统X
  13. 窗口

节点-蓝牙-hci-socket

GitHub forks license NPM Fediverse IRC Channel

蓝牙 HCI 套接字装入节点.js

注: 目前仅支持 链接, (中文(简体) ), 免费BSD 财务报告和审定财务报表 窗口。 。 。 .

先决条件

注: node-gyp 只有在 npm 无法为您的 OS 版本找到二进制时才需要, 否则将预建二进制 .

链接

  • 蓝牙 4. 0 适应器

说明: 页:1 节点-usb 依赖性可能安装失败, 这是好的, 因为它是一个可选的依赖性 。 安装 libudev-dev 通过您的 Linux 发行软件包管理器可以解决问题 .

窗口

这个库需要原始的USB访问蓝牙 4.0 USB适配器,因为它需要绕过Windows蓝牙堆栈.

A 类 温USB 需要驱动程序, 使用 Zadig 工具 用于替换适配器的驱动程序.

警报: 这将使得适配器在 Windows 蓝牙设置中无法使用 ! 滚回原司机那里去: Device Manager -> Open Device -> Update Driver 说明:

  • 如果 Zadig 生成的系统休眠点失败, 如果想要使用恢复系统休眠点作为选项, 则应该按照 Zadig 指令选择“ 删除此设备的驱动软件 ” .

相容蓝牙 4.0 USB 适应者

名称USB 维德USB 密码
BCM920702 蓝牙 4.00x0a5c (中文(简体) )0x21e8 (英语)
BCM920702 蓝牙 4.00x0a5c (中文(简体) )0x21f1 (英语)
BCM20702A0 蓝牙 4.00x19ff (英语)0x0239 (英语)
BCM20702A0 蓝牙 4.00x0489 (英语)0xe07a (韩语)
BCM20702A0 蓝牙 4.00x413c (英语)0x8143 (英语)
CSR8510 A10 (中文(简体) )0x0a12 (英语)0x0001 (英语)
阿苏斯 BT-4000x0b05 (英语)0x17 cb (中文(简体) )
无线蓝牙62350x8087 (英语)0x07da (英语)
无线蓝牙 72600x8087 (英语)0x07dc (英语)
无线蓝牙 72650x8087 (英语)0x0a2a (中文(简体) )
无线蓝牙 82650x8087 (英语)0x0a2b (英语)
贝尔金BCM20702A00x050D (英语)0x065A (英语)
戴尔精度55300x8087 (英语)0x0025 (英语)

相容蓝牙 4.1 USB 适应者

名称USB 维德USB 密码
BCM2045A0 蓝牙 4.10x0a5c (中文(简体) )0x6412 (英语)
马维尔·阿瓦斯塔0x1286 (英语)0x204C (英语)

安装

npm install @abandonware/bluetooth-hci-socket

使用量

var BluetoothHciSocket = require('@abandonware/bluetooth-hci-socket');

行动

创建

var bluetoothHciSocket = new BluetoothHciSocket();

设置过滤器

var filter = Buffer.alloc(14);

// ...

bluetoothHciSocket.setFilter(filter);

说明: setFilter 如果 bindRaw 已使用.

捆绑

原始频道
bluetoothHciSocket.bindRaw([deviceId]); // optional deviceId (integer)
用户频道
bluetoothHciSocket.bindUser([deviceId]); // optional deviceId (integer)

要求设备处于电源下状态(sudo hciconfig hciX down) (中文(简体) ).

控制频道
bluetoothHciSocket.bindControl();

是设备向上

查询设备状态.

var isDevUp = bluetoothHciSocket.isDevUp(); // returns: true or false

说明: 必须在后面调用 bindRaw。 。 。 .

开始/停止

开始或停止事件处理 :

bluetoothHciSocket.start();

// ...

bluetoothHciSocket.stop();

说明: 必须在后面调用 bindRaw 或者说 bindControl。 。 。 .

写入

var data = Buffer.from(/* ... */);

// ...


bluetoothHciSocket.write(data);

说明: 必须在后面调用 bindRaw 或者说 bindControl。 。 。 .

活动

数据

bluetoothHciSocket.on('data', function(data) {
  // data is a Buffer

  // ...
});

错误

bluetoothHciSocket.on('error', function(error) {
  // error is a Error

  // ...
});

实例

见 示例文件夹 代码示例.

平台说明

链接

强制 Raw USB 模式

卸载 btusb 内核模块 :

sudo rmmod btusb

设定 BLUETOOTH_HCI_SOCKET_FORCE_USB 环境变量 :

sudo BLUETOOTH_HCI_SOCKET_FORCE_USB=1 node <file>.js

免费BSD

禁用默认蓝牙堆栈的自动加载 无怀疑.conf 输入 /usr/local/etc/devd/no-ubt.conf 并重新启动devd(sudo service devd restart) (中文(简体) ).

卸载 ng_ubt 如果已装入内核模块 :

sudo kldunload ng_ubt

操作系统X

禁用 CSR USB 驱动程序

sudo kextunload -b com.apple.iokit.CSRBluetoothHostControllerUSBTransport

禁用 Broadcom USB 驱动程序

sudo kextunload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport

窗口

强制适配器 USB VID 和 PID

设定 BLUETOOTH_HCI_SOCKET_USB_VID 财务报告和审定财务报表 BLUETOOTH_HCI_SOCKET_USB_PID 环境变量.

USB设备的示例 id: 050d:065a:

set BLUETOOTH_HCI_SOCKET_USB_VID=0x050d
set BLUETOOTH_HCI_SOCKET_USB_PID=0x065a

node <file>.js

版本与发布记录

@abandonware/bluetooth-hci-socket 共发布 12 个版本,首次发布于 2018/12/19;过去 12 个月发布了 0 个版本。

版本发布日期距今
0.5.3-12latest2024/04/132 年前
0.5.3-112024/02/122 年前
0.5.3-102023/01/043 年前
0.5.3-92022/12/163 年前
0.5.3-82021/10/015 年前
0.5.3-72021/01/265 年前

关于 @abandonware/bluetooth-hci-socket 的常见问题

@abandonware/bluetooth-hci-socket 是什么?

蓝牙 HCI 套接字装入节点.js

如何安装 @abandonware/bluetooth-hci-socket?

在项目目录运行 npm install @abandonware/bluetooth-hci-socket,或使用 pnpm add / yarn add / bun add。

@abandonware/bluetooth-hci-socket 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@abandonware/bluetooth-hci-socket 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@abandonware/bluetooth-hci-socket 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=10.0.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@abandonware/bluetooth-hci-socket 可以商用吗?

@abandonware/bluetooth-hci-socket 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@abandonware/bluetooth-hci-socket 的下载量有多少?

根据 npm 官方下载统计,@abandonware/bluetooth-hci-socket 在 2026/10/05 – 2026/11/03 这 30 天内被下载 40,358 次,日均约 1,345 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@abandonware/bluetooth-hci-socket 还在维护吗?

最新版本 0.5.3-12 发布于 2024/04/13(2 年前);至今共发布 12 个版本,其中过去 12 个月发布了 0 个;首次发布于 2018/12/19。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。