[英]Receiving BLE advertisement packets on Windows published by iOS device
[英]Getting BLE advertisement packets in Windows 10
我目前正在尝试从Windows 10中的Bluetooth LE获取广告包。
我正在开发通用Windows应用程序,因此我将JavaScript与以下代码结合使用:
// Create and initialize a new watcher instance.
var watcher = new Windows.Devices.Bluetooth.Advertisement.BluetoothLEAdvertisementWatcher();
watcher.signalStrengthFilter.inRangeThresholdInDBm = -126;
watcher.signalStrengthFilter.outOfRangeThresholdInDBm = -126;
watcher.signalStrengthFilter.outOfRangeTimeout = 60000;
watcher.signalStrengthFilter.samplingInterval = 0;
watcher.scanningMode = 1;
watcher.addEventListener("received", onAdvertisementReceived, false);
这些是我获得最大BLE ADV数据包的设置。
在我的场景中,我有一个BLE应答器每秒发送一个ADV数据包,我可以使用WireShark在Linux机器上进行验证。
奇怪的是,我没有在Windows应用程序中获得所有这些ADV数据包。
我将得到15-20个数据包,然后在获得其他数据包之前会有30-60s的暂停。
所有设备(Windows机器,Linux机器和ble-transponder)都在1m半径内。 因此,我认为我应该在Windows计算机上获得与Linux计算机上相同的数据包,但是我没有。 这是为什么? 我的设置是否错误或是否有更好的方法来获取ADV数据包?
先感谢您。
在BLE Scan Interval Windows 10上查看我的答案。
基本上,Windows指示BLE控制器扫描18.125毫秒,然后休眠100毫秒。 这就是为什么您没有收到所有数据包的原因。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.