繁体   English   中英

在Windows 10中获取BLE广告包

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM