openvela之蓝牙命令工具(bttool)使用指南

在 openvela 的开发环境中,bttool 是一款功能强大的蓝牙命令工具,通过它可以对蓝牙适配器进行全面的管理与配置。本文将详细介绍 bttool 及其相关子命令的使用方法,帮助开发者快速掌握蓝牙设备的调试与控制技巧。

一、bttool 命令:进入蓝牙工具控制台

bttool 命令是使用所有蓝牙子命令的基础,其核心功能是在 openvela 的 NSH 命令行中启动蓝牙命令工具的 Console,为后续操作提供交互环境。

基本使用

  • 前提条件:已进入 NSH 操作界面(提示符为 ap>)。
  • 命令输入:ap> bttool
  • 输出效果:终端显示 bttool> 提示符,表明成功进入 bttool Console,可执行各类蓝牙子命令。

在这里插入图片描述

语法说明
在 bttool 及子命令中,语法元素遵循统一规则,常见元素含义如下:

语法元素说明示例
不含方括号或大括号的文本必须按所显示键入的项。cd
命令中的 cd 部分就是必须原样键入的。
<尖括号内的文本>必须为其提供值的占位符。mkdir <directory_name>
命令中的 <directory_name> 需要被替换成实际的目录名。
[方括号内的文本]可选项。ls [-l]
命令中的 [-l] 是一个可选项,表示是否以长列表格式显示文件。
{花括号内的文本}一组必需的项, 必须选择一个。git reset { --soft | --mixed | --hard }
必须选择这三个选项中的一个,例如 git reset --soft。
竖线 |互斥项的分隔符,必须选择一个。git reset { --soft | --mixed | --hard }
–soft, --mixed, --hard只能选其中一个。
省略号 …可重复使用多次的项。cp <file1> <file2> … <destination>
省略号表示可以复制多个文件到目的地。

二、蓝牙适配器基础控制:enable、disable、state

蓝牙适配器的启用、关闭和状态查询是蓝牙操作的基础,这三个命令构成了适配器生命周期管理的核心。

1. enable:启动蓝牙适配器

作为执行其他蓝牙命令的前置操作,enable 用于激活蓝牙适配器的 BR/EDR(基本速率 / 增强数据速率)和 LE(低功耗)功能。

  • 前提条件:已进入 bttool Console(bttool> 提示符)。
  • 命令输入:bttool> enable
  • 输出说明:成功启用后显示 Adapter state changed: 4,其中状态值 4 表示 BR/EDR 功能已启用。
  • 状态含义:
状态值释义
1正在启用 BLE 功能
2BLE 功能已启用
3正在启用 BR/EDR 功能
4BR/EDR 功能已启用

2. disable:关闭蓝牙适配器

用于关闭蓝牙适配器,若存在活跃连接,会自动断开所有设备连接。

  • 命令输入:bttool> disable
  • 输出说明:成功关闭后显示 Adapter state changed: 0,状态值 0 表示蓝牙完全关闭。
  • 特殊情况:若适配器未启动时执行此命令,仅返回状态机信息(如 Process, State=Off, Event=SYS_TURN_OFF)。
  • 状态含义:
状态值释义
5关闭 BR/EDR 功能
6关闭 BLE 功能
0蓝牙关闭
  • 限制:适配器关闭后,仅 enablequitstatelog 命令可使用。

3. state:查询适配器当前状态

用于实时获取蓝牙适配器的运行状态,验证启用或关闭操作的结果。

  • 命令输入:bttool> state
  • 输出示例:
    • 适配器关闭时:[bttool] Adapter State: 0
    • 启用成功后:[bttool] Adapter State: 4
  • 状态值全集:涵盖从启用中到关闭的完整状态(0-6),整合了 enable 和 disable 的状态定义。

三、适配器属性配置:set 子命令

set 命令提供了对蓝牙适配器属性的精细化配置,支持扫描模式、名称、设备类别等多项参数的自定义,满足不同场景下的蓝牙交互需求。

核心配置项及使用

  1. scanmode:设置可发现与可连接性
    • 功能:控制适配器是否可被其他设备发现或连接。
    • 参数值:0(不可发现不可连接)、1(不可发现可连接)、2(默认,可发现可连接)。
    • 示例:bttool> set scanmode 1,输出 [bttool] Scan Mode:1 set success
  2. name:自定义适配器名称
    • 功能:设置向其他设备展示的名称(最多 64 个字符)。
    • 示例:bttool> set name XIAOMI-VELA,输出 [bttool] Local Name:XIAOMI-VELA set success
  3. class:设置设备类别
    • 功能:通过十六进制值定义设备的功能类型(如可穿戴设备、音频设备等),需符合 Bluetooth SIG 标准。
    • 示例:设置为 “可穿戴腕表” 时,输入 bttool> set class 740704,输出对应类别信息。
  4. 其他常用配置:
    • iocap:设置输入输出能力(如 4 表示支持键盘和显示)。
    • appearance:定义 LE 模式下的设备外观(如 0x00C2 表示智能手表)。
    • scanparams:配置扫描参数(间隔、窗口等),需注意时隙单位(1 时隙 = 0.625ms)。

四、适配器属性查询:get 子命令

get 命令与 set 命令对应,用于获取适配器的当前配置和状态信息,方便验证配置结果或排查问题。

常用查询项及示例

  1. 基础属性查询:
    • 扫描模式:bttool> get scanmode → 输出 [bttool] Scan Mode:2
    • 设备名称:bttool> get name → 输出 [bttool] Local Name:XIAOMI-VELA
    • 设备类别:bttool> get class → 输出 [bttool] Local class of device: 0x00740704
  2. 连接与绑定信息:
    • 已绑定设备:bttool> get bonded 1(1 表示 BR/EDR 模式),返回绑定设备的地址、名称等信息。
    • 已连接设备:bttool> get connected 0(0 表示 LE 模式),显示当前连接设备的状态详情。
  3. 地址信息:
    • BR/EDR 地址:bttool> get addr → 输出 [bttool] Local Address:[xx:xx:xx:xx:xx:xx]
    • LE 地址:bttool> get leaddr → 输出地址及类型(0 为公共地址,1 为私有地址)。

总结

bttool 及其子命令为 openvela 环境下的蓝牙开发提供了完整的工具链,从适配器的基础控制到属性的精细化配置,再到连接状态的查询,覆盖了蓝牙设备调试的全流程。掌握这些命令的使用方法,能够高效地进行蓝牙功能测试、问题排查 和设备适配,为蓝牙应用开发奠定坚实基础。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值