BlueOS Bridge with local logging for BlueBoat

Hi everyone. I am trying to attach a piece of hardware to the BlueBoat that communicates over serial. I can set up a bridge to view on the controller, but I would also like to store the data locally on the Pi as it comes in. This is because the BlueBoat may go out of range.

I have a secondary requirement to get the GPS data stream to a file too so that I can match up the readings.

Does anyone have an easy way to do this?


Hi Chris,

I didn’t have a chance to play with BlueBoat yet, but I think if the use similar setup as ardurover/boat then you can save the GPS (if any exists and works) data in logs file and extract it later by directly connect to the pi or as long as you have telemetry connection over Wifi/radio like 3dr/dragonlink 433mhz. Regarding other sensors/hardware it need to be specified/depends. Usually if its not implemented in the ardupilot/bluboat firmware stack you would need to write some simple script to grab and save somewhere those data.


What kind of serial device? If NMEA, you could probably do it now with SonarView if you happened to have an Omniscan sonar on board also. SonarView log files are recorded on the RPi even when out of range and NMEA data can be included in the stream. We could support any sort of “generic serial device” also quite easily. Maybe we could even implement a “dummy sonar” so you wouldn’t need an Omniscan. Ha ha. Just brainstorming here…

Hi Chris -
If you’ve setup a serial bridge successfully, unfortunately that port is in use and can only forward the data across your communications link. Another script accessing the same port at the same time is not possible, fundamentally. However…
You could develop a python script, and even turn it into an extension, that logs all the data from the serial port before then forwarding it on over UDP. In this way only one process is accessing the serial port, but you’re accomplishing both of your goals.
I’m wrapping up development and will soon release an alpha version of a simple Ping2 survey extension, that does something similar. It leaves the Ping2 connected to the autopilot serial port, and retrieves the data from it for local-logging via the Mavlink2Rest interface (Distance sensor.) It then sends the data to a vue2 based webpage, that lets the user monitor the location and data quality as it’s collected, via communications link. If communications are lost, only the webpage stops updating - the onboard logging won’t miss a thing!