当前位置: 首页 > article >正文

linux下蓝牙调试工具hcitool的使用

hcitool 是一个用于蓝牙设备管理的命令行工具,主要用于查看和管理蓝牙设备。以下是一些常见的用法和示例:

1. 查看本地蓝牙适配器信息

使用 hcitool dev 命令可以查看本地蓝牙适配器的信息。

hcitool dev

示例输出:

Devices:
	hci0	00:11:22:33:44:55

2. 查看远程蓝牙设备

使用 hcitool scan 命令可以扫描附近的蓝牙设备。

hcitool scan

示例输出:

Scanning ...
	00:1A:7D:DA:71:13     Bluetooth Device
	00:1B:1E:03:11:22     Another Bluetooth Device

3. 查看远程设备的 L2CAP 通道

使用 hcitool chan <bdaddr> 命令可以查看指定远程设备的 L2CAP 通道。

hcitool chan 00:1A:7D:DA:71:13

示例输出:

Channel list for 00:1A:7D:DA:71:13:
	PSM 0x0003 - RFCOMM/1
	PSM 0x0015 - SDP
	PSM 0x0001 - L2CAP

4. 查看远程设备的页面扫描重复模式

使用 hcitool inq 命令可以查看可发现的远程设备。

hcitool inq

示例输出:

Inquiring ...
	00:1A:7D:DA:71:13	class 0x100104

5. 连接到远程设备

使用 hcitool cc <bdaddr> 命令可以尝试连接到指定的远程设备。

hcitool cc 00:1A:7D:DA:71:13

示例输出:

Connection succeeded

6. 断开与远程设备的连接

使用 hcitool dc <bdaddr> 命令可以断开与指定远程设备的连接。

hcitool dc 00:1A:7D:DA:71:13

示例输出:

Disconnection succeeded

7. 查看连接状态

使用 hcitool con 命令可以查看当前的连接状态。

hcitool con

示例输出:

Connections:
	hci0	00:1A:7D:DA:71:13	handle 11 flags 0x03

8. 发送和接收数据

虽然 hcitool 主要用于设备管理和连接管理,但也可以用于发送和接收数据。使用 hcitool send(addr psmandata) 和 hcitool recv 命令。

发送数据:

hcitool send 00:1A:7D:DA:71:13 0300010000

接收数据:

hcitool recv

9. 其他命令

  • hcitool auth <bdaddr>:尝试认证远程设备。
  • hcitool encrypt <bdaddr>:尝试加密与远程设备的连接。
  • hcitool name <bdaddr>:获取远程设备的名称。

注意事项

  • 确保你有权限访问蓝牙设备。可能需要以 root 用户运行某些命令。
  • 蓝牙设备的地址(BD ADDR)是唯一的,类似于 MAC 地址。

通过这些命令,你可以管理和监控蓝牙设备,进行设备发现、连接和数据传输等操作。

二、主从模式

hcitool 工具本身并不直接支持配置蓝牙设备的 “主从机模式”,因为设备的角色是由蓝牙协议栈在连接时动态分配的。一般情况下,蓝牙设备的初始模式是可变的,即它可以作为主设备或从设备。

不过,你可以通过以下步骤来控制蓝牙设备的角色:

1. 使用 hciconfig 配置本地蓝牙适配器

首先,使用 hciconfig 工具来配置本地蓝牙适配器的角色。你可以将本地蓝牙适配器设置为强制为主设备或从设备模式。

设置为从设备模式
hciconfig hci0 class 0x1F00

这里的 0x1F00 是设备类(Class of Device),表示该设备是一个从设备。

设置为主设备模式
hciconfig hci0 class 0x1000

这里的 0x1000 是设备类(Class of Device),表示该设备是一个主设备。

三、设置为设备可见:

设置可发现性

要使适配器可发现,可以设置页面扫描模式(PSCAN):

hciconfig hci0 piscan

这将使适配器进入可发现模式。

4. 使用 rfkill 解除禁用

有时,Bluetooth 适配器可能被软件禁用。你可以使用 rfkill 工具来检查和解除禁用。

查看 Bluetooth 设备状态
rfkill list bluetooth

解除禁用 Bluetooth 设备

如果设备被禁用,可以使用以下命令解除禁用:

sudo rfkill unblock bluetooth

5. 配置 Bluetooth 设备类

设备类(Class of Device, CoD)可以影响设备的可见性和功能。你可以使用 hciconfig 设置设备类。

例如,设置设备类为计算机:

hciconfig hci0 class 0x100104

http://www.kler.cn/a/448820.html

相关文章:

  • 功能很强大的单点登录协议 SAML 2.0详解
  • MFC/C++学习系列之简单记录9——简单加法
  • 分数阶傅里叶变换
  • 单元测试mock框架Mockito
  • scala基础学习(数据类型)-字符串
  • 电脑使用CDR时弹出错误“计算机丢失mfc140u.dll”是什么原因?“计算机丢失mfc140u.dll”要怎么解决?
  • 【git】开发中分支使用原则与流程
  • 详解redis哨兵(高可用)
  • Python面试常见问题及答案12
  • basic_ios及其衍生库(附 GCC libstdc++源代码)
  • 17.springcloud_openfeign之扩展组件一
  • 生产制造管理系统:现代制造业的智能引擎
  • 什么是漏电?如何预防电气设备漏电引起的火灾?
  • Vivado 编译(单核性能对比+高性能迷你主机+Ubuntu20.04/22.04安装与区别+20.04使用远程命令)
  • 【echarts】创建带有标记线和点击事件的折线图
  • 如何使用 Python 执行 SQL 查询?
  • 基于Linux编写C语言基础命令
  • Django 应用安装脚本 – 如何将应用添加到 INSTALLED_APPS 设置中 原创
  • 【Python】pandas库---数据分析
  • 【RAG实战】Prompting vs. RAG vs. Finetuning: 如何选择LLM应用选择最佳方案
  • 开源呼叫中心系统,柔性动态自适应IVR详解
  • DA-CLIP:Controlling Vision-Language Models for Universal Image Restoration
  • Centos7 部署ZLMediakit
  • 基于Java在线电影院购票选座系统的设计与实现(Springboot框架) 参考文献
  • C语言 单向链表反转问题
  • Screen(一)_简介与安装