?>

Hard Copy World

HCW

Q&A

Home > Forum >

Q&A

질문 | BLE 4.0 채팅 어플 쓰기 송신 부분 질문입니다...

페이지 정보

작성자 안드로이드에미쳐 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일16-12-02 15:41 조회914회 댓글0건

첨부파일

본문

안드로이드 채팅 자료를 하드카피 홈페이지를 통하여 받고 이를 이용하여 장비 송수신 데이터를 처리하는데

어려움이 있어서 이렇게 게시글 남깁니다..

일단

checkGattServices()메서드를 통하여 채널들을 호출하는 듯 합니다. 그 중 

송신채널을 선택할떄 

 

for (BluetoothGattCharacteristic gattCharacteristic : gattCharacteristics) {
   // Remember characteristic
   mGattCharacteristics.add(gattCharacteristic);
   Logs.d("# GATT Char: " + gattCharacteristic.toString());

   boolean isWritable = isWritableCharacteristic(gattCharacteristic);
   if (isWritable) {
      if (mWritableCharacteristics.size() != 0) {}
      else {
         mWritableCharacteristics.add(gattCharacteristic);
         setWritableCharacteristic(gattCharacteristic);
      }
   }

위와 같이 if문을 달아버린 이유는 첫번째 나오는 uuid가 저희 쓰기 속성이라 그 후에 나오는 것은 필요 없기 떄문에 고정하기 위함이였습니다.

채널

Sevice 주소

11223344-5566-7788-99aa-bbccddeeff00

write Characteristic
00004a5b-0000-1000-8000-00805f9b34fb

 

그리고 실제 쓰기가 적용되는 부분인

public boolean write(BluetoothGattCharacteristic chr, byte[] data)  메서드에서 
writableChar.setValue(data);
writableChar.setWriteType(BluetoothGattCharacteristic.WRITE_TYPE_NO_RESPONSE);
mBluetoothGatt.writeCharacteristic(writableChar);
mDefaultChar = writableChar;

return true; 

 

WriteCharacteristic가 적용되면 data가 보내져야 되지 않나요..?

그러나 저희 장비에서는 메시지가오지 않네요..

반대로 장비가 보내는 메시지는 옵니다.

 

이 부분 문제를 가지고 이틀동안 주구장창 이것을 잡고 있는데 해결 못하고 있네요..

아직 안드로이드 나 아두이노에 대해 많이 모르는 것이 많습니다..

도움 부탁드립니다..

댓글목록

등록된 댓글이 없습니다.