특정 특성에 쓸 수있는 간단한 애플리케이션을 작성했습니다. Google example - https://github.com/googlesamples/android-BluetoothLeGatt에서 내 앱을 기반으로했습니다. 연결시 특정 특성에 바이트를 쓸 수있는 버튼을 추가했습니다.안드로이드 - BLE 모듈이 연결 시간이 몇 초 후에 더 오래 사용 중임
이제 몇 초 (항상 5 미만) 동안 연결 한 후 제대로 작동하지만 writeCharacteristic 함수 (false)를 반환하기 시작합니다. 내가 디버깅을하고 그 장치가 바쁜 것으로 밝혀졌습니다. 나는 성공적으로 writeCharacteristic을 1.5 초마다 호출 할 수 있는데, 이는 연결의 처음 몇 초 동안의 지연이 매우 느리다는 것과 비교된다. 장치가 바로 응답이 보류 중임을 의미합니까 "사용 중"임을
public void onClick(View v) {
byte value[] = {0};
switch (v.getId()) {
case R.id.button1:
value[0] = 1;
mBulbCharacteristic.setValue(value);
mBluetoothLeService.writeCharacteristic(mBulbCharacteristic);
break;
case R.id.button2:
value[0] = 2;
mBulbCharacteristic.setValue(value);
mBluetoothLeService.writeCharacteristic(mBulbCharacteristic);
break;
case R.id.button3:
value[0] = 3;
mBulbCharacteristic.setValue(value);
mBluetoothLeService.writeCharacteristic(mBulbCharacteristic);
break;
default:
break;
}
}
실제로 연결 간격이 길다는 것을 알았습니다. 아마도 처음 몇 초 동안 그것은 협상 과정 때문에 더 낮았을 것입니다. +1 아직도 –