簡體   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