蓝牙调试工具集合汇总
BLE
该部分主要分享一下常用的蓝牙调试工具,方便后续蓝牙抓包及分析。
目录
1 hciconfig
2 hcitool
3 hcidump
4 hciattach
5 btmon
6 bluetoothd
7 bluetoothctl
1 hciconfig
工具介绍:hciconfig
,HCI
设备配置工具
命令格式:hciconfig
、hciconfig [-a] hciX [command ...]
详细命令如下:
只介绍几种常用命令
-
帮助信息:
hciconfig -h
-
查看设备详细信息:
hciconfig -a hci0
或者hciconfig
-
打开/关闭/重置
hci
设备:hciconfig hci0 up/down/reset
-
认证打开/关闭:
hciconfig hci0 auth/noauth
,直接体现在进行蓝牙连接时,是否输入连接PIN密码,用于PIN配对 -
查看/改变蓝牙主从状态:
hciconfig hci0 lm
、hciconfig hci0 lm slave
-
查看/设置蓝牙名称:
hciconfig hci0 name
、hciconfig hci0 name Donge
-
开启/关闭广播:
hciconfig hci0 leadv/ noleadv
-
查看支持的链路层状态:
hciconfig hci0 lestates
hciconfig
详细介绍参考:https://blog.51cto.com/dongyulong/442289
2 hcitool
工具介绍:hcitool
,HCI 设备管理工具
命令格式:hcitool [options] <command> [command parameters]
详细命令如下:
只介绍几种常用命令
-
帮助信息:
hcitool --help
-
查看
HCI
设备信息:hcitool dev
-
发现周围蓝牙设备:
hcitool -i hci0 inq
-
蓝牙扫描:
hcitool -i hci0 inq
-
查看探查到的蓝牙信息:
hcitool -i hci0 name 88:A9:B7:E6:F1:8F
-
发送CMD蓝牙命令:
hcitool cmd --help
这个命令非常好用,它允许我们不用写代码就可以发送自己想发的任何HCI命令,我们先看下帮助信息
-
创建/删除蓝牙连接:
hcitool -i hci0 cc/dc --ptype=dm1,dh3,dh5 01:02:03:04:05:06
-
扫描附近BLE蓝牙设备:
hcitool -i hci0 lescan
-
连接/断开BLE设备:
hcitool -i hci0 lecc/ledc 12:34:56:C2:9C:C7
参考连接:https://blog.csdn.net/u010764600/article/details/119684001
3 hcidump
工具介绍:hcidump
,HCI sniffer
,蓝牙包的分析工具,hcidump
读取发送和接受蓝牙设备的原始hci
数据,并按照人可以识别的命令、事件、数据格式打印到屏幕上,转储信息还可以保存到一个当地文件中,从而保证转储文件在后续进行解析。
命令格式:hcidump [OPTION...] [filter]
详细命令如下:
只介绍几种常用命令
-
帮助信息:
hcidump -h
-
仿真设备选定:
hcidump -i hci0
-
导出文件:
hcidump -i hci0 -w bt_debug.cfa
-
选定格式:
hcidump -i hci0 -X
-
显示时间:
hcidump -i hci0 -t
-
常用命令:
hcidump -i hci0 -Xt -w bt_debug.cfa &
,以Asicc
、Hex
打印,并且添加时间戳,转存到bt_debug.cfa
文件中
该命令,可以将HCI传输的数据包记录到文件内,通过Windows
的ViewCfa
应用可以详细查看每个包的数据。
4 hciattach
工具介绍:hciattach
,该工具通过UART HCI
将串行设备连接到BlueZ
协议栈,作为HCI传数接口。
命令格式:hciattach [-n] [-p] [-t timeout] tty type| id speed flow bdaddr
详细命令如下:
只介绍几种常用命令
-
帮助信息:
hciattach
-
-n
:不脱离控制终端 -
-p
:当脱离控制终端时,打印PID信息 -
-t
:设置超时时间 -
tty
:指定绑定的串口设备,/dev
可以省略掉 -
type|id
:蓝牙设备的类型或id,例如vendor
或者设备指定的标识 -
any
:不指定HCI_UART
接口 -
ericsson
:爱立信基础模块 -
-s
:speed
串口波特率设置 -
flow
:表示硬件流控制;noflow
:表示不进行流控制 -
bdaddr
:蓝牙设备地址,如果指定了该参数,则地址将用于初始化设备。否则,将使用默认地址。
使用案例:rtk_hciattach -n -s 115200 ttyS0 rtk_h5 &
5 btmon
工具介绍:btmon
,该工具用于监控蓝牙数据
命令格式:btmon
,该工具用于监控蓝牙数据`
详细命令如下:
只介绍几种常用命令
-
帮助信息:
btmon -h
-
-w
:将数据写入文件xxx.log
中,==该文件最好为未存在的文件,否则可能会有问题== -
-T
:显示时间和日期 -
-s
:开始监控的socket -
-r
:-w
写入的文件,仅支持btmon -r xxx.log
读取 -
-i
:监控的控制设备,一般为hci0
-
常用命令:
btmon -i hci0 -w btmon_debug.log &
、btmon -r btmon_debug.log
上面的命令,通过-w
写入文件,-r
读出文件,只能该工具读出
扩展:
btmon -r btmon_debug.log > 1.txt
将读出的转为txt
文件,方便文本查看:)
6 bluetoothd
工具介绍:bluetoothd
,调试工具
命令格式:bluetoothd [OPTION?]
详细命令如下:
只介绍几种常用命令
-
帮助信息:
bluetoothd -h
-
-d
:使能DEBUG
调试 -
-C
:提供过时的命令 -
-n
:运行程序时,前台打印LOG
信息
示例:bluetoothd -C -n &
7 bluetoothctl
工具介绍:bluetoothctl
,调试工具
命令格式:bluetoothctl [command]
详细命令如下:
只介绍几种常用命令
-
帮助信息:
bluetoothd help
-
bluetoothctl
:进入命令行模式 -
list
:查看控制器信息 -
show
:查看详细控制器信息 -
paired-devices
:显示配对的设备 -
power on
:上电控制器 -
advertise on
:开启广播 -
scan on/off
:开启/关闭扫描 -
version
:版本信息 -
exit/quit
:退出
至此,上面是Bluetooth
调试所需要的一些工具的简单介绍,大家可以进行尝试!
相关文章:

蓝牙调试工具集合汇总
BLE 该部分主要分享一下常用的蓝牙调试工具,方便后续蓝牙抓包及分析。 目录 1 hciconfig 2 hcitool 3 hcidump 4 hciattach 5 btmon 6 bluetoothd 7 bluetoothctl 1 hciconfig 工具介绍:hciconfig,HCI 设备配置工具 命令格式&…...

Java 获取文件后缀名【一文总结所有方法】
✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…...

UML常见图的总结
一、概述 UML:Unified Modeling Language,统一建模语言,支持从需求分析开始的软件开发的全过程。是一个支持模型化和软件系统开发的图形化语言、为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到…...
WebRTC系列-工具系列之音频相关工具
文章目录 1. audio_util数据格式转换类2. WavFile文件读写类2.1 读取wav文件2.2 写入wav文件这篇文章主要介绍WebRTC中一些音频工具这些,大部分都在 common_audio目录下,这个文件夹下提供音频的大量算法,包括sinc重采样算法,音频数据格式的转换:例如 float转int16_t格式等…...

7 线性回归及Python实现
1 统计指标 随机变量XXX的理论平均值称为期望: μE(X)\mu E(X)μE(X)但现实中通常不知道μ\muμ, 因此使用已知样本来获取均值 X‾1n∑i1nXi.\overline{X} \frac{1}{n} \sum_{i 1}^n X_i. Xn1i1∑nXi.方差variance定义为: σ2E(∣X−μ∣2).\sigma^2 E(|…...

适合小团队协作、任务管理、计划和进度跟踪的项目任务管理工具有哪些?
适合小团队协作、任务管理、计划和进度跟踪的项目任务管理工具有哪些? 大家可以参考这个模板:http://s.fanruan.com/irhj8管理项目归根结底在管理人、物,扩展来说便是: 人:员工能力、组织机制; 物:项目内…...

从100%进口到自主可控,从600块降到10块,中科院攻克重要芯片
前言 2月28日,“20多位中科院专家把芯片价格打到10块”冲上微博热搜,据河南省官媒大象新闻报道,热搜中提到的中科院专家所在企业为全球最大的PLC分路器芯片制造商仕佳光子,坐落于河南鹤壁。 为实现芯片技术自主可控自立自强&#…...
关于git的一些基本点总结
1.什么是git? git是一个常用的分布式版本管理工具。 2.git 的常用命令: clone(克隆): 从远程仓库中克隆代码到本地仓库 checkout (检出):从本地仓库中检出一个仓库分支然后进行修订 add(添加): 在提交前…...

PyTorch保姆级安装教程
1 安装CUDA1.1 查找Nvidia适用的CUDA版本桌面右键,【打开 NVIDIA控制面板】查看【系统信息】查看NVIDIA的支持的CUDA的版本,下图可知支持的版本是 10.11.2 下载CUDACUDA下载官方网址https://developer.nvidia.com/cuda-toolkit-archive找到适合的版本下载…...

MySQL 上亿大表如何优化?
背景XX 实例(一主一从)xxx 告警中每天凌晨在报 SLA 报警,该报警的意思是存在一定的主从延迟。(若在此时发生主从切换,需要长时间才可以完成切换,要追延迟来保证主从数据的一致性)XX 实例的慢查询…...

Git(狂神课堂笔记)
1.首先去git官网下载我们对应的版本Git - Downloading Package (git-scm.com) 2.安装后我们会发现git文件夹里有三个应用程序: Git Bash:Unix与Linux风格的命令行,使用最多,推荐最多 Git CMD:Windows风格的命令行 G…...
「2」指针进阶,最详细指针和数组难题解题思路
🐶博主主页:ᰔᩚ. 一怀明月ꦿ ❤️🔥专栏系列:线性代数,C初学者入门训练 🔥座右铭:“不要等到什么都没有了,才下定决心去做” 🚀🚀🚀大家觉不错…...
云服务器是做什么的?云服务器典型的应用场景介绍
云服务器可能是很多企业以及个人上云用户的必选产品了,但是对于初学者或者非专业的用户来说云服务器还是比较陌生的,它到底是干什么的,如此生活中哪些地方可以接触到,这篇文章将详细的介绍云服务器使用的应用场景以及相关的操作 本…...

【论文随笔】Transfer of temporal logic formulas in reinforcement learning
Zhe Xu and Ufuk Topcu. 2019. Transfer of temporal logic formulas in reinforcement learning. In Proceedings of the 28th International Joint Conference on Artificial Intelligence (IJCAI’19). AAAI Press, 4010–4018. 这是一篇将inference和learning结合起来的文章…...

蓝桥杯-货物摆放
蓝桥杯-货物摆放1、题目描述1.1 答案提交1.2 运行限制2、解决方案2.1 方案一:暴力解法(三重循环)2.2 方案二:找出乘机的因子1、题目描述 小蓝有一个超大的仓库,可以摆放很多货物。 现在,小蓝有 n 箱货物要摆放在仓库,每…...

10 种顶流聚类算法 Python 实现(附完整代码)
聚类或聚类分析是无监督学习问题。它通常被用作数据分析技术,用于发现数据中的有趣模式,例如基于其行为的客户群。 有许多聚类算法可供选择,对于所有情况,没有单一的最佳聚类算法。相反,最好探索一系列聚类算法以及每…...

微信小程序第一节 —— 自定义顶部、底部导航栏以及获取胶囊体位置信息。
一、前言 大家好!我是 是江迪呀。我们在进行微信小程序开发时,常常需要自定义一些东西,比如自定义顶部导航、自定义底部导航等等。那么知道这些自定义内容的具体位置、以及如何适配不同的机型就变得尤为重要。下面让我以在iPhone机型&#x…...

快速吃透π型滤波电路-LC-RC滤波器
π型滤波器简介 π型滤波器包括两个电容器和一个电感器,它的输入和输出都呈低阻抗。π型滤波有RC和LC两种, 在输出电流不大的情况下用RC,R的取值不能太大,一般几个至几十欧姆,其优点是成本低。其缺点是电阻要消耗一些…...

聊聊混沌工程
这是鼎叔的第五十四篇原创文章。行业大牛和刚毕业的小白,都可以进来聊聊。欢迎关注本专栏和微信公众号《敏捷测试转型》,大量原创思考文章陆续推出。混沌工程是一门新兴学科,它不仅仅只是个技术活动,还包含如何设计能够持续协作的…...

做为骨干网络的分类模型的预训代码安装配置简单记录
一、安装配置环境 1、准备工作 代码地址 GitHub - bubbliiiing/classification-pytorch: 这是各个主干网络分类模型的源码,可以用于训练自己的分类模型。 # 创建环境 conda create -n ptorch1_2_0 python3.6 # 然后启动 conda install pytorch1.2.0 torchvision…...

MongoDB学习和应用(高效的非关系型数据库)
一丶 MongoDB简介 对于社交类软件的功能,我们需要对它的功能特点进行分析: 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具: mysql:关系型数据库&am…...
STM32+rt-thread判断是否联网
一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...

前端导出带有合并单元格的列表
// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练
前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...

智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案
随着新能源汽车的快速普及,充电桩作为核心配套设施,其安全性与可靠性备受关注。然而,在高温、高负荷运行环境下,充电桩的散热问题与消防安全隐患日益凸显,成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...

智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制
在数字化浪潮席卷全球的今天,数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具,在大规模数据获取中发挥着关键作用。然而,传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时,常出现数据质…...
今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存
文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...
Typeerror: cannot read properties of undefined (reading ‘XXX‘)
最近需要在离线机器上运行软件,所以得把软件用docker打包起来,大部分功能都没问题,出了一个奇怪的事情。同样的代码,在本机上用vscode可以运行起来,但是打包之后在docker里出现了问题。使用的是dialog组件,…...
Python 包管理器 uv 介绍
Python 包管理器 uv 全面介绍 uv 是由 Astral(热门工具 Ruff 的开发者)推出的下一代高性能 Python 包管理器和构建工具,用 Rust 编写。它旨在解决传统工具(如 pip、virtualenv、pip-tools)的性能瓶颈,同时…...