Skip to content

Xylolabs 지식 베이스

Xylolabs IoT 오디오 및 센서 모니터링 플랫폼의 색인 참조 문서이다. XAP와 XMBP는 Xylolabs Inc.의 특허 출원 중인 독점 기술이다.


핵심 프로토콜 (특허 출원 중)

아래 두 프로토콜은 Xylolabs 데이터 파이프라인의 근간이다. 모든 디바이스 펌웨어, SDK 코드, 서버 수집 로직은 이 프로토콜을 기반으로 구성된다.

XAP — Xylolabs Audio Protocol

XAP는 자원이 제한된 IoT 및 산업용 모니터링 하드웨어에서 실시간 다채널 오디오를 압축하기 위한 Xylolabs의 독점 MDCT 기반 스펙트럼 오디오 코덱이다. XMBP 코덱 ID는 0x03이다.

속성
변환 방식 MDCT
샘플링 레이트 8, 16, 24, 32, 48, 96 kHz
채널 수 1–4
프레임 길이 7.5 ms, 10 ms
압축률 8:1–10:1
비트레이트 범위 채널당 16–320 kbps
CPU 요구량 ~10 MIPS/채널 (DSP 가속 시)
채널당 RAM ~8 KB 인코더 상태

XMBP — Xylolabs Metadata Binary Protocol

XMBP는 IoT 센서 및 모터 텔레메트리를 위한 소형 바이너리 프레이밍 프로토콜이다. Xylolabs SDK를 탑재한 모든 디바이스와 수집 서버 사이의 온-와이어 포맷이다. 매직 바이트: 0x58 0x4D 0x42 0x50 ("XMBP").

속성
바이트 순서 빅엔디안 (네트워크 바이트 순서)
타임스탬프 u64 마이크로초
최소 배치 크기 10바이트 (device ID 없음, 스트림 없음)
메모리 할당 없음 — 호출자 제공 버퍼에 직접 기록
저장 포맷 XMCH (서버 측)
  • XMBP 사양서 (English) — 와이어 포맷, 배치 엔벨로프, 스트림 블록 레이아웃, 샘플 레이아웃, 값 타입 레지스트리, 오디오 코덱 식별자, 인코딩/디코딩 API, 기능 플래그, 전송, XMCH 저장 포맷, 와이어 포맷 예제
  • XMBP 사양서 (한국어)

코덱 분석 및 성능

XAP 및 평가된 모든 경쟁 코덱에 대한 MCU 타겟별 분석 및 벤치마크 데이터이다.

아키텍처 다이어그램

시각적 참조 자료는 diagrams/ 디렉토리에 위치한다.

다이어그램 파일
시스템 아키텍처 개요 diagrams/architecture.svg
수집 파이프라인 diagrams/ingest-pipeline.svg
코덱 비교 차트 diagrams/codec-comparison.svg
SDK 플랫폼 맵 diagrams/sdk-platforms.svg
실현 가능성 옵션 A diagrams/feasibility-option-a.svg
실현 가능성 옵션 B diagrams/feasibility-option-b.svg
실현 가능성 옵션 C diagrams/feasibility-option-c.svg
시간 동기화 다이어그램 diagrams/feasibility-time-sync.svg
윈도우 정렬 다이어그램 diagrams/feasibility-window-align.svg

플랫폼 가이드

하드웨어 설정, 핀 배정, 코덱 지원 여부, SDK 연동을 다루는 MCU별 통합 가이드이다.

RP2350 / Pico 2 W (주요 타겟)

기본 참조 타겟이다. 듀얼 Cortex-M33 @ 150 MHz, 520 KB SRAM, PIO 기반 I2S, CYW43 WiFi/BT, ARMv8-M DSP 확장 명령어 지원. 96 kHz/24-bit 오디오를 위해 외부 I2S ADC가 필요하다.

ESP32-S3 / ESP32-C3

외부 LTE 모뎀 없이 네이티브 WiFi를 사용한다. ESP32-S3는 128-bit Xtensa SIMD를 통해 4ch XAP @ 96 kHz를 지원한다. ESP32-C3 (RISC-V)는 센서 전용 노드이다.

STM32 (F103, F411, WB55, WBA55)

Cortex-M3/M4F/M33 타겟이다. F411, WB55, WBA55는 XAP를 지원한다 (FPU + DSP). WB55는 4ch ADC 48kHz, WBA55는 96kHz로 BLE 전송을 지원한다. F103은 FPU가 없어 센서 전용이다.

nRF52840 / nRF9160

Nordic Cortex-M4F / Cortex-M33 타겟이다. nRF52840은 BLE 5.0으로, nRF9160은 LTE-M / NB-IoT로 전송한다.

RP2040 / Pico (ADPCM 전용)

듀얼 Cortex-M0+ @ 133 MHz, 264 KB SRAM이다. FPU 및 DSP가 없어 XAP 사용이 불가하다. ADPCM만 지원하는 비용 효율적인 센서 노드이다.


하드웨어

Xylolabs RP2350 풀 센서 노드용 하드웨어 참조 문서이다.


펌웨어 및 OTA

  • 펌웨어 릴리스는 S3에 업로드되며 firmware_releases 테이블에 기록된다
  • 배포는 firmware_deployments 테이블을 통해 특정 디바이스를 대상으로 하며 상태 추적이 이루어진다 (pending → downloading → verified → applied)
  • 디바이스는 /api/v1/ota/check에 hardware_target을 포함해 폴링하여 업데이트를 감지한다
  • 진행 상황은 /api/v1/ota/deployments/{id}/progress를 통해 보고된다
  • 관리자는 대시보드의 Firmware 페이지에서 릴리스와 배포를 관리한다

API 레퍼런스

Xylolabs 서버용 REST API 문서이다.

  • API 문서 (English) — 전체 REST API 레퍼런스: 인증, 시설, 사용자, API 키, 디바이스, 오디오 업로드, 오디오 스트리밍, 트랜스코드 작업, 태그, 메타데이터 수집, 메타데이터 쿼리, 시스템 설정, 대시보드 통계, 헬스, XMBP 프로토콜 레퍼런스, RBAC, 오류 응답, 데이터 모델, 페이지네이션, 예제 워크플로우
  • API 문서 (한국어)

SDK — Rust 크레이트

Rust SDK는 모든 신규 펌웨어 개발에 권장되는 경로이다. 모든 크레이트는 no_std 호환이다.

핵심 SDK

HAL 크레이트 (플랫폼 구현체)

크레이트 타겟 전송 방식 코덱
xylolabs-hal-rp RP2350 (Pico 2) UART 경유 LTE-M1 모뎀 XAP
xylolabs-hal-esp ESP32-S3, ESP32-C3 네이티브 WiFi (esp-wifi) XAP / ADPCM
xylolabs-hal-stm32 STM32F103, F411, WB55, WBA55 UART 경유 LTE-M1 모뎀 / BLE GATT XAP / ADPCM
xylolabs-hal-nrf nRF52840, nRF9160 BLE GATT / LTE-M XAP / ADPCM

한국어 버전: hal-rp · hal-esp · hal-stm32 · hal-nrf


코드 예제

레거시 C 참조 예제이다. 신규 개발에는 Rust SDK를 사용한다.

플랫폼 예제 설명
RP2350 docs/examples/pico/ C 예제: 연속 센서 스트리밍, 주기적 샘플링, I2S + 청크 HTTP를 통한 오디오 업로드
RP2350 풀 하드웨어 docs/examples/rp2350-full-hardware/ 현장 배포 노드: PCM1860 + WM-61A + CHT832X + ADXL345 + BSS84 + BG770A을 RP2350에 연결
ESP32 docs/examples/esp32/ C 예제: ESP32-S3 풀 오디오 + 센서 (XAP, WiFi), ESP32-C3 경량 센서 전용 (WiFi 경유 XMBP)
STM32 docs/examples/stm32/ C 예제: F411 오디오 + 센서 (XAP, LTE-M1), F103 센서 전용 (ADPCM, LTE-M1), WB55 BLE 센서 노드
nRF docs/examples/nrf/ C 예제: nRF52840 BLE 센서 비콘 (XMBP), 초저전력 슬립

한국어 버전: pico · rp2350-full-hardware · esp32 · stm32 · nrf


빠른 참조

플랫폼별 코덱 선택

플랫폼 XAP ADPCM 비고
RP2350 (Pico 2) 지원 — 4ch @ 96 kHz 지원 주요 타겟
ESP32-S3 지원 — 4ch @ 96 kHz 지원 네이티브 WiFi
ESP32-C3 미지원 (FPU 없음) 지원 센서 노드 전용
STM32F411 지원 — 4ch @ 48 kHz 지원
STM32WB55 지원 — 2ch @ 48 kHz 지원 BLE 오프로드
STM32F103 미지원 (FPU 없음) 선택 센서 노드 전용
nRF52840 지원 — 2ch @ 48 kHz 지원 BLE 게이트웨이 경유
nRF9160 미지원 지원 센서 노드 전용
RP2040 (Pico) 미지원 (FPU 없음) 지원 센서 노드 전용

XMBP 값 타입 레지스트리 (빠른 조회)

전체 레지스트리는 XMBP 사양서 §5를 참조한다. XAP 0x03을 포함한 오디오 코덱 식별자는 §6에 정의되어 있다.


개정: 2026-03-27