본문 바로가기
개발Study/Network

BLE(Bluetooth Low Energy)

by happy90 2020. 12. 23.
SMALL

Bluetooth 4.0 이후부터 사용 가능한 BLE는 이전 버전보다 훨씬 적은 전력으로 통신할 수 있는 프로토콜이다.

 

일단 BLE에는 세가지 모드가 있다.

classic, smart ready, smart.

세 가지 모드의 BLE들의 관계를 아주 잘 표현한 그림이다.

 

블루투스의 communication mode는 두 가지가 있다.

Advertise(Broadcast) 모드와 Connection 모드.

Advertise mode는 signal을 받는 디바이스를 특정하지 않고 모두에게 전송하는 모드. 1:N 통신이 가능하다.

Connection mode는 1:1 통신을 할 수 있으며, Advertise mode보다 안전하다.

 

여기에서는 connection 모드만 자세히 알아본다.

Connection모드 관점에서 디바이스들의 역할

Central(Master) : connectable advertising signal을 주기적으로 검색하다가 적절한 디바이스에 연결 요청을 하고, 이후에는 주기적인 통신을 위해 hopping규칙 같은 것을 정한다. 여기서 advertising signal의 전송 주기(advertising interval)는 ms단위에서 s단위까지 조절할 수 있다. 

Peripheral(Slave) : connectable advertising signal을 주기적으로 전송하다가 Central이 연결요청을 하면 이를 수락하여 connection을 맺는다. 그러면 central 디바이스가 정한 규칙에 의해 통신을 하게 된다.

 

단말기와 센서가 블루투스 통신을 한다고 가정하자.

센서쪽은 배터리가 전원이며 sleep mode에 있다가 이벤트가 발생하면 단말기에 데이터만 전송하고 다시 sleep mode에 들어가야 한다.

단말기는 상시 전원이며 센서로부터 데이터가 올 경우 빠르게 받을 수 있어야 한다. 데이터를 처리하는 메인 모듈이다.

주고받는 데이터의 크기는 크지 않다.

단말기가 central, master, observer 역할이고, 센서는 peripheral, slave, advertiser의 역할이 되어야 한다.

 

통신과정은 아래와 같이 될 것이다.

1. 최초 연결시 센서가 advertising packet을 전송한다.

2. 단말기에서 pairing을 하기 위해 scanning을 시작하고, 센서를 발견하면 scan request를 전송한다.

3. 센서가 scan response를 전송한다. 여기까지 pairing이 완료된 상태이다.

4. 이후 단말기는 지속적으로 connection request를 전송한다.

5. 센서는 sleep mode에 있다가 이벤트 발생 시 단말기에 advertising packet을 전송한다.

6. 서로 acknowledge 하여 connection 정보교환한다.

7. data를 주고받은 뒤 connection 종료한다.

8. 4~7을 반복한다.

 

여기서 의문점. 4~7을 반복하는데, 센서에서 데이터가 몇 시간 동안 없을 수가 있다.

이런 경우 연결이 해제될 것으로 추측된다.

이 connection을 유지하기 위해 첫 pairing시 교환하는 설정값들이 있다.

이를 잘 참조하여 설정하면 될 듯하다. Bluetooth spec sheet에서 찾은 내용이다.

1. connection interval
  주기적으로 connection을 확인하는 신호의 간격. 7.5ms ~ 4s 사이의 값으로 설정할 수 있다고 한다.

2. slave latency
  master에서 slave에 주기적으로 connection event를 전송했을 때 slave로부터 응답이 없어도 연결 해제되지 않는 횟수.
설정가능한 값은 0 ~ 아래에 supervision timeout에 해당하는 값까지.

3. connection supervision timeout
  지정시간 동안 유효한 데이터 송수신이 없으면 연결 해제로 간주한다.

 

Beacon

pairing과 bonding과정을 생략한다고 한다. 그래서 완전 저전력 소모. 배터리 오래간다.

최대 50m까지 통신할 수 있다. 보안에 취약하다.

상대가 받던 말던 advertising을 보낸다. connection mode 통신도 가능하다.

beacon으로 특정 단말기에 송신할 수 있다면 최고이겠다. 이것도 다시 자세히 알아보자...

 

GATT

GATT는 BLE에서의 server와 client 통신을 한다.

센서 설정값 전송 시 사용되어야 할 것 같다.

pairing시 central이었던 장치가 client고, peripheral이었던 장치가 server이다.

Service와 Characteristic에 대해서는 다음에 다시 자세히...

 

 

 

참조:

medium.com/@zoyi_product/bluetooth-low-energy-ble-84b03705ffca

 

Bluetooth Low Energy(BLE) 파헤치기

스마트폰이 출시되어 대중화가 될 무렵, ‘스마트’한 개념의 밴드, 워치, 글래스 등이 출시되면서 웨어러블 디바이스 시장이 태동하기 시작했다. 그리고, 2015년 상반기, 애플워치의 등장으로

medium.com

www.hardcopyworld.com/ngine/aduino/index.php/archives/3086

 

[IoT 네트워크와 서비스 강좌] #3-1 블루투스 소개 | Hard Copy Arduino

26 7월 [사물 인터넷 네트워크와 서비스 구축 강좌] #3-1 블루투스 소개 현재 강좌 ==> [사물 인터넷 네트워크와 서비스 구축 강좌] #2-3 모바일과 센서장치의 시리얼 통신 3장에서는 블루투스 기술을

www.hardcopyworld.com

blog.msalt.net/210

 

BLE, Bluetooth Low Energy 비콘 간단 정리

저전력 근거리 통신 기술인 BLE, Bluetooth Low Energy에 대해서 찾아본 내용들을 간단하게 정리해 봅니다. 시작은 내가 가진 웨어러블 디바이스를 어떻게 하면 좀 더 유용하게 써볼까였는데, 생각보다

blog.msalt.net

intsain.com/w/?p=322

 

BLE, Bluetooth Low Energy 기초

BLE(Bluetooth Low Energy)란?          Bluetooth는 주변에서 자주 접하는 무선 통신 방법 중 스마트폰, 마우스, 이어폰 등 여러 방면에서 사용 되는 근거리 무선 통신방법의 하나로, Bluetooth v4.0기준 2

intsain.com

esf.eurotech.com/docs/how-to-user-bluetooth-le-beacons

 

How to Use Legacy Bluetooth LE Beacons

The Bluetooth Beacon example is a simple bundle for Eclipse Kura that allows you to configure a device as a Beacon. A Beacon device is a Bluetooth Low Energy device that broadcasts its identity to nearby devices. It uses a specific BLE packet, called beaco

esf.eurotech.com

 

LIST

'개발Study > Network' 카테고리의 다른 글

BLE - GATT (내용추가수정240902)  (0) 2021.10.15

댓글