Ping360 sonar data retrieval and visualization using PingViewer with internet and radio telemetry options


I am currently working on a project involving the Ping360 sonar and I am exploring wireless data retrieval options. I would like to know if it is possible to use Ping Viewer remotely, either through an internet connection or through local radio telemetry.

Would it be possible to configure Ping Viewer to receive data from the Ping360 sonar over the Internet? This would be particularly useful in remote locations where real-time data visualization is required.

As an alternative, I would like to know whether local radio telemetry can be used similarly. Are there any recommended radio telemetry solutions that can provide wireless data communication to a nearby base station and are compatible with the Ping360?

Could you share any insights or experiences with remote data retrieval and visualization using Ping360 Sonar? If anyone has successfully achieved this with specific configurations, hardware or software setups, please share them.

In advance, thank you for your help and expertise.

Hi @Sakthivelj,

The Ping360 has an ethernet communications interface option, from which you can connect it to the network hardware you desire. A couple of potentially useful components are this adaptor (to connect to a standard ethernet cable) and/or our Ethernet Switch (to connect to a local network, potentially including a wifi radio connection).

Ping Viewer can find and connect to Ping360 devices that are accessible on the local network, so to receive data over the internet requires using a VPN between a computer that is locally networked to the device and the computer you’re running Ping Viewer on. That should be possible using ZeroTier (for context, we run the ZeroTier BlueOS extension on the onboard Raspberry Pi when we’re doing remote connections for internal vehicle testing).

A couple of things to consider:

  • Internet connectivity is generally less reliable than a tethered connection, which may result in loss of data
    • The Ping360’s network communication is done via UDP, which does not check for packet delivery success, so if some of the data request commands or returned profile data messages get lost in transit then they won’t automatically be re-requested/re-sent, and may cause lag spikes while Ping Viewer is waiting for a response from the device
  • Not all internet connections are equal - consider the upload bandwidth of the device side and the download bandwidth of the control computer side
    • It’s unlikely this will be a problem, especially since scanning sonar data is much lower bandwidth than a video stream, for example, but it’s worth keeping in mind, especially if you’re planning to use a low bandwidth mobile data setup or something

@EliotBR Thank you for the detailed explanation. You are correct, the internet connection is poor except for my Wi-Fi. Also, I have one more quick question: Is it possible to record, store, and view data on PingViewer at a later time?

Ping Viewer automatically records any data it receives from the device. You can replay that using Replay mode, and it’s also possible to extract (and process) the data with code, if you’re into that kind of thing :slight_smile:

Thanks, @EliotBR,

I tried to setup the Zerotier extension is very hard to setup.

It always shows OFFLINE, how to make it online. is any clear procedure available?

Since the Raspberry PI is on the boat, is there a way to record data using Python without opening the PingViewer GUI? I

Do the instructions in the README help?

You can use the ping-python library to connect to and control the sensor, and you can save the device_data messages you receive in a file (even as a Ping Viewer style log file if you want to, for easy playback later).

Such a program could be run on the control station computer (if you have a continuous connection to the vehicle with sufficient bandwidth, although you would likely just use Ping Viewer in that case), or in a BlueOS extension running on the onboard Raspberry Pi.

Hi @EliotBR I follow the README link, but it wasn’t helpful. I’m still having issues with being offline and the status always shows “requesting configuration.” I tried multiple times.

Is there any manual way to solve the issue?

I have tried to resolve this in the docker but have not had success.

I tried it, but it still shows as offline. I attempted this link inside Docker, but I’m still experiencing the same issue on my PC. When I resolved it, it showed as online.

How to raise an issue on a zero-tier plugin. This repository * Williangalvani ZeroTierOne doesn’t have an issue section to raise the issue

A issue tab was open in the repository, be free to report the issue.

1 Like

Thanks @patrickelectric

Have you created a zero tier account, and tried to connect to your own private network via it’s 16 digit key? Once you’ve done this from zerotier, you should try to join from the blue os extension again. It will still say offline! But don’t worry - you just need to check the “allow” button next to the newly populated device in your zerotier network dashboard, accessible once you’ve logged into their site. You should then see the private IP next to the device, and if your local machine has also joined the network via zerotier client (available for mac/windows/linux/android), then the ping360 device should auto-populate when you launch pingviewer. Sometimes this does not work, but if you setup a manual connection using the appropriate zerotier IP & pingviewer port, you can get the connection working.
If you’re familiar with zerotier already and have done this, do you have internet access on the raspberry pi running blue os? Just because you have a link to it, does not mean it has access to outside networks. You either need to connect the WiFi of the Pi to a local 2.4ghz network, or bridge your computers network adapters - as one is used for communications to Pi, and the other the internet.

Hope that’s helpful!

In terms of recording ping360 data - I’ve been able to stream the lower-bandwidth ping single beam sonar over a 4g connection, and the program deals well with the occasional stutter. If a ping viewer client connection is open to BlueOS, then the mavlink2rest api can be used with python to collect and log sonar data to the vehicle locally with no loss, for retrieval later - even syncing the coordinates to device time or gps position, if available.
I plan to share more to make this process easier in the future!