1. 목적

ㄱ. 리눅스 상에서 블루투스를 통한 통신을 하기 위하여 rfcomm 방식의 통신의 예를 통해 통신하여 본다.


2. 본론

ㄱ. 먼저 블루투스 통신은 크게 2가지로 나뉜다. 

a. TCP 같은 기능을 하는 RFCOMM : TCP는 65535개의 포트를 지원하지만 RFCOMM은 30개의 포트를 지원함

b. UDP와 같은 기능을 하는 L2CAP


ㄴ. 아래의 소스코드는 RFCOMM 예제이이다. RFCOMM 프로토콜은 더욱 믿을 수 있는 연결을 지원한다(TCP와 유사함)


ㄷ. 다음의 명령어를 통해 서버측 디바이스의 블루투스 address를 알아 볼 수 있다.

$ hcitool dev

Devices:
hci0 00:1F:81:03:11:22


ㄹ. RFCOMM server.c 소스


ㅁ. RFCOMM client.c 소스


3. 결론

ㄱ. 블루투스의 RFCOMM  프로토콜 통신의 예를 통해 학습하여 보았다.

Posted by 시크한공돌이
,

1. 목적

ㄱ. BlueZ의 simplescan 예제를 테스트 한다.

ㄴ. gcc를 통해 blueZ를 포함하여 컴파일 하는 법을 배워본다.


2. 본론

ㄱ. mit 대학의 bluetooth 관련 강의의blueZ 예제를 참고한다.

ㄴ. ㄱ의 소스는 simplescan.c의 소스이다. 컴파일은 다음의 명령어를 통해 하게 된다.

gcc -o scantest simplescan.c -lbluetooth

ㄷ.  컴파일 후 생성되는 scantest 파일일 실행하게 되면 다음과 같은 결과를 볼 수 있다.



3. 결론

ㄱ. BlueZ를 통한 simplescan.c 예제를 실습해보았다.

ㄴ. 블루투스 기기들이 검색되는 것을 볼 수 있다.

Posted by 시크한공돌이
,