HM-10

블루투스(HM-10)

이 문서에서는 HM-10 모듈을 이용한 블루투스 환경 구축에 대해서 다룬다.

결선도

회로 구성은 블루투스(HC-06)와 동일하게 진행한다.

RXD to Digital PIN 2
TXD to Digital PIN 3
GND to GND
VCC to 5V

샘플 코드

테스트 코드도 동일하다.

#include <SoftwareSerial.h>

SoftwareSerial BTSerial(2, 3);//TX, RX

void setup(){
  Serial.begin(9600);
  BTSerial.begin(9600);
  Serial.println("Enter AT Command");
}

void loop(){
  if(BTSerial.available()){
    Serial.write(BTSerial.read());
  }
  if(Serial.available()){
    BTSerial.write(Serial.read());    
  }
}

컴파일

Ctrl+R 또는 스케치 메뉴의 확인/컴파일을 눌러 컴파일을 진행한다.

업로드

Ctrl+U 또는 스케치 메뉴의 업로드를 눌러 업로드를 진행한다.

실행 결과

시리얼 모니터를 열고 다음과 같이 입력한다.

AT

OK가 출력되면 정상적으로 연결이 수행된 것이다.

AT Command

HM-10을 위한 AT Command는 다음과 같다.

확인 명령

정상적인 연결을 확인하기 위해서 사용한다.

AT

정상적으로 연결된 경우 OK가 반환된다.

모드 확인

HM-10 모듈은 3가지 동작 모드를 가지고 있다.

  • Mode 0 : 무선연결이 이루어지기 전에 시리얼 통신으로만 AT 커맨드를 전송할 수 있는 모드

  • Mode 1 : 무선으로 연결된 장치에서 보낸 AT 커맨드를 인식한다. 입력과 출력으로 나누어서 사용할 수 있음.

  • Mode 2 : 무선으로 연결된 장치에서 보낸 AT 커맨드를 인식하지만 입력 기능은 사용할 수 없고 전부 출력으로 사용함.

확인은 다음 명령으로 가능하다.

AT+MODE?

모드 변경

모드 설정을 다음과 같이 수행할 수 있다.

AT+MODE값

AT+MODE0, AT+MODE1, AT+MODE2와 같이 설정한다.

이름 확인

블루투스의 검색 시 이름을 확인할 수 있다. 별도의 설정을 하지 않았다면 기본값으로 HmSoft라는 이름을 가진다.

AT+NAME?

이름 설정

이름을 원하는대로 설정할 수 있다.

AT+NAME이름

예를 들어 이름을 arduinotest로 하고 싶다면 다음과 같이 명령을 작성한다.

AT+NAMEarduinotest

PIN 모드 확인

HM-10 모듈은 기본적으로 PIN 코드를 입력하지 않아도 연결이 되도록 설정되어 있으며, 이를 확인하고 변경할 수 있다.

AT+TYPE?

PIN 모드 변경

PIN 모드를 변경하기 위해서는 다음과 같은 명령을 사용한다.

AT+TYPE값

사용 가능한 값은 0, 1, 2, 3이며 각각 다음의 의미를 가진다.

  • AT+TYPE0 : PIN 코드 사용하지 않고 연결(기본값)

  • AT+TYPE1 : Pair 상태에서는 PIN 코드를 연결하지 않음

  • AT+TYPE2 : 모든 상태에서 PIN 코드 사용하여 연결

  • AT+TYPE3 : Pair 이후에 Bonding을 수행하는 연결(안드로이드 접속 가능)

PIN 번호 확인

필요한 경우 다음 명령을 이용하여 PIN 번호를 확인할 수 있다. 기본값은 000000으로 설정되어 있다.

AT+PASS?

PIN 번호 설정

다음 명령을 통하여 PIN 번호를 설정할 수 있다.

AT+PASS값

비밀번호를 123456으로 설정하고 싶다면 다음과 같이 작성한다.

AT+PASS123456

결론

다음 설정만 수행하면 정상적으로 연결된다. 연결이 잘 되지 않으면 아두이노 스케치를 다시 업로드 하여 진행한다.

AT+MODE1
AT+TYPE3
AT+NAME이름
AT+PASS핀번호

Last updated