제가 안드로이드와 센서간의 블루투스 통신으로 앱을 만들고 있습니다.

 

센서는 IMU센서이고 이 센서와 블루투스 모듈 hc-05와 물려서 데이터를 주고받으려고 하는데요

 

센서와 블루투스모듈을 연결하여 노트북에서 데이터를 받을 때에는 순차적으로 데이터를 잘 받는데

 

안드로이드에서 받을 때에는 순서가 깨지고 데이터가 나올때와 나오지 않을때가 있습니다.

 

소스는 블루투스 채팅 예제 소스에서 사용하고 있습니다.

 

블루투스 통신시 UUID는 기본 SPP통신을 사용하고 있습니다.

 

주요 데이터를 받는 소스는 아래와 같습니다.

 

case MESSAGE_READ:
                byte[] readBuf = (byte[]) msg.obj;
                String str = readBuf.toString();
                
                StringBuffer sb = new StringBuffer(readBuf.length);
                String hexNumber;

                for (int x = 0; x < str.length(); x++) {        
                     hexNumber = Integer.toHexString(0xff & readBuf[x]) + " ";
                     sb.append(hexNumber);
              }

                String path = "/storage/sdcard0/";
                String filename = "test.txt";
               
                File file = new File(path + filename);
                FileOutputStream fos = null;
                mConversationArrayAdapter.add(mConnectedDeviceName+":  " + sb.toString() );
               
                try {
                 
                 fos = new FileOutputStream(file, true);
                 fos.write((sb.toString()).getBytes()); //fos1.newLine();
                 fos.close();
                } catch (IOException e) {
                 e.printStackTrace();
                }
               
                break;

 

이부분이 제가 짜놓은 소스인데요. 도대체 무엇이 문제점인지 도통 알수가 없어서 이렇게 질문 올립니다.

많은 관심과 조언 부탁드립니다.