Getting Started with the Developer Center
The SMI Developer Center brings together the technical documentation you need to integrate with and develop for the SM Instruments acoustic camera lineup (BATCAM FX, BATCAM FX2) and the FX Viewer application. It organizes data streaming protocols, parameter control, firmware, and external system integration by product, supporting developers who want to bring acoustic and vibration data into their own applications and workflows.
What Can You Build?
With the Developer Center documentation, you can build integrations like these:
-
Real-time overlay video applications — Combine the raw RTSP video from BATCAM FX with the beamforming data received over WebSocket/Protobuf (an array of 1200 floats) to render overlay video in your own application. BATCAM FX Overview
-
REST API-based device control and monitoring — Control account, network, firmware, event, and beamforming settings directly from code. FX API Playground · FX2 API Playground
-
ROS 2 system integration — BATCAM FX supports ROS 2 (Humble Hawksbill) data publishing starting from development firmware v1.0.3b. FX ROS System Integration Overview
-
Factory automation (PLC/SCADA/HMI) integration — Monitor beam power and alarm status through the FX Viewer Modbus TCP server, and control selected settings such as thresholds from external systems. FX Viewer Modbus Integration
Product and Interface Selection Guide
Find your product and integration method in the table below, then go to the matching documentation track.
| Product | Interface | Use it for | Documentation |
|---|---|---|---|
| BATCAM FX | RTSP + WebSocket/Protobuf | Receiving real-time video and beamforming data, overlay compositing | BATCAM FX Overview |
| BATCAM FX | REST API (HTTP Basic authentication) | Account, device settings, event, beamforming, and ROS Domain control | FX API Playground |
| BATCAM FX | ROS 2 | Receiving acoustic data in ROS 2-based systems | FX ROS System Integration |
| BATCAM FX2 | Device Manager (web UI) | Managing device settings and status from a browser | Getting Started with the FX2 Device · Menu Guide |
| BATCAM FX2 | REST API (Basic/Bearer authentication) | Authentication, device settings, beamforming, event, microphone, and system control | FX2 API Playground |
| BATCAM FX2 | WebSocket/Protobuf | Receiving and decoding stream data (Python examples included) | Python Protobuf Example |
| BATCAM FX2 | ONVIF | Discovering devices and acquiring live video from ONVIF-compliant device managers | ONVIF Support |
| BATCAM FX2 | FX Cloud | Creating a cloud account, linking a device via QR code, and viewing live video | Sign-up · Device Linking |
| FX Viewer | Modbus TCP | Monitoring and controlling beam power and alarms from PLC/SCADA/HMI | Modbus Integration Manual |
Documentation Tracks by Product
-
BATCAM FX Developer Documentation — Starts with a data flow overview, then covers beamforming and overlay parameters, Listening Point coordinates, ROS 2 integration, firmware updates (web/shell) with release notes, and the AI-based PRPD classifier.
-
BATCAM FX2 Developer Documentation — Starts with initial access and password change, then covers each Device Manager menu (beamforming, camera, microphone, events, AI, and more), FX Cloud, ONVIF, the Python Protobuf example, and release notes.
-
FX Viewer Developer Documentation — Provides the Modbus TCP integration manual for the FX Viewer application (register map, Python examples, troubleshooting).
Quick Start: Verify Your First Connection
Connect the device and your development PC to the same network, then verify communication with the device in a single request.
BATCAM FX2
-
Connect the device and PC over Ethernet. The factory defaults are
192.168.0.80for Ethernet #1 and192.168.0.81for Ethernet #2. Set your PC’s IP to the same subnet (192.168.0.x). -
Verify communication using the health-check endpoint, which can be called without authentication.
curl http://192.168.0.80/pingExpected response:
{"error": 0, "result": "pong"}- Open
http://192.168.0.80in a browser and log in to the Device Manager. The default account isadmin/1234, and you must set a new password on first login. For detailed steps, see Getting Started with the FX2 Device.
BATCAM FX
All BATCAM FX REST endpoints require HTTP Basic authentication. The device ships with two preconfigured accounts, admin and user; always change the factory default passwords before use. Query the device information endpoint to verify the connection and firmware version.
curl -u admin:<password> http://<device IP>/setting/statusExpected response:
{ "error": 0, "result": { "hardware_id": "3287162925128", "sbrio_version": "1.0.14", "firmware_version": "v0.0.1" }}💡 Note: Some overlay- and ROS-related endpoints are only available on firmware 1.0.3 or later. Real-time data reception uses the RTSP + WebSocket/Protobuf path rather than REST — see BATCAM FX Overview.
API Reference (Playground)
The REST APIs for both products are available in the API Playground built into the Developer Center. Explore each endpoint’s parameters, request/response schemas, and examples right in your browser.
-
BATCAM FX API — The embedded REST API served directly by the device. Covers account (auth), device settings (network, firmware, reboot, device info), event, beamforming (settings, results, overlay), and ROS Domain ID endpoints.
-
BATCAM FX2 API — Covers authentication, device settings, beamforming, event trigger and log, microphone (selection, calibration), and system (monitoring, reset) endpoints.
BATCAM FX2 also serves a live OpenAPI spec directly from the device: GET http://{device_ip}/api-docs/json
💡 Note: WebSocket/Protobuf real-time streaming is not covered by the REST spec. See BATCAM FX Overview and the Python Protobuf Example.
Developer Resources
External resources such as C# integration examples, the Protobuf schema (fx-stream-protocol), and official software downloads are collected on the Developer Resources page.