본문 바로가기

ANDROID/Bluetooth

(4)
[Bluetooth] BLE에 대한 간단한 정리 BLE(Bluetooth Low Energy)란? - 2010년 6월 30일, 블루투스 4.0 버전의 등장과 함께 제공된 프로토콜 중 하나 - 전력소모 최소화, 배터리 수명연장에 중점을 둔 프로토콜 - 다른 무선 전송규격에 비해 상대적으로 느린 편. > 현재 웨어러블 기기를 중점으로 주로 사용되고 있는 프로토콜로 알려져 있음. 핵심 구성요소들 - GATT (Generic Attribute Profile) 데이터를 어떠한 방식으로 주고받을지에 대해 정의함. - Central(혹은 GATT Client) 컴퓨터, 태블릿, 모바일 기기등 주로 데이터 요청과 송신을 하는 주체 - Peripheral(혹은 GATT Server) Central의 요청에 따라 데이터를 전송하는 객체 - Services 주변 BLE ..
[안드로이드] 다중 블루투스 연결 Application 클래스에서 해결하기 기본적으로 한 앱에서 블루투스 소켓을 생성할 때에 들어가는 시간이 있는데, 한개의 기기와의 통신을 수행할 때에는 크게 고려할 정도가 아닌 딜레이지만 세 개 이상의 기기와 소켓을 생성하여 통신을 수행할 때에 소켓을 open하는데 걸리는 시간은 눈에 띄게 배로 증가하게 된다. 우선 액티비티 내부에서 이런 작업들을 수행할 경우, 다음 액티비티로 넘어갈 때 이전 액티비티에서 소켓을 클로징해주지 않으면 잡을 수 없어 오픈과 클로징을 반복해야만 하는 번거로운 과정과 타임 딜레이가 생기는 상황이었다. 이를 해결하기 위해 액티비티들과 독립되 독자적으로 존재하는 Application 클래스가 생각이 났고, 여기에서 블루투스 소켓 통신을 유지하면 되지 않을까 하는 아이디어를 가지고 서치를 조금 했다. 아니나다를까 그런 사..
[안드로이드] 앱과 블루투스 기기간의 연결이 번잡할 땐 MAC 주소로 한방에 가자 앱에서 블루투스 연결 기기 목록을 통해 연결을 하는 구현을 하는데 어려움이 있다면 다양한 기기를 연결하지 않겠다는 환경 하에서 안드로이드 기기와 블루투스 연결이 되어있는 기기들의 목록을 getBondedDevices() 를 통해 가져오고, 이를 저장한 Set pairedDevices를 쭉 풀어 연결된 기기의 이름과 MAC 주소를 얻고, 이를 BluetoothDevice 하나로 선언하여 이를 수행하고자 하는 작업에 활용할 수 있게 된다. 앱 안에서 목록을 선택하여 블루투스 연결을 수행하고 싶다면 좀 더 시간이 필요할 것으로 보인다. 그리고 참고사항으로 블루투스 연결이 되는데 약간의 시간이 걸릴 수 있다. 만일 OnCreate 같은 코드 안에 연결부분을 적어두었다면 연결이 모두 완료된 다음에 해당 액티비티로..
[안드로이드] 안드로이드 블루투스 관련 참고할 페이지 블루투스 설정 및 전반적인 구성법 정리 잘 된 페이지 : https://arsviator.blogspot.kr/2010/05/안드로이드-블루투스-프로그래밍-bluewatch-project-2.html http://hyoin1223.tistory.com/entry/안드로이드-블루투스-프로그래밍 블루투스 socket을 통한 메세지 송수신 방법에 관해 참조할 페이지 : https://stackoverflow.com/questions/37100609/how-to-send-a-message-to-paired-device-by-bluetooth