0

Je suis actuellement en train d'obtenir Publicité Packets de LE Bluetooth dans Windows 10.Obtenir les paquets BLE de publicité dans Windows 10

Je développe une application Windows Universal, je suis donc en utilisant JavaScript avec le code suivant:

// 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); 

Ce sont mes paramètres pour obtenir le plus de paquets BLE ADV.

Dans mon scénario, j'ai un transpondeur BLE envoyant un paquet ADV toutes les secondes, que je peux vérifier sur une machine Linux avec WireShark.

Etrangement, je n'ai pas tous ces paquets ADV avec l'application Windows.

Je vais obtenir 15-20 paquets et il y a une pause de 30-60s avant d'obtenir d'autres paquets.

Tous les appareils (Windows-machine, linux-machine et ble-transponder) sont dans un rayon de 1m. Donc, je pense que je devrais obtenir les mêmes paquets sur la machine Windows comme sur la machine Linux, mais je ne le fais pas. Pourquoi donc? Mes paramètres sont-ils incorrects ou existe-t-il un meilleur moyen d'obtenir des paquets ADV?

Merci à l'avance.

Répondre

1

Voir ma réponse au BLE Scan Interval Windows 10. Fondamentalement, Windows demande à l'automate BLE de scanner pendant 18,125 ms puis de dormir pendant 100 ms. C'est pourquoi vous n'obtenez pas tous les paquets.

+0

Merci Emil. Avez-vous une source pour ces chiffres? – svennergr

+0

Vous pouvez utiliser http://desowin.org/usbpcap/ pour voir les numéros qui sont envoyés au contrôleur Bluetooth. – Emil

+0

D'accord, merci. Connaissez-vous un contournement autre que celui mentionné dans l'autre article? – svennergr