NMEA AIS Data over WiFi.

  • Thread starter Thread starter DJE
  • Start date Start date

DJE

Well-Known Member
Joined
21 Jun 2004
Messages
7,742
Location
Fareham
www.casl.uk.com
I have a small Widows 10 computer on the chart table running Opencpn and receiving AIS Data over a NMEA to USB converter. I also have a small wireless router and a tablet in the cockpit.

Plan A was to use Team Viewer on the tablet to remote control the chart table system. That sort of works but is a bit flaky. But at least shows that both machines talk to each other via the router.

The tablet has Marine Navigator already and I could put another copy of Opencpn on there I suppose. So all I really need is to get the AIS Data to the tablet. Is there an easy way of doing this without being a networking expert?

I also have the NMEA AIS Data over a cable to the steering pedestal where it used to feed an old chartplotter that died. Could I use another NMEA to USB converter to get this into the tablet? But that would tie the tablet down to one location in the cockpit.

Limited networking experience but willing to learn if I have to.
 
Just wondering if there is a solution using the hardware that I already have - possibly by getting the Windows system to re-transmit the data it is getting from the AIS transponder.
 
I have a small Widows 10 computer on the chart table running Opencpn and receiving AIS Data over a NMEA to USB converter. I also have a small wireless router and a tablet in the cockpit.

Plan A was to use Team Viewer on the tablet to remote control the chart table system. That sort of works but is a bit flaky. But at least shows that both machines talk to each other via the router.

The tablet has Marine Navigator already and I could put another copy of Opencpn on there I suppose. So all I really need is to get the AIS Data to the tablet. Is there an easy way of doing this without being a networking expert?

I also have the NMEA AIS Data over a cable to the steering pedestal where it used to feed an old chartplotter that died. Could I use another NMEA to USB converter to get this into the tablet? But that would tie the tablet down to one location in the cockpit.

Limited networking experience but willing to learn if I have to.

Lots of ways to do this, some of which will depend on what equipment you have onboard that could be included with the AIS data. Is it just AIS or do you have depth, GPS etc that OpenCPN could display ?

Budget will also play a part, of course. If you don't fancy Matthews £400 solution there are much cheaper alternatives, again depending on just what you want to broadcast. If it really is just AIS, this might be suitable http://nmeatools.com/Wi-Fi
L
 
As PaulRainbow says it depends upon budget. If it is sufficiently high I'd recommend a ShipModul Miniplex, which costs about €300. It's principly an NMEA multiplexer cum router, but you can get versions which will support both USB and WiFi.

I'm using one for pretty much all integration now, NMEA0183, N2K and USB feed to OpenCPN. I didn't go for the WiFi version as I already had a vYacht WiFi I'd fitted, however I wouldn't recommend the latter as it seems to struggle to keep up and messages appear to get lost.
 
I have a small Widows 10 computer on the chart table running Opencpn and receiving AIS Data over a NMEA to USB converter. I also have a small wireless router and a tablet in the cockpit.

Plan A was to use Team Viewer on the tablet to remote control the chart table system. That sort of works but is a bit flaky. But at least shows that both machines talk to each other via the router.

The tablet has Marine Navigator already and I could put another copy of Opencpn on there I suppose. So all I really need is to get the AIS Data to the tablet. Is there an easy way of doing this without being a networking expert?

I also have the NMEA AIS Data over a cable to the steering pedestal where it used to feed an old chartplotter that died. Could I use another NMEA to USB converter to get this into the tablet? But that would tie the tablet down to one location in the cockpit.

Limited networking experience but willing to learn if I have to.

I am using Marine Navigator on my tablet and receive my AIS data for this app using one of these. http://yakbitz.com/Yakker.aspx low price and very easy to install. Highly recommended. Only £28

Www.solocoastalsailing.co.uk
 
Last edited:
I have a small Widows 10 computer on the chart table running Opencpn and receiving AIS Data over a NMEA to USB converter. I also have a small wireless router and a tablet in the cockpit.

Plan A was to use Team Viewer on the tablet to remote control the chart table system. That sort of works but is a bit flaky. But at least shows that both machines talk to each other via the router.

The tablet has Marine Navigator already and I could put another copy of Opencpn on there I suppose. So all I really need is to get the AIS Data to the tablet. Is there an easy way of doing this without being a networking expert?

I also have the NMEA AIS Data over a cable to the steering pedestal where it used to feed an old chartplotter that died. Could I use another NMEA to USB converter to get this into the tablet? But that would tie the tablet down to one location in the cockpit.

Limited networking experience but willing to learn if I have to.

I'm not sure if this is quite what you want ..... but it is possible to set up an ad-hoc network using Win 10. This would then mean that the Win 10 PC will act as a wifi router and any other wifi devices will be able to connect to the Win 10 machine and should, I think, have access to the AIS data that the Win 10 machine is receiving over USB.

Setting up the ad-hoc network in Win 10 and Win 8 is not as simple as it is with other versions of Windows and requires a couple of command line instructions. You can Google how to do this.

Richard
 
Thanks for all the replies. A cheap wireless box like Plum's Yakker is probably the way to go. It would make the tablet independent of the Windows machine.
 
Thanks for all the replies. A cheap wireless box like Plum's Yakker is probably the way to go. It would make the tablet independent of the Windows machine.

If it might be an issue for you, check whether any magic box you buy will connect to an existing wireless network or whether it insists on being its own independent access point. Personally I'd find it a PiTA having to switch networks on a tablet to get a weather report then go back to instruments.

If you're happy to have your windows 10 computer running though the solution, if I understand your setup correctly, maybe relatively easy and cheap. You just need to set up opencpn to repeat the data you receive over usb to the network:
https://opencpn.org/wiki/dokuwiki/doku.php?id=opencpn:opencpn_user_manual:advanced_features:network_repeater

I might slightly prefer to use opencpn as a tcp server if using a wireless connection (set up a TCP data connection with an address of "0.0.0.0" on the machine you want to act as a repeater: info buried in this like: https://opencpn.org/wiki/dokuwiki/doku.php?id=opencpn:opencpn_user_manual:options_setting:connections ) but whatever works...
 
We do it by having the NMEA plugged into the router itself. It's in the second incarnation now, a small OpenWRT box with a USB hub and a bunch of USB-serial converters plugged into it. kplex (cheers Laika) does the NMEA business, including failover from multiple GPS sources. Also does smart routing between external Wifi (when available) and GSM network. The router costs about £33 and unlike the previous incarnation, no hardware fiddling is needed to reflash it. Little bit of setup work though.

Works brilliantly and stable, but beware if you have multiple USB-serial converters - the cheap eBay ones are identical down to the serial number (which is "0"), so there is no way for the box to differentiate between them and they hop around, confusing kplex. The solution was to buy a bunch of different ones. Not an issue if you only have one.

If that's too fiddly, you can also just use any old SoC with an Ethernet port and plug it into your existing router via a crossover cable. One of our earlier setups had an ancient 256MB RPi doing that, but we happily eliminated that extra box and cabling with the router upgrade above.
 
there is no way for the box to differentiate between them and they hop around, confusing kplex. The solution was to buy a bunch of different ones. Not an issue if you only have one.

I don't know much about OpenWRT and a quick google suggests it uses hotplug2 which I know nothing about, but in raspbian (or something with udev) you could write a rule to specify the device name according to the usb port you were plugged into. As long as your devices don't *physically* swap ports you should be able to have persistent names. Of course I haven't actually tested this but that's the theory...
 
I don't know much about OpenWRT and a quick google suggests it uses hotplug2 which I know nothing about, but in raspbian (or something with udev) you could write a rule to specify the device name according to the usb port you were plugged into. As long as your devices don't *physically* swap ports you should be able to have persistent names. Of course I haven't actually tested this but that's the theory...

On Chaos Calmer, hotpluggery is done by procd, which can call a shell script in /etc/hotplug.d/tty/ to make symlinks with, which I've done based on the identifiable devices. I don't know if that's a feature of the USB hub I'm using or the Linux kernel, but the actual USB path seemed to be pretty random at every start. Although thanks to now having different USB-serial converters, they're identified by their USB vendor/product and then the script makes symlinks such as /dev/ttyNMEA_AIS or ttyNMEA_GPS.

Will have another look at this next time I'm poking around there, maybe I was just plugging things into different ports last time I set this up.
 
On Chaos Calmer, hotpluggery is done by procd, which can call a shell script in /etc/hotplug.d/tty/ to make symlinks with, which I've done based on the identifiable devices.

For a moment I thought you'd re-named Songbird but then I remembered those openwrt folks are worse than shuttleworth's minions for their product names...

dunno about procd but if it's anything like udev those attributes may not only include things like device ids but also the sysfs path which will encode the port you're plugged into so can be used to distinguish between otherwise identical hotplug devices:
http://www.linux-usb.org/FAQ.html#i6
(hmm...but that also makes assumptions about the device tree which may not hold for openwrt. maybe I should have just googled this first...)
 
dunno about procd but if it's anything like udev those attributes may not only include things like device ids but also the sysfs path which will encode the port you're plugged into so can be used to distinguish between otherwise identical hotplug devices:
http://www.linux-usb.org/FAQ.html#i6
(hmm...but that also makes assumptions about the device tree which may not hold for openwrt. maybe I should have just googled this first...)

Just had some time at anchor to fiddle with this. You're right, the USB tree is actually the same as long as I don't plug ports around (which I had to do a lot, because apparently most USB cables in my possession are garbage). So I changed my hotplug script to map the tty's by their USB path (e.g. 1-1/1-1.2/1-1.2:1.0 is the GPS dongle). Cheers!

Now I just need a USB hub with more than 4 ports that actually works. Either I'm having the worst luck, or USB kit is just mostly broken by design.
 
Just had some time at anchor to fiddle with this. You're right, the USB tree is actually the same as long as I don't plug ports around (which I had to do a lot, because apparently most USB cables in my possession are garbage). So I changed my hotplug script to map the tty's by their USB path (e.g. 1-1/1-1.2/1-1.2:1.0 is the GPS dongle). Cheers!

Now I just need a USB hub with more than 4 ports that actually works. Either I'm having the worst luck, or USB kit is just mostly broken by design.

Wouldnt be at all surprised that a lot of your USB cables are garbage, many of them are - especially if the device you're using also needs power. You may also be trying to draw more power than your router wants to supply with a number of devices hanging off it, try a powered hub ? Cable problems have been endemic in the Rooter community, an Openwrt variant, when connecting 3/4g dongles. There's also the question of the drivers available for Linux, expecially in a router. Usually the only driver available is the generic one for a wide range of devices, which may not always work properly with the device you have or may give problems with multiple devices (well it did when I tried that with Tomato but that still runs 2.6)
 
Last edited:
Just had some time at anchor to fiddle with this. You're right, the USB tree is actually the same as long as I don't plug ports around (which I had to do a lot, because apparently most USB cables in my possession are garbage). So I changed my hotplug script to map the tty's by their USB path (e.g. 1-1/1-1.2/1-1.2:1.0 is the GPS dongle). Cheers!

Now I just need a USB hub with more than 4 ports that actually works. Either I'm having the worst luck, or USB kit is just mostly broken by design.

I had issues with USB hubs but found switching to a powered hub was the answer. I bought one of these : https://www.ebay.co.uk/itm/TP-LINK-...422999&hash=item3adce43a6e:g:i0EAAOSwsTdato26

Powered by 12v, so ideal for the boat :encouragement:
 
If the pc at the chart table is connected to your wireless router then you don’t need any more hardware
Open CPN can be configured to act as a NMEA repeater so as long as you are getting NMEA data from your USB port then if you are connected to your Router you can get it to broadcast to your network port as UDP any device connected to your router either physically or via WiFi should be able to then receive that data

I have not done this but there are quite a number of threads on this topic on the Open CPN support forum
 
If the pc at the chart table is connected to your wireless router then you don’t need any more hardware
Open CPN can be configured to act as a NMEA repeater so as long as you are getting NMEA data from your USB port then if you are connected to your Router you can get it to broadcast to your network port as UDP any device connected to your router either physically or via WiFi should be able to then receive that data

I have not done this but there are quite a number of threads on this topic on the Open CPN support forum

Thanks - that is what I'm trying to sort out at the moment.
 
Top