Information about ping sonar altimeter and echosounder

I developed an application for the control of a submarine, I want to know if there is a means of communication between my interface and the ping-viewer.

Hi @jadi, welcome to the forum :slight_smile:

Generally other applications don’t need to communicate with Ping Viewer, but you may wish to communicate with the device using ping-protocol messages - we provide a variety of software libraries that can help with that, which are linked to in the Technical Details on the Ping Sonar product page.

If that’s not clear, or doesn’t answer your question, feel free to follow up with clarification of what you’re trying to achieve, and the hardware, softwares (including versions), and connections that are currently involve :slight_smile:

Hello Eliot, thank you for this answer indeed I would like to have more explanation concerning the protocol to follow. My application is made in python 3 for the server which allows to retrieve data via local socket, in html/css and Javascript and electron js for the back-end. I’m trying to figure out how to translate the dots once sent. My colleague analyzed the arduino code a bit for sending coordinates.

I’d recommend you take a look at our ping-python library, which includes a simple example for interacting with the sonar, and an api reference for more general communications :slight_smile:

Thanks i will take a look at it.

Hello eliot, I come back to the news. I understood a bit the protocol for sending data and I was able to retrieve it via javascript. The problem is that I can’t figure out how the radar curve is plotted and displayed

Hi @jadi,

Ping Viewer is open source, so you’re welcome to refer to that implementation, but it’s written in C++ with Qt. We don’t currently have code for how to plot and display a sonar plot in javascript.

Each profile is an array of 8-bit data (intensity values from 0-255), and we plot it in Ping Viewer by using the specified speed of sound in water to convert the intensity times to distances, and then apply a gradient to each measurement value.

Hello Eliot, it’s me again. I tried to redirect the ping viewer application on my command interface and to overlay the different windows. In your illustration video is there a cable that is connected to the pc for displaying the application interface? Thanks

Hi @jadi,

I’m not certain what you’re asking about here, so you may need to clarify if my response isn’t helpul.

If it’s relevant, Ping Viewer has an always on top mode that allows keeping the Ping Viewer application in front of anything else on your screen.

The Ping Sonar is not a wireless sensor, so there needs to be some form of connection between the sonar and the computer that it’s communicating with. On our ROVs that’s generally set up like this, where there’s a USB connection to the onboard Raspberry Pi, which then forwards that connection to a UDP endpoint that Ping Viewer can connect to from the topside computer through the tether.

Hello Eliot, yes but in the settings the opacity only stops at 70% and that doesn’t suit me.

is the transmission of this connection to a UDP endpoint wired or over the network?

Are you wanting it even more transparent than that? That seems like it would be quite difficult to see.

If it’s important to you to have custom values you can create a custom build where you modify the opacity options.

That depends on your setup, but since wifi doesn’t work through water the majority of connections will at least be tethered to the surface, and are generally wired directly to the topside computer.

Ok I’ll try to exploit, because the process does not suit me so much.