首页/新闻资讯/正文详情

蓝牙学习之Linux命令

发布时间:2026/9/25 17:01:04 来源:云帆数科 栏目:资讯中心
蓝牙学习之Linux命令
bluetoothctl主要功能扫描、配对、连接、信任、查看设备信息等。扫描ethanG5000:~$ bluetoothctl scan on SetDiscoveryFilter success Discovery started ethanG5000:~$ bluetoothctl devices Device B0:82:E2:67:46:DB XXXXXX配对ethanG5000:~$ bluetoothctl pair B0:82:E2:67:46:DB Attempting to pair with B0:82:E2:67:46:DB[CHG]Device B0:82:E2:67:46:DB Connected:yes[CHG]Device B0:82:E2:67:46:DB Bonded:yes[CHG]Device B0:82:E2:67:46:DB UUIDs: 00000000-deca-fade-deca-deafdecacaff[CHG]Device B0:82:E2:67:46:DB UUIDs: 00001101-0000-1000-8000-00805f9b34fb[CHG]Device B0:82:E2:67:46:DB UUIDs: 0000110a-0000-1000-8000-00805f9b34fb[CHG]Device B0:82:E2:67:46:DB UUIDs: 0000110b-0000-1000-8000-00805f9b34fb[CHG]Device B0:82:E2:67:46:DB UUIDs: 0000110c-0000-1000-8000-00805f9b34fb[CHG]Device B0:82:E2:67:46:DB UUIDs: 0000110e-0000-1000-8000-00805f9b34fb[CHG]Device B0:82:E2:67:46:DB UUIDs: 0000111e-0000-1000-8000-00805f9b34fb[CHG]Device B0:82:E2:67:46:DB UUIDs: 00001200-0000-1000-8000-00805f9b34fb[CHG]Device B0:82:E2:67:46:DB UUIDs: 0000e003-0000-1000-8000-00805f9b34fb[CHG]Device B0:82:E2:67:46:DB ServicesResolved:yes[CHG]Device B0:82:E2:67:46:DB Paired:yesPairing successful配对后可根据需要在本地添加信任。信任是一个本地策略不需要和设备通信。ethanG5000:~$ bluetoothctl trust B0:82:E2:67:46:DB[CHG]Device B0:82:E2:67:46:DB Trusted:yesChanging B0:82:E2:67:46:DB trust succeeded连接ethanG5000:~$ bluetoothctl connect B0:82:E2:67:46:DB Attempting to connect to B0:82:E2:67:46:DB[DEL]Device64:82:14:EE:F2:4164-82-14-EE-F2-41[CHG]Device B0:82:E2:67:46:DB Connected:yesConnection successful查看信息ethanG5000:~$ bluetoothctl devices Connected Device B0:82:E2:67:46:DB ROG GJALLAR ethanG5000:~$ bluetoothctl info B0:82:E2:67:46:DB Device B0:82:E2:67:46:DB(public)Name: XXXXXX Alias: XXXXXX Class: 0x00240414(2360340)Icon: audio-card Paired:yesBonded:yesTrusted: no Blocked: no Connected:yesLegacyPairing: no CablePairing: no UUID: Vendor specific(00000000-deca-fade-deca-deafdecacaff)UUID: Serial Port(00001101-0000-1000-8000-00805f9b34fb)UUID: Audio Source(0000110a-0000-1000-8000-00805f9b34fb)UUID: Audio Sink(0000110b-0000-1000-8000-00805f9b34fb)UUID: A/V Remote Control Target(0000110c-0000-1000-8000-00805f9b34fb)UUID: A/V Remote Control(0000110e-0000-1000-8000-00805f9b34fb)UUID: Handsfree(0000111e-0000-1000-8000-00805f9b34fb)UUID: PnP Information(00001200-0000-1000-8000-00805f9b34fb)UUID: Unknown(0000e003-0000-1000-8000-00805f9b34fb)Modalias: bluetooth:v0B05p1CB0d0100 ManufacturerData.Key: 0x0b05(2821)ManufacturerData.Value: 00 01 02 02 02..... RSSI: 0xffffffd8(-40)l2pingl2ping 是 BlueZLinux 官方蓝牙协议栈提供的一个命令行工具用于测试蓝牙设备之间的连通性和链路质量。它的作用类似于 IP 网络中的 ping 命令但工作在蓝牙协议栈的 L2CAP 层Logical Link Control and Adaptation Protocol逻辑链路控制与适配协议而不是网络层。核心原理l2ping 向目标蓝牙设备发送 L2CAP Echo Request回显请求​ 包目标设备如果在线且能响应会返回 L2CAP Echo Response回显响应​ 包。通过是否收到响应、响应时间RTT和丢包情况就能判断蓝牙链路是否可达以及质量如何。示例一ethanG5000:~$sudol2ping B0:82:E2:67:46:DB Ping: B0:82:E2:67:46:DB from D0:39:57:05:7F:08(data size44)...44bytes from B0:82:E2:67:46:DBid0time10.54ms44bytes from B0:82:E2:67:46:DBid1time8.91ms44bytes from B0:82:E2:67:46:DBid2time5.85ms44bytes from B0:82:E2:67:46:DBid3time10.94ms示例二ethanG5000:~$sudol2ping-f-s600-c3B0:82:E2:67:46:DB Ping: B0:82:E2:67:46:DB from D0:39:57:05:7F:08(data size600)...600bytes from B0:82:E2:67:46:DBid0time15.06ms600bytes from B0:82:E2:67:46:DBid1time15.95ms600bytes from B0:82:E2:67:46:DBid2time15.01ms3sent,3received,0% loss-f 是洪水模式、-s 600 大包看最后一行 x sent, x received, x% loss 和每个包的 time。丢包率高于 2%~3%、或延迟抖动大就说明有干扰或距离问题。l2testl2test是 BlueZ 协议栈自带的 L2CAP 层测试工具工作方式和 iperf 很像一端监听收/发另一端连接发/收用来测蓝牙 L2CAP 通道的连通性、吞吐量和稳定性。但需要两台设备无法在音箱上测试。向对端发信息请求information requestethanG5000:~$ sudo l2test -z B0:82:E2:67:46:DB Connectionless MTU size is 672 Extended feature mask is 0x0000解释Connectionless MTU 672 —— 无连接广播通道 MTU标准值Extended feature mask 0x0000 —— 扩展特性一位都没置意思是这台音箱只支持 Basic L2CAP 模式不支持 ERTM、Streaming、FCS、固定通道等任何高级模式。这是廉价音频设备的典型表现完全正常。以后测它别加 -X ertm。btmonbtmgmtbtmgmt 直接走 MGMT socket 跟内核对话绕过 D-Bus 和 bluetoothd。可能与bluetoothd争抢控制器。控制器身份的塑形工具、协议栈的调试探针、认证测试的手术刀维度btmgmtbluetoothctl操作层级内核 MGMT socket绕过 bluetoothdD-Bus → bluetoothd核心对象控制器自身属性地址、PHY、广播、SC 模式、debug keys、实验特性远端设备扫描、配对、连接、GATT后台依赖不需要 bluetoothd 运行必须有 bluetoothd官方定位底层调试/配置不推荐应用使用日常设备管理主入口示例一sudo btmgmt find -lsudo btmgmt find -b命令Address type行为find0x07BR/EDR LE Public LE Random 全扫find -l0x06只 LEPublic Random不发 Inquiryfind -b0x01只 BR/EDR只做 Inquirylegacy工具工具原用途现代替代hcitool发 HCI 命令、scan / lescan / infobluetoothctlbtmgmthciconfig查看/配置 hci0up/down、piscan、MTUbtmgmt/bluetoothctl showgatttoolBLE GATT 读写交互模式bluetoothctl menu gatt或 D-Bus GATT APIsdptool查询经典蓝牙 SDP 服务列表bluetoothctl info MAC看 UUIDrfcomm绑定 /dev/rfcommN 串口无完整替代需用 D-Bus Profile1 API 自己实现ciptoolCIP无绳电话 profile非常冷门基本无例如hcitool rssi B0:82:E2:67:46:DB

相关推荐

AI日报类项目设计与落地要点解析
AI日报类项目设计与落地要点解析

我无法基于“AI 日报(2026年9月18日)”这一标题生成符合要求的高质量博文。原因如下:该标题本身不具备可拆解的具体项目属性:它是一个时间标记泛称组合(“AI 日报”),既非技术方案、工具实现、硬… · 2026/9/25 17:00:39

LLM Wiki 亮点深挖:知识图谱、MCP、深度研究、两步摄入是怎么实现的(TaoToken 配置骨架)
LLM Wiki 亮点深挖:知识图谱、MCP、深度研究、两步摄入是怎么实现的(TaoToken 配置骨架)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 17:00:02

Hunk 测试体系全解:跨模块、跨进程与终端边界的分层测试布局与命令指南
Hunk 测试体系全解:跨模块、跨进程与终端边界的分层测试布局与命令指南

开发工具代码评审CLIAI 应用 【免费下载链接】hunk Review-first terminal diff viewer for agentic coders 项目地址: https://gitcode.com/gh_mirrors/hu/hunk 点击查看 免费下载 本篇技术指南围绕 Hunk(Review-first 终端 diff 查看器)仓… · 2026/9/25 16:59:56

C# is与as操作符区别详解:类型转换、模式匹配与安全编程实践
C# is与as操作符区别详解:类型转换、模式匹配与安全编程实践

1. 面试官问这道基础题,到底想考察什么?is和as是 C# 里每天都会碰到的两个操作符,也是面试中出现频率极高的 C# 基础题。我面试别人时经常拿这道题开场,原因很简单:它能一次性筛掉三种候选人——只会背概念的、只会用但… · 2026/9/25 17:30:04

m3u8下载原理与实战:从抓包定位到无损合并
m3u8下载原理与实战:从抓包定位到无损合并

1. 项目概述:为什么m3u8下载不是“点一下就完事”的技术活m3u8视频下载,听起来像浏览器右键“另存为”那么简单,但实际操作中,90%的人卡在第一步——连真正的m3u8地址都找不到。我做视频技术支撑这十多年,帮客户处理过… · 2026/9/25 17:29:58

Atlas 300V 24G部署YOLO全攻略:从硬件认知到模型推理优化
Atlas 300V 24G部署YOLO全攻略:从硬件认知到模型推理优化

最近后台收到一条挺有代表性的提问:Atlas 300V 24G是运算加速卡吗?紧跟着还有一条搜索是“atlas部署yolo”,意思是已经把卡拿到手了,接下来想让YOLO在这张卡上跑起来。这两个问题放在一起看,基本就是很多人在Atlas加速… · 2026/9/25 17:29:52

PyTorch量化感知训练QAT实战:从原理到部署的完整指南
PyTorch量化感知训练QAT实战:从原理到部署的完整指南

1. 为什么要在PyTorch里做量化感知训练搞模型部署的兄弟大概率都遇到过这个场景:实验室里FP32精度跑得好好的模型,一放到边缘设备或者移动端就拉胯——推理速度慢、内存占用高、功耗还大。量化就是把FP32的权重和激活值压缩成INT8甚至更低比特&#xff0… · 2026/9/25 17:29:52

PyTorch量化感知训练QAT实战:从fake quant到int8部署的踩坑经验
PyTorch量化感知训练QAT实战:从fake quant到int8部署的踩坑经验

量化感知训练(QAT)这件事,我前前后后在三四个项目里踩过坑,从最早把torch.quantization当成黑盒用,到后来被精度掉点折磨得怀疑人生,再到现在能比较从容地判断"这个模型该不该上QAT、该在哪个位置插fa… · 2026/9/25 17:29:51

WPScan 插件版本探测实战:基于 CHANGELOG.md 的 ChangeLog 动态查找器原理
WPScan 插件版本探测实战:基于 CHANGELOG.md 的 ChangeLog 动态查找器原理

网络安全漏洞扫描渗透测试应用安全CLI 【免费下载链接】wpscan WPScan WordPress security scanner. Written for security professionals and blog maintainers to test the security of their WordPress websites. Contact us via contactwpscan.com 项目地址: ht… · 2026/9/25 17:29:45

数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)
数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31

创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战
创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31

MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX
MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:37

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码