아이폰 : MLT-BT05(AT-09) BLE 모듈 사용 (이 모듈은 안드로이도에서도 사용 가능)
HC-06, HC-05는 아이폰에서 SPP(Serial Port Profile) 통신이 지원하지 않는 이유로 사용할 수 없습니다. 그러므로 아이폰으로 블루투스 통신을 하기 위해서는 MLT-BT-BT05, AT-09, CC2541, HM-10, HC-02, RN-42 같은 BLE(Bluetooth Low Energy) 모듈을 사용합니다. 연결방법이나 AT명령어 세트는 HC-06과 비슷해요. 주의 할 점은, 시리얼 모니터에서 Both NL & CR 모드를 선택해주어야 하는 것입니다.
안드로이드 : HC-06(or HC-05) 블루투스 모듈 사용 (이 모듈은 아이폰에서 사용 불가)
※ 요즘은 잘 사용하지 않지만, HC-05를 사용하기도 합니다. 생김새가 거의 비슷하지만, 몇가지 차이점이 있는데요. 보통 HC-06과 구별하기 위하여, HC-05에는 칩 위에 V형태로 체크를 해두거나, 화이트로 하얀색 점을 찍어두는 경우가 많습니다. 그리고, 가장 큰 차이점은 HC-05의 경우 6개의 핀이 모두 존재해요.
※ 예전에는 HC-05는 Master, HC-06은 Slave로 나누어 쓰는 경우가 많았지만, HC-06의 버전이 1.7이상인 경우 Master, Slave를 선택하여 사용할 수 있게 되면서 HC-05는 잘 사용하지 않게 되었습니다.
#include<SoftwareSerial.h>SoftwareSerialBTSerial(2,3);//Connect MLT-BT05 or HC-06 TX,RX
voidsetup(){Serial.begin(9600);Serial.println("Hello!");// set the data rate for the BT port
BTSerial.begin(9600);}voidloop(){if(BTSerial.available())Serial.write(BTSerial.read());if(Serial.available())BTSerial.write(Serial.read());}
#include<SoftwareSerial.h>#define KEY 8
SoftwareSerialBTSerial(7,3);//Connect HC-05 TX,RX
voidsetup(){pinMode(KEY,OUTPUT);//for HC-05
digitalWrite(KEY,HIGH);Serial.begin(9600);Serial.println("Hello!");// set the data rate for the BT port
BTSerial.begin(38400);}voidloop(){if(BTSerial.available())Serial.write(BTSerial.read());if(Serial.available())BTSerial.write(Serial.read());}
※ 이때, 주의할 점이 있는데요. 시리얼 모니터를 열기 전에 스마트폰과 HC-06의 블루투스 연결은 해제된 상태여야 합니다. 기존에 HC-06과 스마트폰을 연결한 적이 있다면, 자기도 모르게 블루투스 연결이 자동으로 되어 있을 수 있는데요. 이런 경우에는 시리얼 모니터가 열리지 않아요.
MLT-BT05: 시리얼모니터의 하단에 “Both NL & CR”, “9600 보드레이트” 선택
HC-06: 시리얼창의 하단에 “line ending 없음”, “9600 보드레이트 선택
HC-05: 시리얼창의 하단에 “Both NL & CR”, “9600 보드레이트” 선택
위 스케치를 사용하는 모듈에 맞게 선택하여 아두이노에 업로드 한 상태에서 시리얼 모니터를 열면, Hello! 라는 글자가 뜹니다. (업로드한 스케치에 따라 Hello!는 안나올 수도 있음)
AT를 입력하고,
전송을 누르면 OK가 뜹니다. 이것은 아두이노IDE를 통해 블루투스 모듈과 연결이 정상적으로 되었음을 의미해요.
블루투스 모듈ID를 설정해보겠습니다. SKS100이라는 ID로 지정하기 위해 AT+NAMESKS100이라고 입력한 뒤, 전송을 누릅니다. (모듈ID는 본인이 사용할 이름으로 바꾸어 지정합니다.)
그러면 OKsetname이라고 출력이 되면서, 블루투스 모듈ID가 SKS100으로 셋팅이 됩니다.
이번에는 페어링 암호 설정입니다. AT+PIN0000을 입력하고 전송을 누르면
OKsetPIN이 출력되면서 페어링 암호가 0000으로 설정됩니다.
통신속도 설정입니다. HC-06은 주로 9600bps를 사용하며, 이를 위해 AT+BAUD4를 입력한 뒤 전송을 누릅니다. (HC-06의 경우 default 속도가 9600bps이므로 이 과정은 생략 가능하며, 다른 모듈을 사용하는 경우에는 각 모듈의 AT Command를 확인하여 통신속도를 변경해주어야 합니다.)