마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 블루투스 데이터전송 관련 질문입니다

0 추천
안녕하세요..

블루투스 채팅예제를 응용시켜 블루투스 조종기앱(쿼드콥터)을 개발하고자 하고있습니다.

예제를 활용하여 페어링 및 연결은 해내서 실제 블루투스 모듈과 연결이 되는것도 확인하였습니다.

이제 버튼을 만들고 어떤 프로토콜을 전송을 해줘서 조종을 해야하는 단계인대요..


사실 이 조종기를 시작한것이 기존에 가지고있던 아날로그식 블루투스 조종기가 있어서

이거대신 스마트폰을 이용해 조종해보면 어떨까 하고 개발을 시작하였습니다.

아날로그 조종기 구입처에서 블루투스모듈로 쏴주는 정보가 어떤것인지 여쭤봤는데

블루투스프로토콜이라며 보내주신것입니다

/////////////
5. 패킷 구성  unsigned char 형식을 사용하여 값 출력합니다. 최대 10byte로 20m 주기로 명령 전송합니다.
서보 시그널의 분해능은 8bit입니다.
시작 바이트 (0x00)
1채널 값(0x01~0xff) 0x01 : 1.0 msec 출력 0x7f: 1.5msec출력 0xff: 2.0msec 출력
2채널 값(0x01~0xff) 0x01 : 1.0 msec 출력 0x7f: 1.5msec출력 0xff: 2.0msec 출력
3채널 값(0x01~0xff) 0x01 : 1.0 msec 출력 0x7f: 1.5msec출력 0xff: 2.0msec 출력
4채널 값(0x01~0xff) 0x01 : 1.0 msec 출력 0x7f: 1.5msec출력 0xff: 2.0msec 출력
//////////////

이런식으로 데이터를 보내준다고 합니다.

채팅예제를 공부해보니 connectthread 안에

public void write(byte[] buffer) {
try {
// 값을 쓰는 부분(값을 보낸다)
mmOutStream.write(buffer);

} catch (IOException e) {
Log.e(TAG, "Exception during write", e);
}
}


이부분.. write해주는 부분이고 byte타입이라 위에있는 0x00~0xff과 연관이있는것같구..

MainActivity에 onclicklistner 사용해서 버튼을

눌렀을 때 write하는 (?) 요런 방법이면 될거같다는 두루뭉실한 생각을 갖고 거의 한달째..

이부분에서 정지해있습니다 ㅠㅠ 제가 하고있는생각이 맞는지궁금하고 맞다면 더 나아가기위한

도움좀 부탁드리겠습니다.. 또한 위에 쓴것과같이 채널별로 시그널 을 전송해야하는데

코드내에서 시그널을 생성해주는건 어떻게 하는건지 정말궁금합니다..

많이도와주세요 감사합니다..!! 

 

 

bdroid (120 포인트) 님이 2014년 4월 27일 질문

1개의 답변

+1 추천
아날로그 조종기와 안드로이드 단말기를 연결하여 데이터가 오는 것을 보면 제일 확실하게 보일 것이라 생각됩니다.
인연 (31,880 포인트) 님이 2014년 4월 28일 답변
...