극대화된 정밀도를 자랑하는 블루투스 실내 포지셔닝 기술
Bluetooth 기반 실내 포지셔닝 기술
이미지 출처: photographicss/Stock.adobe.com
조셉 다우닝(Joseph Downing), 마우저 일렉트로닉스
2023년 10월 3일
Bluetooth® 실내 포지셔닝은 실내 공간 내에서 길을 찾고 상호 작용하는 방식을 획기적으로 바꾸는 혁신적 기술입니다. 이 혁신적 기술로 위치 기반 서비스의 지평이 변하고 있습니다. 실내 환경에서 정확하고 신뢰할 수 있는 위치 정보를 제공할 수 있는 Bluetooth 실내 포지셔닝 기술은 소비자를 위한 실내 내비게이션 기능 향상부터 자산 추적 지원, 기업용 근접성 기반 경험까지 수많은 애플리케이션을 제공합니다.
Bluetooth 실내 포지셔닝 기술의 핵심은 BLE(저전력 블루투스) 기술을 사용하는 것으로, 이를 통해 장치가 전력을 절약하면서도 데이터를 효율적으로 교환할 수 있습니다. 이 기술을 사용하면 실내 공간 내에 전략적으로 배치된 BLE 비컨을 활용함으로써 스마트폰, 태블릿, 기타 호환 장치가 높은 정확도로 위치를 정밀하게 결정할 수 있습니다. 소비자들은 쇼핑몰, 공항, 박물관 등 복잡한 건물 내에서 원활하게 내비게이션 기능을 사용할 수 있고, 기업들은 실시간 자산 추적 및 개인 맞춤형 위치 기반 서비스로 운영을 최적화할 수 있습니다.
이 글에서는 u-blox XPLR-AOA-2 익스플로러 키트를 사용하여 프로그래밍, 설정, 배치를 포함한 Bluetooth 실내 포지셔닝 기능을 시연하는 데 필요한 단계를 설명합니다.
프로젝트 재료 및 리소스
프로젝트 BOM(자재 명세서)
프로젝트 코드/소프트웨어
- Local Positioning Engine 2.0.X
- u-connectLocate
- nrfutil 플래싱 도구
- C209 AoA 태그 소프트웨어 릴리스
- s-center Wi-Fi® 및 Bluetooth 평가 소프트웨어
추가 자료
추가 하드웨어
- USB(A)-USB 마이크로(B) 케이블 어셈블리 × 4
- 십자 스크류 드라이버
- u-blox EVK-ODIN-W2 평가 키트(선택 사양)
프로젝트 기술 개요
이 프로젝트는 중급 프로젝트이지만, u-blox 익스플로러 키트 사용 설명서에서 소개하는 무선 옵션을 사용하려고 하면 더 어려워질 수 있습니다. 이 프로젝트의 디자인에서는 다음 제품을 집중적으로 다룹니다.
u-blox XPLR-AOA-2 익스플로러 키트
u-blox XPLR-AOA-2 익스플로러 키트는 실내 포지셔닝 사용 사례를 보여주기 위해 Bluetooth 5.1 방향 찾기 기술을 평가하고 실험할 수 있도록 특별히 설계되었습니다. 이 키트에는 각각 u-blox NINA-B411 모듈이 장착된 C211 안테나 보드 4개와 각각 u-blox NINA-B406 모듈이 장착된 C209 태그 4개가 포함됩니다(그림 1).
그림 1: u-blox XPLR-AOA-2 익스플로러 키트. (출처: 마우저 일렉트로닉스)
XPLR-AOA-2 익스플로러 키트는 안테나 보드(C211)와 태그(C209)를 필수 소프트웨어와 결합함으로써 AoA(Angle-of-Arrival) 기술을 쉽게 평가할 수 있도록 하여 고도로 정확한 실내 포지셔닝을 지원합니다. AoA 기술은 Bluetooth 수신기에 연결된 안테나 어레이가 포함된 안테나 지점에서 활용됩니다. 이 키트는 이 기술을 통해 부착된 CTE(Constant Tone Extension)로 신호를 전송하는 이동 태그의 방향 또는 각도를 확인할 수 있습니다.
이 키트는 NINA-B411 모듈에 내장된 MCU에서 작동하는 u-connectLocate 소프트웨어를 사용하여 연산을 수행합니다. 이 키트는 강력한 Bluetooth 통신 링크 및 낮은 전류 소비와 함께 방향 찾기 기능을 활용하여 매우 정확한 실내 포지셔닝 시스템을 만들 수 있도록 지원합니다. 이러한 시스템은 3개 이상의 안테나 지점에서 수신된 방향을 삼각측량하여 태그의 위치를 계산할 수 있습니다.
C211 안테나 보드의 NINA-B411 모듈
u-blox NINA-B41 시리즈 Bluetooth 5.1 Low Energy 모듈은 Nordic Semiconductor nRF52833 칩을 기반으로 제작되었으며 NINA-B3 모듈과의 핀 호환성을 제공합니다. 이 시리즈에는 NINA-B416(그림 2), NINA-B411 및 NINA-B410 모듈이 포함됩니다.
그림 2: u-blox NINA-B416 Bluetooth 5.1 Low Energy 모듈. (출처: 마우저 일렉트로닉스)
NINA-B416 모듈에는 내장된 통합 안테나가 함께 제공되는데, 덕분에 호스트 PCB에서 RF 트레이스 설계가 필요하지 않아 통합 프로세스가 간소화됩니다. NINA-B411 모듈에는 외부 안테나에 연결하기 위한 출력 핀용 통합 안테나가 없는 반면, NINA-B410에는 외부 안테나를 모듈에 쉽게 연결할 수 있게 해주는 U.FL 커넥터가 있습니다.
C209 태그의 NINA-B406 모듈
u-blox NINA-B40 시리즈 단독형 BLE(저전력 블루투스) 모듈(그림 3)은 까다로운 전문적 환경에서 탁월한 성능을 발휘하도록 설계된 콤팩트한 장치입니다. Bluetooth 5.1 기능을 자랑하는 이 모듈은 Thread와 지그비가 포함된 IEEE 802.15.4 및 NFC를 위한 지원 기능도 제공하므로, 다양한 응용 분야에 충분히 다용도로 사용할 수 있습니다.
그림 3: u-blox NINA-B40 시리즈 단독형 BLE 모듈. (출처: 마우저 일렉트로닉스)
NINA-B406 버전에는 내부 PCB 안테나가 장착되어 있어 탁월한 성능과 확장된 범위를 자랑하는 견고한 로우 프로파일 솔루션을 제공합니다. 반대로, NINA-B400 변형에는 U.FL 커넥터가 함께 제공되므로 선택한 외부 안테나와 완벽하게 통합할 수 있습니다. 더구나, 이러한 모듈은 내부 안테나 또는 다양한 외부 안테나와 함께 사용할 수 있도록 전 세계적으로 인증된 제품이므로, BLE를 설계에 통합하는 데 드는 통합 시간, 비용, 노력이 효과적으로 감소됩니다.
UART, SPI, PDM 및 PWM, I²C, I²S, GPIO 핀 및 AD 컨버터 인터페이스 지원 기능이 있는 NINA-B40 BLE 모듈은 다양한 연결 옵션을 제공합니다. 이 옵션으로 다른 사용 사례 중에서도 특히 실내 포지셔닝, 길 찾기, 자산 추적에 적용할 수 있습니다.
프로젝트 개발
XPLR-AOA-2 익스플로러 키트에는 이 프로젝트에서 보여주는 데모를 설정하는 데 필요한 거의 모든 것이 제공됩니다. 무선 구성도 제공됩니다. 그러나 이 프로젝트에서는 안테나 보드 4개에서 정보를 중계하기 위해 오직 USB-직렬 인터페이스만 사용합니다. CR2032 코인 셀 배터리를 추가하는 것 외에도, 이 프로젝트에서는 4.88m(16ft) USB(A)-마이크로 USB(B) 케이블 4개를 사용하여 4개의 태그 위치를 각각 효과적으로 표시하기에 적절한 영역을 만들기에 충분한 길이를 제공합니다. 이 데모에서는 Windows 10을 실행하는 PC도 사용합니다.
소프트웨어 설정
이러한 태그 4개와 안테나 4개는 모두 부트 로더로만 로드되며, 데모를 위해 이들을 설정하고 구성하기 전에 각각 프로그래밍해야 합니다. 코인 셀 배터리를 설치하기 전에 태그를 프로그래밍하는 것이 좋습니다.
C211 안테나 프로그래밍
먼저 안테나 보드에서 다음을 수행하십시오.
- 프로젝트 코드/소프트웨어에 연결된 u-connectLocate 소프트웨어를 다운로드합니다.
- 다운로드한 .zip 파일을 찾아서 추출하고 그 위치를 기억합니다.
- USB 케이블 4개 중 하나를 사용하여 프로그래밍 중인 안테나(J8) 보드를 PC에 연결합니다.
- Windows 검색 표시줄을 사용하여 장치 관리자를 입력하고 리턴 키를 누릅니다.
- 포트(COM 및 LPT)를 찾아서 연 다음, 안테나 보드에서 사용하는 COM 포트를 확인합니다. (각 안테나 보드에는 고유한 COM 포트가 할당되므로 포트 번호를 기록해 둡니다. 그림 4를 참조하십시오.)
그림 4: 포트(COM 및 LPT)를 표시하는 장치 관리자 창. (출처: 마우저 일렉트로닉스)
- Windows 검색 표시줄에 CMD를 입력하고 Enter 키를 눌러 명령 프롬프트를 엽니다.
- 명령 프롬프트 창(그림 5)에서 다음 명령줄을 입력합니다. newtmgr –conntype=serial –connstring=”COMXX,baud=115200” image upload <binary file>
- COM 다음의 XX를, 프로그래밍 중인 특정 안테나 보드를 위해 수록된 장치 관리자내 포트로 바꿉니다.
- 교체 <binary file> 추출한 u-connectLocate.zip 파일에 있는 .bin 파일로 바꿉니다.
그림 5: C211을 프로그래밍하기 위한 명령줄이 있는 CMD 창. (출처: 마우저 일렉트로닉스)
- 프로그래밍이 완료되면 보드의 리셋 버튼을 누릅니다. 올바르게 프로그래밍된 경우 DS1의 LED가 녹색으로 켜집니다(그림 6).
- 각 안테나 보드에 대해 3~8단계를 반복합니다.
그림 6: 프로그래밍 후 C211에서 켜진 LED. (출처: 마우저 일렉트로닉스)
C209 태그
C209 태그를 프로그래밍하려면 2회의 소프트웨어 다운로드가 필요합니다.
- 프로젝트 코드/소프트웨어의 nrfutil 플래싱 도구 링크를 사용하여 Nordic GitHub 저장소에서 nrfutil 플래싱 도구를 다운로드하고 설치합니다.
- 프로젝트 코드/소프트웨어에서 C209 태그 소프트웨어 릴리스를 다운로드하고 추출합니다.
- 추출한 파일에는 설치에 사용된 "app".zip 파일이 포함됩니다.
- C209 태그 보드의 SW2를 누른 채 USB 프로그래밍 케이블을 C209의 J1에 삽입합니다. (그러면 부트 로더가 "다운로드" 모드로 설정됩니다.)
- 장치 관리자를 사용하여 C209 태그에 할당된 COM 포트를 식별합니다. (안테나 보드와 마찬가지로, 각 C209 태그에는 고유한 COM 포트가 할당됩니다.)
- CMD 창에서 다음 명령줄을 입력합니다. nrfutil dfu serial -pkg “app”.zip -p COMXX -b 115200 -fc 1
- "app"을 추출된 C209 태그 소프트웨어 릴리스에 포함된 .zip 파일의 이름으로 바꿉니다(예: NINA-B4-DF-TAG-SW-2.0.1-001.zip).
- COM 다음의 XX를 알맞은 포트 번호로 바꿉니다.
- 프로그래밍이 완료되면 C209 태그에서 USB 케이블을 분리합니다.
- 전원이 공급되면 계속 깜박이는 파란색 LED가 활성화됩니다.
Local Positioning Engine
Local Positioning Engine은 사용자에게 각 안테나 보드의 위치를 설정할 수단뿐 아니라 정의된 공간 내에서 각 태그를 시각화할 수단도 제공합니다.
- 프로젝트 코드/소프트웨어에 제공된 링크를 사용하여 Local Positioning Engine 2.0.x를 탐색하여 해당 파일을 다운로드합니다.
- 다운로드한 파일을 찾아 내용을 추출합니다.
- 새 폴더를 열고 server.exe를 찾아 파일을 실행합니다.
엔진에 액세스하려면 웹 브라우저 창을 열고 http://localhost:5000/으로 이동합니다.
여기에서 자체적인 평면도를 업로드하거나 기존 평면도를 사용하여 방의 전체 크기는 물론 각 안테나 보드의 위치와 자세를 설정할 수 있습니다. (해당 단계는 이 글의 뒷부분에서 다루겠습니다.)
하드웨어 설정
이 키트의 하드웨어 설정은 간단하지만, 각 안테나 보드를 제자리에 장착하기 어려울 수 있습니다. 또한 Local Positioning Engine을 실행하는 PC에 안테나 보드 4개에 전부 동시에 연결하는 데 필요한 수의 USB 포트가 있는지 확인해야 합니다.
- 각 C209 태그 뒷면에서 열려 있는 배터리 홀더에 코인 셀 배터리를 삽입합니다.
- 분해 중에 탈거한 십자 머리 나사 2개를 사용하여 포장 내부에 각 태그를 다시 조립합니다.
- USB(A)-마이크로 USB(B) 케이블 4개를 Local Positioning Engine 서버를 실행하는 PC에서 사용 가능한 USB 포트 4개에 연결합니다.
- USB 케이블의 다른 쪽 끝을 각 안테나 보드에 연결합니다. 보드가 연결되면 보드의 녹색 LED가 켜집니다.
그림 7과 같이 약간의 창의력을 발휘하여 각 안테나 보드를 측정하고 장착하십시오.
그림 7: C211 안테나 보드 배치 구성. (출처: u-blox)
모두 하나로 결합하기
모든 것을 프로그래밍하고 태그를 재조립하고 안테나 보드를 장착했으므로, 이제 모니터링 대상 영역을 구성할 차례입니다. Local Positioning Engine에서는 메뉴를 통해 여러 옵션을 제공하지만, 이 데모에서는 평면도, 안테나, 지도 보기만 사용합니다.
- u-blox Pos Server 상단의 메뉴에서 평면도를 선택합니다(그림 8).
- 안테나 보드가 차지하는 면적의 측정값을 설정합니다.
- “새 평면도 업로드”를 선택합니다.
그림 8: u-blox Pos Server 평면도. (출처: 마우저 일렉트로닉스)
- 참고: 여기에서 자체 평면도를 업로드하거나(평면도는 png, jpg, jpeg, tiff, tif, bmp, gif 또는 ppm 형식이어야 함) Local Position Engine 서버 프로그램과 동일한 파일에 제공된 사전 정의된 평면도(그림 9) 중 하나를 사용할 수 있습니다.
그림 9: u-blox Pos Server 일반 평면도. (출처: 마우저 일렉트로닉스)
- 상단 메뉴에서 "앵커"를 선택합니다(그림 10, 구성되지 않은 보드에 관한 팝업 메시지가 표시될 수 있음).
- 메뉴 표시줄 바로 아래에 있는 드롭다운 메뉴를 사용하여 구성할 보드를 선택합니다.
- X, Y, Z축의 위치 설정에 관해 제공된 지침을 사용하여 안테나가 모니터링할 영역과 일치하도록 필요에 따라 변수를 설정합니다.
- 다음으로, 보드가 장착된 위치에서 향하는 각도를 결정하는 방위각을 설정해야 합니다.
- 설정 후 "안테나 구성"을 선택하여 완료합니다.
- 나머지 세 안테나 보드 각각에 대해 1~8단계를 반복합니다.
그림 10: u-blox Pos Server 앵커 구성. (출처: 마우저 일렉트로닉스)
공간 내 안테나 보드 레이아웃 구성을 완료하면 공간을 보고 태그를 조정하고 태그 모니터링을 시작할 수 있습니다.
- 상단 메뉴에서 "지도 보기"를 선택합니다.
- 각 안테나 지점을 보고 배치와 방위각이 올바로 설정되었는지 확인합니다.
- 화면 왼쪽 하단의 재생 아이콘을 선택합니다.
각 태그를 나타내는 점이 나타나 공간 내 태그의 위치를 보여줍니다(그림 11).
그림 11: 4개 태그를 모두 보여주는 u-blox Pos Server. (출처: 마우저 일렉트로닉스)
한 걸음 더 나아가기
이 프로젝트는 USB-직렬 인터페이스를 사용하여 완료되었으므로 큰 공간을 구성하려고 할 때 제한적일 수 있습니다. 연결된 가이드는 추가 하드웨어가 필요하지만 모니터링할 수 있는 공간의 규모를 늘려 가능성을 열어주는 무선 변형을 제공합니다. Local Position Engine의 TraxMate 옵션과 함께 전체 대상 면적을 늘릴 뿐 아니라 지도에서 자신의 물리적 위치를 사용하여 평면도를 제공할 수도 있습니다(그림 12).
그림 12: Traxmate 위치 구성. (출처: 마우저 일렉트로닉스)
맺음말
Bluetooth 실내 포지셔닝은 실내 공간 내에서 길을 찾고 상호 작용하는 방식을 바꾸어놓고 있습니다. 정밀하고 신뢰성 높은 포지셔닝 기능과 더불어, 이 혁신적인 기술은 위치 기반 서비스의 지평을 바꾸고 소비자 경험을 향상시키며 비즈니스 운영을 최적화할 수 있는 수많은 가능성을 열고 있습니다.
그 핵심이 되는 Bluetooth 실내 포지셔닝 기술은 BLE 기술의 효율성과 전력 보존 능력을 활용하여 전략적으로 배치된 BLE 비컨으로 스마트폰, 태블릿 등의 기기가 뛰어난 정확도로 올바른 위치를 결정할 수 있도록 합니다. 이러한 발전 덕분에 소비자는 쇼핑몰, 공항, 박물관 등 복잡한 실내 환경에서 내비게이션 기능을 원활히 사용할 수 있으며 기업은 실시간 자산 추적 및 개인 맞춤형 위치 기반 서비스와 같은 귀중한 도구를 활용할 수 있습니다.
Bluetooth 실내 포지셔닝 기능 탐구에 관심이 있는 사람들을 위해 u-blox XPLR-AOA-2 익스플로러 키트 프로젝트 문서에서는 프로그래밍, 설정, 배치에 대한 포괄적인 가이드를 제공합니다. 이 가이드는 이처럼 혁신적인 기술의 잠재력을 이해하고 활용하는 데 큰 도움이 되어 드릴 것을 약속합니다.
저자 소개
조셉 다우닝(Joseph Downing)은 2011년에 마우저 일렉트로닉스에 기술 지원 전문가로 입사해 이후 기술 콘텐츠 전문가로 성장했다. 조셉은 Intel, Radisys, Planar 등의 회사에서 근무하며 20여 년간 전자 업계에서 종사했다. 열렬한 메이커로서, 조셉은 무역박람회뿐 아니라 Mouser.com의 애플리케이션 및 기술 사이트에 기술 프로젝트와 자료를 제공하고 관리하고 데 일조하고 있다.