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

bluetooth与hciconfig的区别

hciconfig 和 bluetoothctl 的主要区别如下:

权限问题

hciconfig:

        较旧的工具,直接操作蓝牙硬件,通常需要管理员权限(root),否则会报“Operation not permitted”错误。

bluetoothctl:

        较新的工具,通过 bluetoothd 服务和 D-Bus 通信,通常不需要管理员权限。

功能实现方式

        hciconfig:底层工具,直接配置蓝牙适配器,可能与现代蓝牙管理工具(如 bluetoothd)冲突。

        bluetoothctl:高级工具,通过 bluetoothd 服务管理蓝牙设备,通过 D-Bus 通信,不直接操作硬件。

系统服务管理

        hciconfig:需要手动管理蓝牙服务(如 bluetoothd),可能与其他服务冲突。

        bluetoothctl:依赖系统自动管理的 bluetoothd 服务(一个基于sudo权限的守护进程),用户只需发送指令,bluetoothd 处理具体操作。

问题

        我碰到的问题,hciconfig hci0 down关闭蓝牙的时候提示权限不足。

        hciconfig连接蓝牙设备后,可以通过

Connection from A8:C5:6F:0D:ED:AE to /dev/rfcomm0

        类似的语句映射到文件,cat直接读取文件的值,或者直接echo>向文件发送数据,就能实现数据交互。

        bluetoothctl基于GATT数据格式,

GATT(Generic Attribute Profile) 是蓝牙低功耗(BLE)中用于定义设备间数据传输和交互的通用规范。它基于 ATT(Attribute Protocol) 协议实现数据的传输和管理

 GATT

. 基本概念

  • GATT 服务器(GATT Server):存储数据的设备,通常是外围设备(Peripheral),如传感器或智能手表

  • GATT 客户端(GATT Client):访问 GATT 服务器数据的设备,通常是中心设备(Central),如智能手机

GATT 数据结构基于以下三个主要概念:

Profile:预定义的服务集合,用于实现特定功能 。

Service:逻辑数据实体,包含一个或多个 Characteristic 。每个 Service 通过一个唯一的 UUID(16 位或 128 位)标识 。

Characteristic:封装单个数据点(或相关数据数组),如心率测量 。每个 Characteristic 也有一个唯一的 UUID。

数据传输 ATT 协议:

        GATT 使用 ATT 协议在设备间传输数据。

        ATT 定义了数据的格式化方式和交互过程 。

        属性(Attribute):ATT 中的基本数据单元,包含 Attribute Handle(索引)、Attribute Type(UUID)、Attribute Value(数据值)和 Attribute Permissions(访问权限) 。

交互过程

发现过程:客户端通过特定的 ATT 操作(如 Discover All Primary Services)来发现服务器上的服务和特性 。

读写操作:客户端可以读取或写入 Characteristic 的值,通过 ATT 的 Read 和 Write 操作 。 通知和指示:服务器可以通过 Notification 或 Indication 向客户端发送数据更新 。

相关文章:

  • 使用bat批量获取WORD中包含对应字符的段落,段落使用回车换行
  • 1221. 四平方和 -蓝桥杯真题-哈希函数思想
  • 在 React 中使用 Hooks 从服务端获取数据的完整指南
  • 网络安全之前端学习(HTML属性篇)
  • 力扣刷题46. 全排列
  • HTML5前端第四章节
  • RG-S3760应用协议配置
  • 动静态库的使用和原理(下)
  • 区块链(Blockchain)
  • GED-VIZ部署解决方案
  • Java学习打卡-Day19-Set、HashSet、LinkedHashSet
  • Deepseek+扣子实现xhs内容自动采集
  • 云原生服务网格:微服务通讯的量子纠缠革命
  • ICLR 2025 机器人智能灵巧操作更进一步DexTrack
  • 线上课程小程序开发制作助力机构高效运营
  • Linux复习——基础IO,认识文件描述符、软硬件链接
  • 13 - linux 内存子系统
  • iQOO手机投屏到Windows有两种方法,其中一种可远程控制
  • Python 的 ​ORM(Object-Relational Mapping)工具浅讲
  • Llinux安装MySQL教程
  • 灯塔网站制作公司/外包网络推广公司
  • 网站建设服务合同书/软文营销文章300字
  • 中小企业做网站推广/网络营销管理
  • 中国建筑招标投标网官网/南昌网站优化公司
  • 天津如何做百度的网站推广/怎么建个人网站