라즈베리파이 3 B+ HC-06 블루투스 모듈연결


안녕하세요 라이프온룸 입니다. !!! 🙂

오늘은 라즈베리파이에서 HC-06 으로 블루투스 연결을 해볼게요. 먼저 준비물이 뭐가 필요한지 보고 갈게요 !

1. 준비물

준비물이 완료 되었으면 아두이노에 블루투스를 결선하고 스케치를 짜서 주입해 봅시다. 

2. 아두이노 결선 과 프로그래밍 !!

우선 결선은 아래와 같이 해주시면 됩니다. 

Arduino – Bluetooth HC-06

결선을 완료 했으면 스케치를 주입해 볼게요 !

스케치는 아두이노 IDE 예제의 SoftwareSerial Example을 조금 수정해서 사용하겠습니다. 아래 코드를 입력한뒤 업로드 해주면 됩니다. 기본 예제에서 바꾼거라곤 Baudreate 를 9600 으로 변경한 것 외엔 없습니다.

#include <SoftwareSerial.h>

SoftwareSerial mySerial(10, 11); // RX, TX

void setup() {
  // Open serial communications and wait for port to open:
  Serial.begin(9600);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only
  }


  Serial.println("Goodnight moon!");

  // set the data rate for the SoftwareSerial port
  mySerial.begin(9600);
  mySerial.println("Hello, world?");
}

void loop() { // run over and over
  if (mySerial.available()) {
    Serial.write(mySerial.read());
  }
  if (Serial.available()) {
    mySerial.write(Serial.read());
  }
}

스케치를 업로드 했으면 AT 명령어를 이용해 보겠습니다. 시리얼 모니터를 열고 하단에 line ending 없음 으로 되어 있는지 확인 한 후 입력창에 AT, AT+VERSION 을 차례로 쳐 봅시다. 그럼 아래와 같이 출력 될 거에요 !!!!


위와 같이 출력된다면 일단 연결을 HC-06이 받을 준비는 끝났습니다. ! 

3. Raspberry pi 3 에서 Pair 

넵 HC-06 이 준비 되었으면 라즈베리 파이 3에서 Pair를 한뒤 연결을 해봐야 겠죠 ? 

Pair는 아래와 같은 과정으로 하면 됩니다. HC-06의 기본 Pincode는 1234 입니다. 아래 Pincode를 입력하는 란이 나오면 1234를 입력해주면 됩니다. 

sudo bluetoothctl 
[bluetooth]# scan on 
[NEW] Device 20:15:01:30:59:85 HC-06
[bluetooth]# agent on 
[bluetooth]# default-agent
[bluetooth]# pair 20:15:01:30:59:85
Attempting to pair with 20:15:01:30:59:85
[CHG] Device 20:15:01:30:59:85 Connected: yes
Request PIN code[agent] Enter PIN code: 1234
Pairing successful

 

3. Python 으로 블루투스 연결 

간단한 코드로 이 방법을 구현 할 수 있습니다. 라즈베이 파이에서 vim으로 편집기를 열어 아래 코드를 입력한 뒤 돌려 보세요 블루투스가 연결되면 Send 라는 프롬프트가 나올 것입니다. 그 때 프롬프트에 아무 단어나 친뒤 Enter를 눌러 보세요 !!

Arduino Terminal 창에 그 내용이 출력 될 것입니다. 

from bluetooth import *

# Create the client socket
client_socket=BluetoothSocket( RFCOMM )

client_socket.connect(("20:15:01:30:59:85", 1))

while True:
    msg = raw_input("Send : ")
    print msg
    client_socket.send(msg)


print "Finished"

client_socket.close()

 

아래와 같이요 !! 참고로 블루투스에 연결되면 블루투스의 LED가 깜박거리다가 쭉 켜져있게 됩니다. 

라즈베리 파이 터미널에서
아두이노 터미널 에서

자 이것으로 라즈베리파이에서 HC-06 Bluetooth 연결을 해 보았는데요 큰 도옴 이 되셨나요 ????? ㅋㅋㅋ 다음 포스팅에서는 Bluetooth를 이용하여 컴퓨터를 자동으로 켜는 DIY 를 해보겠습니다. 

 

 

You may also like...