4주차_블루투스 통신 - sookite22/SmartDivice_24 GitHub Wiki
목차
- 네트워크(Network)
- PAN
- LAN
- 블루투스(Bluetooth)
- 블루투스란?
- 클래식 블루투스
- BLE(Bluetooth Low Energy)
- 실습
- 클래식 블루투스 방식
- 블루투스 클래식 방식으로 스마트폰과 통신
- BLE 방식
- RGB 모듈 제어
- BLE 통신으로 RGB 제어
- 클래식 블루투스 방식
- 후기
1. 네트워크(Network)
1.1. PAN(Personal Area Network)
개인 영역 네트워크(PAN) 는 비교적 작은 영역 내에서 기기들 간 통신을 가능하게 하는 네트워크를 말하며, 일상적으로 사용되는 기기들 간 연결을 위해 사용된다. 예를 들어, 스마트폰과 블루투스 헤드셋 간의 연결이나 스마트 워치와 스마트폰 간의 연결이 이에 속한다. 이처럼 주로 개인이나 개별 작업 그룹 내에서 사용된다. 대표적인 PAN 기술로는 Bluetooth 가 속해있다.
1.2. LAN(Local Area Network)
지역 영역 네트워크(LAN) 는 상대적으로 작은 지리적 영역(건물, 사무실 등) 에서 네트워크 장치들이 서로 통신할 수 있는 네트워크를 말한다. 일반적으로 이더넷 케이블, Wi-Fi, 기타 유선 혹은 무선 기술을 사용하여 구축되며, 가정용 네트워크, 기업 네트워크, 학교 네트워크 등 다양한 환경에서 사용된다. 고속의 데이터 전송을 지원하며, 인터넷 접속을 위한 라우터와 같은 장비가 포함될 수 있다.
- PAN과 LAN 외에도 더 넓은 개념의 네트워크들이 존재한다.
2. 블루투스(Bluetooth)
2.1. 블루투스란?
블루투스는 무선 통신 기술 중 하나로, 짧은 거리에서 데이터를 주고받을 수 있게 해주는 기술을 말한다. 블루투스는 주파수 허브 기술을 기반으로 하며, 전자기파 를 이용하여 데이터를 전송한다. 블루투스 장치는 대부분 2.4GHz 주파수 대역을 사용하며, 일반적으로 10m 정도의 짧은 거리에서 작동한다. 무선으로 페어링된 장치들 간에 데이터를 안정적으로 전송하거나 연결 가능하게 하며, 전력 소비가 비교적 낮아 휴대용 장치에서도 많이 사용된다. 주로 휴대전화, 스마트폰, 노트북, 태블릿, 헤드셋, 스피커, 마우스, 키보드 등과 같은 다양한 전자 기기들 간에 데이터를 전송하거나 연결하는 데 사용된다.
- 블루투스 통신에는 두 가지의 주요 방식이 존재한다.
2.2. 클래식 블루투스
블루투스 표준의 초기 버전으로, 비교적 더 많은 전력을 소비하지만 높은 데이터 전송 속도 와 넓은 연결 거리 를 제공한다. 이러한 특성으로 인해 주로 데이터를 빠르게 전송해야 하는 많은 응용 프로그램에 사용될 수 있다. 그러나 더 큰 전력 소비로 인해 배터리 수명이 더 짧을 수 있다.
스마트폰, 노트북, 태블릿과 같은 장치들 간 파일 전송, 음악 스트리밍, 키보드와 마우스 연결 등의 작업에 사용된다.
2.3. BLE(Bluetooth Low Energy)
작은 전력 소비 와 단순한 데이터 전송을 위해 고안된 무선 통신 기술이다. 전통적인 블루투스와 비교하였을 때 전력 소모가 적으며, 주로 작은 패킷의 주고받기에 특화되어 있다. 이러한 특성으로 인해 배터리 수명이 중요한 장치나 센서 네트워크와 같은 분야에서 널리 사용되고 있다.
스마트 홈 장치, 웨어러블 기기, 센서 네트워크, 건강 모니터링 장치 등의 분야에서 활용된다.
3. 실습
3.1. 클래식 블루투스 방식
3.1.1. 클래식 블루투스 방식으로 스마트폰과 통신
코드 작성
- File > Examples > BluetoothSerial > SerialToSerialBT
스마트폰과 연결
1단계
Serial Bluetooth Terminal 앱을 설치한다.
2단계
자신이 설정한 이름의 디바이스를 블루투스로 연결한다.
3단계
설치한 앱에서 찾아 연결한다.
4단계
클릭 후 메세지를 입력한다.
결과 확인
- Tools > Serial Monitor
- 시리얼 모니터 를 통해 통신 결과를 확인할 수 있다.
- 그러나 시리얼 모니터에 출력값이 깨지는 오류가 나타났다.
오류 해결
_시리얼 통신 설정_을 다시 확인해보았다. 시리얼 모니터와 ESP32 간 시리얼 통신 속도 가 일치하지 않는 경우 데이터가 손실되거나 왜곡될 수 있기 때문이다.
왼쪽 하단 시리얼 통신 속도를 115200baud로 바꿔주었다.
- 출력에 성공하였다.
3.2. BLE 방식
3.2.1. RGB 모듈 제어
보드 연결
코드 작성
Red LED - analogWrite(RED_PIN, 0); 으로 설정
Green LED - analogWrite(GREEN_PIN, 0); 으로 설정
Blue LED - analogWrite(BLUE_PIN, 0); 으로 설정
White LED - 모든 핀을 0으로 설정
- 각 색상 핀을 0으로 설정하면 해당 색상이 켜지고, 255로 설정하면 해당 색상이 꺼진다. 즉 캐소드 타입의 LED와 반대로 PWM값 을 설정하여 제어해야 한다.
결과 확인
3.2.2. BLE 통신으로 RGB 제어
코드 작성
- UUID(Universally Unique Identifier): 고유한 식별자 를 나타낸다. https://www.uuidgenerator.net/ 에서 새로운 UUID를 생성하여 사용한다.
헤더 파일과 핀 번호를 추가로 정의해주었다.
스마트폰과 연결
nRF Connect for Mobile 앱을 설치한다.
앱에서 RGB LED Control 을 연결한다.
결과 확인
- 빨간색 불빛을 확인할 수 있다.
4. 후기
블루투스라는 기술은 현재 일상생활에서 매우 가까이에 있으며 자주 쓰이는 기술 중 하나이다. 그러나 블루투스에도 어디에 어떻게 쓰이느냐에 따라 종류가 달라진다는 것은 모르고 있었다. 이번 강의에서 클래식 블루투스와 BLE의 차이점을 확실히 알게되었고, 추후에도 이 점을 고려하여 블루투스를 사용하거나 개발할 수 있을 것이다. 블루투스는 헤드셋에서 시작된 기술이라는 것에도 흥미가 갔다. 현재는 헤드셋 뿐만 아니라 수많은 블루투스 이어폰들이 존재하는데 실생활을 매우 편리하게 해주는 감사한 기술이라고 생각된다.