사물에 무선 통신 기술을 융합하여 인터넷 망과 연결하는 사물인터넷(IoT) 구축 기술을 파헤칩니다.
1. 무선 통신 용어 사전 (Glossary)
- Bluetooth Classic (HC-06/HC-05): 2.4GHz 대역을 사용하는 1:1 페어링 기반 근거리 무선 통신 모듈입니다. (SPP: Serial Port Profile 지원)
- SoftwareSerial: 아두이노 우노의 일반 디지털 핀을 시리얼 통신(RX, TX) 핀으로 소프트웨어 변환해주는 라이브러리입니다.
- ESP8266 / ESP32: Wi-Fi 통신 기능을 탑재한 32-bit SoC 칩셋으로 독립적인 아두이노 개발 보드로도 사용 가능합니다.
- MQTT (Message Queuing Telemetry Transport): IoT 장치 간의 경량 발행/구독(Publish/Subscribe) 메시징 프로토콜입니다.
2. 블루투스 HC-06 모듈 제어 실습
[아두이노 - HC-06 핀 연결 주의사항]
아두이노 D2 (Software RX) <--- HC-06 TXD
아두이노 D3 (Software TX) ---> HC-06 RXD (5V->3.3V 분압 권장)
#include <SoftwareSerial.h>
SoftwareSerial BTSerial(2, 3); // RX=2, TX=3
const int ledPin = 13;
void setup() {
Serial.begin(9600);
BTSerial.begin(9600);
pinMode(ledPin, OUTPUT);
Serial.println("블루투스 접속 대기 중...");
}
void loop() {
// 스마트폰 앱에서 보낸 데이터 읽기
if (BTSerial.available()) {
char data = BTSerial.read();
Serial.print("수신 데이터: "); Serial.println(data);
if (data == '1') {
digitalWrite(ledPin, HIGH);
BTSerial.println("LED ON");
} else if (data == '0') {
digitalWrite(ledPin, LOW);
BTSerial.println("LED OFF");
}
}
}
3. 자주 묻는 질문 (Q&A)
Q. HC-06 블루투스의 이름과 비밀번호(PIN)를 바꾸려면 어떻게 하나요?
A. 스마트폰과 페어링되지 않은 상태에서 시리얼 모니터로 AT (응답: OK), AT+NAMEmyArduino (이름 변경), AT+PIN1234 (비밀번호 변경) 명령어를 전송하면 됩니다.