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