BLE 주변 장치 모드의 Bluez: Android는 서비스 목록을 검색할 수 없습니다. iPhone 및 Win10에서는 괜찮습니다.

BLE 주변 장치 모드의 Bluez: Android는 서비스 목록을 검색할 수 없습니다. iPhone 및 Win10에서는 괜찮습니다.

Raspberry Pi 3B+를 BLE 주변 장치로 작동시키려고 합니다.

여기에서 bluez 스택의 최신 버전(5.50)을 다운로드했습니다.https://git.kernel.org/pub/scm/bluetooth/bluez.git. /test/ 디렉토리에 제공된 예제를 실행합니다.

Python 2.7 또는 Python 3.5를 사용하여 루트에서 "example-advertisement"와 "example-gatt-server"를 동시에 실행하면 Linux Mint, Win10, IOS 및 Android 장치에서 새로운 BLE 주변 장치를 볼 수 있습니다. 그러나 Linux, IOS 및 Win10이 서비스 및 특성 목록을 연결하고 검색하는 데 성공했지만 Android(4.4, 5.1 또는 7.0, 5가지 다른 브랜드의 스마트폰 및 태블릿에서 테스트됨)는 장치에 연결할 수 없습니다.

나는 다음 주제를 보았습니다.https://raspberrypi.stackexchange.com/questions/90696/bluetooth-low-energy-gatt-services-not-found-on-android하지만 지금은 내 앱을 사용하지 않습니다. Play Store에서 찾을 수 있는 다양한 BLE 스캐닝 애플리케이션조차도 서비스 목록에 연결하고 검색하지 못합니다.

다른 싱글보드 컴퓨터(Variscite DART-6UL,https://www.variscite.com/product/system-on-module-som/cortex-a7/dart-6ul-freescale-imx-6ul) 그리고 나는 똑같은 행동을 취합니다.

누군가 아이디어가 있나요?

감사해요.

답변1

많은 연구 끝에 포기했습니다. "nRF Connect" 앱이 장치 연결에 성공하고 특성 목록을 검색하지만 항상 그렇지는 않습니다. - 일부 Android 장치에서는 "Connect"를 클릭하기만 하면 됩니다. - 다른 일부에서는 "AutoConnect"를 클릭해야 합니다. 점 3개 하위 메뉴.

그러나 자동 연결 유무에 관계없이 내 앱을 포함하여 다른 많은 앱은 전혀 연결되지 않습니다.

약간의 지연(주변 장치 검색과 연결 사이에 100ms, 연결 상태와 서비스 검색 사이에 100ms)을 추가하면 일부 장치가 성공적으로 연결되지만 전부는 아닙니다.

관련 정보