Developer Resources
This page collects the official resources you need to build integrations with the BATCAM FX series and FX Viewer. It provides API references (playgrounds), public example repositories, protocol schemas, and software download links. Check the linked repositories and documents for the latest status of each resource.
API Reference & Playground
Explore each product’s embedded REST API and call endpoints directly in the OpenAPI-spec-based playground. On both products, the device serves the API itself.
| Product | API Reference | Authentication | Default Device IP |
|---|---|---|---|
| BATCAM FX | FX API Playground | HTTP Basic | 192.168.0.30 |
| BATCAM FX2 | FX2 API Playground | HTTP Basic or Bearer (JWT) | 192.168.0.80 |
-
Some BATCAM FX endpoints (overlay, ROS) are only available on firmware 1.0.3 or later.
-
BATCAM FX2 exposes its live spec directly on the device:
GET http://{device_ip}/api-docs/json -
Real-time audio/beamforming streaming (WebSocket + Protobuf) is not covered by the REST spec. See the Example Code and Protocol Definitions sections below.
💡 Note: Be sure to change the factory-default account password when you first sign in.
Product × Interface Documentation Routing
Use the table below to jump to the document for the interface you want to integrate.
| Interface | BATCAM FX | BATCAM FX2 | FX Viewer |
|---|---|---|---|
| REST API | Playground | Playground | – |
| Real-time Stream (WebSocket + Protobuf, RTSP) | Data Flow Overview | Python Protobuf Example | – |
| ROS 2 | ROS Integration | – | – |
| ONVIF | – | ONVIF | – |
| Modbus TCP | – | – | Modbus Integration |
| Device Management Web UI | – | Device Manager | – |
| FX Cloud | – | FX Cloud Login | – |
| Software Update | Web Software Update | Software Update | download.smins.kr |
| Firmware Release Notes | Release Notes | Release Notes | – |
Example Code
| Example | Target Products | Language | What It Covers |
|---|---|---|---|
| fx-api-example-csharp (GitHub) | BATCAM FX | C# | Receive the WebSocket stream → decode Protobuf → composite the overlay onto RTSP video. Includes a GUI example |
| batcam-fx-python-protobuf-example (GitHub) | BATCAM FX · FX2 | Python | REST status queries, WebSocket Subscribe, and parsing Protobuf messages (Beamforming / Audio / LPoint / Prpd) |
-
A step-by-step walkthrough of the Python example (environment setup, binding generation, receiving each message type, FX2 changes) is available on the Python Protobuf Example page in the FX2 developer documentation.
-
When connecting over WebSocket, set the SubProtocol to
Subscribe, and after connecting, send a subscription request with aSubscribeobject to start receiving data. -
WebSocket connections require user authentication, just like RTSP. If your library does not support authentication, add an
Authorizationheader containing{username}:{password}encoded in base64. For details, see the BATCAM FX Developer Docs Overview.
Protocol Definitions
The example repositories are public on GitHub (SM-Instruments-Inc), and the protocol definition repositories are public on the OSS GitLab (smins-oss).
| Repository | Contents |
|---|---|
| fx-stream-protocol (GitLab) | Protobuf schemas and pre-generated files used to encode/decode FX stream data. The canonical schema is fx-protocol-2.proto, which serves as the basis for generating bindings for each language. |
| fx-stream-msgs (GitLab) | ROS 2 interface (message) type definitions that BATCAM FX uses to transmit data. For the detailed specification, see the ROS Integration document. |
Example of generating Python bindings from the schema.
# Install protoc (macOS / Homebrew)brew install protobuf
# Generate Python bindingsprotoc --python_out=. fx-protocol-2.protoSoftware Downloads
Official software releases such as FX Viewer are available from the download hub download.smins.kr. For device firmware change history, see each product’s release notes (BATCAM FX, BATCAM FX2).
Related Documents
-
Getting Started — Introduction to the developer center and per-product documentation tracks
-
BATCAM FX Developer Docs Overview — RTSP/WebSocket + Protobuf data flow and overlay compositing procedure
-
Getting Started with BATCAM FX2 — Initial device setup and access
-
FX Viewer Modbus Integration — Integration with external systems such as PLC, SCADA, and HMI