来自多个外围设备的广告是否会干扰现有的BLE连接(Raspberry Pi 3)?

时间:2018-02-06 00:09:27

标签: bluetooth-lowenergy raspberry-pi3

我正在使用Raspberry Pi 3上的Noble JS(Node BLE库)以及一些宣传数据的不同外围设备。我主要是要求BLE对我的设备之间可能发生的事情进行高级别的解释。

设备A通告并且RPi3扫描并连接到它,然后再次扫描以获得更多连接。如果设备A没有数据要发送到pi,则会发生断开连接。只要设备A在pi的范围内,pi将尝试连接到设备A.因此我们经常看到以下内容:pi +设备A连接,pi请求服务和特性,pi学习没有数据要接收,pi启动断开连接,重复。

在上述情况发生的同时,我有~20个设备B,它们分别是设备A接收和处理的广告数据。这是设备A在成功连接时将发送到pi的数据。然而,如此多的设备B发射这样的广告导致pi有时完全失速,我相信由于干扰导致的连接损坏。根据贵族的说法,在失速之前的连接之后立即发生断开(这不是典型的,因为pi应该在断开连接之前询问服务和特性)。根据pi上的设备A和hcitool,在“断开连接”之后,连接仍然是活动的。因此,Noble认为pi已经与设备A断开连接,并在收到另一个广告时再次尝试连接。然后它显然再次连接,在尝试订阅设备A的特性后,我得到一个0x0c命令不允许状态和高贵的档位。设备A必须移出pi的范围才能断开连接。

我有时只能获得设备B中的一个来导致此错误,但更多的设备B触发广告时更容易发生错误。当设备B根本不存在时,似乎不会发生此错误。

我对这个问题有一个粗略的解决方法,但它不太理想。这只是BLE的本质吗?设备A和pi之间的连接是否由于设备B而受到干扰或损坏的连接,或者我的理论是否在设备之间发生了什么错误?

0 个答案:

没有答案