Sunday, December 11, 2016

Signal K and the WihelmSK App

Application: iPad, iPhone Apple Watch, iOS 9.03 or later
Function: Marine Data
Rating: *****
Cost: Signal K free/Open source, WihelmSK $19.99

What the heck is Signal K?

Signal K is new modern open source data format for use with marine electronics. Signal K is based on web communications and display technologies which makes it available to anyone who wants to build systems to use and display marine data. This is truly an open format available for anyone to contribute to and help develop.  A whole new world of possibilities has been made available by converting data from a closed standard proprietary NMEA format to open Signal K standard.

The compatibility of marine electronics was very limited years ago due to the many proprietary protocols of each company. The National Marine Electronics Association (NMEA) 0183 standard was developed in the early 1980s in an effort to provide a standard protocol for marine electronic device communications. NMEA 0183 is a serial protocol that defines how data is transmitted from one device to another. As modern electronics and chart plotters began to develop manufactures realized it had many data and bandwith limitations. The NMEA 0183 was finally updated with the NMEA 2000 protocol in about 2005.

NMEA 2000 had been in development since about 1994. It was developed cooperatively by over 40 manufacturers and organizations including the US Coast Guard.  It was intended to facilitate interconnection and interchangeability of the new digital marine electronics. The NMEA 2000 format allowed for greater bandwith, additional data types, standard connectivity and a faster network style format.  The NMEA 2000 format has worked well and was a much welcome update to the older NMEA 0183 standard.

The creation of the Internet, mobile devices and especially the iPhone in 2007 along with the development of marine apps created the next revolution in the marine industry.  Suddenly the need for this NMEA data had exploded and boaters with mobile devices were hungry for access to it.

The Signal K revolution was started as an open source project by several marine boating enthusiasts back in about 2014 as far as I can tell. The project members develop and supply the software code to anyone wanting to use it or help develop it further.  Signal K received a big boost when Digital Yacht launched a KickStarter project for a Signal K device called iKommunicate. This was well received by the many "early adopter" marine electronic enthusiasts and Digital Yacht has since produced the device for sale. It is available for $299.

The Signal K code can be easily run on a Raspberry Pi server also. The Raspberry Pi 3.0 board can be purchased for about $35 on Amazon. The full installation instructions for the software can be located on the Signal K site. The Raspberry Pi will then wirelessly provide the Signal K marine data to any mobile device over WiFi.

Getting the NMEA 2000 or 0183 data to your Raspberry Pi can be achieved by using a signal converter which plugs into the Pi's USB connection. Actisense is one company that produces these devices. If your onboard instruments are NMEA 2000, the Actisense NGT-1 can connect to your 2000 network and convert the data to USB. A Google search found several companies offering them from $169 to $189. If your marine instruments are the older NMEA 0183, Digital Yacht makes an adapter cable to convert the data to USB for about $55 on Defender.com.

Still in it's infancy, Signal K is starting to receive more support from hardware manufacturers, app developers and programmers.  Apps are now being written to accommodate any data type and display it in digital, analog, line or bar chart display.

Wilhelm is one new app that was developed by a long time programmer and sailor, Scott Bender. He wanted the flexibility to display marine data the way he wanted on a variety of devices. The $20 app is impressive and has the versatility to display a variety of marine data. The list of feature is extensive as seen below.


Features: 

Supported Connections:
  • Signal K REST api or streaming 
  • iKommunicate REST api or streaming 
Connection Configuration:
  • Apple Watch support 
  • Manual configuration of ip/hostname and port 
  • Signal K discovery via Bonjour 
  • iKommunicate discovery via Bonjour
Raymarine Auto Pilot Support:
  • View or change current mode (Standby, Auto, Wind, Track)
  • View current target heading or Wind direction
  • Change target heading or Wind direction
Alarms and Notifications:
  • View list of current current alarms
  • Acknowledge Raymarine "Turn To Waypoint' 
  • Push notification support 
  • Setup server side alarms 
  • Set an anchor alarm with the push of a button 
Gauges:
  • Raymarine MFD: display and interact with a Raymarine MFD (discovered via Bonjour)
  • Water Temperature
  • AWA
  • AWA and COG
  • AWS
  • Drift
  • Set
  • TWA
  • TWS
  • GWA (Ground wind angle and speed calculated internally from AWS, AWA and COG)
  • GWS
  • Battery Voltage
  • Alternator Voltage
  • RPM
  • Coolant Temperature
  • Oil Pressure
  • Oil Temperature
  • True Heading
  • Magnetic Heading
  • Pitch
  • Roll
  • Yaw
  • SOG
  • COG
  • GPS Position (with link to Apple Maps)
  • XTE
  • Water Speed
  • Distance to Waypoint
  • Route ETA
  • Time to Waypoint (computed internally from DTW and SOG)
  • Depth (adjusted via depth offset)
  • Fuel Tank Level
  • Black Water Tank Level
  • Fresh Water Tank Level
  • Rudder Angle 
  • AWA Close Hauled
  • Engine Run time
  • GNSS Date 
  • GNSS Time
  • GNSS Date/Time
  • Atmospheric Pressure
  • Create a gauge for any value available via Signal K
  • Customize gauge display using Signal K meta.zones
  • Wind Angle gauges can optionally be rotated to the bow, regardless of device positioning
  • Place gauges by long pressing on a gauge and choosing a different one
  • Make a gauge full screen by double tapping
  • Multiple layout support. Create a different layout for Steaming, Sailing, Home Monitoring, etc.
  • Customize the number of pages and layout
  • Manual connection configuration synced across devices via iCloud
  • Automatic connection selection based on current IP (useful when Bonjour is not available and you have multiple boats)
  • Dark and light themes
  • Animated gauge needles
  • iPad Slide over and Split View support (Your gauge configuration can be customized for these views)
  • Connections refreshed manually or at specific intervals
  • Design your own custom gauge templates
  • Share templates via Air Drop, eMail, Text, etc.
  • Edit ApplyTV or other device layouts and templates remotely using your iPhone or iPad
  • Digital or analog gauges
  • Enter the Signal K path and title for any gauge to show data not supported by default

The list of gauges that WilhelmSK supports is impressive. The app has the versatility to display over 40 different parameters and more are being added with each release. The gauges can be displayed in either digital or analog format with light or dark backgrounds.  

The app displays can be customized in several ways by the user which allows development of personalized displays. Several instrument layouts can be developed to include the data in the desired groupings.  You can even develop displays for the Apple Watch.

WilhelmSK Apple Watch
The app should work with any Signal K server. Digital Yacht's iKommunicate device and the low cost Raspberry Pi servers can be configured as well. These devices have to be connected physically with your onboard instrument's NMEA 0183 or 2000 networks. The data is then provided from the server over WiFi to your mobile device. 

Apple Watch support is also provided. How cool would that be to have all your boat's instrument data available on your wrist. Alarms could alert you to problems on board that you might otherwise miss. My mind is just racing at all the possibilities for using this technology.

I applaud the Signal K group and programmers like Scott Bender who are blazing a new trail in the marine data industry. Making data available in a non proprietary open source format sure make sense to me. 

Other app and devices that support Signal K are listed below. I am sure this list of apps and servers will explode within the next year as this new and open source protocol catches on. 
I am excited for the marine industry and the future of Signal K. This effort will allow the average user to create their own displays and better utilize all the marine information for hopefully a safer and more enjoyable boating experience.

So who is ready to buy a Raspberry Pi and get started?

~~~ Sail On ~~~ /)
Mark