1 votes

Y a-t-il des problèmes connus de Bluetooth LE sous OSX 10.12.5 qui entraînent des données de paquets manquantes ?

PROBLÈME :

Lorsque deux IMU envoient des données en même temps et sont reçues dans mon script de débogage, seul un flux de données d'un capteur IMU apparaît dans le journal. Le même script montre les résultats attendus lorsqu'il est exécuté sur d'autres systèmes.

VERSIONS :

Versions du matériel, du micrologiciel et du logiciel de mon ordinateur portable.

  • OSX 10.12.5
  • Version du logiciel Bluetooth Apple : 5.0.4f18
  • Fabricant : Broadcom
  • Transport : USB
  • Jeu de puces : 20702B0
  • Version du micrologiciel : v137 c9260
  • Version HCI : 4.0 (0x6)
  • Révision HCI : 0x242C
  • Version LMP : 4.0 (0x6)
  • Subversion LMP : 0x4189

Les versions des logiciels connexes de mon script de test

  • Xcode 8.3
  • nœud v6.11.0
  • noble 1.8.1

DÉTAILS :

Ce qui précède concerne un test script que j'utilise pour déboguer un problème BLE. Le script fait office de dispositif central qui se connecte à des capteurs périphériques BLE (IMU) qui diffusent des données à partir d'une puce nordic bluetooth.

Le matériel ne semble pas être le problème. Je peux exécuter le test script avec les résultats attendus sur un certain nombre de systèmes différents, donc il semble que ce soit quelque chose lié aux versions matérielles/firmware/logicielles de Bluetooth sur mon ordinateur portable, mais je ne peux pas trouver d'informations connexes.

  • J'ai effectué des tests démontrant le résultat attendu dans d'autres environnements utilisant les mêmes versions de nœuds et de librairies.
  • Testé en utilisant la même version d'OSX et aussi en utilisant une version différente d'OSX avec les résultats attendus.
  • Testé sur Android avec une application d'observation de paquets différente avec les résultats attendus.
  • Les 2 IMU ont été testés indépendamment et leur fonctionnement est confirmé.
  • Lorsque j'observe un seul IMU (pas la paire simultanée), je suis capable d'observer les données correctement.
  • J'ai essayé de redémarrer ma machine, sans effet.
  • J'ai réinitialisé le module bluetooth et redémarré ma machine également.
  • J'ai observé les paquets BLE à l'aide de xcode packet sniffer et les paquets attendus n'apparaissent pas non plus (c'est-à-dire qu'ils ont été observés indépendamment, ce qui ne semble pas être un problème entre le nœud et Noble).
  • J'ai également essayé d'utiliser différentes implémentations de langage pour me connecter à la couche Bluetooth d'OSX sur mon mac, mais il n'y a vraiment aucune bibliothèque fonctionnelle que j'ai pu trouver.
  • Je n'ai pas rencontré d'autres problèmes de bluetooth ou de BLE en utilisant la même machine.

En fait, je suis désespéré et je ne sais pas quoi essayer d'autre ou comment déboguer ce problème.

Je cherche des idées pour identifier le problème ou des idées pour m'aider à déboguer le problème. Si quelqu'un a des idées, faites-le moi savoir. Merci beaucoup !

0voto

Ibolit Points 1825

Le problème de perte de paquets était dû aux différents intervalles de connexion minimums autorisés sur les différents systèmes d'exploitation et à la quantité de données que mon périphérique tentait d'émettre. En raison des exigences du projet, nous avons besoin d'un débit assez élevé. Mon évaluation initiale d'obtenir des résultats positifs et négatifs à partir du même système d'exploitation était incorrecte en raison de certaines variables confusionnelles. La même perte de paquets se produisait sur toutes les machines Mac que j'ai testées. La perte de paquets était plus importante avec Os X qu'avec Ubuntu parce qu'il y a une limite théorique sur l'intervalle de connexion minimum de 20ms pour tous les logiciels Apple qui interfacent avec Corebluetooth. Je ne suis pas sûr qu'ubuntu impose une limite similaire, mais j'ai certainement observé moins de perte de paquets en utilisant ubuntu. Mon intuition est qu'il n'y a pas de limite artificielle et que l'intervalle de connexion aurait pu être au minimum de 7,5 ms, mais je vais devoir faire des recherches supplémentaires pour savoir ce qu'est réellement ce chiffre.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X