Overriding 4GXtream Auto-APN Settings
July 27, 2021
Show all

Receiving NMEA 2000 on a navigation software & app

NMEA 2000 data on navigation software & app

NMEA 2000 data on navigation software & app

 

The navigation software ScanNav released an update a few weeks ago as it now accepts raw NMEA 2000 data from our iKonvert or NavLink2. A list of PGNs (Message format and parameter group numbers) is preconfigured for commonly used instruments (GPS, COG & SOG, wind, depth, compass, loch, AIS, environmental sensors…), and it is possible to extend this list by adding potentially any PGN to the configuration file.

ScanNav is a very complete French navigation software that allows you to perform all the necessary tasks for navigation. For a complete overview, please visit their web site here: https://www.scannav.com . Note that you can test all the functionalities by requesting a free temporary license.

 

NMEA 0183 and NMEA 2000

Navigation apps & software can mostly only read and transmit NMEA 0183 data. So traditionally, NMEA 2000 Gateways (like NavLink2 or iKonvert USB) have converted NMEA 2000 data into NMEA 0183 data which is simple ASCII coded (human readable) data:

$GPRMC,181408.000,A,5051.3136,N,00108.0826,W,0.00,325.50,240319,,,A*77

NMEA 0183 was developed when boats were simpler with less equipment onboard and only a subset of data is available in NMEA 0183 compared to NMEA 2000. So most of the Navigation, Instrument, AIS and GPS information is available in NMEA 0183, but engine data, electrical switching data, entertainment data, AC generators/inverters and DC battery system data is not available in NMEA 0183.

NMEA 2000 (CAN bus) data is communicated in binary packets and to decode the data you need to buy expensive specification documents from the NMEA organisation and develop clever data parsing libraries that can read and use the data. For this reason, many app developers only support wired or wireless NMEA 0183 data and accept that there is a limit to the data they can process and the functionality they can offer.

If you have a NMEA 2000 network on board, you can use our iKonvert (USB) or NavLink2 (WiFi) NMEA 2000 gateway and they will connect directly to your NMEA 2000 network and will convert the data into NMEA 0183 and then will transmit the data to your navigation software and apps.

 

Receiving raw NMEA 2000 data

However, iKonvert and NavLink2 also have a “RAW Mode” where NMEA 2000 data can be read/written to using a simple serial data format that we publish on our Github site. That means that a software could receive the raw NMEA 2000 data and not the converted NMEA 0183 data. Only a few navigation software packages currently support raw NMEA 2000 (TimeZero, Coastal Explorer, Expedition, ScanNav, OpenSkipper).

Digital Yacht’s raw mode has attracted the interest of a number of developers and iKonvert & NavLink2 are also already compatible with the Signal K Node Server, OpenCPN, NMEARemote (iOS), WilhelmSK (iOS), OpenPlotter and now ScanNav.

The benefits of software and applications reading the raw NMEA 2000 data natively (not converted) is access to more data types, faster data update rates and being able to switch between multiple sources of the same data.

NMEA 2000 on Scannav

 

For the developers

An app developer that invests the extra time and effort to support RAW NMEA 2000 binary data and learns more about NMEA 2000, will be able to offer much more functionality, get faster data update rates and be able to support new technologies as they become available in NMEA 2000, like electric propulsion, 9 axis attitude sensors, bow thrusters, etc.

There are a few “flavours” of RAW NMEA 2000, from different manufacturers, but what they all provide is the binary PGN packet data in HEX or base64, with details of what device it came from. Digital Yacht’s RAW NMEA 2000 format looks like this….

!PDGY,126720,7,4,255,1879.446,5ZhIGQICAwMBAQMPCP8PAKUWuxwBEoYK

This serial protocol we use in our iKonvert wired gateway and NavLink2 wireless gateway is fully documented on our GitHub site: https://github.com/digitalyacht/iKonvert/wiki

To decode the binary PGN data the developer will need to buy the NMEA 2000 Appendix B from the NMEA organisation or use an existing NMEA 2000 library like CANBoat or CANBoatJS that converts the data in to JSON. However, integration of iKonvert does not require special libraries or proprietary code: https://github.com/canboat/canboathttps://github.com/canboat/canboatjs

 

 

Comments are closed.