Wednesday, February 18, 2015

IOT and your boat

Written By Tim Mathews and Bill Bishop.

The Internet of Things is a grand concept more than a thing. It describes interconnection through the Internet of computing devices both large and small, wearable and fixed. Devices like your home's thermostat reminding you to set it to away when you leave the house, the smart phone you left in the coffee shop letting you know where it is so you can go back and rescue it; the machine humming on the factory floor notifying the production manager because humming isn't a sound it's supposed to make; and the locomotive reporting it's position and remaining fuel to the dispatcher so that trains can be scheduled more efficiently. Not all of these are new ideas, but all of them fall under the umbrella of the Internet of Things or IOT.

There's another aspect to this grand scheme. Myriads of small embedded computers with smaller CPUs and capabilities can be linked to larger computers through the ether to coordinate and optimize their more limited capabilities. What we now take for granted is the Internet of Things at work. This is all pretty amazing when you think about it. 

That locomotive's computers may also be reporting on the well being of every axle of every car behind it, so that when it rolls in to the switching yard crews know exactly which cars need attention and which can be sent back out. It's able to do this because of tiny embedded computers in each wheel truck which constantly updates with the only thing they know: "Am I OK or not?"

This isn't limited to just machines. The athlete training for a triathlon wear a watch. The watch wirelessly collects information from sensors being worn. Their heart rate, body temperature, cadence, the amount of time their feet are in contact with the ground, blood oxygen levels are all being gathered by that watch. The watch may have an accelerometer capturing the athlete's motion. But the watch doesn't store this information for long. It connects to the Internet and uploads the data into a more powerful computer where it can be monitored by coaches and trainers or analyzed later for sophisticated feedback about their performance. 

This data can also be shared via social networks with other athletes for comparison or to show off to fans or just to maintain a public record. Most of these scenarios deal with telemetry or one-way data monitoring. Conjure up an image of any NASA mission's ground control; a room full of men in white short sleeved shirts, black ties and horn-rimmed glasses staring at computer screens. That's telemetry.

In essence, this what IOT is about. Telemetry for everyone, hopefully without the need for rocket scientists to interpret it. But it also takes it a step further, because it gives you the ability to not only view the data, but to control the devices sending the data. A thermostat which sent you a message reminding you to set it to away mode after you've left the house wouldn't be all that useful if that's all it could do. However if you could  respond with a curt "enable away mode", that might be pretty useful. Smaller devices talking to larger devices, talking to even larger and smarter devices and then returning optimized information and new instructions back downstream.

The Internet of Things has an interesting side effect and this is data. A whole lot of data. Look at a Google search. Google tracks our searches, and tries to help expedite them.

I type in kit... Google remembers I have looked for kites in the past, and offers kites as an option. I continue typing... Kitt. Now Google thinks, "Ah ha." You have searched in the past for Kitten videos, and provides a prompt for this. I continue typing kitten cooking recipes. Google no longer has a reference for this and just does that search. This is done tens of millions times a day by Google. I just hope Google isn't going to tell PETA about my search.

The data collected in IOT environments can be valuable to users in aggregate. Crowd sourcing depths is an example. An engine manufacturer would be very interested in vessel use characteristics. How often is the engine used? What was the ambient air temperature when used? Is fuel consumption increasing?

The engine's embedded computer stores this data but there is no way to get it to the manufacture with any grace. The engine is sold, techs read data when it gets serviced but this is where the trail typically stops. The steady increase of fuel burn is never spotted in the big picture until something fails.

Now let's look at IOT on your boat. Hello, can you hear me? Anyone there? Hmmm, seems like no one is home. Your boat is currently a square peg trying to fit into the connected world. Maybe you have an SMS gateway which sends you a text message when the bilge pump stops working. If so congratulations you have one of the most connected boats around [1]! What if you could do more?

How about sharing your route, local weather conditions, and rum tank capacity with the other boats in your cruising rally in real time? Or contributing to a detailed crowd-sourced underwater survey of your favorite gunkhole locations that no government agency or private mapmaker could ever hope to match? Maybe you'd just like to get a better picture of what the current conditions are like right now in your favorite places to sail. The modern social, connected IOT boating world can help with that too.

Add in denser cell phone coverage and municipal WiFi. Staying connected while on the water is now easier than ever. Racing, cruising, maintenance, costs tracking, SART (especially in congested areas) and anything else yet to be cogitated on all provide opportunities to apply aspects of the Internet of Things to help solve problems. What's the point of mentioning all of these things? To get you thinking about making your boat less of a square peg of course! 

The Internet of Things, like the Internet ... well, the Internet isn't some technology cooked up in a corporate research lab and licensed out to those with the deepest pockets for a fee. It's built on open standards and largely with free and Open Source software (and often Open Hardware as well). It encourages community participation and welcomes tinkerers and experimenters of all types, even the corporate ones.

A platform for bringing the IOT to the boating world is taking shape in the Open Source world. It's called Signal K and it aims to connect all the previously disconnected Things on your boat into a Network of Things which can in turn be connected to the Internet and become an Internet of Things. Astute and erudite readers that you are, you will no doubt recall an earlier article on this very subject. Signal K has continued to evolve and grow and is now positioned to become the way connected boats can connect to one another and to the Internet at large.

There have been many additions to the Signal K platform in recent months, but two stand out as important in the pursuit of IOT connectivity. The first is a comprehensive permissions framework which will allow you to specify exactly what you share and who you share it with. For instance, you might wish to share your fishing spots with only your closest friends, but want to share your route through a tricky inlet with everyone (or not if it leads to that fishing hole). Permissions are also useful when confined to just your boat. You might want to provide everyone onboard access to cabin lighting control through their smartphones, but only you and the crew should have access to navigation light control.

The other is the idea of self-documenting data. This allows consumers of data provided by Signal K to display it without any prior knowledge of the data itself or how to interpret the bytes which make up that data.

If you consider any of the current methods for communicating between two devices in a marine network, whether it's NMEA 2000, 0183, SeaTalk or something else, you know that for two devices to work together, not only do they both need to speak the same protocol, the receiver of the data has to know how to interpret it.

For instance, imagine a pretty dumb display device which doesn't natively know what an oil pressure is. In the Signal K model, upon learning that there is a measurement called oil pressure, the display can ask for specifics and in turn the Signal K server will respond with interesting facts about oil pressure specific to your boat). It might say that the oil pressure is reported in kPa, has a range of 0 to 600 in increments of 0.1, has a nominal range of 250 to 350 and alarm conditions at 100 and 500 kPa. And now the dumb display isn't so dumb any more.

What makes this especially interesting is that it means that a device doesn't need to know how to display a custom designed oil pressure gauge, it merely needs to know how to display a generic gauge and can learn all of the specifics directly from the Signal K server on the boat. This is especially important in the world of IOT because it just isn't reasonable (or perhaps even possible) for every display device to know how to display every bit of information out there. Providing the underlying "metadata" solves this problem and enhances app development.

Unlike the flying car I was promised in the future when I was a kid, the Internet of Things is here and it's getting exponentially bigger faster than most realize.

In the first quarter of 2013, there were a staggering estimated 500 million Internet connected devices in American homes. In May of 2014, more homes had streaming media players than Blu-ray disc players. There are already more Internet connected devices than there are people. Why shouldn't your boat be part of it?

[1] Apologies if you happen to be reading this from a Volvo or recent America's Cup boat. You guys win in the connected department. But coming soon everyone can become a winner.

Tim Mathews along with being an avid sailor having logged nearly 10,000 miles on the Chesapeake, US east coast, and Bermuda to name a few locations is one of the Signal K project core team participants. Tim is a IT professional involved with enterprise management, industrial control, building automation and web front-end and user interface design.

The IOT puzzle photo is a redacted version created by Wikipedia user Willi Heidelbach.


  1. This is all well and good, some might say "pie in the sky", but frankly, I'm struck by the very 1-sided nature of this post/POV, especially given the humorous but fairly well-balanced content we usually find here... not a single mention of privacy or security! IMO this is pretty ironic given my fellow sailors' uniformly libertarian POVs when it comes to those 2 topics (in my exp., can't speak for power boaters). As well, the resulting orders of magnitude increase in systems complexity, w/far more to get or go wrong, seems to fly in the face of Bill's historic industry criticisms. Please don't mistake my comment as 100% negative on IoT generally or when it comes to boating, would just like a little balance (or even a mention of pitfalls) -- perhaps in a follow-on post.

  2. Anon, thanks and yes I agree it is one sided because there is nothing else to contrast it with. An approach like Signal K's is not unique to the rest of the world. The concept was first demonstrated in 1982 and the term IOT was coined in 1999. The story is really a basic introduction to the Internet of Things.

    Signal K's goal is to vastly improve and ease access to your boats data, both hard such as NMEA, and if desired the schema (database if you will) holds other forms of data. By doing this in a consistent universal format developers will be able to create a multitude of applications we have yet to even contemplate.

    There are many conversations and implications for boaters that can and will flow downstream. The project does understand the importance of both privacy and security, and has a framework in place to provide this. You can read the outline of it on the Signal K website. I still clearly remember the spirited conversation on Panbo a few years back titled "AIS, a threat to our liberty?" It certainly pointed out that boaters are concerned about privacy, and Signal K's design will provide good tools to control this.

    The complexity argument is also very valid and of concern. I have written many pieces built around the phrase " Increased complexity equals reduced reliability." In Signal K's case its job is to make data available if desired for other purposes, and not specifically to run your boat. It's merely aggregating and packaging information that comes from other existing systems on the boat whether it be from the GPS, or the depth sounder. What is done with this information is at the users discretion, but many good things can and will come of this if properly used.

    Lastly Signal K was born out of the frustrations by a group of software developers who wanted better access to their boats data, and had been hindered by unwieldy data formats that were good on the boat, but not suitable for the more connected world. This is the primary reason why there are so few apps available that can use your boats data today. Our boat is a digital island and it's way past time to build build a bridge to it.

    Thanks for the comments, I'm sure there will be many many more conversations built around concepts like social sharing, big data, the pitfalls and much more.

  3. Bill groks IoT.

    @Anon. Bill did mention security in his discussion of permissions, and security discussions are all over the Signal K mailers. The issues are not being ignored.

    Just one specific use case to support the spirit of Signal K. In this year of 2015, it is still not possible to move waypoints/routes/tracks from product A to product B. Furuno, Garmin, Navico, Ray to/from off-board planners or transfer between the onboard units.


Note: Only a member of this blog may post a comment.