본문 바로가기

TOPIC

캡스톤 : 아두이노 안드로이드 블루투스 통신

반응형

https://beomnaegol.tistory.com/entry/Bluetooth-UUID

 

 

먼저 UUID란 개념을 알아야한다 .


- 블루투스의 UUID 란?

범용 고유 번호(Universally Unique IDentifiers) 라고 불리며, 128 비트의 숫자들을 조합한다.

말 그대로 범용적으로 사용할 수 있는 고유의 ID를 사용하기 위해 생성되며, 그렇기 때문에 128 비트의 HEX 조합은

unique 하여야 한다. Bluetooth 에서는 device에서 제공하는 service를 검색하여 각 service 마다 UUID 를

부여하는 등 많은 부분에서 사용된다.

 

- UUID 의 구성 요소

UUID = (time_low) - (time_mid) - (time_high_and_version) - (clock_seq_hi_and_reserved) -

(clock_seq_low_node)

 

ex)000011001-0000-1000-8000-00805F9B34FB

 

time_low : 타임 스탬프(시간표시) 의 최하위 32 비트.

 

- 블루투스 device 끼리 통신을 하기 위해서 소켓 생성시 UUID 가 필요한데 이는 해당 프로토콜의 의미한다.

안드로이드 플랫폼의 단말기끼리는 어떤 UUID를 사용하여도 되지만 특정 프로토콜의 device에 접근하기 위해서는 각각의

프로토콜 UUID 를 사용하여만 한다.


ssp통신

http://blog.naver.com/PostView.nhn?blogId=free2824&logNo=60108857440&parentCategoryNo=&cate

 

안드로이드 스마트폰과 블루투스 임베디드 모듈 SPP 통신!!

안드로이드 사이트에있는 블루투스 예제 소스 필요하신분은 파일 첨부 해놨습니다...이글 쓸당시에는 소 뒤...

blog.naver.com

 

안드로이드 스마트폰과 블루투스 임베디드 모듈 SPP 통신!!

안드로이드 사이트에있는 블루투스 예제 소스 필요하신분은 파일 첨부 해놨습니다...이글 쓸당시에는 소 뒤...

blog.naver.com


-블루투스의 SPP 란?

Serial Port Profile 이므로 블루투스로 연결해서 시리얼 포트처럼 사용할 수 있는 모듈이다.

외부기기에서 블루투스로 데이터를 전송.


BluetoothDevice 클래스로 표현되는 객체는 원격 블루투스 기기르 나타내며,

CreateRfcommSocketToServiceRecord 함수를 사용하여 원격 블루투스 장치와 통신할 수 있는 소켓을 생성할 수 있다.

CreateRfcommSocketToServiceRecord 함수의 매개변수로 주어지는 UUID 는 SPP 에 사용되는 UUID 인

"000011001-0000-1000-8000-00805F9B34FB" 를 사용하면 된다.

소켓이 생성되면 소켓의 connect 함수를 호출함으로써 두기기의 연결은 완료된다.

 

실제 데이터 송수신을 위해서는 소켓으로부터 입출력 스트림을 얻고 입출력 스트림을 이용하여 이루어 짐.

 

 

 

 

 

현재 앱구동은 버튼을 누루면 아두이노에 "1" DATA값이 전송된다.

 

 

//추후 개발 기능

현재 페어링선택에서 -> mac주소를 입력해서 하나의 기기에 자동 할당되게끔 설정 아니면 처음 페어링한 정보를 계속 페어링하게끔설정^_^

"1"이라는값을 받을시 블루투스에서 부저음을 울리도록 설정.

 

반응형