Bluez - 在同一台无线电上传输信标和扫描
Bluez - transmit beacon and scan on same radio
我正在使用 Bluez 在独立 Linux 盒子上设置 BLE 信标扫描仪。我希望它在无线电上进行某种形式的自我诊断(出于某些特定的应用原因),我想要这样做的方式是每隔一段时间发送一个信标(iBeacon 或任何其他形式)并监听这个信标在同一台收音机上。
这是我的设置:
- 第 1 单元:标准的现成 iBeacon。
- 第 2 单元:Ubuntu 具有 CSR 的 VM
蓝牙无线电。 运行 一个 iBeacon 扫描仪和一个 iBeacon 发射器。
- 单元 3:Ubuntu 带有 CSR BLE 无线电的 VM(与单元中的不同)
2). 运行 iBeacon 扫描仪。
结果:
Unit 3:能够看到Unit 1和Unit 2传输的iBeacon。
单元 2:能够看到单元 1,但看不到单元 2 传输的 iBeacon。
二号机应该可以看到自己吗?如果不是,为什么不?
不,蓝牙 LE 设备无法检测到它自己的传输。这不是 BlueZ、Linux 或您正在使用的特定蓝牙硬件所特有的。所有 BLE 设备都以这种方式工作,包括 Android、iOS、Windows、Mac 和其他嵌入式平台上的设备。
限制已融入硬件和蓝牙规范的设计中。 为什么?因为出于非实验目的,让收音机 transmitter/receiver 接收自己的传输是没有意义的。 想一想老式的 CB 收音机,它在传输时总是关闭接收器。
当然,您可以在 Linux 上添加第二个蓝牙加密狗,然后用它来接收来自其他接口的传输。
我正在使用 Bluez 在独立 Linux 盒子上设置 BLE 信标扫描仪。我希望它在无线电上进行某种形式的自我诊断(出于某些特定的应用原因),我想要这样做的方式是每隔一段时间发送一个信标(iBeacon 或任何其他形式)并监听这个信标在同一台收音机上。
这是我的设置:
- 第 1 单元:标准的现成 iBeacon。
- 第 2 单元:Ubuntu 具有 CSR 的 VM 蓝牙无线电。 运行 一个 iBeacon 扫描仪和一个 iBeacon 发射器。
- 单元 3:Ubuntu 带有 CSR BLE 无线电的 VM(与单元中的不同) 2). 运行 iBeacon 扫描仪。
结果:
Unit 3:能够看到Unit 1和Unit 2传输的iBeacon。
单元 2:能够看到单元 1,但看不到单元 2 传输的 iBeacon。
二号机应该可以看到自己吗?如果不是,为什么不?
不,蓝牙 LE 设备无法检测到它自己的传输。这不是 BlueZ、Linux 或您正在使用的特定蓝牙硬件所特有的。所有 BLE 设备都以这种方式工作,包括 Android、iOS、Windows、Mac 和其他嵌入式平台上的设备。
限制已融入硬件和蓝牙规范的设计中。 为什么?因为出于非实验目的,让收音机 transmitter/receiver 接收自己的传输是没有意义的。 想一想老式的 CB 收音机,它在传输时总是关闭接收器。
当然,您可以在 Linux 上添加第二个蓝牙加密狗,然后用它来接收来自其他接口的传输。