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

블루투스 통신 관련 질문입니다.

0 추천
초보개발자 입니다.

저는 펌웨어 하다가 와서요.

펌웨어에서는 패킷이 여러개 있꼬 커멘드 하나에 8바이트로 해서 바이트 마다 프로토콜을 지정해서 주고 받았는데요

저는 지금 안드로이드 블루투스 통신을 하는데

블루투스 통신이 어떤 형태로 데이터를 주고 받는지를 모르겠어요

문자열로 받는 건지, 바이트로 받는건지

crc 체크같은건 안하는지

펌웨어에서는 패킷이 나뉘어져 있고 첫번째 패킷에는 시작을 알리는 정보가 들어가고

다음에는 데이터 형태를 지정해준다던가 끝을 알리는 패킷이 있다던가

하는 통신규격 같은게 있던거 같은데

안드로이드 블루투스도 그런게 있는건가요?

안드로이드 개발자 홈페이지를 가보니까 블루투스 항목에 그런게 안나와있고, 어뎁터 활성화 시키고

소켓 만들어서 연결되면 스트림에서 read, write 해라. 끝.

이렇게만 나와있어서요. 블루투스에서는 CAN통신이나 UART 같이 그런 통신 규격같은게 없는건가요?

스트링으로 데이터를 주고 받고 싶으면 어떻게 해야되고 블루투스는 패킷같은게 있는지 궁금합니다.
익명사용자 님이 2019년 2월 21일 질문

1개의 답변

0 추천
OSI 7 계층(https://ensxoddl.tistory.com/161) 에 대해 공부해보세요.

블루투스 통신규격이야 따로 있긴 하지만 커널, 드라이버, 안드로이드 OS에서 처리하고, 실제 개발자는 socket으로 주고 받는것만 노출 되는 겁니다. 굳이 구분하고자 하면 socket 전송시 특정 패턴을 정해, 구분하셔도 되긴 합니다.

참고로 스트링은 클래스 객체라 직접 주고 받는건  불가능하고, byte를 전송해서 String으로 재조합하여 사용해야 합니다.
익명사용자 님이 2019년 2월 22일 답변
...