Skip to content

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.

ProductInterfaceUse it forDocumentation
BATCAM FXRTSP + WebSocket/ProtobufReceiving real-time video and beamforming data, overlay compositingBATCAM FX Overview
BATCAM FXREST API (HTTP Basic authentication)Account, device settings, event, beamforming, and ROS Domain controlFX API Playground
BATCAM FXROS 2Receiving acoustic data in ROS 2-based systemsFX ROS System Integration
BATCAM FX2Device Manager (web UI)Managing device settings and status from a browserGetting Started with the FX2 Device · Menu Guide
BATCAM FX2REST API (Basic/Bearer authentication)Authentication, device settings, beamforming, event, microphone, and system controlFX2 API Playground
BATCAM FX2WebSocket/ProtobufReceiving and decoding stream data (Python examples included)Python Protobuf Example
BATCAM FX2ONVIFDiscovering devices and acquiring live video from ONVIF-compliant device managersONVIF Support
BATCAM FX2FX CloudCreating a cloud account, linking a device via QR code, and viewing live videoSign-up · Device Linking
FX ViewerModbus TCPMonitoring and controlling beam power and alarms from PLC/SCADA/HMIModbus 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

  1. Connect the device and PC over Ethernet. The factory defaults are 192.168.0.80 for Ethernet #1 and 192.168.0.81 for Ethernet #2. Set your PC’s IP to the same subnet (192.168.0.x).

  2. Verify communication using the health-check endpoint, which can be called without authentication.

Terminal window
curl http://192.168.0.80/ping

Expected response:

{"error": 0, "result": "pong"}
  1. Open http://192.168.0.80 in a browser and log in to the Device Manager. The default account is admin/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.

Terminal window
curl -u admin:<password> http://<device IP>/setting/status

Expected 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.