首页 > 其他分享 >蓝牙相关命令

蓝牙相关命令

时间:2025-01-13 10:28:26浏览次数:3  
标签:00 LE -- 蓝牙 命令 mode 相关 type 设备

记录一些蓝牙需要用到的命令,以防忘记,hcitool 用于连接断开设备;hciattach 初始化(串口/波特率)和绑定tty设备;hciconfig 查看蓝牙设备的属性,设置蓝牙设备的操作;hcidump 读取发送和接受蓝牙设备的原始hci数据(该设备可以通过-I 参数指定,默认当前第一个有 效的连接设备),并按照人可以识别的命令、事件、数据格式打印到屏幕上。转储信息还可以保存到一个 当地文件中,从而保证转储文件在后续进行解析;rfcomm 用于创建设备绑定本地的蓝牙设备;sdptool  增加/删除蓝牙服务;bluemoon配置实用程序;

mknod 的标准形式为: mknod DEVNAME {b | c} MAJOR MINOR

1.DEVNAME是要创建的设备文件名,如果想将设备文件放在一个特定的文件夹下,就需要先用mkdir在dev目录 下新建一个目录;

2.b和c 分别表示块设备和字符设备:

• b表示系统从块设备中读取数据的时候,直接从内存的buffer中读取数据,而不经过磁盘;

• c表示字符设备文件与设备传送数据的时候是以字符的形式传送,一次传送一个字符,比如打印机、终端 都是以字符的形式传送数据;5/10

3.MAJOR和MINOR分别表示主设备号和次设备号: 为了管理设备,系统为每个设备分配一个编号,一个设备号由主设备号和次设备号组成。主设备号标示某一种类 的设备, 次设备号用来区分同一类型的设备。linux操作系统中为设备文件编号分配了32位无符号整数,其中前12位是主设 备号,后 20位为次设备号,所以在向系统申请设备文件时主设备号不好超过4095,次设备号不好超过2^20 -1。

hcitool 用于连接断开设备:

hcitool - HCI Tool ver 5.50
 Usage:
 hcitool [options] <command> [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 提交任意HCI命令
 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 显示连接RSSI
 lq Display link quality 显示链接的质量
 tpl Display transmit power level 显示发射功率水平
 afh Display AFH channel map 显示AFH频道地图
 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 开始LE扫描
 leinfo Get LE remote information 获取LE远程信息
 lewladd Add device to LE White List 添加设备到“LE白名单”
 lewlrm Remove device from LE White List 从LE白名单中移除设备
 lewlsz Read size of LE White List 读取LE白名单的大小
 lewlclr Clear LE White List 清除LE白名单
 lerladd Add device to LE Resolving List 添加设备到LE解析列表
 lerlrm Remove device from LE Resolving List 从LE解析列表中移除设备
 lerlclr Clear LE Resolving List 清除LE解决列表
 lerlsz Read size of LE Resolving List 读取LE解析列表的大小
 lerlon Enable LE Address Resolution 启用LE地址解析
 lerloff Disable LE Address Resolution 禁用LE地址解析
 lecc Create a LE Connection 创建LE连接
 ledc Disconnect a LE Connection 断开LE连接
 lecup LE Connection Update LE连接更新 
 For more information on the usage of each command use:
 hcitool <command> --help

hciattach -- 'h' : 初始化(串口/波特率)和绑定tty设备:

hciattach - HCI UART driver initialization utility UART驱动程序初始化实用程序
 Usage:
 hciattach [-n] [-p] [-b] [-r] [-t timeout] [-s initial_speed] <tty> <type | id> [speed] [flow|noflow] 
[sleep|nosleep] [bdaddr]
 hciattach -l
hciconfig -h : 查看蓝牙设备的属性,设置蓝牙设备的操作
 hciconfig - HCI device configuration utility
 Usage:
 hciconfig
 hciconfig [-a] hciX [command ...]
 Commands:
 up Open and initialize HCI device 打开并初始化HCI设备
 down Close HCI device 关闭HCI设备
 reset Reset HCI device 复位HCI设备 
 rstat Reset statistic counters 复位统计计数器
 auth Enable Authentication 开启确认动作音效
 noauth Disable Authentication 禁用确认动作音
效 
 encrypt Enable Encryption 启动分页档加密
 noencrypt Disable Encryption 禁用加密功能
 piscan Enable Page and Inquiry scan 启用“页面”和“查询”扫描
 noscan Disable scan 禁用扫描
 iscan Enable Inquiry scan 使能调查扫描
 pscan Enable Page scan 使能页面扫描
 ptype [type] Get/Set default packet type 获取/设置默认数据包类型
 lm [mode] Get/Set default link mode 获取/设置默认链接模式
 lp [policy] Get/Set default link policy 获取/设置默认链接策略
 name [name] Get/Set local name 获取/设置本地名称
 class [class] Get/Set class of device 获取/设置设备类
 voice [voice] Get/Set voice setting 获取/设置声音设置
 iac [iac] Get/Set inquiry access code 获取/设置查询接入码
 inqtpl [level] Get/Set inquiry transmit power level 获取/设置查询发送功率级别
 inqmode [mode] Get/Set inquiry mode 获取/设置查询模式
 inqdata [data] Get/Set inquiry data 获取/设置调查数据
 inqtype [type] Get/Set inquiry scan type 获取/设置查询扫描类型
 inqparms [win:int] Get/Set inquiry scan window and interval 获取/设置查询扫描窗口和间隔
 pageparms [win:int] Get/Set page scan window and interval 获取/设置页面扫描窗口和间隔
 pageto [to] Get/Set page timeout 获取/设置页面超时
 afhmode [mode] Get/Set AFH mode 获取/设置AFH模式
 sspmode [mode] Get/Set Simple Pairing Mode 获取/设置简单配对模式
 aclmtu <mtu:pkt> Set ACL MTU and number of packets 配置ACL MTU和报文数
 scomtu <mtu:pkt> Set SCO MTU and number of packets 设置SCO MTU和报文数
 delkey <bdaddr> Delete link key from the device 从设备上删除链路键
 oobdata Get local OOB data 获取本地OOB数据
 commands Display supported commands 显示支持命令
 features Display device features 显示设备的特性
 version Display version information 版本信息
 revision Display revision information 显示版本信息
 block <bdaddr> Add a device to the blacklist 配置设备加入黑名单
 unblock <bdaddr> Remove a device from the blacklist 将设备从黑名单中移除
 lerandaddr <bdaddr> Set LE Random Address 设置LE随机地址
 leadv [type] Enable LE advertising
 0 - Connectable undirected advertising (default) 可连接的无向广告3/10
(默认)
 3 - Non connectable undirected advertising 不可连接的无定向
广告
 noleadv Disable LE advertising
 lestates Display the supported LE states 显示支持的LE状态

hcidump -h : 读取发送和接受蓝牙设备的原始hci数据(该设备可以通过-I 参数指定,默认当前第一个有 效的连接设备),并按照人可以识别的命令、事件、数据格式打印到屏幕上。转储信息还可以保存到一个 当地文件中,从而保证转储文件在后续进行解析:

Usage: hcidump [OPTION...] [filter]
 -i, --device=hci_dev HCI device 人机交互设备
 -l, --snap-len=len Snap len (in bytes)
 -p, --psm=psm Default PSM 默认PSM
 -m, --manufacturer=compid Default manufacturer 默认的制造商
 -w, --save-dump=file Save dump to a file 保存转储到一个文件
 -r, --read-dump=file Read dump from a file 从文件中读取dump
 -t, --ts Display time stamps 显示时间戳
 -a, --ascii Dump data in ascii 以ascii格式转储数据
 -x, --hex Dump data in hex 以十六进制格式转储数据
 -X, --ext Dump data in hex and ascii 以十六进制和ascii格式转储数据
 -R, --raw Dump raw data 转储原始数据
 -C, --cmtp=psm PSM for CMTP PSM为CMTP
 -H, --hcrp=psm PSM for HCRP PSM为HCRP
 -O, --obex=port Channel/PSM for OBEX 频道/ PSM OBEX
 -P, --ppp=channel Channel for PPP
 -S, --sap=channel Channel for SAP
 -D, --pppdump=file Extract PPP traffic 提取PPP交通
 -A, --audio=file Extract SCO audio data 提取SCO音频数据
 -Y, --novendor No vendor commands or events 没有供应商命令或事件
 -h, --help Give this help list
 -v, --version Give version information
 --usage Give a short usage message

rfcomm -h:用于创建设备绑定本地的蓝牙设备,/dev/rfcomm0,建立虚拟串口:

RFCOMM configuration utility ver 5.50
 Usage:
 rfcomm [options] <command> <dev>
 Options:
 -i, --device [hciX|bdaddr] Local HCI device or BD Address 本地HCI设备或BD地址
 -h, --help Display help
 -r, --raw Switch TTY into raw mode 将TTY切换到原始模式
 -A, --auth Enable authentication 开启确认动作音效
 -E, --encrypt Enable encryption 启动分页档加密
 -S, --secure Secure connection 安全连接
 -M, --master Become the master of a piconet 成为微微网的主人
 -L, --linger [seconds] Set linger timeout
 -a Show all devices (default)
 Commands:
 bind <dev> <bdaddr> [channel] Bind device
 release <dev> Release device
 show <dev> Show device
 connect <dev> <bdaddr> [channel] Connect device
 listen <dev> [channel [cmd]] Listen
 watch <dev> [channel [cmd]] Watch

sdptool -h : 增加/删除蓝牙服务:

sdptool - SDP tool v5.50
 Usage:
 sdptool [options] <command> [command parameters]
 Options:
 -h Display help
 -i Specify source interface
 Commands:
 search Search for a service 搜索服务
 browse Browse all available services 浏览所有可用服务
 records Request all records 请求所有的记录
 add Add local service 添加本地服务
 del Delete local service
 get Get local service
 setattr Set/Add attribute to a SDP record 设置/添加属性到SDP
记录
 setseq Set/Add attribute sequence to a SDP record 设置/添加属性序列到
SDP记录
 Services:
 DID SP DUN LAN FAX OPUSH FTP PRINT HS HSAG HF HFAG SAP PBAP MAP 
 NAP GN PANU HCRP HID KEYB WIIMOTE CIP CTP A2SRC A2SNK AVRCT AVRTG 
 UDIUE UDITE SEMCHLA SR1 SYNCML SYNCMLSERV ACTIVESYNC HOTSYNC 
 PALMOS NOKID PCSUITE NFTP NSYNCML NGAGE APPLE IAP ISYNC GATT 

bluemoon -h :

bluemoon - Bluemoon configuration utility 配置实用程序
 Usage:
 bluemoon [options]
 Options:
 -A, --bdaddr [addr] Set Bluetooth address 设置蓝牙地址
 -F, --firmware [file] Load firmware 加载固件
 -C, --check <file> Check firmware image 检查固件图像
 -R, --reset Reset controller 复位控制器
 -B, --coldboot Cold boot controller 冷启动控制器
 -E, --exception Trigger exception 触发异常
 -i, --index <num> Use specified controller 使用指定的控制器
 -h, --help Show help options

bluetoothctl -h :

bluetoothctl ver 5.50 
 Usage:
 bluetoothctl [options] 蓝牙音箱
 Options:
 --agent Register agent handler: <capability> 注册代理人处理程序
 --timeout Timeout in seconds for non-interactive mode
 --version Display version
 --help Display help

该命令用于对蓝牙模块进行软复位:hcitool -i cmd 0x03 0x03:

# hcitool -i hci0 cmd 0x03 0x03
< HCI Command: ogf 0x03, ocf 0x0003, plen 0
> HCI Event: 0x0e plen 4
 01 03 0C 00 

该命令用于读取本地版本信息:hcitool -i cmd 0x04 0x01 (输出参数:HCI version HCI revision LMP version Manufacturer name LMP subversion):

# hcitool -i hci0 cmd 0x04 0x01
< HCI Command: ogf 0x04, ocf 0x0001, plen 0
> HCI Event: 0x0e plen 12
 01 01 10 00 09 00 01 09 FF 06 00 01

该命令用于读取支持的本地控制器人机交互命令 : hcitool -i cmd 0x04 0x02 (输出参数:支持的命令列表 (64字节位字段)):

# hcitool -i hci0 cmd 0x04 0x02
< HCI Command: ogf 0x04, ocf 0x0002, plen 0
> HCI Event: 0x0e plen 68
 01 02 10 00 BF FF FB 03 CC FF EC FF FF 0F C4 1F F2 0F E8 F2 
 3C F7 83 BF 1C 00 04 07 61 00 00 00 00 00 00 00 00 00 00 00 
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
 00 00 00 00 00 00 00 00 

该命令用于获取本地BD地址: hcitool -i cmd 0x04 0x09 (输出参数:6字节BD地址 BD Address: 80:C9:55:B7:18:A5):

# hcitool -i hci0 cmd 0x04 0x09
< HCI Command: ogf 0x04, ocf 0x0009, plen 0
> HCI Event: 0x0e plen 10
 01 09 10 00 A5 18 B7 55 C9 80 

该命令用于启动“查询”进程 : hcitool -i cmd 0x01 0x01:

• 输入参数:LAP(3字节):(0x9E8B00 - 0x9E8B3F)

• 查询时间:(0x01 ~ 0x30 -> 1.28 ~ 61.44秒 秒)

• 响应次数:(0x01 - 0xFF) 该命令用于设置本地设备名称 : hcitool -i cmd 0x03 0x13

该命令用于开启/关闭设备的省电模式,以及设置待机模式下的休眠时间 :hcitool -i cmd 0x3F 0x0003:

• 睡眠使能: 0x01 -休眠使能 0x00 -睡眠禁用

• 睡眠模式: 0x01 - LP (Low Power)模式 0x02 - ULP(超低功耗)模式

• 待机模式下的睡眠时间(毫秒):(范围0x00 - 0xFF) common_insert.sh 设置参数:

DRIVER_MODE = 2
COEX_MODE = 4(for BT Classic)
COEX_MODE = 8(for BT LE)

下面的命令来启动传输 :

/bt_br_edr_transmit <dev_addr> <pkt_type> <pkt_length> <br_edr_mode> 
<rx_channel_index> <tx_channel_index> <link_type> <scrambler_seed> <no_of_packets> 
<payload_type> <tx_power> <tx_mode> <hopping_type> <ant_sel> <inter_pkt_gap> 
<pll_mode> <rf_type> <rf_chain>

在传输开始后,可以给出以下命令来停止传输:. /bt_br_edr_transmit 0

参数说明:

dev_addr: 48位的设备地址,16进制形式。例如:0023A7010203。

pkt_type:根据蓝牙标准,要传输的数据包类型。

pkt_length:要传输的报文长度,以字节为单位。

Br_edr_mode:基本速率—1 增强速率—2或3。

rx_channel_index -接收通道索引,根据蓝牙标准(i.e国际标准), 0到78。

tx_channel_index -传输通道索引,根据蓝牙标准。0到78.

Link_type: sco - 0 acl - 1 esco - 2(SCO主要用于同步话音传送,ACL主要用于分组数据传送, 参考:蓝牙无线电规 范)

scrambler_seed:初始种子用于增白。它应该被设置为“0”以禁用美白。为了启用它,他应该给出扰频器种子值, 该值在接收端使用。

no_of_packets:发送报文数。目前此选项无效。

payload_type:传输的负载类型。

• ' 0 ' -有效载荷由所有0组成

• ' 1 ' -有效载荷由所有0xFF组成

• ' 2 ' -有效载荷由所有0x55组成

• ' 3 ' -有效载荷由所有0xF0组成

• ' 4 ' -有效载荷由PN9序列组成。

tx_power:发送功率值应该在0到18之间。

tx_mode:突发模式- 0;连续模式- 1。

hopping_type:无跳-0 ;固定跳- 1; 随机跳- 2。

ant_sel:芯片天线- 2; U.F.L - 3

inter_pkt_gap:两个包之间要跳过的插槽数。每个插槽将是625usec (At Always将发生在Tx插槽)。

pll_mode: PLL_MODE0 - 0; PLL_MODE1 - 1; PLL_MODE2 - 2

rf_type:外部RF - 0 ;内部RF - 1

rf_chain: WLAN_HP_CHAIN 0 ; WLAN_LP_CHAIN

1 ; BT_HP_CHAIN

2 ; BT_LP_CHAIN 3

注意:

1. 启动变速器前,请先停止变速器。

2. dev_addr不需要是模块的BD地址,可以是任何48bit BD地址。但是发送和接收命令应该是一样的。 蓝牙经典模式使用的频率和通道编号 数据包概要分析

注意: 在eSCO(链路类型= 3)中,我们只有最大90字节(包长度)的能力

示例: Continuous mode :

./bt_br_edr_transmit 111111111111 15 339 1 10 10 1 1 0 2 10 1 0 3 0 0 1 2

详解:在Channel-10上发送长度为339字节的DH5报文,设备地址为111111111111

dev addr - 111111111111
pkt_type - 15
pkt_length - 339
br_edr_mode - 1
rx_channel_index - 10
tx_channel_index - 10
link_type - 1
scrambler_seed – 1 // 设置为“1”以不禁用美白
Number of packets to be transmitted – 0 (ignored in continuous mode 在连续模式下被忽略)
payload_type - 2 // 有效载荷由所有0x55组成
tx_power – 10
tx_mode – 1 // 连续模式
hopping type – 0
ant_sel – 3
inter_pkt_gap – 0
pll_mode – 0
rf_type - 1
rf_chain- 2

Burst mode : ./bt_br_edr_transmit 111111111111 15 339 1 10 10 1 0 0 4 10 0 0 3 0 0 1 2

详解:在Channel-10上发送长度为339字节的DH5报文,设备地址为111111111111

dev addr - 111111111111
pkt_type - 15
pkt_length - 339
br_edr_mode - 1
rx_channel_index - 10
tx_channel_index - 10
link_type - 1
scrambler_seed – 0 // 设置为“0”以禁用美白
Number of packets to be transmitted – 0
payload_type - 4 // 有效载荷由PN9序列组成
tx_power – 10
tx_mode – 0 // 突发模式
hopping type – 0
ant_sel – 3
inter_pkt_gap – 0
pll_mode – 0
rf_type - 1
rf_chain- 2

可以发出下面的命令来开始接收:

./bt_br_edr_receive <dev_addr> <link_type> <pkt_type> <pkt_length> <scrambler_seed> 
<br_edr_mode> <rx_channel_index> <tx_channel_index> <hopping_type> <ant_sel> 
<loop_back_mode> <pll_mode> <rf_type> <rf_chain>

在接收启动后,可以给出以下命令来停止接收: ./bt_br_edr_receive 0

详解:dev_addr: 48位地址,16进制形式,例如:000012345678.

link_type : sco - 0 acl - 1 esco - 2

pkt_type:根据蓝牙标准,要传输的数据包类型。

pkt_length:要传输的报文长度,以字节为单位。

scrambler_seed:用于美白的初始种子。它应该被设置为“0”以禁用美白

Br_edr_mode:基本速率- 1 enhanced_rate - 2

rx_channel_index: -接收通道索引,根据蓝牙标准。 0 ~ 78

tx_channel_index :-传输通道索引,根据蓝牙标准。0~78

hopping type : 无跳-0;固定跳- 1;随机跳- 2

ant_sel : onchip antenna - 2 u.f.l - 3

loop_back_mode: Disable - 0 Enable - 1

pll_mode : PLL_MODE0 – 0 PLL_MODE1 – 1 PLL_MODE2 –2

rf_type : External RF - 0 Internal RF – 1

rf_chain: WLAN_HP_CHAIN-0 WLAN_LP_CHAIN-1 BT_HP_CHAIN-2 BT_LP_CHAIN-3

注意: 1. 在开始接收前先停止接收。

2. dev_addr不需要是模块的BD地址,可以是任意BD地址。但是发送和接收命令应该是一样的。

蓝牙经典模式和数据包摘要使用的频率和通道号码与BT经典TX情况相同;

./bt_br_edr_receive 111111111111 1 15 339 0 1 10 10 0 3 0 0 1 2

scrambler_seed– 0
rx_channel_freq – 2412MHz
tx_channel_freq – 2412MHz
hopping type – no hopping
Antenna Select – U.FL
loop_back_mode – disable
pll_mode – PLL_MODE0
rf_type – Internal RF
rf_chain: BT_HP_CHAIN

可以给出下面的命令来启动传输:

./ble_transmit <Access_Addr> <pkt_length> <ble_rate> <rx_channel_index> 
<tx_channel_index> <scrambler_seed> <no_of_packets> <payload_type> <le_channel_type> 
<tx_power> <tx_mode> <hopping_type> <ant_sel> <inter_pkt_gap> <pll_mode> <rf_type> 
<rf_chain>

在传输开始后,可以给出以下命令来停止传输。

请停止传输,然后再使用下面的命令重新开始: ./ble_transmit 0

详解: Access_Addr:是一个32位的十六进制地址,例如00112233。

pkt_length:要传输的报文长度,以字节为单位。

ble_rate: 1Mbps - 1, 2Mbps - 2, 125Kbps - 4, 500Kbps - 8

rx_channel_index:接收信道索引,按照蓝牙标准。 0 ~ 39

tx_channel_index:传输通道索引,根据蓝牙标准。 0 ~ 39

scrambler_seed:用于美白的初始种子。它应该被设置为“0”以禁用美白。为了使增白搅乱器种子,应该给出, 这是在接收方使用。

no_of_packets:发送报文数。仅当设置为Burst模式(0)时有效。

payload_type:传输的负载类型

• ' 0 ' -有效载荷由所有0组成

• ' 1 ' -有效载荷由所有0xFF组成

• ' 2 ' -有效载荷由所有0x55组成

• ' 3 ' -有效载荷由所有0xF0组成

• ' 4 ' -有效载荷由PN9序列组成。

Le_channel_type: 广告通道- 0, 数据通道- 1 tx_power:发送功率值应该在0到18之间

tx_mode: 突发模式- 0, 连续模式- 1

Hopping_type:无跳-0, 固定跳- 1, 随机跳- 2

ant_sel:芯片天线- 2 u.f.l - 3

inter_pkt_gap:两个包之间要跳过的插槽数-每个插槽将是1250usec

pll_mode : PLL_MODE0 – 0 PLL_MODE1 – 1 PLL_MODE2 – 2

rf_type : External RF – 0 Internal RF – 1

rf_chain: WLAN_HP_CHAIN-0 WLAN_LP_CHAIN-1 BT_HP_CHAIN-2 BT_LP_CHAIN-3

蓝牙LE模式使用的频率和通道编号: 在2478MHz上发送一个访问地址为0x71764129、报文长度为250字节的ble1mbps发布报文,配置如下参数:

./ble_transmit 71764129 250 1 38 38 2 0 0 1 10 1 0 3 0 0 1 3
Access_Addr - 71764129
pkt_length - 250
ble_rate -1
rx_channel_index -38
tx_channel_index -38
scrambler_seed - 2
no_of_packets - 0
payload_type - 0
le_channel_type -1
tx_power -10
tx_mode - 1
hopping_type - 0
ant_sel -3
inter_pkt_gap -0
pll_mode -0
rf_type - 1
rf_chain - 3

在2478MHz上发送一个访问地址为0x71764129、报文长度为250字节的ble1mbps发布报文,配置如下参数

./ble_transmit 71764129 250 1 38 38 0 0 0 1 10 0 0 3 0 0 1 3
 
Access_Addr - 71764129
pkt_length - 250
ble_rate - 1
rx_channel_index -38
tx_channel_index -38
scrambler_seed - 0
no_of_packets - 0
payload_type - 0
le_channel_type -1
tx_power - 10
tx_mode - 0
hopping_type - 0
ant_sel -3
inter_pkt_gap -0
pll_mode -0
rf_type - 1
rf_chain - 3

可以发出下面的命令来开始接收:

./ble_receive <access_addr> <data_legth_indication> <scrambler_seed> <ble_rate> 
<rx_channel_index> <tx_channel_index> <le_channel_type> <hopping_type> <ant_sel> 
<loop_back_mode> <pwrsave_options> <pll_mode> <rf_type> <rf_chain>

在接收启动后,可以给出以下命令来停止接收: ./ble_receive 0

在开始接收前先停止接收: 详解: access_addr:32位的16进制地址,例如:00112233 data_length_indication: 0 - Disable(37 Bytes) 1 - Enable(255 Bytes)

scrambler_seed:用于美白的初始种子。它应该被设置为“0”以禁用美白

ble_rate: 1Mbps - 1, 2Mbps - 2, Long Range(LR) - 4

rx_channel_index:接收信道索引,按照蓝牙标准。0 ~ 39

tx_channel_index:传输通道索引,根据蓝牙标准。0 ~ 39

Le_channel_type:广告通道- 0, 数据通道- 1

Hopping_type:无跳-0, 固定跳- 1, 随机跳- 2

ant_sel : onchip antenna - 2 u.f.l – 3

loop_back_mode : Disable – 0 Enable – 1

pwrsave_options : Disable – 0 Enable – 1

pll_mode : PLL_MODE0 – 0 PLL_MODE1 – 1 PLL_MODE2 – 2

rf_type : External RF – 0 Internal RF – 1

rf_chain: WLAN_HP_CHAIN-0 WLAN_LP_CHAIN-1 BT_HP_CHAIN-2 BT_LP_CHAIN-3 蓝牙LE模式使用的频率和通道编号与BLE TX情况相同。

接收到一个访问地址为0x71764129,报文长度为250字节的ble1mbps发布报文带以下参数的2478MHz

. /ble_receive 71764129 0 0 1 37 37 0 3 0 0 0 1 310/10
 
scrambler_seed : 0
hopping_type: disable
ant_sel : u.f.l
loop_back_mode : Disabled
pwrsave_options : Disabled
pll_mode : PLL_MODE0
rf_type : Internal RF
rf_chain: BT_LP_CHAIN

“bt_util”命令用于在启用随机跳频特性时,配置设备以所需的通道发送数据包。

bt_util命令的参数如下:

./bt_util afh_map <classic_le_mode> <channel_bit_map

   参数详解: Classic_le_mode: 1 - BT_Classic 2 - BLE

channel_bit_map:位图,在需要的通道中传输。它的长度是10字节。范围:00000000000000000001 - 7 fffffffffffffffffff比特数是所使用的通道数 只有当您保持设备在发送突发模式并使随机跳变为“启用”时,才使用上述配置。

关于“配置设备在发射突发模式”的更多细节,请参阅BT经典章节

. /bt_util afh_map 1 7FFFFFFFFFFFFFFFFFFF Classic_le_mode – 1 channel_bit_map – 7FFFFFFFFFFFFFFFFFFF (这里设置了bit map的所有位。所以,所有的信道都是随机 传输的)

. /bt_util afh_map 1 00000000000000000007

Classic_le_mode – 1 channel_bit_map – 00000000000000000007 (这里只设置了较低的3位映射。传播发生在0、1和2个随机频 道)

. /bt_util afh_map 1 70000000000000000000 Classic_le_mode – 1 channel_bit_map –70000000000000000000 (这里只设置了位图的前四位。传播发生在76、77、78个频 道)

标签:00,LE,--,蓝牙,命令,mode,相关,type,设备
From: https://blog.csdn.net/qq_40594248/article/details/145082235

相关文章

  • 统计代码量+处理代码单元测试覆盖率命令
    没有changeId:cd.gitlsrm-rfhooksmkdirhookscd../gitdir=$(gitrev-parse--git-dir);scp-O-P29418huangting2@gerrit.cmss.com:hooks/commit-msg${gitdir}/hooksgit常用命令大全:相关名词解释master:默认开发分支origin:默认远程版本库Index/Stage:暂存区Wo......
  • 深入浅出 SSL/CA 证书及其相关证书文件
    一种是Base64(ASCII)编码的文本格式。这种证书文件是可以通过文本编辑器打开,甚至进行编辑,常见有PEM证书格式,扩展名包括PEM、CRT和KEY。另外一种是Binary二进制文件。常见有DER证书格式,扩展名包括DER和CER。Linux系统使用CRT,Windows系统使用CER。名词含......
  • 12.矩阵的秩及相关性质
    12.矩阵的秩及相关性质12.1k阶子式12.1.1k阶子式示例设存在以下矩阵:\[X_{mn}=\begin{bmatrix}x_{11}&x_{12}&x_{13}&...&x_{1n}\\x_{21}&x_{22}&x_{23}&...&x_{2n}\\x_{31}&x_{32}&x_{33}&...&x_{3n}\\&......
  • 汽车电子相关的协议UDS、DOIP、CAN
    UDS协议UDS(UnifiedDiagnosticServices,统一诊断服务协议)是一种标准化的通信协议,广泛应用于汽车电子系统中,尤其是在车辆诊断和服务过程中。它用于车辆的诊断、维护、控制和测试,支持通过车载诊断接口(如OBD接口)与汽车的电子控制单元(ECU)进行通信。UDS协议基于ISO14229标......
  • linux命令--按照场景分类
    需求测试kcreatensdrliu;kdelete-fconfig/crd/bases/;kaconfig/crd/bases/;kasample/operatorTest/;kdelete-fsample/operatorTest/;dos2unixsample/cleancr.sh;shsample/cleancr.shdrliu;goruncmd/cluster-controller/main.go--namespace="dr......
  • 基础命令
    步驟序号步骤说明详细解答3镜像制作35启动容器56组建集群67批量停止73dockerbuild--no-cache--networkhost-tkylin10:proxy_T4-fdockerfile_root_proxy.dockerbuild--no-cache--networkhost-tkylin10:db_T4-fdockerfi......
  • mv 命令介绍和使用案例
    mv命令介绍和使用案例mv命令是Linux和Unix系统中用于移动文件和目录的基本命令。它的功能包括重命名文件和目录、将文件或目录从一个位置移动到另一个位置。由于mv命令不会创建文件的副本,因此它被视为“搬家”操作。语法mv[options]sourcedestmv[options]sour......
  • 命令行创建 uni-app 项目
    VSCode对TS类型支持友好,前端开发者主流的编辑器HbuilderX对TS类型支持暂不完善,期待官方完善gitclone-bvite-tshttps://gitee.com/dcloud/uni-preset-vue.git安装VueLanguageFeatures(Volar):Vue3语法提示插件安装TypeScriptVuePlugin(Volar):Vue3的TS......
  • 微信小程序实现对蓝牙设备的控制
    微信小程序的便利性,让我们很多时候,希望能通过微信小程序实现对蓝牙设备的控制,下面我们介绍一下如何实现这一功能。该项目是通过微信小程序来控制雾化器的工作模式及工作时间,希望能对大家提供一点帮助。先看界面:1、要访问并控制蓝牙设备首先要搜索并连接上设备,代码如下:Cr......
  • 学英语学压测:07 jmeter 三种运行模式:GUI、命令行、Server
    ......