我正在使用Bluez在独立的Linux机器上设置BLE信标扫描仪。我希望它能在无线电上做某种形式的自我诊断(出于某些特定的应用原因),我想这样做的方法是每隔一段时间发送一个信标(iBeacon或任何其他形式)并听取这个信标在同一台电台上。
这是我的设置:
结果:
单元3:能够看到单元1和单元2发送的iBeacon。
单元2:能够看到单元1,但不能看到单元2发送的iBeacon。
第2单元是否可以看到自己?如果没有,为什么不呢?
答案 0 :(得分:0)
不,蓝牙LE设备无法检测到它自己的传输。这与BlueZ,Linux甚至您正在使用的特定蓝牙硬件无关。所有BLE设备都以这种方式工作,包括Android,iOS,Windows,Mac和其他嵌入式平台上的设备。
该限制涉及硬件和蓝牙规范的设计。 为什么?因为出于非实验目的,让无线电发射器/接收器接收自己的传输是没有意义的。想想一个老式的CB无线电,它在传输时总是关闭它的接收器。
当然,您可以在Linux上添加第二个蓝牙适配器,然后使用它从另一个界面接收传输。