// 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 머신에서 확인할 수있는 매초마다 ADV 패킷을 전송하는 BLE 트랜스 폰더가 있습니다.
이상하게도 Windows 응용 프로그램에서 이러한 ADV 패킷을 모두 가져올 수 없습니다.
나는 15-20 개의 패킷을 얻게 될 것이고 다른 패킷을 얻기 전에 30-60s의 멈춤이있을 것이다.
모든 장치 (windows-machine, linux-machine 및 ble-transponder)는 반경 1m 이내에 있습니다. 그래서 나는 리눅스 머신과 같은 윈도우 머신에서 같은 패킷을 얻어야한다고 생각하지만 그렇지 않다. 왜 그런가요? 내 설정이 잘못되었거나 ADV 패킷을 가져 오는 더 좋은 방법이 있습니까?
미리 감사드립니다.
감사합니다. Emil. 이 번호의 출처가 있습니까? – svennergr
http://desowin.org/usbpcap/을 사용하여 Bluetooth 컨트롤러로 전송되는 번호를 볼 수 있습니다. – Emil
감사합니다. 다른 우편에 언급 된 귀하의 방법 이외의 우회를 알고 있습니까? – svennergr