블루투스 메시 노드 통신: 견고한 메시 네트워크 설계하기
신뢰할 수 있는 블루투스 메시 네트워크 구축은 노드가 데이터를 교환하는 방식을 이해하는 것에서 시작합니다. 이 기사는 핵심 통신 메커니즘, 노드 아키텍처, 다양한 디바이스 간 상호운용성을 가능하게 하는 모델을 탐구합니다.
관리형 플러드 – 메시 메시징의 근간
블루투스 메시는 관리형 플러드(managed flood) 전략으로 메시지를 전달합니다. 모든 노드가 모든 패킷을 반복하는 순진한 플러드와 달리, 관리형 플러드는 캐시된 메시지 리스트와 TTL(Time-to-Live) 필드를 사용하여 중복을 피하고 홉을 제한합니다. 각 노드는 수신 패킷을 캐시와 대조하여 중복을 폐기합니다. 각 메시지에 설정된 TTL은 릴레이마다 1씩 감소하며 최대 126홉으로 제한되어 효율적이고 예측 가능한 전달을 보장합니다.
발행-구독 통신
네트워크를 확장 가능하게 하고 디바이스가 무관한 트래픽을 처리하지 않게 하기 위해 블루투스 메시는 발행-구독(publish-and-subscribe) 모델을 사용합니다. 발행자는 관심을 표현한 그룹에만 메시지를 보내고, 구독자는 자신의 그룹에 주소 지정된 메시지만 수신합니다. 이 모델은 유니캐스트, 멀티캐스트, 브로드캐스트를 지원하여 룸 기반 조명 같은 시나리오에서 세밀한 제어를 가능하게 합니다.
그림 1은 Cypress CYBT-213043-MESH 평가 키트를 사용한 실제 구현을 보여줍니다. 스위치는 발행자 역할을 하고, 전구는 다이닝과 키친 그룹의 구독자 역할을 합니다. 스위치 1이 다이닝 그룹에 발행하면 첫 세 개 전구가 반응합니다. 스위치 2는 키친 그룹에 발행하여 세 번째 전구만 제어합니다.
그림 1. 커넥티드 조명을 위한 블루투스 메시 발행 및 구독 예시. (출처: Cypress)
노드 아키텍처 – 요소, 주소, 모델
각 메시 노드는 하나 이상의 요소(Elements)를 포함합니다. 요소는 디바이스 기능을 노출하는 기능적 빌딩 블록입니다. 모든 요소는 고유한 유니캐스트 주소를 받아 독립적 제어를 가능하게 합니다. 일반적인 전구는 온/오프와 밝기를 위한 단일 요소를 가집니다. 디머블 전구에 점유 센서가 있으면 조명과 센싱 두 개의 요소를 가집니다.
그림 2는 하나와 두 개의 요소를 가진 노드를 보여주며 주소 공간과 요소-모델 관계를 강조합니다.
그림 2. 하나와 두 개의 요소를 가진 노드. (출처: Cypress)
모델 – 메시의 언어
기능은 모델(Models)로 정의되며, 블루투스 서비스와 유사합니다. 모델은 세 가지 범주로 나뉩니다:
- 서버 모델은 클라이언트가 읽거나 수정할 수 있는 상태를 노출합니다(예: 온/오프 서버, 조명 밝기 서버).
- 클라이언트 모델은 서버에 요청이나 명령을 보냅니다(예: 스위치가 사용하는 온/오프 클라이언트).
- 컨트롤 모델은 클라이언트와 서버 로직을 애플리케이션 코드와 결합하여 메시지에 따라 행동합니다.
서버 모델은 하나 이상의 요소에서 여러 상태를 관리할 수 있습니다. 예를 들어 디머블 전구는 온/오프 서버와 조명 밝기 서버를 모두 호스팅할 수 있습니다. 클라이언트 모델은 스위치나 디머 같은 디바이스가 해당 상태를 쿼리하거나 변경할 수 있게 합니다.
모델은 서로 확장할 수 있습니다. 조명 밝기 서버는 온/오프와 일반 레벨 서버를 확장하여, 단일 온/오프 명령이 기저 모델에 관계없이 모든 전구 유형에 영향을 줄 수 있게 합니다.
상태 – 각 요소 뒤의 데이터
각 요소는 상태(States)를 유지합니다. 이는 블루투스 SIG에서 정의합니다. 상태는 값(예: ON/OFF)과 동작을 가집니다. 예를 들어 스프링클러 컨트롤러의 온/오프 서버는 일반 OnOff 상태를 노출하며, 이 상태를 이해하는 모든 클라이언트가 조작할 수 있습니다.
다음 단계 – 프라이버시와 보안
다음 기사에서는 블루투스 메시의 견고한 프라이버시와 보안 메커니즘을 탐구할 것입니다. 이는 도청과 무단 제어로부터 네트워크를 보호하는 데 필수적입니다.
더 깊은 통찰을 위해 Learning More about Bluetooth Mesh 비디오를 시청하고 자신만의 메시 지원 애플리케이션 설계를 시작하세요.