Signal K Open Source marine protocol

gerry99

Well-Known Member
Joined
12 Sep 2002
Messages
461
Location
Berkshire
www.freedom.co.uk
A question for the software techies in this forum, are any of you aware of or doing any development for projects that use the new Signal K Open Source marine protocol?

I see Digital Yacht ave a project live on Kickstarter and wondered who else was starting to adopt it.

Cheers

Gerald
 
The openplotter image for raspberry pi has the software loaded, I've had it working just with nmea 0183 data so far sending over wifi to a tablet.
http://www.sailoog.com/en/openplotter

There was a mention I think a while ago about opencpn doing something with it as well, not sure about the details.

The digital yacht gateway certainly does sound interesting for getting NMEA 2000 data.

Early days but very interesting, the internet of things is upon us.. :)
 
Sounds like it's gaining momentum...


https://groups.google.com/forum/#!topic/signalk/15X93dCb4Ac

[TABLE="class: IVILX2C-sb-w, width: 100%"]
[TR]
[TD]Signal K at the NMEA conference in Baltimore
1 post by 1 author
NSfCtu0uiCXngBKOHzYixv2itkrMwB3D5QaWsUscByziE7g5ZewbzQ7OUxr cUAAAAAASUVORK5CYII=


[/TD]
[/TR]
[/TABLE]


[TABLE="class: IVILX2C-tb-O, width: 1130"]
[TR]
[TD="class: IVILX2C-tb-p"]
AIbEiAIAAABECNycr9r7vI--8wEiC3ZjYXJkX3Bob3RvKig5YzJkMjQ5MmQ3ZTk2MmI0YWJjZjIyZmVkZjgzZmE1MTYwZTc4YTgzMAGDgTBEfUJIXtkvWrLvepLSrZv4FQ

[/TD]
[TD="class: IVILX2C-tb-R, align: left"]Bill Bishop [/TD]
[TD="align: right"]
DQHQ8nxjDYYoV0Pj48HsgNqCmS0k2GFeY7ofi 2ji94kNW1js9 OIfQGomvto6qmSTgWgQXae2jlKgJggIDeNjwIaAQBDo0wVdvRN2QAAAABJRU5ErkJggg==


Oct 4
[/TD]
[/TR]
[/TABLE]




Here is some feedback from the NMEA conference in Baltimore held last week. Both myself and Tim Mathews attended. Tim gave two excellent presentations on Signal K and and the video of his presentation will be available downstream on Youtube. Tim's first presentation was the most attended of any at the conference and was standing room only. His second one was packed full. Every member of the press at the conference attended. It's evident Signal K is now drawing very significant attention and we received a very warm reception from NMEA's members.


Both of Tim's presentations were supported by Nick Heyes (Digital Yacht's CEO) who announced their new Signal K gateway and was using his prototype to demonstrated the SK “Instrument Panel” app. Digital Yacht's gateway is branded as iKommunicate (iKommnicate.com (still under construction)). Anyone in the room could log on and play with with Signal K, and could do the same thing at the Digital Yacht booth. Digital Yacht has a downloadable “White Paper” on their new product and IoT. https://digitalyacht.files.wordpress.com/2015/09/signal-k-white-paper.pdf


Jeff Siegle of Active Captain was demonstrating their new “Locations” app which supports Signal K and is now available in the iTunes store. He will be updating his website shortly with information on how to connect to their app with a Signal K server.


We had a extraordinary level of interest, lots of meetings and many new organizations are now going to support Signal K as a result. There are many new and significant Signal K based applications and products in development which will be announced shortly. Signal K is going to get some significant press in the next couple of months. Some of it will be web based and should start appearing next week on sites like Panbo.com and in December Signal K will be featured in both Yachting and Practical Sailor magazines. It was a great week for Signal K.










 
A question for the software techies in this forum, are any of you aware of or doing any development for projects that use the new Signal K Open Source marine protocol?

Yes. I've been following it for the past year and a half (and blogging about it, not that anyone ever reads my blog).
It's not really a "protocol" as such: it's a data model and a data format, although maybe most people won't care about such subtleties.

Initially I didn't like it because it's not what I was looking for, which is an open alternative to NMEA protocols. Once I stopped wanting it to be what it wasn't, I started to realise its worth. It consists of a server program which collects your boat data (normally from connection to NMEA protocol networks), stores it in a specific structure that represents the "state" of your vessel (and possibly others around you) and makes those data available in a format which are easily parsed by the kinds of high level languages that app developers like to use these days.

Currently the majority of apps use the top layer of the NMEA-0183 protocol over Internet Protocol (i.e. wifi/ethernet networks). There are several problems with this. Firstly it isn't a standard. "NMEA-0183" is a serial line protocol and although an "ethernet" variant does exist, it isn't widely used for our type of application. Instead people chuck "NMEA-0183" data over IP networks in a variety of ways, which occasionally causes compatibility problems. Secondly, although it has been widely publicised, the NMEA do regard NMEA-0183 as their intellectual property that they'd like you to "pay to play" with. Of course small app developers don't. Open Source developers technically cannot use it at all as they're exposing the secrets of the format in their open code (even though they're cribbing from info widely available everywhere else). Thirdly NMEA-0183 doesn't have a standard method to represent all the data we might want represented, including many N2K PGNs. Actually the list goes on and includes encryption, authentication and access control. The SignalK developers also have this concept of "social boating" where they imagine people might want to share data with other nearby boats. Not something I want to do but hey, I'm not them...

The way they represent and transfer data is very web oriented. It's JSON/HTTP/Web sockets. A heavyweight nightmare to an embedded C developer working with limited resources but dead simple for rapid development for the app developer on a modern tablet or laptop with plenty of memory and CPU.

Big step forward this year was that the developers buddied up with the NMEA. The NMEA didn't "approve" it but they "acknowledged" it. My take is that the bulkiness of SignalK and the whole not-a-protocol thing makes it a good complement to NMEA stuff rather than a competitor. Your boat devices talk to each other using N2K (or OneNet if it ever happens). Then an NMEA member company (like Digital Yacht) will pay the NMEA for the right to use NMEA protocols and stick the NMEA logo onto a box to translate things to SignalK. Everyone's a winner. NMEA members sell new stuff, the NMEA gets more revenue, high level app developers who're a bit iffy at network programming get to use simple techniques to make more of your boat data visible on more apps.

Right now you can download the Open Source SignalK server software from the signal K site and chuck it onto a raspberry pi or similar. You'd have to have one of the actisense gateways plugged in to translate N2K data to something the SignalK server can translate into its own data representation.

The iKommunicate is a box which, I think, implements a SignalK server with translation from N2K and NMEA-0183.

Actisense said a few months ago (via comments on panbo) that they had something in the pipeline.

The guy who makes the vyacht routers mentioned implementing SignalK in his product a few months back but I haven't seen an update on that.

I see GHA has mentioned (since I started writing) the open plotter inclusion of SignalK.

There's been a fork of OpenCPN which understands SignalK for some time now but it hasn't been incorporated into the master tree (AFAIK, though I haven't looked for a few weeks).

Not much else really uses it yet (other than the signalK developers' own stuff). Yes I do see it taking off. I appreciate it without actually being a massive fan on architectural grounds and the fact that it's likely to delay rather than hurry the demise of the NMEA's closed protocol approach but I also recognise that I'm not the "representative punter".

Personally I'm toying with the beginnings of an idea for a bunch of smart sensors and control units using a compact protocol over 6loWPAN and/or wired IP networks: a direct alternative to NMEA stuff and not totally boat specific. Much less likely to get me invited to schmooze at the NMEA conference but hey, I'd get to bandy the term "Io(B)T" about...

EDIT: Couple of links:
http://signalk.org
https://groups.google.com/forum/#!forum/signalk
 
Opencpn implementation sounds a definite..
https://groups.google.com/forum/#!topic/signalk/6HkBbmAgqM0


Bill...
There already is a work in progress on supporting SignalK in OpenCPN in my private tree. But there are currently higher priorities on other stuff and my table is kind of full, so it will take some time until it is any useful. But definitely SignalK will be implemented before the next major release is out.
As far as licenses go - The protocol itself brings no problem. There is also no problem connecting the pieces together. Trying to reuse code licensed under GPL in commercial, closed source, applications problem is, obviously.

Pavel
 
Top