Sonoptix ECHO Multibeam Imaging Sonar Instructions

July 4, 2024
Sonoptix

Sonoptix ECHO Multibeam Imaging Sonar

Sonoptix-ECHO-Multibeam-Imaging-Sonar-PRODUCT

Specifications

  • Product Name: Sonoptix ECHO
  • Control and Data Streaming: RTSP and web-api
  • IP Address: 192.168.2.42

Product Usage Instructions

Quickstart

  1. If you are familiar with Python, follow these steps:
  2. Install the requests, opencv, and matplotlib packages.
  3. Run the provided example script to set the sonar range to 3 meters and capture an image.

RTSP Data Output
The RTSP stream provides data with one column for each beam and one row for each sample. The pixel intensity represents the acoustic signal strength at that point. To view the RTSP stream, use a compatible viewer like VLC by connecting to rtsp://192.168.2.42:8554/raw.

API Control
The Sonoptix ECHO offers API control accessible at http://192.168.2.42:8000/docs. Use this interface to interact with the device programmatically.

Python Example
Refer to the provided Python example script to understand how to send commands to the Sonoptix ECHO using Python. The script uses the opencv library and demonstrates how to enable the sonar, set the range, and capture data.

FAQ

  • What programming languages are supported for interacting with Sonoptix ECHO?
    The Sonoptix ECHO can be controlled using various programming languages through its RTSP and web-api interfaces. The provided example uses Python, but other languages can also be used.

  • Can I change the sonar range programmatically?
    Yes, you can set the range of the sonar programmatically by sending a PATCH request to the appropriate API endpoint with the= desired range value.

  • How can I visualize the RTSP stream data?
    To visualize the RTSP stream data, you can use compatible viewers like VLC that support RTSP streaming. Simply connect to theRTSP URL provided in the user manual to view the data.

The Sonoptix ECHO supports programmatic control and data streaming using RTSP and a web-api. This allows for easy and stable unattended operation across a wide variety of platforms and network conditions.
The included example uses python to stream RTSP, but the library used is opencv, which is supported across many different programming languages
192.168.2.42 will be used for the IP of the sonar in this guide

Quickstart

If you are already familiar with python, install the requests, opencv and matplotlib packages and run the example below. This will set the range of the sonar to 3 meters and capture and plot a single image from the sonar

Sonoptix-ECHO-Multibeam-Imaging-Sonar- \(1\)

RTSP Data output
RTSP, the Real-Time Streaming Protocol, is a widley used and well supported protocol for sending multimedia over the network. The Sonoptix ECHO sup-ports streaming video using this protocol, allowing for convenient retrieval and processing of raw data.
RTSP does not impose any restrictions on the particular encoding used and most clients are able to select based on information from the server, but for internal implementations it may be useful to know that the data is streamed in H.264-format. When decoded, each image corresponds to a rectangular matrix of unsigned 8-bit integers.

The matrix has one column for each beam, and one row for each sample. The number rows changes depending on the range. The intensity of each pixel represents the return strength of the acoustic signal at that point
The RTSP-stream can be quickly sanity checked using a viewer which supports RTSP, such as vlc. With the sonar mounted in a small tank, and after setting the stream type to RTSP in the web-UI, the video stream from VLC looks like this when connected to rtsp://192.168.2.42:8554/raw

Sonoptix-ECHO-Multibeam-Imaging-Sonar- \(2\)

API Control

The Sonoptix ECHO has a web-api available for remote control – This interface allows for control of runtime settings such as range or operation mode, but also provisioning parameters, for example video descripton text or IP address.
The easiest way to get to know the API is to use the browsable API available on the sonar, reachable through http://192.168.2.42:8000/docs in a web browser.
This UI provides information on available endpoints, as well as an interactive console for making calls to the API

Sonoptix-ECHO-Multibeam-Imaging-Sonar- \(3\) Python example
To run this example, you will need an installation of python and some supporting libraries. This example will assume that python and pip is available

Install the required dependencies
pip install matplotlib requests opencv-python

The following sets up the imports and the required URLs for RTSP and the web API. All the endpoints of the API are prefixed with /api/v1

Sonoptix-ECHO-Multibeam-Imaging-Sonar- \(4\)

Browsing the docs on http://192.168.2.42:8000/docs, we find that the transponder endpoint controls the range and whether the sonar is enabled.

Sonoptix-ECHO-Multibeam-Imaging-Sonar- \(5\) This endpoint states that it expects us to send a PATCH-request in JSON format with the fields we would like to update

Sonoptix-ECHO-Multibeam-Imaging-Sonar- \(6\) In the same way we find out that the streamtype endpoint requires the value 2 to stream over RTSP

Sonoptix-ECHO-Multibeam-Imaging-Sonar- \(7\)

We are now ready to capture video. Using the VideoCapture class from opencv, we only need to set it up with the correct url, and it will start requesting data.
Using the .read method will return a return value and a 2D array. This 2D array is the image, with sample number going downwards, and beam-number going from left to right

Sonoptix-ECHO-Multibeam-Imaging-Sonar- \(8\)

A window should now pop up on the screen with the raw data from the sonar

Sonoptix-ECHO-Multibeam-Imaging-Sonar- \(9\)

Read User Manual Online (PDF format)

Read User Manual Online (PDF format)  >>

Download This Manual (PDF format)

Download this manual  >>

Related Manuals