Download presentation
Presentation is loading. Please wait.
1
CHAP 22. 블루투스
2
블루투스 블루투스(Bluetooth)란 근거리 무선 통신 기술
2개의 블루투스 장치가 서로 접속하는 것을 페어링 (pairing) 블루투스 장치들은 근거리의 애드혹 네트워크(ad hoc network)의 일종인 피코넷(piconet)을 통하여 무선으로 연결 최소 10미터 주파수는 2.4GHz 에서 2.485GHz이다.
3
안드로이드 블루투스 API 장치에 장착된 블루투스 어댑터의 기능을 파악할 수 있다. RFCOMM 채널을 생성할 수 있다.
장치에 장착된 블루투스 어댑터의 기능을 파악할 수 있다. RFCOMM 채널을 생성할 수 있다. 검색(discovery)을 통하여 다른 블루투스 장치에 접 속할 수 있다. 다른 블루투스 장치와 데이터를 주고 받을 수 있다.
4
블루투스 클래스 BluetoothAdapter 클래스 BluetoothDevice 클래스 BluetoothSocket 클래스
로컬 블루투스 어댑터 BluetoothDevice 클래스 원격 블루투스 장치 BluetoothSocket 클래스 블루투스 소켓에 대한 인터페이스를 표현 BluetoothServerSocket 클래스 로컬 블루투스 어댑터에 생성되는 서버 소켓 BluetoothClass 클래스 블루투스 장치의 일반적인 특성과 기능 BluetoothProfile 클래스 블루투스의 프로필을 나타내는 인터페이스
5
블루투스 권한 BLUETOOTH 권한 BLUETOOTH_ADMIN 권한 모든 블루투스 통신을 수행할 때 필요
로컬 블루투스 장치를 검색하거나 블루투스 설정을 변경할 때 필요
6
블루투스 설정 방법 BluetoothAdapter 객체를 얻는다. Bluetooth를 활성화한다.
7
장치 검색 장치 검색(device discovery)은 인근에 블루투스 장 치가 있는지를 검색하는 절차
검색(discovering), 조회(inquiring), 스캐닝 (scanning)이라고도 한다. 원격 장치 이름, 클래스, MAC 주소 등을 알 수 있다.
8
페어링된 장치 조회 장치 검색을 하기에 앞서서 원하는 장치에 대한 정 보가 이미 알려져 있는지를 조회해보는 것이 필요
9
장치 검색 startDiscovery()를 호출 검색 과정은 비동기적 12초 정도의 시간을 필요
애플리케이션에서 발견된 장치에 대한 정보를 얻으려면 ACTION_FOUND 인텐트에 대한 방송 수신자를 등록
10
검색 가능하도록 설정 로컬 장치가 다른 장치에 의하여 검색이 가능하도록 설 정하려면 ACTION_REQUEST_DISCOVERABLE 액션을 인수 로 주어서 startActivityForResult(Intent, int)을 호출
11
장치와의 접속 서버와 클라이언트 메커니즘 사용 전송프로토콜: RFCOMM
12
서버 서버는 listenUsingRfcommWithServiceRecord(String, UUID)을 호출하여서 BluetoothServerSocket을 얻는다. accept()를 호출하여서 접속 요청에 귀기울인다. 더 이상의 접속이 필요없다면 close()를 호출한다.
14
클라이언트 BluetoothDevice를 이용하여서 createRfcommSocketToServiceRecord(UUID)을 호출하여서 BluetoothSocket을 얻는다. connect()를 호출하여서 접속을 시작한다.
16
데이터 전송 소켓의 getInputStream()과 getOutputStream()을 호 출하여서 InputStream과 OutputStream을 얻는다. read(byte[])와 write(byte[])를 이용하여서 이들 스트 림에 데이터를 쓰거나 읽으면 된다.
19
예제: 블루투스 채트
20
예제: 블루투스 채트
21
예제: 블루투스 채트
Similar presentations