Arduino Uno 로 AT-09/HM-10 호환 블루투스 4.0 BLE 모듈을 사용해서 AT-09의 AT 커맨드 명령어에 대해서
알아보고 이를 토대로 블루투스 모듈 이름과 비밀번호를 변경해 보는 프로젝트 입니다
AT-09는 정품 HM-10 블루투스 4.0 BLE 모듈의 저가형 호환버전 입니다
TI사의 CC2541 칩을 장착한 제품으로 UART 시리얼을 이용하여 모듈을 쉽게 사용할 수 있으며
5V 로직전압을 지원할수 있게 설계되었습니다 (마스터/슬레이브로 설정 가능합니다)
정품 HM-10 블루투스 모듈과 펌웨어가 다르기 때문에 정품 HM-10 AT 커맨드와 일부 호환되지 않습니다
시리얼 명령 전송시에는 CR+LF 를 포함하여 송신해야 합니다
자세한 내용은 아모스님의 블로그 포스팅 참조
BT4.0-HM-10-Serial_Port_BLE_Module_Master_Slave.pdf
DX-BT05-A 4.0 AT Commands (Chinese).pdf
DX-BT05-A 4.0 basis specs (Chinese).pdf
HM-10 의 모든 AT 커맨드를 완벽하게 사용하고 싶다면 정품 HM-10 블루투스 모듈을 사용하는것이 좋겠습니다
<AT-09/HM-10 호환 블루투스 4.0 BLE 모듈 이미지>
AT-09는 블루투스 4.0 BLE 모듈 이므로 이를 지원하는 안드로이드 앱 등을 사용해야 합니다
페어링시 기본 이름은 BT05 이며 비밀번호 설정은 AT+TYPE=0 (비밀번호 없음) 으로 설정되어 있습니다
AT+TYPE=2 (비밀번호 페어링) 으로 설정되어 있거나 설정을 바꾼 경우 기본 비밀번호는 000000 입니다
AT-09 는 비밀번호가 6자리 입니다
사용된 부품
Arduino Uno R3 (Italy)
AT-09/HM-10 호환 블루투스 4.0 BLE 모듈
점퍼케이블(숫놈/암놈)
구성 배선도
사용된 예제소스
주의사항
첨부된 예제 코드를 아두이노 우노에 업로드 할 때 AT-09 블루투스 모듈은 아두이노 우노와 연결이 안 되어 있는
상태에서 업로드를 마친 후 아두이노 우노와 연결 하도록 합니다, 에러나 업로드가 안되는 경우가 있습니다
이점 주의 하도록 합시다
기본적으로 AT-09 블루투스 모듈은 전원이 인가되면 빨간색 전원LED가 지속적으로 깜박입니다
하지만 어플과 연결해서 페어링에 성공하면 LED는 점등되어 멈추게 됩니다
(전원LED가 들어오지 않는다면 모듈의 문제이거나 모듈의 LED에 문제일수 있습니다)
프로젝트를 위해서는 블루투스 BLE 안드로이드 어플이 필요합니다 (하단 링크를 클릭해 다운 받으세요)
블루투스 모듈을 제어하기 위해서 "HMBLE Terminal" 어플을 다운 받습니다
https://play.google.com/store/apps/details?id=com.hatflabs.hmbleterminal
구글계정 로그인을 하면 무선으로 본인소유의 안드로이드 폰을 검색해서 간편하게 핸드폰에 어플 설치를 해줍니다안된다면 안드로이드폰 구글 플레이스토어 에서 'HMBLE Terminal' 로 검색해서 설치 하도록 합니다
꼭 HMBLE 앱을 사용해야만 하는것은 아닙니다 (블루투스 4.0 BLE 어플을 사용하면 됩니다)
HMBLE 앱이 서비스가 종료되서 설치가 불가능하다면 아래 앱으로도 동일하게 테스트 가능합니다
구글 플레이 스토어에서 Serial Bluetooth Terminal 앱을 다운로드 해서 설치해 줍니다
https://play.google.com/store/apps/details?id=de.kai_morich.serial_bluetooth_terminal
자세한 앱 사용방법은 아래 링크의 포스팅을 확인해 주세요
https://rockjjy.tistory.com/2657
AT 커맨드 명령어 확인방법
아두이노에 스케치 업로드를 해주고 위 첨부된 배선도를 참고해서 블루투스 모듈을 아두이노와 연결해 줍니다
아두이노 IDE의 시리얼 모니터를 실행시킵니다 (이때 보드레이트는 9600 Both NL & CR 로 설정되어 있어햐 합니다)
입력창에 AT 라는 명령어를 입력해서 OK 라는 메세지가 나오면 성공입니다
AT 모드로 진입하지 못하는경우 블루투스가 페어링이 된 상태는 아닌지 전원이 불량한게 아닌지 전원 LED를 확인해 봅시다
입력창에 AT+VERSION 을 입력하면 위 이미지 처럼 블루투스 펌웨어 버전을 확인할 수 있습니다
입력창에 AT+NAME 을 입력하면 +NAME=BT05 라는 메시지가 나옵니다
블루투스 모듈의 기본 설정된 이름 BT05 를 확인할 수 있습니다 (AT-09 는 기본 이름 BT05 로 설정되어 출고 됩니다)
자 이제 블루투스 모듈 이름을 변경해 보겠습니다
입력창에 AT+NAME원하는이름 을 입력하고 OK 가 나오면 성공입니다
블루투스 이름을 ROCKJJY 로 변경하려고 AT+NAMEROCKJJY 로 입력했습니다
변경된 이름을 확인하기 위해서 어플을 실행시켜 줍니다
블루투스 모듈 이름이 BT05 에서 ROCKJJY 로 정상적으로 변경되었습니다
AT 명령어로 OK 까지 확인했는데 어플에서 블루투스 이름이 변경되지 않은 경우 블루투스 모듈의 전원을 제거했다가 잠시 후
다시 전원을 인가해 주고 확인해 보면 정상적으로 변경이 된것을 확인할 수 있습니다
프로젝트 동영상-Arduino Uno 로 AT-09/HM-10 호환 블루투스 4.0 BLE 모듈을 사용해서 이름 변경해 보기
이어서 비밀번호 핀과 페어링 비밀번호 타입 설정을 바꾸어 보도록 하겠습니다
아두이노에 스케치 업로드를 해주고 위 첨부된 배선도를 참고해서 블루투스 모듈을 아두이노와 연결해 줍니다
아두이노 IDE의 시리얼 모니터를 실행시킵니다 (이때 보드레이트는 9600 Both NL & CR 로 설정되어 있어햐 합니다)
입력창에 AT 라는 명령어를 입력해서 OK 라는 메세지가 나오면 성공입니다
AT 모드로 진입하지 못하는경우 블루투스가 페어링이 된 상태는 아닌지 전원이 불량한게 아닌지 전원 LED를 확인해 봅시다
입력창에 AT+PIN 을 입력해 줍니다
+PIN=000000 이라는 메세지가 출력 됩니다, 비밀번호(PIN)는 000000 입니다 (AT+09 의 기본 비밀번호는 000000 로 설정되어 출고 됩니다)
입력창에 AT+TYPE 을 입력해 줍니다
+TYPE=0 이라는 메시지가 출력 됩니다, 타입은 0 입니다 (타입 0은 비밀번호 없음이며 AT-09 는 기본 타입 0 으로 설정되어 출고 됩니다)
AT+TYPE=0 (비밀번호 없음)
AT+TYPE=1 (간편한 페어링)
AT+TYPE=2 (비밀번호 페어링)
AT+TYPE=3 (비밀번호 페어링 및 바인딩)
비밀번호 타입 설정은 0~3번까지 가능합니다 (더 자세한 내용은 포스팅 상단에 첨부된 AT 커맨드 PDF 파일을 참조합시다)
자 이제 비밀번호를 변경해 보겠습니다
입력창에 AT+PIN123456 을 입력하고 OK 가 나오면 성공입니다
비밀번호를 변경해도 비밀번호 타입을 변경하지 않으면 페어링시 비밀번호 입력없이 페어링을 하므로
비밀번호 타입도 변경해 보도록 하겠습니다
입력창에 AT+TYPE2 를 입력하고 OK 가 나오면 성공입니다
변경된 비밀번호를 확인하기 위해서 어플을 실행시켜 줍니다
기본 비밀번호 타입 0 으로 비밀번호 입력없이 페어링 했지만 위 이미지 처럼 변경 된 비밀번호 123456 입력후
페어링 가능하게 변경되었습니다
프로젝트 동영상-Arduino Uno 로 AT-09/HM-10 호환 블루투스 4.0 BLE 모듈을 사용해서 비밀번호 변경해 보기
AT-09 는 AT 커맨드 명령어를 입력해서 다양하게 제어 가능합니다
HM-10 정품과 펌웨어가 틀려서 HM-10의 AT 커맨드와 완벽하게 일치하지는 않고 자료가 HM-10 에 비해서 부족한면이 없지 않아 있지만 계속해서 보완될 것으로 생각됩니다 (더 자세한 AT 명령어는 포스팅 상단에 첨부된 AT 커맨드 PDF 파일을 참조합시다)
*펌웨어 버전이 BLE 4.2 이며, 스마트폰 블루투스 관리자에 등록도 안되고, HMBLE 어플로도 페어링이 안되는 경우 대처법*
먼저 포스팅 상단의 AT-09 데이터 주고 받기 예제를 업로드 한 후 배선도 참고 후 배선 후 시리얼 모니터를 실행 합니다
입력창에 AT+DEFAULT 를 입력해서 팩토리 초기화를 해줍니다, 팩토리 초기화가 되면 기본 비밀번호 없음 페어링이 되지만
혹시 모르니 입력창에 AT+TYPE을 입력해서 AT+TYPE=0 (비밀번호 없음 페어링으로 잘 되어있는지 확인해 줍니다)
Serial Bluetooth Terminal 어플을 실행해 줍니다
어플 실행후 왼쪽 메뉴를 클릭합니다
왼쪽의 메뉴에서 디바이스 메뉴를 클릭해 줍니다
AT-09 는 BLE 모듈 이므로 상단메뉴에서 BLUETOOTH LE 메뉴를 선택하고 바로 위쪽 SCAN 을 눌러 장치를 스캔합니다
BT05가 스캔된것을 확인할 수 있습니다
BT05를 눌러서 페어링 해 줍니다
페어링이 성공하면 Connected 메시지가 나옵니다 (AT+TYPE=0 세팅이므로 비밀번호 입력 없이 페어링 됩니다)
콘솔창에 메세지를 입력해서 AT-09 와 아두이노가 연결 된 PC의 시리얼 모니터로 데이터 전송이 되는지 확인해 주면 됩니다
구글 플레이 스토어에서 Serial Bluetooth Terminal 앱을 다운로드 해서 설치해 줍니다
https://play.google.com/store/apps/details?id=de.kai_morich.serial_bluetooth_terminal
자세한 앱 사용방법은 아래 링크의 포스팅을 확인해 주세요
https://rockjjy.tistory.com/2657
댓글