记录一些蓝牙需要用到的命令,以防忘记,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