首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >理解LE Read Advertising Physical Channel Tx Power命令的输出

理解LE Read Advertising Physical Channel Tx Power命令的输出
EN

Stack Overflow用户
提问于 2020-04-26 07:01:24
回答 2查看 398关注 0票数 0

最近,我正在从树莓派广播BLE广告。请注意,大部分部分已经完成,我可以收到来自另一个树莓派的广告消息。我唯一不清楚的是如何读取TX功率电平,因此也可以发送TX功率信息。

根据Core Specification ( 7.8部分E,第4卷),我了解到

代码语言:javascript
复制
sudo hcitool -i hci0 cmd 0x08 0x0007

是读取TX功率电平的命令。但是我不能理解输出的含义,即

代码语言:javascript
复制
< HCI Command: ogf 0x08, ocf 0x0007, plen 0
> HCI Event: 0x0e plen 5
  01 07 20 00 0C

在这些日子里玩不同的命令,我可以理解其中的一部分。例如,plen可能表示参数长度。0x0e是指HCI_Command_Complete (安全7.7.14,E部,第4卷)。最后一行中的07是输入ocf。我的问题是:00是否意味着命令成功,并且0C给出了发射功率级别?或者0C是不允许命令的错误代码?

此外,我想知道是否有人可以提供一份文档,解释输出消息HCI Event中代码的所有含义。

非常感谢你提前这么做。

注意:不知怎么的,我之前的问题结束了,说它属于https://raspberrypi.stackexchange.com/站点。但我认为这个问题更多地与蓝牙标准和bluez有关。我确实在这个网站上看到了很多相关的问题。如果我理解错了,请告诉我。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-04-26 16:23:18

如果您在运行测试命令的同时在另一个终端上运行"sudo btmon“,它应该会解码所有的hci消息。

票数 1
EN

Stack Overflow用户

发布于 2020-04-28 14:19:36

张:你在回复中看到的是

0x01查询完成事件,事件代码

您发送的命令的0x07 0x20操作码(在对OGF和OCF进行了一些调整之后)

0x00状态码,0x00正常

0x0C TX电源电平0x0C == 12十进制

但现在有一个问题:常报告的读数为0x0c dBm。在我的盒子上,我看到0x07 dBm。

这两个似乎都是令人难以置信的高价值...在扫描仪上,我得到的RSSI值为-49 dBm (手机几乎放在光亮的笔记本电脑的顶部-一些带有bluez的戴尔Ubuntu )

根据0x07 dBm的读数,我的iBeacon扫描仪显示令人难以置信的距离下降179526552.90 m :-)

你知道为什么hcitool/bluez/Ubuntu会返回一个错误的值给LE Read Advertising Physical Channel Tx Power命令吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61433740

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档