0

取得私は現在Windows 10でのBluetooth LEからは、Windows 10でのBLE広告パケット

を広告パケットを取得しようとしています私はこのように、私は次のコードではJavaScriptを使用しています、ユニバーサルWindowsアプリケーションを開発しています:

// 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パケットを取得するための私の設定です。

私のシナリオでは、私はWireSharkでlinux-machineで確認できる毎秒ADVパケットを送信するBLEトランスポンダを持っています。

奇妙なことに、これらのADVパケットのすべてがWindowsアプリケーションで取得されるわけではありません。

私は15-20パケットのようになり、他のパケットを受信する前に30-60秒の休止があります。

すべてのデバイス(windows-machine、linux-machineおよびble-transponder)は半径1m以内にあります。だから私は、Linuxマシン上のようにWindowsマシン上で同じパケットを取得すべきだと思いますが、私はそうしません。何故ですか?私の設定が間違っているのですか、ADVパケットを取得する良い方法がありますか?

ありがとうございます。

答えて

1

私の答えはBLE Scan Interval Windows 10です。

Windowsは、基本的にBLEコントローラに18.125 msのスキャンを実行し、100 msのスリープを指示します。だからあなたはすべてのパケットを取得しません。

+0

ありがとうエミール。これらの番号のソースがありますか? – svennergr

+0

http://desowin.org/usbpcap/を使用して、Bluetoothコントローラに送信されている番号を確認できます。 – Emil

+0

よろしくお願いいたします。他の投稿に記載されている方法以外のバイパスを知っていますか? – svennergr

関連する問題