Sonoptix ECHO Multibeam Imaging Sonar Instructions
- July 4, 2024
- Sonoptix
Table of Contents
Sonoptix ECHO Multibeam Imaging Sonar
Specifications
- Product Name: Sonoptix ECHO
- Control and Data Streaming: RTSP and web-api
- IP Address: 192.168.2.42
Product Usage Instructions
Quickstart
- If you are familiar with Python, follow these steps:
- Install the requests, opencv, and matplotlib packages.
- 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
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
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
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
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.
This
endpoint states that it expects us to send a PATCH-request in JSON format with
the fields we would like to update
In the
same way we find out that the streamtype endpoint requires the value 2 to
stream over RTSP
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
A window should now pop up on the screen with the raw data from the sonar
Read User Manual Online (PDF format)
Read User Manual Online (PDF format) >>