Wednesday, 13 July 2016


Open Up

OpenPloter is not the first "marine OS"  to assemble a variety of boating-related software into a single downloadable image:  Xinutop and Navigatrix are both x86 GNU/Linux distributions which provide OpenCPN and other free marine software pre-configured.  OpenPlotter, which has gained a lot of friends in the past year, differs from those in a number of ways.  Most obviously it is aimed at ARM systems, notably the Raspberry Pi, and rather than being simply a collection of useful software it provides sailors with an interest in DIY a platform on which to build an integrated boat electronics system using the plethora of cheap sensors that arena available.  Not just a collection of 3rd party software, OpenPlotter adds a GUI to provide unified management of many of its functions, making command-line and configuration-file oriented Linux/UNIX software like kplex more accessible to a wider range of DIY-ers. Additionally you can purchase tested hardware through the OpenPlotter web site.

Roberto Serrano, OpenPlotter's lead developer, kindly agreed to answer a few questions about the project...

What does "sailoog" (the name of your website and pseudonym you post under) mean?

I would like to tell a nice story here about some recondite indigenous language or something similar but I cannot. I just nicked it from one of our previous and unsuccessful projects, a marine blog system. Sailblog was taken so, playing with logos and letters we said Hey, the Internet is full of double “o”s (google, yahoo, moodle, joomla…) so let’s be cool!

Why did you start the openplotter project?

The financial crisis hit hard in southern Europe and took us our jobs, our homes, our boats and our dreams. I am from Catalonia and the only option was to go abroad to work so I started OpenPlotter project just as an exercise to learn English, improve my skills programming in languages like python and use some tools like github. But I soon realized that I was dealing with something with real projection and maybe a way to hit back.

We believe we should be able to equip even small boats with high quality, affordable and robust technology without having to rely on the big corporations

Governments and proprietary technologies no longer have more guarantees than real democracy and open-source technologies so we could say that my main motivations on this project are ethical and political but I can not speak by the others, perhaps we could even disagree but who cares? This is open, this is free, and above all this is fun.\

How many people work on putting openplotter together?

It is hard to say. A lot of people contribute to software or hardware while they are configuring the system on their boats and then disappear as the sailing season starts but there is also an army of loyal beta-testers who follow the development closely. To be more precise, we are currently a group of two people coding and three people developing and testing hardware.

Navigatrix fulfils a similar function to openplotter but on a different platform. Are you continuing to develop navigatrix, are you putting all your effort into openplotter, or do you intend to combine the two into one multi-platform project?

Despite having contributed to Navigatrix development in different ways for a long time, I can not consider myself part of the development team. Navigatrix has its own course and still a long road ahead.

I think both are complementary projects. Navigatrix is focused on running all the available nautical software on any PC computer. Its main feature is portability. You can sail on any ship with your Navigatrix laptop and you can even sail with Navigatrix installed on a USB stick in your pocket and run it on any computer on board. However OpenPlotter is focused on hardware, permanent installations and enhanced interaction with sensors.

How many people do you think are currently using openplotter / navigatrix?

It is hard to say again. Since this must be sustainable, we use free file sharing sites and torrent downloads and we do not have an accurate number of users or downloads. We have feedback from every continent and sea area, so I guess they could be hundreds or even thousands.

You sell accessories which are fully supported with openplotter and are completely transparent with the (optional) donation attached to the "sponsoring edition" SD card. It's a fantastic business model, but is openplotter a business, or is it still a hobby?

We believe in open source, transparency and fair business.  Development and coordination take a lot of time. We need to make some profit to keep working on it and this is how we try to do it:

Probably all your instruments are manufactured in Asia, but development, support and merchandising is done by third parties who obviously increase the final price. Retail shopping in the Asian market may be cheaper but it's also a traumatic experience due to the lack of product documentation and sales support. Too often you finally get a product that doesn't fit the promised specifications, doesn't work properly or takes more than a month to arrive. We try to be a filter. We do the hard work of finding reliable providers and charge a little money for doing so.

In the coming months we will open the "fake shop": a cost price online shop with all the junk and fake products that we have gathered in order to give them an opportunity for a second life in other projects. There will also be a list of providers we have found unreliable to help those who can't even afford our selected products and want to fight their own way through the Asian jungle.

If "still a hobby": What's your day job?

This model of donations/selling tested products seems to work and I can work half time on OpenPlotter. I still need to work as freelance web developer if I want to a living wage but at least now I can be selective about the clients and projects I choose.

Do you sail a boat, and if so what do you use openplotter for aboard?

My boat is gone but it is said that the best boat will be always your friends’ boat. I have seen OpenPlotter installations in all kind of boats.

What features of openplotter are the most popular with users?

The headline is always OpenCPN and its plugins. Second is the SDR AIS receiver followed by engine sensors and instrument panels.  Third is "home automation" features to monitor and control your boat while you are away.

Are openplotter users making much use of Signal K?

Not much at the moment. I think they feel that SK is just a way to receive N2K data but then they don't know what to do with these data. They know the basics but they don't have a sexy instrument panel or phone app to realize its power yet.

Galaxy Gear S2 driven by OpenPlotter and Signal K
Do you see Signal K overtaking NMEA-0183 as the predominant protocol for marine data communications between applications on IP networks, and if so when?

NMEA 0183 will be with us for a long time because it is the language which GPS and AIS talks but above all because it is the only language that OpenCPN can understand at the moment. But NMEA 0183 is not capable of managing non strict navigation data. Many types of sensors have begun to appear in our boats and homes so we need to store, manage, and show these data and another proprietary and limited protocol as N2K is not an option. There are already some SK servers on the market like OpenPlotter but I think the big change is down to SK apps developers, OpenCPN included.

What would make Signal K better?

Everything takes time, money, and monkeys. You need a lot from any two groups, and a little from the third. An increase in any one reduces the requirement for the other two. Change occurs when one of those three change.

Moe's Law, Navigatrix team.

I think SK now needs monkeys to get to a stable version asap and to improve the documentation.

You recently added MQTT support to openplotter, marrying marine data with the mainstream IoT world.  Have users reacted positively or remained uninterested?

Yes, some of them are excited about this and they are already playing with sensors but most of them do not have a clear idea about how they can set up a IoT system on their boats with OpenPlotter. They need manuals and a good documentation and we cannot offer this at the moment since our resources are limited and we have to choose between developing or documenting.

User-contributed MQTT-driven dashboard:

What format are you using to publish to MQTT and why not use Signal K/JSON objects?

OpenPlotter can send any kind of string including JSON objects over MQTT. It is up to the subscribers to parse and manage the string. In future OpenPlotter releases we will make building JSON objects easier, NMEA sentences… using any navigational data.

Is openplotter being used as a generic IoT device in non-marine applications?

I don't know, maybe. There are a lot of IoT home systems based on the Raspberry Pi, since OpenPlotter is too much boats oriented, maybe it would be better to use any of them.

What are the future plans for the openplotter project?

We are still under construction. The main goal now is to fully implement SK in version 0.9.0 in order to be able to deal with analogue sensors (batteries, engine, tanks...) properly.  We would also like to offer a good virtual instrument panel to round things off.

Once the goals are achieved, the next logic step is focus on hardware. Nowadays OpenPlotter is a project for “makers” and this always involves some skill with electronics or at least a big curiosity. We need to simplify the required devices and develop well documented hardware to make it easier for everyone to build a custom OpenPlotter system on board.

Monday, 22 February 2016

vyacht router: Now with Signal K

First Blood

Swedish marine electronics producer vyacht appears to be first to market with a commercial Signal K offering.  New firmware released at the end of January for the vyacht WiFi NMEA router supports Signal K.

The vyacht router is an open source (hardware and software) device which bridges between NMEA-2000, NMEA-0183 plus optionally Seatalk-1 networks and wifi (and optionally ethernet) with the base model costing just SEK1499: a little under €170 at the time of writing.

Bernd from vYacht was kind enough to answer some questions about vyacht, the router, the new firmware release and Signal K.

About vyacht

You’ve been producing the vyacht router for longer than vyacht AB has existed.  Did the project start as a hobby?
Its a very intensive hobby, although it's grown bigger and more successful than you could run outside a Swedish aktiebolag [corporation] without losing sleep.
The vyacht workbench

Do you now work full time on vyacht?

I am currently starting to look into scaling the business up and make it full time. I need people looking after sales and support and setting up distribution in various countries: the direct sales model is limiting. 
And an investor. If someone interested reads this: its not too late to talk to me. 
The vyacht router is a very mature product now and probably the most advanced, flexible and extensible on the market. The market is huge and has just started to ramp up in vyacht's space of innovating in the integration of boat networks, web, mobile and wireless. 
Do you have any other products planned?
There are at least 3 or 4 ready-to-ship products. I just haven't got around to launching them as I am focusing on the router. 
There is also new functionality in the pipeline for the router itself. It's easy to extend even on the hardware side. It's capable of a lot already but ideas and possibilities are endless just on the software side.

The vyacht router

Is the vyacht router NMEA certified, and if not, is that something potential customers should be concerned about?
Like most small companies, vyacht hasn't sought NMEA certification. The protocols are publicly well documented thanks to the work of many volunteers. vyacht works with all the software and apps out there: none of those that I am aware of is NMEA certified. They are based on the public documentation just like vyacht.
The end user doesn't need to worry. vyacht users have successfully tested the router against probably hundreds of different NMEA instruments and devices. I have seen and fixed all sorts of issues but never any that was specifically about NMEA incompatibility.
To my knowledge even Raymarine only certify their MFDs but most of their other products are not NMEA certified either.
I am very critical of propriety standards. Unlike some I don't even see a positive marketing or quality effect of using the NMEA certification.
Are all the vyacht software sources available on github?
Sometimes I am a bit behind, but I aim to have all software uploaded there reflecting the latest state.
The vyacht router is notably much cheaper than competing products from much larger manufacturers. How do you manage this?
Margin! On the suggested retail price they will have a margin of at least 200 USD, probably much more depending on their hardware.
Also my product is a bit simpler in terms of the case and terminals.
I produce in batches of 100.  I'm not sure of their batch sizes. Theirs will cost as much in production. If they produce 1000 then prices will drop dramatically. 
I run it as a very extensive hobby project and 2nd job costing my health ;-) I am not financially dependent on it - and my profit is 0. 
I started the whole project because I was so frustrated about the price level. Boat owners are the "milking cows" for nice earnings - I thought.  Now I know: hardware is expensive, unbelievably expensive and much more than the sum of its sourced parts. If you have a case and knobs and dials it becomes extremely expensive. If you run a company you need to have at least 200 - 300% margin and volume > 1k to survive. Just accounting rules around warehousing will kill you.

The new vyacht firmware release

As far as you are aware, is the vyacht router the first commercially available Signal K device?
To my knowledge, yes. The first commercial product and company behind Signal K with full user support for the Signal K components installed.
Why did you implement Signal K on vyacht? Have there been requests from customers?
There was not much interest in Signal K from the vyacht community and so far it hasn't been driving any additional interest into the router. 
I see it as an investment, experiment and as support for a great project. I like and share the vision behind Signal K, and everyone can immediately see the added user value. The instrument panel is built into the router accessible without any additional software installed anywhere: all you need is the router and a browser.
Does the new vyacht firmware implement a full Signal K server, or like the iKommunicate act as a gateway device translating NMEA and Seatalk data into Signal K deltas?
Its a full Signal K server that serves the full format and the delta of updates. 
It might be lacking some implementation details such as the full blown set of own boat data, some engine data or receiving of 3rd party Signal K data as an input. 
I await user feedback on where to invest more to close the gaps.
Have you based the server implementation on the Signal K reference servers or written your own from the specifications?
I used the node server as a reference at times but actually wrote mine from the specifications. There is a difference between the specification and the two reference servers, so nothing is set in stone as things change often in Signal K.
Last year you suggested to the Signal K team that they look at popular IoT transports for use with Signal K. Does your new firmware implement MQTT or CoAP?
No. Maybe as a gateway to Signal K if it starts to make sense.
Are there any incompatibilities or notable differences in operation or functionality between the vyacht Signal K implementation and that of the reference servers?
The node reference server is different from the Java server. The vyacht server which is written in pure C is probably slightly different from either of them. 
There are also many web servers implementations out there which are all very different from each other but which communicate with any web browser using HTML. 
I successfully tested interoperability e.g. of the instrument panel and the vyacht server.
Is conversion from NMEA protocols to Signal K one way or can the vyacht router send Signal K deltas on its NMEA output?
It would be a 2 line change in the software to enable that if someone asks for it, but Signal K is quite chatty and I'd expect performance issues over a serial interface such as an NMEA 0183 output.
Signal K is still a "work in progress". How often do you anticipate having to update the vyacht firmware to keep pace with developments?
Probably more often than most users would like. They just want to have something ready to work and not install firmware updates. 
Its still impossible for a non-developer and time consuming even for a developer to get started on this project. 
At least for components like the instrument panel my main effort is almost like that of any Linux package maintainer: pick out the stable parts and package them in a usable way. 
The real advantage of vyacht for Signal K is that vyacht makes Signal K very accessible to users by being pre-installed and supported. 
What I deliver is just there and works out of the box.
Your latest firmware works with Navionics sonarchart live. How did you implement that?
It was just a matter of experimenting and making it configurable for the end user: broadcasting standard NMEA 0183 sentences via UDP on port 2000 and making sure timestamps for GPS data were correct. 
In the end Navionics even supported me based on user demand. I probably messed up their community charts quite a bit though with all the artificially generated test data that I used to make it work. 

Signal K

What do you believe the impact of Signal K will be on marine electronics and software?
Signal K or at least the ideas behind it will completely change marine electronics and software. 
The marine hardware industry and the NMEA are light years behind any other industry, in a nice comfort zone delivering technically outdated overly expensive equipment to customers used to spending a lot of money.
This is changing already without Signal K. First of all its not driven by an industry any more but by many individual enthusiasts. It all started with us just bringing to our own boats what we felt was normal everywhere else already: accessibility and availability everywhere, communication, ease of use and affordability.
Today you can get better-than-ever racing or weather routing software almost for free and made by extremely experienced sailing pros. You had to spend some thousand $ for this just 2 years ago. 
Signal K itself is not only about networking on a boat. The web, Facebook and the iPhone refined our expectations about how things should work. And Signal K, vyacht and many others take this and refine how electronics should work on boats and maybe even more important: between boats. 
Sure, there is a way to go still, but we have come a long way already and large vendors sleep tight. It currently feels a bit like the web around 1995. All the companies, software and stores we know today were born then or after that. Almost none of the older ones are relevant to the web today.
Do you see Signal K as a potential alternative to NMEA protocols, or would an “open” marine network require a protocol better suited to constrained devices?
Signal K is not an alternative to the NMEA protocols. Signal K is a complement or amendment to NMEA. Like a NMEA 2.0 for web. This is probably why the NMEA as an association recognised Signal K. 
Signal K is designed for the web and the communication between a browser and a web service. Its unsuitable for communication with a sonar. 
Signal K is perfect for the communication between a vyacht router and an iPad or tablet but too web-centric for even powerful constrained devices.
As a commercial manufacturer, what aspects of Signal K do you think would benefit most from further development?
  1. Make it easy for normal boat folks who are not software engineers to set it up and run. We need to build a wider community and attract all those not so deeply technical boat folks out there who can drive it forward.
  2. Reduce the protocol's chattiness and redundancies as well as clean out and document the overall structure for a better understanding and higher level of suitability for smaller devices.
  3. Signal K suffers from the same unclear semantics, data life time and data cycle issues that the NMEA 0183 protocol suffers from which NMEA 2000 partially fixes: that needs to be improved.
  4. Cut ties with the NMEA and remove references to legacy NMEA protocols in Signal K.
  5. Signal K needs to become (more) open.
The last points are maybe the most important ones: The decision making process in Signal K is quite closed and focused on the core development group. That isn't optimal for gaining active participation in development of a new and open standard. Open standards give every participant equal voting rights.
Also you can't really distinguish between the reference implementation and the specification. I think the reference implementation and not the community is driving the protocol specification. 
Signal K needs to decide if it wants to be a piece of software or a standard that changes the industry. Currently its the software. And in the past 20 years I have seen many good standards going down the drain by making this mistake.
I know from talking to a lot of small vendors that they are waiting to see how things will go for Signal K. Some have even implemented it but haven't released it due to concerns they share.
As long as nobody moves or they move in different directions we obviously don't get anywhere. If 100 or even just 20 software, app and hardware developers all move in the same direction, then we will change the marine software and hardware landscape quickly for the benefit of both us young marine electronics and software folks and all the boat enthusiasts out there.