John Buoy Marine Communications (Part 2)

20160904_154314So Sonar was my sticking point. I wanted to get something down at the lower con that gave me depth. My first thought was just putting in another Depth sounder, this would be nice for redundancy, but even a really chap unit was a couple hundred with transducer, and I would have to figure out how to mount the transducer. I’m not keen on drilling an extra hole in the hull, and the thru-hull transducers don’t get very good reviews. So that option seemed to be out.

I checked the NMEA output from my current Chartplotter/Sonar, and in addition to the GPS data, it has an option to share Sonar data as well. That could be useful, but I wasn’t sure where to send that signal. The tablet that I had didn’t have any kind of input, so I needed something else.

I’d seen a few projects out there for a central Boat Nav computer, so I thought that might be a good option. Freeboard is a popular one, but it involved a fair bit of custom hardware, and I didn’t feel like that was the direction I liked. Digital Yacht has lots of cool hardware to share data, but they are serious money. Eventually, I came across OpenPlotter from Sailoog.

OpenPlotter is an open source chartplotting solution (it uses OpenCPN as well) that runs on a Raspberry Pi. Since I already had a Pi on my shelf that I wasn’t using, this seemed like a good place to start.  Most of the devices that interface with the computer use USB (there are instructions for adding sensors and such, but that was pretty optional. Sailoog sells the parts, but I already had lots of random bits, and a local Electronics store Vetco, where I could get anything that I was missing. So I started with the following from my shelf:

  • The Pi computer
  • A 16 GB Micro SD card
  • A USB GPS receiver
  • A USB WiFi Stick
  • A Powered USB hub
  • A couple of 12 volt to 5 volt converters

My goal was to connect to the NMEA 0183 data from my chartplotter/Sonar, Sailoog had a converter for this, but doing a bit of research i found that NMEA 0183 is based on RS-422. So I needed:

Also, this had the option of adding AIS data to the chartplotter as well! (if you aren’t familiar, AIs is VHF-based signals from large vessels giving you their position, heading and ID. real nice to know if you want to know what’s around the next corner.) This required a specific Software programmable Radio.

With all this, I downloaded the latest version of the software (I found using the image worked better than the NOOBS installer), read through the documentation, and wired everything up. I also attached all the parts to a plywood sheet, to keep it all organized. I also turned on the “Headless” option, so instead of attaching a display directly, you just connect from another computer or tablet to configure and control the Pi. It took me a weekend, but I got it all working. I even picked up the Barometer chip and wired that in. It looks like this:

20160904_154404

With everything on and configured, all this data was collected into the Pi computer. if I ran OpenCPN, I could see all the data displayed on the chart (and if I turned on the Dashboard plug-in, I could show things like the Depth in a neat little sidebar.)

But the best part is this: when OpenPlotter starts up it’s internal hotspot to allow “headless” usage, it also turns on a Signal K feed of all it’s data. This is the part that makes the project worth the time. Having the data broadcast this way means that I can have any Signal K compatible device use this data by connecting to this server. I tested this by disconnecting the Bluetooth GPS from my current tablet, and pointing OpenCPN to the data stream on the Pi server.

The chart came to life with the server data, position, AIS, Depth, everything. Then I took a second tablet, installed OpenCPN, and connected it at the same time. Both worked. The practical upshot is that I can have multiple devices using this data without additional load to the server. I have OpenCPN on my phone, and I could use that as well. This should also work for any Signal K receiver, but I quit testing there. This lets me have my Depth data at the lower con, and take a second tablet showing AIS to the upper con. Neat.

Next, I need to install this into the boat.