거기에 패킷 데이터가 누락 된 OSX 10.12.5를 사용하여 알려진 블루투스 LE 문제가 있습니까?


1

문제:

두 IMU가 동시에 데이터를 보내고 디버그 스크립트에서 수신되는 경우 한 IMU 센서의 한 데이터 스트림 만 로그에 표시됩니다. 동일한 스크립트는 다른 시스템에서 실행될 때 예상되는 결과를 보여줍니다.

버전 :

내 랩톱 관련 하드웨어 / 펌웨어 / 소프트웨어 버전

  • OSX 10.12.5
  • Apple Bluetooth 소프트웨어 버전 : 5.0.4f18
  • 제조업체 : Broadcom
  • 전송 : USB
  • 칩셋 : 20702B0
  • 펌웨어 버전 : v137 c9260
  • HCI 버전 : 4.0 (0x6)
  • HCI 수정본 : 0x242C
  • LMP 버전 : 4.0 (0x6)
  • LMP Subversion : 0x4189

내 테스트 스크립트의 관련 소프트웨어 버전

  • Xcode 8.3
  • 노드 v6.11.0
  • 고귀한 1.8.1

세부:

위의 내용은 BLE 문제를 디버깅 할 때 사용하는 테스트 스크립트와 관련이 있습니다. 스크립트는 북유럽 블루투스 칩에서 데이터를 브로드 캐스팅하는 BLE 주변 센서 (IMU)에 연결하는 중앙 장치 역할을합니다.

하드웨어가 문제가되지 않는 것 같습니다. 필자는 여러 시스템에서 예상되는 결과로 테스트 스크립트를 실행할 수 있기 때문에 블루투스 하드웨어 / 펌웨어 / 소프트웨어 버전과 관련이있는 것으로 보이지만 관련 정보를 찾을 수는 없습니다.

  • 동일한 노드와 lib 버전을 사용하는 다른 환경에서 예상되는 결과를 보여주는 테스트를 실행했습니다.
  • 동일한 OSX 버전을 사용하고 예상 결과가있는 다른 OSX 버전을 사용하여 테스트되었습니다.
  • 예상 결과와 함께 다른 패킷 관찰 앱으로 안드로이드에서 테스트되었습니다.
  • 2 개의 IMU는 독립적으로 테스트되었으며 작동하는 것으로 확인되었습니다.
  • 단일 IMU (동시 쌍이 아닌)를 관찰 할 때 데이터를 올바르게 관찰 할 수 있습니다.
  • 내 컴퓨터를 아무런 효과없이 다시 시작하려고했습니다.
  • 블루투스 모듈을 리셋하고 내 컴퓨터를 재시작했습니다.
  • 나는 BLE 패킷을 xcode 패킷 스니퍼 (sniffer)를 사용하여 관찰했으며 예상 패킷은 노드 / 고귀한 문제가 아닌 것처럼 보였다.
  • 나는 또한 다른 언어 구현을 사용하여 내 Mac에서 OSX 블루투스 레이어에 연결하려고했지만 실제로 찾을 수있는 작업 라이브러리가 없습니다.
  • 나는 다른 어떤 정규 bluetooth 문제점 또는 동일한 기계를 사용하여 BLE 문제점을 경험하지 않았다.

기본적으로 필자는 절박하고이 문제를 디버깅 할 방법이나 디버깅 방법을 모른다.

문제를 디버그하는 데 도움이되는 아이디어 또는 아이디어를 식별하는 아이디어를 찾고 있습니다. 누구든지 통찰력이 있다면 알려주세요. 정말 고마워!

답변:


0

패킷 손실의 문제는 다른 운영 체제에서 허용되는 최소 연결 간격과 주변 장치가 출력하려고하는 데이터의 양에 기인합니다. 프로젝트의 요구 사항 때문에 우리는 상당히 높은 처리량이 필요합니다. 동일한 운영 체제에서 긍정적이고 부정적인 결과를 얻는 원래의 평가는 혼란스러운 변수로 인해 올바르지 않습니다. 테스트 한 모든 Mac 컴퓨터에서 동일한 패킷 손실이 발생했습니다. corebluetooth와 인터페이싱하는 모든 apple 소프트웨어에 대해 20ms의 최소 연결 간격에 이론상 한계가 있기 때문에 더 큰 패킷 손실이 os x vs 우분투를 사용하여 발생했습니다. 우분투가 비슷한 한계를 부과했는지는 확실치 않지만 우분투를 사용하여 패킷 손실을 적게 봤습니다. 내 직감은 인공적인 제한이없고 연결 간격이 최소한 7.5ms 였을 수도 있지만 숫자가 실제로 무엇인지 파악하기 위해 좀 더 연구해야 할 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.