Digi XBee3 BLE 사용 가이드, 어플리케이션 노트

Digi XBee3는 BLE로 휴대전화에서 안전하게 구성하고, 비콘을 주고받고, BLE 센서에 연결할 수 있습니다.

Digi XBee3는 Bluetooth Low Energy(BLE) 기능을 갖춘 무선 모듈로, 셀룰러, Zigbee, DigiMesh, 802.15.4를 지원하는 무선 어플리케이션에 추가 무선 기능을 더합니다. BLE가 추가되면서 Digi XBee3 라인은 신규 어플리케이션과 기존 어플리케이션 모두에서 다양한 사용 사례를 갖게 되었습니다.

Digi XBee3 BLE
Digi XBee3 BLE 어플리케이션 노트.

기능

XBee3의 BLE로 열 가지 작업을 합니다

Digi XBee3와 BLE로 추가로 할 수 있는 작업은 다음과 같습니다.

  • 휴대전화나 다른 BLE 지원 장치에서 XBee3를 안전하게 구성
  • XBee3에서 Advertisements 또는 비콘(예: iBeacon) 전송
  • 이웃 장치의 Advertisements 또는 비콘(예: iBeacon) 스캔
  • 이웃 장치의 어플리케이션 서비스 검색
  • BLE 센서에 연결
  • 사용자 데이터 릴레이 프레임으로 사용자 지정 구성이나 데이터를 호스트 프로세서에 전송
  • 하나의 XBee3를 다른 XBee3에서 안전하게 구성하고 설정(무선 설정)
  • XBee3 간 데이터를 안전하게 전송
  • 연결한 다음 BLE 페어링으로 GATT 서비스에 액세스
  • 페어링을 반복하지 않아도 되도록 BLE 장치에 본딩

메커니즘

XBee 펌웨어는 세 가지 메커니즘을 제공합니다

Digi XBee3에서 BLE를 활용하기 위해 XBee 펌웨어는 다음 메커니즘을 제공합니다.

  • AT 명령(활성화, XBee API 보안 구성, 사용자 지정 광고 이름)
  • 사용자 데이터 릴레이 프레임(BLE에서 시리얼 또는 마이크로 파이선)
  • 마이크로 파이선 digi.ble 내장 모듈

아래 표는 일반적인 사용 사례와 이를 지원하는 메커니즘을 보여 줍니다. 이 메커니즘은 대부분 서로 연관되어 있어 어플리케이션을 향상시키려고 결합해서 쓸 수 있습니다.

사용 사례마이크로 파이선AT 커맨드호스트 프로세서와 함께 데이터 릴레이 프레임 사용
AT 구성✓✓✓
XBee3간 구성✓✓
XBee3간 데이터✓✓
활성화 / 비활성화 기능✓✓
스캔 및 Advertisements 전송✓✓
커스텀 Advertisements 전송✓* (사용자 지정은 디바이스 이름으로 제한)
커스텀 Advertisements / 비콘 수신 및 처리✓
GATT 서비스 검색✓
GATT 서비스 연결✓
GATT 서비스에 Rx/Tx✓
페어링 / 본딩✓

AT 구성

AT 명령으로 BLE를 켜고 이름을 정합니다

Digi XBee3는 간단한 BLE 구성을 위한 기본 AT 명령을 제공합니다. AT 명령으로 BLE를 활성화 또는 비활성화하고, Advertisements되는 BLE 장치 이름을 수정하고, XBee 구성과 데이터 통신을 위한 XBee BLE GATT 서비스를 활성화합니다.

  • BT 명령: 기본적으로 비활성화로 설정된 BLE 기능을 활성화합니다.
  • BI 명령: BLE 페이로드에 Advertisements되는 이름을 사용자 정의합니다.
  • BLE로 하는 구성과 데이터 전송의 어플리케이션 보안을 강화하도록 Digi XBee3 GATT 서비스를 구성하는 AT 명령도 여럿 있습니다.

이 글은 GATT, 비콘, Advertisements, 페어링, 본딩 같은 BLE 용어를 별도의 개념 정의 없이 설명하므로 독자가 BLE를 이해하고 있어야 합니다. 기본 정의는 글 마지막의 용어집을 참조하세요.

보안

GATT 서비스에는 추가 보안 계층이 있습니다

향상된 어플리케이션 보안은 표준 BLE 페어링의 보안을 넘어 XBee 구성과 데이터 통신을 보호하는 추가 계층을 더합니다. 각 XBee3 장치의 BLE 연결을 제로 지식 증명(zero-knowledge proof) 기반 알고리즘과 키로 보호하므로 장치 암호가 손상되지 않습니다. BLE로 XBee와의 통신을 인증하고 보호하려고 암호를 XBee에 저장하지 않습니다.

구성이나 데이터 전송을 위해 XBee3의 GATT 서비스에 연결하려면 XBee의 BLE 인증 매개변수를 구성해야 합니다. 제조 공정에서 XBee를 어플리케이션에 통합할 때 이 매개변수를 구성해야 합니다. Digi XCTU는 안전한 비밀번호를 선택해 입력하면 이 매개변수를 쉽게 구성하는 마법사를 제공합니다.

XBee 장치가 손상되어도 비밀번호가 저장되어 있지 않아 드러나지 않습니다. 그래도 Digi는 다른 수단으로 비밀번호를 얻을 수 있는 공격자에 대비한 추가 보호를 위해 각 XBee마다 고유한 비밀번호를 선택하라고 권장합니다.

XBee의 비밀번호를 아는 인증된 클라이언트는 잠금 해제 API 프레임을 발행해 XBee와의 연결을 인증합니다. 잠금 해제 시퀀스의 구성으로 클라이언트와 XBee 서비스 사이에 전송되는 데이터의 기밀성을 위한 세션 키를 설정합니다. 인증된 클라이언트는 BLE로 XBee API 프레임을 보내 구성과 데이터 전송에 모두 액세스합니다.

데이터 전송

사용자 데이터 릴레이 프레임이 호스트와 데이터를 주고받습니다

BLE 인증을 구성하면 다른 XBee나 스마트폰 앱 같은 BLE 클라이언트가 인증 절차를 거쳐 XBee3의 GATT 서비스에 안전하게 연결합니다. XBee API GATT 서비스로 XBee를 구성하고, 시리얼이나 XBee의 마이크로 파이선 프로그램으로 외부 호스트 프로세서와 데이터를 주고받을 수 있습니다.

GATT 서비스는 두 가지 속성을 가진 일종의 가상 시리얼 포트 역할을 합니다. 하나는 데이터를 전송하고 다른 하나는 BLE로 데이터를 수신합니다. API 프레임은 AT 명령으로 XBee를 구성하거나 사용자 데이터 릴레이 프레임으로 데이터를 전송하는 데 쓸 수 있습니다.

BLE로 GATT 서비스에 보낸 사용자 데이터 릴레이 프레임은 XBee의 기본 시리얼 포트(핀 2 및 3)를 거쳐 호스트 프로세서로 전송되거나 마이크로 파이선으로 전송됩니다. 반대로 시리얼 포트나 마이크로 파이선 프로그램에 연결된 호스트 프로세서가 GATT 전송 속성으로 가는 사용자 데이터 릴레이 프레임을 시작할 수도 있습니다. 이 XBee GATT 서비스를 쓰면 권한이 있는 모든 클라이언트가 호스트 프로세서의 어플리케이션에 연결해 데이터를 구성하거나 송수신합니다.

사용자 데이터 릴레이 프레임으로 BLE, 어플리케이션 프로세서, XBee의 마이크로 파이선 프로그램 사이의 데이터를 중개할 수 있으므로, 호스트 프로세서와 마이크로 파이선을 함께 쓰면 어플리케이션에 추가 비즈니스 로직을 더하는 강력한 도구가 됩니다.

고급 기능

마이크로 파이선 digi.ble 모듈이 고급 사용 사례를 맡습니다

고급 사용 사례에서는 내장된 마이크로 파이선 모듈 digi.ble이 BLE를 위한 가장 강력하고 유연한 기능을 제공합니다. 마이크로 파이선은 추가 기능을 줄 뿐 아니라 XBee3 안에서 일부 비즈니스 로직을 맡길 수 있게 합니다. BLE가 포함된 마이크로 파이선으로 다음을 할 수 있습니다.

  • 특정 디바이스 또는 디바이스 유형 검색
  • Advertisements와 비콘 분석 및 응답
  • 커스텀 Advertisements 비콘 생성
  • 자체 GATT 서비스를 제공하는 BLE 디바이스(예: 심장 모니터, 습도 센서, 전구)와 연결, 페어링, 본딩

BLE Advertisements는 마이크로 파이선으로 Apple의 iBeacon과 Google의 에디스톤(Eddystone) 같은 비콘 형식을 만들 수 있을 만큼 자유롭게 사용자 지정할 수 있습니다. Digi는 다양한 BLE 사용 사례를 다루는 방법을 보여 주는 여러 샘플이 담긴 GitHub 저장소와 관련 Pycharm 플러그인을 xbee-micropython 저장소의 bluetooth 샘플에 호스팅합니다. 이 저장소에는 널리 쓰는 커스텀 비콘 형식을 만드는 데 유용한 선택 모듈도 있습니다.

마이크로 파이선은 시리얼 포트와 BLE 인터페이스 모두에서 사용자 데이터 릴레이 프레임 송수신을 완전히 지원합니다. BLE 브로커 역할을 하거나 어플리케이션 데이터를 필터링하는 데 창의적으로 쓸 수 있습니다.

간단한 예로 송수신 Advertisements 샘플을 결합하면 BLE Advertisements 리피터를 만들 수 있습니다. 이 리피터를 사용자 데이터 릴레이 프레임으로 개선하면 전체 또는 필터링한 Advertisements를 시리얼 포트로 호스트 프로세서에 전송합니다. 호스트 프로세서는 필터링할 Advertisements의 주소나 디바이스 유형이 담긴 릴레이 프레임을 마이크로 파이선 프로그램에 보낼 수 있습니다.

도구

모바일 앱, 플러그인, 오픈 소스 라이브러리를 제공합니다

Digi는 XBee3와 함께 작동하는 여러 도구와 소스 코드 라이브러리를 제공합니다. Digi XBee 모바일 어플리케이션은 Android와 Apple iPhone 장치에서 쓸 수 있으며, XCTU가 시리얼 포트로 작동하는 방식과 비슷하게 Digi XBee3에 안전하게 연결해 AT 파라미터를 구성합니다.

Pycharm IDE용 플러그인 모듈은 XBee용 마이크로 파이선 코드를 개발하는 데 도움이 됩니다. 이 플러그인에는 BLE 예제와 라이브러리를 포함해 Digi 마이크로 파이선 GitHub 저장소에서 샘플을 가져오는 기능이 있습니다.

외부 호스트와 모바일 어플리케이션 사용자를 위해 C, Java, Python, C#으로 된 오픈 소스 라이브러리도 있습니다. 이 라이브러리는 사용자 데이터 릴레이 프레임을 지원하므로 BLE 인터페이스를 쓰는 응용 제품을 쉽게 만들 수 있습니다. XBee Android와 XBee C# 라이브러리는 자체 구성 도구를 만드는 강력한 도구이자 레퍼런스이며, BLE로 XBee3 디바이스를 쉽게 구성하고 인증하는 라이브러리를 포함합니다.

사양

BLE 4.2를 지원하며 5.0 업그레이드가 예정되어 있습니다

Digi XBee 3 BLE 스택은 BLE 버전 4.2를 지원하고 1M Phy를 지원하는 BLE 5.0 장치와 상호 운용할 수 있습니다. XBee3는 하드웨어가 5.0을 지원하며 소프트웨어로 5.0으로 업그레이드할 수 있습니다(향후 릴리스 예정). 페이로드 확장을 제외하면 버전 5.0은 아직 활성화되지 않았습니다.

Digi XBee3 모델BLE 버전출력 파워*감도실내실외/LoS(가시 거리)
Cellular (Cat 1 or LTE-M/NB)4.26.3 mW (8 dBm)-95 dBmUp to 15 mUp to 300 m
ZB/DigiMesh/802.15.44.26.3 mW (8 dBm)-95 dBmUp to 15 mUp to 300 m

* 출력 파워는 최대 -20dBm까지 조정할 수 있습니다.

일반 GATT 서비스 추가는 지원하지 않습니다

Digi XBee3는 BLE로 모뎀에 일반 GATT 서비스를 추가하는 것을 지원하지 않습니다. 따라서 XBee3는 전구, 피트니스 모니터, 습도 센서 같은 특정 BLE 장치 유형의 역할을 할 수 없습니다. 현재 출시된 Digi XBee3 버전은 BLE 5.0의 2M 서비스와 상호 운용할 수 없지만 향후 소프트웨어 업데이트에서 제공될 수 있으니 계속 확인하세요.

용어집

BLE 용어집

  • GAP(Generic Access Profile / 일반 액세스 프로필): 디바이스가 BLE 네트워크에서 Advertisements하고 스캔하는 방법을 정의합니다.
  • GATT(Generic Attribute Profile / 일반 속성 프로필): 디바이스가 다른 BLE 디바이스에 서비스와 특성을 제공하는 방법을 정의합니다.
  • LoS(Line of Sight / 가시 거리): 간섭 없이 디바이스 간에 이상적인 무선 작동 환경을 제공합니다.
  • Advertisements: BLE 디바이스가 전송한 메시지를 브로드캐스트해 검색을 쉽게 하거나 다른 브로드캐스트 데이터를 전달합니다.
  • 비콘(Beacons): 어플리케이션별 데이터를 전달하는 커스텀 Advertisements입니다.

자료

추가 리소스

관련 제품

BLE를 쓰는 XBee3와 셀룰러 모뎀

Digi XBee3 ZB / DigiMesh / 802.15.4 모듈

Digi XBee3 ZB DigiMesh 802.15.4 모듈
Digi XBee3 ZB / DigiMesh / 802.15.4 모듈.

Digi XBee3 LTE-M / NB-IoT 글로벌 셀룰러 모뎀

Digi XBee3 셀룰러 모뎀
Digi XBee3 LTE-M / NB-IoT 글로벌 셀룰러 모뎀.

(주)테솔 LTE Cat M1 / NB-IoT 스마트 셀룰러 모뎀

LTE Cat M1 NB-IoT 스마트 셀룰러 모뎀
LTE Cat M1 / NB-IoT 스마트 셀룰러 모뎀.

관련 제품

자주 묻는 질문

  • 아닙니다. BLE 기능은 기본적으로 비활성화로 설정되어 있고 BT 명령으로 활성화합니다. BI 명령으로 Advertisements되는 BLE 장치 이름을 사용자 정의할 수 있습니다.

  • 제로 지식 증명(zero-knowledge proof) 기반 알고리즘과 키로 각 장치의 BLE 연결을 보호합니다. 암호를 XBee에 저장하지 않으며, Digi는 각 XBee마다 고유한 비밀번호를 선택하라고 권장합니다.

  • BLE 버전 4.2를 지원하고 1M Phy를 지원하는 BLE 5.0 장치와 상호 운용할 수 있습니다. 하드웨어는 5.0을 지원하며 소프트웨어로 5.0으로 업그레이드할 수 있습니다(향후 릴리스 예정).

  • 아닙니다. XBee3는 BLE로 일반 GATT 서비스를 추가하는 것을 지원하지 않아 전구, 피트니스 모니터, 습도 센서 같은 BLE 장치 유형의 역할을 할 수 없습니다. 대신 마이크로 파이선 digi.ble 모듈로 그런 BLE 디바이스에 연결, 페어링, 본딩할 수 있습니다.

XBee3 BLE 적용 검토, (주)테솔 엔지니어가 안내합니다

XBee3의 BLE 구성이나 마이크로 파이선 개발에 대해 궁금하시면 문의해 주세요. 대표번호 031-713-5988

기술 상담 신청

참고 자료

  • Digi XBee3 BLE 어플리케이션 노트
  • Digi GitHub 저장소(digidotcom)
  • Digi XBee Pycharm IDE 플러그인

관련 제품

전체