NEWS & CASE STUDY

Digi XBee3의 BLE 사용에 대한 실용적인 가이드 : 어플리케이션 노트

페이지 정보

CASE STUDY 작성자 테솔 조회 10회 작성일 24-07-26 19:43

본문


Digi XBee3 BLE 사용에 대한 실용적인 가이드 : 어플리케이션 노트 


93b6b06147cfdba442f7de69cbbaeb5c_1721988471_8731.jpg
 


Digi XBee3는 Bluetooth Low Energy 기능을 갖추고 있어 셀룰러, Zigbee, DigiMesh 또는 802.15.4를 지원하는 무선 어플리케이션에 추가적인 무선 기능을 제공합니다. BLE의 추가로 Digi XBee3 라인은 신규 어플리케이션과 기존 어플리케이션 모두에 다양한 사용 사례를 제공합니다. 


Digi XBee3 BLE에서 추가로 수행할 수 있는 몇가지 작업 목록입니다 : 


> 휴대전화 또는 기타 BLE 지원 장치에서 XBee3를 안전하게 구성

> XBee3에서 Advertisements 또는 비콘(: iBeacon) 전송

> 이웃 장치에서 Advertisements 또는 비콘(: iBeacon) 스캔

> 이웃 장치에서 아플리케이션 서비스 검색

> BLE 센서에 연결

> 사용자 데이터 릴레이 프레임을 사용하여 사용자 지정 구성 또는 데이터를 호스트 프로세서로 전송

> 하나의 XBee3를 다른 XBee3에서 안전하게 구성 및 설정 (무선 설정)

> XBee3 간에 데이터를 안전하게 전송

> 연결한 다음 BLE 페어링을 사용하여 GATT 서비스에 액세스

> 페어링을 반복하지 않아도 되도록 BLE 장치에 본딩 


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


> AT 명령(활성화, XBee API 보안 구성, 사용자 지정 광고 이름)

> 사용자 데이터 릴레이 프레임(BLE에서 시리얼 또는 마이크로 파이선)

> 마이크로 파이선 digi.ble 내장 모듈 


다음 표는 일반적인 사용 사례와 이를 지원하는 다양한 메커니즘을 표시한 것입니다. 이러한 메커니즘의 대부분은 상호 연관성이 있으며 어플리케이션을 향상시키기 위해 결합할 수 있습니다. 


사용 사례

마이크로 파이선

AT 커맨드

호스트 프로세서와 함께 

데이터 릴레이 프레임 사용

AT 구성

XBee3간 구성

 

XBee3간 데이터

 

활성화 / 비활성화 기능

 

스캔 Advertisements 전송

 

커스텀 Advertisements 전송

*

 

커스텀 Advertisements / 비콘 수신 및 처리

 

 

GATT 서비스 검색

 

 

GATT 서비스 연결

 

 

GATT 서비스 Rx/Tx

 

 

페어링 / 본딩

 

 

* 사용자 지정은 디바이스 이름으로 제한됩니다. 



AT 구성 

Digi XBee3는 간단한 BLE 구성을 위한 몇 가지 기본 AT 명령을 제공합니다. AT 명령을 사용하면 BLE를 활성화 또는 비활성화하고, Advertisements BLE 장치 이름을 수정하고, XBee 구성 및 데이터 통신을 위한 XBee BLE GATT 서비스를 활성화할 수 있습니다. BT 명령을 사용하면 기본적으로 비활성화로 설정되어 있는 BLE 가능을 활성화할 수 있습니다. BI 명령은 BLE 페이로드에 Advertisements된 이름을 사용자 정의합니다. 또한 BLE를 통한 구성 및 데이터 전송을 위한 어플리케이션 보안을 강화하기 위해 Digi XBee3 GATT 서비스를 구성하는 여러 AT 명령이 있습니다. 


이 글에서는 BLE 컨텍스트인 GATT, 비콘, Advertisements, 페어링, 본딩 등에 대하여 용어집이나 개념 정의 없이 설명하기 때문에 내용을 이해하기 위해서 독자는 BLE에 대해 이해도가 필요합니다. 이 글의 마지막 부분에 있는 용어집에서 몇 가지 기본적인 정의를 참조하세요. 



XBee GATT 서비스 인증 및 보안 

향상된 어플리케이션 보안은 표준 BLE 페어링에서 제공하는 보안을 넘어서 XBee 구성 및 데이터 통신을 보호하기 위한 추가 계층을 추가합니다. XBee3 장치의 BLE 연결을 제로 지식 증명(zero-knowledge proof) 기반 알고리즘과 키로 보호하여 장치 암호가 손상되는 것을 방지합니다. , BLE를 통해 XBee에 대한 통신을 인증하고 보안하기 위해 암호가 XBee에 저장되지 않습니다. 구성 또는 데이터 전송을 위한 XBee3 GATT 서비스에 연결하려면 XBee BLE 인증 매개변수를 구성해야 합니다. 제조 공정에서 XBee를 어플리케이션에 통합할 때 이러한 매개변수를 구성해야 합니다. 


Digi XCTU는 안전한 비밀번호를 선택하고 입력하면 이러한 매개변수를 쉽게 구성할 수 있는 마법사를 제공합니다. XBee 장치가 손상되어도 비밀번호가 저장되지 않으므로 비밀번호가 드러나지 않지만, Digi는 다른 수단을 통해 비밀번호를 얻을 수 있는 공격자로부터 추가 보호를 보장하기 위해 각 XBee에 대해 고유한 비밀번호를 선택하는 것을 권장합니다. 


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



XBee GATT 서비스 및 사용자 데이터 릴레이 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 플러그인을 https://github.com/digidotcom/xbee-Micropython/tree/master/samples/bluetooth에 호스팅합니다. 이 저장소에는 널리 사용되는 커스텀 비콘 형식을 만드는 데 유용한 몇 가지 옵션 모듈도 포함되어 있습니다. 또한 마이크로 파이선은 시리얼 포트와 BLE 인터페이스 모두에서 사용자 데이터 릴레이 프레임 송수신을 완벽하게 지원하므로 BLE 브로커 역할을 하고 어플리케이션의 데이터를 필터링하는 데 창의적인 방식으로 사용할 수 있습니다. 


마이크로 파이선의 강력한 성능을 보여주는 간단한 예로, 송수신 Advertisements 샘플을 쉽게 결합하여 BLE Advertisements 리피터를 만들 수 있습니다. 그런 다음 이 리피터를 사용자 데이터 릴레이 프레임으로 쉽게 개선하여 전체 또는 특정 필터링된 Advertisements를 시리얼 포트를 통해 호스트 프로세서로 전송할 수 있습니다. 호스트 프로세서는 필터링하려는 Advertisements의 주소 또는 디바이스 유형이 포함된 릴레이 프레임을 마이크로 파이선 프로그램에 전송할 수 있습니다. 



도구 및 라이브러리 

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


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


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



호환성 및 하드웨어 사양 

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


Digi XBee3 모델

BLE 버전**

출력 파워*

감도

실내

실외/LoS(가시 거리)

Cellular (Cat 1 or LTE-M/NB)

4.2

6.3 mW (8 dBm)

-95 dBm

Up to 15 m

Up to 300 m

ZB/DigiMesh/802.15.4

4.2

6.3 mW (8 dBm)

-95 dBm

Up to 15 m

Up to 300 m

최대 -20dBm까지 조정 가능
**  하드웨어는 5.0을 지원합니다. 페이로드 확장을 제외하고 버전 5.0은 아직 활성화되지 않았습니다.


제한 사항 

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



용어집

> GAP(Generic Access Profile / 일반 액세스 프로필)는 디바이스가 BLE 네트워크에서 Advertisements 하고 스캔하는 방법을 정의합니다.

> GATT(Generic Attribute Profile / 일반 속성 프로필)는 디바이스가 다른 BLE 디바이스에 서비스 및 특성을 제공하는 방법을 정의합니다.

> LoS(Line of Sight / 가시 거리)은 간섭 없이 디바이스 간에 이상적인 무선 작동 환경을 제공합니다.

> Advertisements BLE 디바이스에서 전송된 메시지를 브로드캐스트하여 검색을 용이하게 하거나 다른 브로드캐스트 데이터를 전달합니다.

> 비콘(Beacons)은 어플리케이션별 데이터를 전달하기 위한 커스텀 Advertisements입니다. 



추가 리소스 

> https://www.digi.com/products/embedded-systems/digi-xbee/digi-xbee-tools/digi-xbee-pycharm-ide-plug-in 

> https://github.com/digidotcom

> https://github.com/digidotcom/xbee-micropython  

> https://github.com/digidotcom/xbee-android

> https://github.com/digidotcom/xbee-csharp

> https://github.com/digidotcom/xbee-java

> https://github.com/digidotcom/xbee-python

> https://github.com/digidotcom/xbee_ansic_library 




관련제품    


Digi XBee3 ZB / DigiMesh / 802.15.4 모듈


93b6b06147cfdba442f7de69cbbaeb5c_1721990890_6742.jpg
 



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



1553dc12bfc07ff1c84ed752e9d7400a_1719966299_1342.jpg

 


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




1553dc12bfc07ff1c84ed752e9d7400a_1719966311_5617.png