Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android设备上可以扫描多少信标?_Android_Bluetooth_Bluetooth Lowenergy_Estimote - Fatal编程技术网

Android设备上可以扫描多少信标?

Android设备上可以扫描多少信标?,android,bluetooth,bluetooth-lowenergy,estimote,Android,Bluetooth,Bluetooth Lowenergy,Estimote,我最近在做一个基于BLE信标的室内定位项目 我曾试图在我的Android应用程序中加入Estimote或Android Beacon库,但我的设备(Zenfone3、HTC X9)只能扫描一个空间中的10-20个信标,而我们在墙上部署了大约100个信标 与我们应用的iOS版本相比,它每秒可以扫描50-80个信标。我想知道Android设备上可以扫描多少信标?有没有办法接收更多的灯塔广告?Android或onbroad蓝牙芯片组的蓝牙API真的有阈值吗? 更新(2017/05/08 16:17)

我最近在做一个基于BLE信标的室内定位项目

我曾试图在我的Android应用程序中加入Estimote或Android Beacon库,但我的设备(Zenfone3、HTC X9)只能扫描一个空间中的10-20个信标,而我们在墙上部署了大约100个信标

与我们应用的iOS版本相比,它每秒可以扫描50-80个信标。我想知道Android设备上可以扫描多少信标?有没有办法接收更多的灯塔广告?Android或onbroad蓝牙芯片组的蓝牙API真的有阈值吗?
更新(2017/05/08 16:17):

我保证所有的信号灯都正常工作。我使用Radius网络中的“定位”来扫描附近的信标,并确保我的空间中确实有50多个信标。
更新(2017/05/10:00):

亲爱的埃米尔,谢谢你真诚的回复。以下是我的变通方法。 我测试了3个案例。在大约500米x 100米的空间内,我部署了不同数量的信标:

案例1(100个信标): 每秒从大约16个不同的设备接收广告

案例2(50个信标): 每秒接收来自15个不同设备的广告

案例3(20个信标): 每秒接收来自14个不同设备的广告

我想实现的是,我想在每一秒钟接收来自所有设备的广告。你能提供一些方法来满足我的需求吗

以下是每当我从BluetoothAdapter.getBluetoothLeScanner().startScan(ScanCallback)接收到来自ScanResult的广告时得到的日志:

05-04 12:42:24.460 C4:BE:7B:5B:60:74 -87
05-04 12:42:25.055 C4:BE:C8:F6:DD:28 -84
05-04 12:42:25.066 C4:BE:C8:F6:DD:28 -84
05-04 12:42:25.075 C4:BE:5F:55:74:AE -90
05-04 12:42:25.084 C4:BE:5F:55:74:AE -90
05-04 12:42:25.090 C4:BE:14:70:C7:F1 -91
05-04 12:42:25.100 C4:BE:14:70:C7:F1 -91
05-04 12:42:25.134 C4:BE:BB:AD:8A:B3 -91
05-04 12:42:25.163 C4:BE:BB:AD:8A:B3 -91
05-04 12:42:25.169 C4:BE:D7:80:E1:34 -89
05-04 12:42:25.174 C4:BE:D7:80:E1:34 -89
05-04 12:42:25.536 C4:BE:5D:90:5C:86 -79
05-04 12:42:25.543 C4:BE:5D:90:5C:86 -79
05-04 12:42:25.559 C4:BE:20:20:C9:69 -88
05-04 12:42:25.564 C4:BE:20:20:C9:69 -88
05-04 12:42:25.986 C4:BE:C1:D9:CB:5E -86
05-04 12:42:25.999 C4:BE:C1:D9:CB:5E -86
05-04 12:42:26.007 C4:BE:CD:AA:AE:DD -94
05-04 12:42:26.016 C4:BE:CD:AA:AE:DD -94
05-04 12:42:26.038 C4:BE:E7:F1:88:EE -89
05-04 12:42:26.044 C4:BE:E7:F1:88:EE -89
05-04 12:42:26.051 C4:BE:E9:AE:45:03 -83
05-04 12:42:26.056 C4:BE:E9:AE:45:03 -83
05-04 12:42:26.063 C4:BE:97:5D:B7:50 -95
05-04 12:42:26.071 C4:BE:97:5D:B7:50 -95
05-04 12:42:26.076 C4:BE:EF:15:EB:C3 -77
05-04 12:42:26.082 C4:BE:EF:15:EB:C3 -77
05-04 12:42:26.086 C4:BE:35:94:B2:3D -70
05-04 12:42:26.092 C4:BE:35:94:B2:3D -70
05-04 12:42:26.644 C4:BE:5F:55:74:AE -92
05-04 12:42:26.667 C4:BE:5F:55:74:AE -92
05-04 12:42:26.693 C4:BE:7B:5B:60:74 -86
05-04 12:42:26.702 C4:BE:7B:5B:60:74 -86
05-04 12:42:26.708 C4:BE:D7:80:E1:34 -82
05-04 12:42:26.717 C4:BE:D7:80:E1:34 -82
05-04 12:42:26.720 C4:BE:3B:29:8A:42 -93
05-04 12:42:26.724 C4:BE:3B:29:8A:42 -93
05-04 12:42:26.731 C4:BE:4F:21:CF:81 -94
05-04 12:42:26.734 C4:BE:4F:21:CF:81 -94
05-04 12:42:26.738 C4:BE:86:4F:C2:8D -87
05-04 12:42:26.742 C4:BE:86:4F:C2:8D -87
05-04 12:42:26.746 C4:BE:E7:F1:88:EE -88
05-04 12:42:26.750 C4:BE:E7:F1:88:EE -88
05-04 12:42:26.753 C4:BE:20:20:C9:69 -86
05-04 12:42:26.757 C4:BE:20:20:C9:69 -86
05-04 12:42:26.760 C4:BE:BB:AD:8A:B3 -88
05-04 12:42:26.763 C4:BE:5D:90:5C:86 -79
05-04 12:42:26.767 C4:BE:BB:AD:8A:B3 -88
05-04 12:42:26.770 C4:BE:5D:90:5C:86 -79
05-04 12:42:27.113 C4:BE:6F:53:2A:B3 -73
05-04 12:42:27.133 C4:BE:6F:53:2A:B3 -73
05-04 12:42:27.151 C4:BE:62:C4:68:38 -82
05-04 12:42:27.160 C4:BE:62:C4:68:38 -82
05-04 12:42:27.166 C4:BE:F2:A7:4F:4E -88
05-04 12:42:27.170 C4:BE:F2:A7:4F:4E -88

不应该有任何限制。Android的蓝牙堆栈只是将广告和扫描响应转发给应用程序。我们有数百种广告设备,但仍然可以正常工作


是否有特定设备的广告根本不起作用,可能是由于数据包格式或其他原因?

如果您有100个广告间隔为100毫秒的广告设备,则不可能接收100%的广告数据包。首先,即使使用100%工作扫描间隔,android设备也不会真正100%扫描,因为它在某些时间点必须使用天线进行其他操作,如wifi或安排其他设备的连接事件。如果你说你只在39频道上做广告,你将丢失大约三分之一的数据包,因为扫描仪在广告频道之间循环。由于发送一个数据包需要数百微秒的时间,因此在广播中很可能会出现相互冲突的广告。当这种情况发生时,接收者很可能只会收到垃圾。

亲爱的埃米尔,谢谢你真诚的回复。我面临的挑战是,我希望每秒钟都能收到每台设备的每一则广告。这些设备的广告时间间隔是多少?我们的设备是可移动信标,在39频道上传输间隔为100ms。请分享在您的环境中收集蓝牙广告的结果和经验?比如信标的数量,信标发射间隔或者类似的东西?我很感激。我想大多数设备的广告间隔都是1秒左右。我不知道你想要什么信息。我想没有那么多有趣的事实可讲。由于我们不将广告数据用于设备存在以外的其他用途,所以丢弃某些数据包并不重要。只要做一些基本的计算,一个广告包以1 MBit/s的速度发送,在你的广告数据+ble地址上有80位的开销,你就会知道冲突的可能性有多大,这取决于你的广告间隔。