from Project/└ Other.. 2014. 11. 7. 22:28

그동안 계속 사용해온 블루투스 모듈..


하지만 사용한지 1년만에 제대로 된 사용법에 대해 알게 된거 같다


먼저 사용한 블루투스 모듈은


Firmtech(펌테크)사의 FB155BC 이다.

이 모델은 시리얼 통신을 위한 SPP방식의 Profile 부터 HID Profile, 

또 둘 모두를 지원하는 Multi(SPP+HID)까지 다양한 Profile을 지원하는 모듈이다.

(각 Profile에 대한 설명은 따로 첨부)


이 펌테크 사의 블루투스 모듈을 쉽게 사용하려면 꼭!! 인터페이스 보드를 구매하라.

없으면 많이 귀찮아진다....

인터페이스 보드는 2종류가 있는데, 사용하려는 블루투스 모듈과 호환되는 제품을 구매하면 된다.

나는 FB155BC와 FB755AC를 사용하므로 FBZx5xXXX 제품을 구매하였다.


일단 구매하고 메뉴얼을 보고 쭈욱 잘 따라하면 설정은 별로 어렵지 않다.

다만 올바른 사용을 위해선 MODE1~4에 대한 이해가 중요하다.

설명서에 나와 있긴 한데 봐도 잘 이해가 안가므로...


먼저 공장초기화 값은 MODE4가 Defalut이다.

MODE4는 AT Command 대기 상태로, 이 제품들은 시리얼 통신을 이용해 여러 가지 설정을 바꿀 수 있다.

따라서 초기 제품 구입 후, 내가 원하는 기능을 설정하기 위해서는 이 모드가 꼭!! 필요한 것이다.

다만 모든 연결이 완료된 후에는 MODE1~3으로 바꿔서 별다른 Command 없이도 잘 동작할 수 있도록 한다.


이해를 돕기 위해 MODE로 설명하지 않고 상황에 따른 MODE설정방법을 정리한다.

(앞으로 나오는 내용 이해를 위해서 블루투스 통신에서 Master와 Slave에 대한 개념을 확실히 알고 있어야 함)

※ MODE와 같은 중요 설정을 바꾼뒤에는 꼭!! ATZ 명령어를 사용하여 소프트웨어리셋을 해주어야 적용이 된다.


1. 가장 많이 사용하는 PC 또는 스마트폰(Master) <--> 블루투스 모듈 연결(Slave)

이 경우 연결을 원하는 PC 또는 스마트폰 부분이 Master가 되고 블루투스 모듈이 Slave가 된다.
따라서 블루투스 모듈(MODE4)에 AT Command를 활용하여 slave mode로 설정한 후 "AT+BTSCAN"을 사용하여 SCAN을 On 시킨다. 그러면 PC에서 주변 장치 검색을 하면 해당 모듈(MODE4)이 뜬다. 그걸 눌러서 연결하면 자동으로 드라이버가 설치되고 연결이 완료되게 된다.(자세한 건 메뉴얼 참고)
이렇게 정상적으로 연결을 한 후, 블루투스 모듈을 MODE3로 바꿔준다.
이렇게 하면 이후에 블루투스 모듈(MODE3) On 시 자동으로 "AT+BTSCAN"을 사용한 것처럼 STATUS LED가 깜박이며 검색 가능 상태가 되고 PC에서 언제나 연결할 수 있게 된다
(주의할 점은 기존 연결했던 기기만 연결가능하다. 만약 다른 기기에서 연결하고 싶은 경우엔 MODE2로 한다.)
위 과정을 거치면, PC에서 원하는 때 언제나 해당 블루투스 모듈과 연결이 가능해진다.


2. 블루투스 모듈1(Master) <--> 블루투스 모듈2(Slave)
이 경우가 좀 어렵다. 그 이유는 쉬운 설정을 위해선 인터페이스 보드가 2개 있어야 하지만 실제로 하나만 있는 경우가 많기 때문이다. 하지만 정확한 모드변환 순서를 지켜서 한다면 인터페이스 보드 하나로도 충분히 연결이 가능하다.
(준비물: 모듈2에 전원을 인가할 수 있는 테스트 보드)
 먼저 모듈2(MODE4)를 인터페이스 보드에 연결한다. 그리고 slave mode로 설정("AT+BTROLE=S" -> "ATZ")한다. 그 후 MODE2로 변환("AT+BTMODE,2" -> "ATZ")하고 인터페이스 보드에서 분리한다. 그다음 모듈2(MODE2)을 테스트 보드(전원만 연결되어있으면 됨)에 연결한다.
 모듈1(MODE4)을 인터페이스 보드에 연결한다. 그리고 Master mode로 설정("AT+BTROLE=M" -> "ATZ")한다. 그 후 메뉴얼을 참고하여 주변 블루투스 모듈을 검색("AT+BTINQ? -> ATD[connect할 address]" -> Connect)한다. 화면에 뜨는 모듈2(MODE2)를 연결한다. 모든 연결이 완료된 후 Diconnect한다. 그다음 모듈1(MODE4)을 MODE1으로 변환("AT+BTMODE,1" -> "ATZ")한다. 그리고 모듈1(MODE1)을 on/off 하면 기존에 연결하였던 모듈2(MODE2)가 주변에 있는 경우 자동으로 찾아 연결하게 된다.

 위 과정을 거치면, 별다른 AT Command없이 전원을 인가만 해주면 각 모듈1, 2이 알아서 서로 연결이 된다.



1번은 자주 써왔던 거라 상관없지만, 2번이 그동안 나를 힘들게 하였던 문제이다.

어떻게 하면 전원만 인가하면 서로 자동으로 연결되게 할 수 있을까? 란 문제에 대한 해답이다.

앞으로 잘 기억해야지.

'Project > └ Other..' 카테고리의 다른 글

채터링 현상이란??그리고 방지하려면?  (0) 2013.08.01
TFT_LCD 드라이버 레지스터 제어 방법  (0) 2009.08.17
[RTC]DS1302...  (3) 2009.06.26
,