블루투스 셋팅 안될 때 최후의 방법

세상은 넓고 블루투스는 많습니다. 그 많은 블루투스가 똑같은 이름을 갖고 있지만, 겉모양은 똑같지만 구매처에 따라서 천차만별입니다. 아무리 AT 커맨드로 통신을 해 보려고 해도 되지 않고 Baudrate 를 찾으려 해도 찾아지지 않으며, 도대체 이 친구가 어떤 Baudrate 로 통신이 되는지 알 수가 없을 때가 있습니다. 특히나 AT 커맨드로 블루투스의 내부 변수를 수정할 수 없다면 아두이노끼리 연결시키는 기능은 절대 불가능하겠지요. AT 커맨드로 셋팅이 불가능한 블루투스 모듈들은 대부분 Slave 기능만 사용 가능하도록 되어 있습니다.

그런데 왜 이렇게 Baudrate 에 집착을 하는건가요? 그냥 모르면 안되나요?

네 안됩니다. 반드시 Baudrate 를 알아내야 합니다. 왜냐하면 우리는 통신을 할 때 통신 속도를 알아야 하기 떄문입니다. 그 숫자를 시리얼통신을 이용할 때 반드시 기입해 줘야 합니다. 그렇지 않으면 통신을 할 수가 없습니다.

HC-05 (블루투스 클래식)

안드로이드 어플리케이션 설치 : Serial Bluetooth Terminal

아두이노 소스코드 다운로드: https://github.com/happythingsmaker/Bluetooth_Baud_Finder/blob/master/Bluetooth_Serial_Eco.ino

/*********************************************************
    Bluetooth Serial Eco
    Written by Eunchan Park (박은찬)
**********************************************************/
#include <SoftwareSerial.h>
#define PIN_NUMBER_SW_SERIAL_TX     2
#define PIN_NUMBER_SW_SERIAL_RX     3

SoftwareSerial BTSerial(PIN_NUMBER_SW_SERIAL_RX, PIN_NUMBER_SW_SERIAL_TX);
void setup() {

    //!!!!!!!!!!!!!!write your baudrate !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    long tempBaud = 38400;

    BTSerial.begin(tempBaud );
    Serial.begin(tempBaud );
}

void loop() {

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

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

아두이노 - 블루투스 연결

아두이노 블루투스 배선 색깔
V (VCC) (5v) VCC (5V) 빨간색 추천
G (Ground) (0v) GND 검정색 추천
2 RXD (RX) 아무거나
3 TXD (TX) 아무거나

아두이노 시리얼 모니터 실행 (COM 번호 확인해서 : COM포트가 헷갈리신분은 클릭)

안드로이드 앱 실행

왼쪽 메뉴 클릭 - 디바이스 - 클루투스 클래식 - 기어 아이콘 클릭 - 안드로이드 블루투스 셋팅 화면이 뜨면 Scan 버튼 클릭 (기기마다 다를 수 있음) - HC-05 의 이름의 블루투스 기기가 보이는 지 확인 - 보인다면 클릭 - 비빌번호 입력하라고 하면 0000 또는 1234 입력 - 성공적으로 기기에 등록되었다면 뒤로가기 버튼 클릭 - 디바이스(블루투스 클래식) 에서 HC-05 클릭 - 다시 앱에서 메뉴버튼 클릭 - Terminal 클릭 - 채팅창같은 곳에서 아무 글자나 입력 후 전송 버튼 클릭 - 아두이노 시리얼터미널에서 글자가 보인다면 성공, 글자가 보이지 않는다면 위 소스에서

long tempBaud = 38400;

이 부분을 9600, 19200, 9600, 19200, 38400,
57600, 74880, 115200 등으로 바꿔보고 소스코드 업로드 후 터미널도 그 숫자와 똑같은 통신 속도를 맞춰준 뒤 똑같이 계속해서 테스트 (거의 9600, 19200, 38400 중 하나일 것입니다)

HM-10 or AT-09(블루투스 로우 에너지 : BLE)

results matching ""

    No results matching ""