2014-10-01 3 views
1

BLE 장치 (GATT 서버)에 연결하려고 시도했습니다. 삼성 Galaxy S4를 사용하여 기기에 연결하는 데 성공했으며 하트 비트를 받았습니다.BLE GATT 업로드 데이터 - Android

이제 1280 바이트를 80 바이트의 16 청크로 보내야합니다. 내가 무엇을 얻을 것은 덩어리 중 하나에 대해 하나 개의 업로드 상태 (특정하지 하나가 무작위로)입니다

내가 의한 송신 간격을 변경하려

그 16 개 청크를받은 후 장치는 16 업로드 상태에 응답해야 (this.wait, Thread.sleep ..) 많은 값을 가진 좋은 결과가 없습니다.

목표 - C (아이폰)와

유사 응용 프로그램이 장치 :(나는이 문제? 또는 전송 속도를 관리하는 방법에 대한 어떤 힌트 관련이있을 거라고 생각

** 와 함께 잘 작동 (간격) **

당신이 그렇지 않으면 다른 데이터가 땅에 떨어졌다 얻을 것이다. 그래서,321의 재정의 (override) 내에서, 데이터의 다음의 비트를 보낼 수 있습니다 전에 BluetoothGattCallback에서 호출 할 onCharacteristicWrite 기다릴 필요가
runOnUiThread(new Runnable() { 
     @Override 
     public void run() { 
      for (int i = 0; i < chunkToUpload; ++i) { 
       sendNthModeData(i); 
       try { 
        //this.wait(100); 
        Thread.sleep(30,1); 
       } catch (InterruptedException e) { 
        e.printStackTrace(); 
       } 

      } 
     } 
    }); 

답변

0

0, 그 이상의 쓰기가 필요한 경우, 그 기입 용의 Runnable를 스핀 업 해주세요.

관련 문제