개발자 리소스
BATCAM FX 시리즈와 FX Viewer 연동 개발에 필요한 공식 리소스를 모은 페이지입니다. API 레퍼런스(플레이그라운드), 공개 예제 저장소, 프로토콜 스키마, 소프트웨어 다운로드 링크를 제공합니다. 각 리소스의 최신 상태는 연결된 저장소와 문서에서 확인하세요.
API 레퍼런스 & 플레이그라운드
제품별 임베디드 REST API는 OpenAPI 명세 기반 플레이그라운드에서 엔드포인트를 탐색하고 직접 호출해 볼 수 있습니다. 두 제품 모두 장비가 API를 직접 서빙합니다.
| 제품 | API 레퍼런스 | 인증 | 기본 장비 IP |
|---|---|---|---|
| BATCAM FX | FX API 플레이그라운드 | HTTP Basic | 192.168.0.30 |
| BATCAM FX2 | FX2 API 플레이그라운드 | HTTP Basic 또는 Bearer(JWT) | 192.168.0.80 |
-
BATCAM FX의 일부 엔드포인트(오버레이, ROS)는 펌웨어 1.0.3 이상에서만 제공됩니다.
-
BATCAM FX2는 장비에서 라이브 스펙을 직접 확인할 수 있습니다:
GET http://{device_ip}/api-docs/json -
실시간 오디오/빔포밍 스트리밍(WebSocket + Protobuf)은 REST 스펙에 포함되지 않습니다. 아래 예제 코드·프로토콜 정의 섹션을 참고하세요.
💡 참고: 장비 출고 시 설정된 기본 계정의 비밀번호는 최초 접속 시 반드시 변경 후 사용하세요.
제품 × 인터페이스 문서 라우팅
연동하려는 인터페이스에 따라 아래 표에서 해당 문서로 이동하세요.
| 인터페이스 | BATCAM FX | BATCAM FX2 | FX Viewer |
|---|---|---|---|
| REST API | 플레이그라운드 | 플레이그라운드 | – |
| 실시간 스트림 (WebSocket + Protobuf, RTSP) | 데이터 흐름 개요 | Python Protobuf 예제 | – |
| ROS 2 | ROS Integration | – | – |
| ONVIF | – | ONVIF | – |
| Modbus TCP | – | – | Modbus 연동 |
| 디바이스 관리 웹 UI | – | 디바이스 매니저 | – |
| FX Cloud | – | FX Cloud 로그인 | – |
| 소프트웨어 업데이트 | 웹 소프트웨어 업데이트 | 소프트웨어 업데이트 | download.smins.kr |
| 펌웨어 릴리스 노트 | 릴리스 노트 | 릴리스 노트 | – |
예제 코드
| 예제 | 대상 제품 | 언어 | 다루는 내용 |
|---|---|---|---|
| fx-api-example-csharp (GitHub) | BATCAM FX | C# | WebSocket 스트림 수신 → Protobuf 디코딩 → RTSP 영상과 오버레이 합성. GUI 예제 포함 |
| batcam-fx-python-protobuf-example (GitHub) | BATCAM FX · FX2 | Python | REST 상태 조회, WebSocket Subscribe, Protobuf 메시지(Beamforming / Audio / LPoint / Prpd) 파싱 |
-
Python 예제의 단계별 설명(환경 설정, 바인딩 생성, 메시지 타입별 수신, FX2 변경사항)은 FX2 개발자 문서의 Python Protobuf 예제 페이지에서 제공합니다.
-
WebSocket 연결 시 SubProtocol을
Subscribe로 지정해야 하며, 연결 후Subscribe객체로 구독 요청을 보내야 데이터 수신이 시작됩니다. -
WebSocket 연결에도 RTSP와 마찬가지로 사용자 인증이 필요합니다. 라이브러리가 인증을 지원하지 않는 경우
Authorization헤더에{username}:{password}를 base64로 인코딩해 포함해야 합니다. 자세한 내용은 BATCAM FX 개발문서 개요를 참고하세요.
프로토콜 정의
예제 저장소는 GitHub(SM-Instruments-Inc)에, 프로토콜 정의 저장소는 OSS GitLab(smins-oss)에 공개되어 있습니다.
| 저장소 | 내용 |
|---|---|
| fx-stream-protocol (GitLab) | FX 스트림 데이터의 인코딩/디코딩에 사용하는 Protobuf 스키마와 사전 생성 파일. canonical 스키마는 fx-protocol-2.proto이며, 각 언어별 바인딩 생성의 기준이 됩니다. |
| fx-stream-msgs (GitLab) | BATCAM FX가 데이터 송신에 사용하는 ROS 2 인터페이스(메시지) 타입 정의. 상세 명세는 ROS Integration 문서를 참고하세요. |
스키마에서 Python 바인딩을 생성하는 예시입니다.
# protoc 설치 (macOS / Homebrew)brew install protobuf
# Python 바인딩 생성protoc --python_out=. fx-protocol-2.proto소프트웨어 다운로드
FX Viewer 등 공식 배포 소프트웨어는 다운로드 허브 download.smins.kr에서 내려받을 수 있습니다. 장비 펌웨어의 변경 이력은 제품별 릴리스 노트(BATCAM FX, BATCAM FX2)에서 확인하세요.
관련 문서
-
시작하기 — 개발자 센터 소개와 제품별 문서 트랙 안내
-
BATCAM FX 개발문서 개요 — RTSP/WebSocket + Protobuf 데이터 흐름과 오버레이 합성 절차
-
BATCAM FX2 시작하기 — 장비 초기 설정과 접속
-
FX Viewer Modbus 연동 — PLC·SCADA·HMI 등 외부 시스템 연동