python调试蓝牙适配器_【蓝牙】蓝牙,调试 hcitool与gatttool实例

本文介绍了Bluez协议栈提供的命令行工具hcitool和gatttool,用于调试蓝牙设备。讲解了如何使用hcitool开启和关闭蓝牙设备、查询设备信息以及连接管理。同时,详细阐述了gatttool的用法,包括连接BLE设备、读写特性值等操作,为蓝牙设备的调试提供了清晰的步骤和示例。
摘要由CSDN通过智能技术生成

Bluez协议栈在安装完以后,会提供两个命令行调试工具,hcitool与gattool,我们可以根据提供的工具来轻松的调试我们的蓝牙设备,调试BLE设备时,需要获取root权限。

蓝牙设备的开启与关闭

首先,查看在使用hci工具时,我们需要查看当前能够识别的蓝牙设备,这里我们需要使用的工具是hciconfig命令,该命令如ifconfig一样,可以控制蓝牙设备的开启与关闭,在默认情况下,蓝牙设备在插入host时是不会自动开启的,所以我们在调试之前要先开启设备。

如果我们需要查看蓝牙设备的话:

hci0:Type: Primary Bus: UART

BD Address: 54:C9:DF:B1:CD:8C ACL MTU: 1024:7 SCO MTU: 60:8

UP RUNNING PSCAN

RX bytes:85137 acl:851 sco:0 events:4646 errors:0

TX bytes:44582 acl:847 sco:0 commands:2426 errors:0

会输出以上内容,我们可以看到蓝牙设备的编号为hci0,这是host分配给设备的ID,我们用来启动或关闭设备也是需要该ID来控制。

开启与关闭设备:

#设备打开

sudo hciconfig hci0 up

#设备关闭

sudo hciconfig hci0 down

hcitool命令及参数

在打开蓝牙设备以后,就可以使用hcitool工具集对蓝牙进行控制,工具集参数 分为两部分,一为正常的蓝牙设备调试,二为低功耗即BLE设备, 工具参数如下:

$ hcitool

hcitool - HCI Tool ver 4.93

Usage:

hcitool [options] [command parameters]

Options:

--help Display help

-i dev HCI device

Commands:

dev Display local devices

inq Inquire remote devices

scan Scan for remote devices

name Get name from remote device

info Get information from remote device

spinq Start periodic inquiry

epinq Exit periodic inquiry

cmd Submit arbitrary HCI commands

con Display active connections

cc Create connection to remote device

dc Disconnect from remote device

sr Switch master/slave role

cpt Change connection packet type

rssi Display connection RSSI

lq Display link quality

tpl Display transmit power level

afh Display AFH channel map

lp Set/display link policy settings

lst Set/display link supervision timeout

auth Request authentication

enc Set connection encryption

key Change connection link key

clkoff Read clock offset

clock Read local or remote clock

lescan Start LE scan

lewladd Add device to LE White List

lewlrm Remove device from LE White List

lewlsz Read size of LE White List

lewlclr Clear LE White list

lecc Create a LE Connection

ledc Disconnect a LE Connection

lecup LE Connection Update

For more information on the usage of each command use:

hcitool --help

命令说明调用方式

参数

–help

进入帮助

hcitool –help

-i

在host插有多个蓝牙适配器的情况下,可以通过该参数来指定某控制某一适配器

hcitool -i [dbaddr] [command]

命令

下面的命令是普通蓝牙设备,不需要sudo

dev

同hciconfig一样,显示当前适配器设备,输出格式为[hciid MAC]

hcitool dev

inq

查询可发现的远程设备,与scan不同的是,除了能查询出MAC以外,还可以查出远程设备的时钟偏移值“clock offset”与设备类型“class”,scan是不会输出相关设备的类型,这可以让我们区分设备是蓝牙耳机,或蓝牙鼠标

hcitool inq

hcitool inq [–length=N]设置最大查询时间

hcitool inq [–numrsp=N]设置最大查询数量

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值