2017-12-18 19 views
1

나는 하나의 LE 블루투스 주변 장치로 작동하는 앱을 개발 중입니다. 모든 것이 잘 작동하고 특성 서비스 등을 얻을 수 있습니다. 센서 등에서 값을 얻을 수 있습니다.Android 블루투스 BLE 어떤 연결의 구성 매개 변수를 수정할 수 있습니까?

때때로 값을 가져 오는 동안 앱이 '정지'되는 경우가 있습니다. 주변 기기가 잘못된 값을 반환하는 경우가 있습니다. 나는 그것이 왜 일어나는지를 알 수 없다.

그럼 내가하려는 것은 전화기와 장치 사이의 연결에 대한 매개 변수를 구성하는 것입니다. 그렇기 때문에 연결하는 동안 설정할 수있는 매개 변수를 알고 싶습니다 (예를 들어 GATT 인스턴스 에서뿐만 아니라). 나는 그것에 관한 약간의 정보를 찾으려고 노력했다. 그러나 그것은 거의 정보가 아니다.

그래서 필자는 장치 간의 연결 성능을 변경하는 매개 변수 목록을 원합니다.

내가 원하는 마지막 것은 (안드로이드 블루투스 연결) 아무도 내 질문에 대답하지 내가 주제로 태그 전체 유래 질문을 통해 간으로

+0

자신이 올바르게 대답했습니다. Android API를 사용하여 할 수있는 일이별로 없습니다. 질문 자체에 답변을 넣는 대신 질문에 대한 대답으로 변경 사항을 게시해야합니다. – Emil

+0

팁 주셔서 감사합니다, 당신이 말한대로 답변을 올렸습니다. –

답변

0

.. 주변 (그리고 Adafruit) 측에 모든 것을 변경하는 것입니다 나는 내가 발견 한 것을 나눌 것입니다. 사실, 나는별로를 찾지 못했습니다. 안드로이드 블루투스에 대한 대부분의 질문은 대답없이 또는 적절한/satysfying 대답없이 남아 있습니다. BLE에 대한 개발자의 지식이 그렇게 낮습니까? 정말? 그것은 수치 스럽다. 하지만 대답에 뛰어들 ...

내가 알아 낸 것은 당신이 당신의 안드로이드 전화 연결에 대해 거의 아무것도 변경할 수 없다는 것입니다. 그것은 주변 장치 사업에 있습니다. 나는 "수정"할 수있는 단 하나의 매개 변수, 즉 "연결 시간 간격"(각 데이터 전송 사이의 시간)을 발견했습니다. 요청한 번호 (밀리 초)를 설정할 수 없기 때문에 'modified'라고 표시했습니다. 당신은 당신의 GATT 연결 만 3 매개 변수를 설정할 수 있습니다 (requestConnectionPriority() 메서드)

CONNECTION_PRIORITY_BALANCED, CONNECTION_PRIORITY_HIGH and CONNECTION_PRIORITY_LOW_POWER 

상세 정보 (하지만 여전히 많은되지 않음) (https://developer.android.com/reference/android/bluetooth/BluetoothGatt.html#requestConnectionPriority(int))

그러나 나는 그들이 변경 어떤 시간 동안 확실하지 않다 간격. 그것은 당신이 바꿀 수있는 전부입니다. 감독 제한 시간 (20 초로 하드 코드 됨)을 변경할 수 없으며 아무 것도 변경할 수 없습니다. 주변 장치 구성을 위해 모두 남았습니다. 모바일 OS API는 낮은 수준의 설정을 허용하지 않습니다.

누군가가 더 알고 있다면 공유하십시오.