e-Magazine       Home         

Art. Barcos

Catálogo Boats

Ocasión

Financiación

Seguros

Megayates

InfoNáutic

Charter

Empresas

Motos Agua

Tienda

Eco-Náutica

Noticias

Regatas

Tablón

Club Fondear

     
     
     
     
     
     
   

2017

   Volver Menú Infonautic
 
 

     
 

Signal K: El futuro de la comunicación náutica

 

 

 

Así se llama el nuevo protocolo de datos digitales que posiblemente acabe con NMEA.

 

Además de ser usado para la comunicación entre instrumentos y sensores en los barcos, Signal K permite el intercambio de información entre diferentes barcos, equipos de ayuda a la navegación como pueden ser boyas inteligentes, o incluso datos emitidos por marinas deportivas. Signal K está diseñado para comunicarse con la web, con aplicaciones en smartphones y para acceder a internet de forma nativa...

Aunque NMEA sea muy completo y esté totalmente implantado en la industria de la electrónica náutica, lo cierto es que no está a la altura de las circunstancias actuales y de las necesidades de comunicación de los nuevos dispositivos de última tecnología. NMEA 0183 lleva con nosotros unos 30 años y en 1994 sus carencias fueron solucionadas por NMEA 2000 (también conocido

como NMEA 2K) aunque realmente este nuevo protocolo llegó al mercado allá por el 2001. Y de esto ya han pasado más de 15 años. ¡Toda una eternidad en términos tecnológicos!

Ahora que se habla del “Internet of things” (el Internet de las cosas) en donde la televisión está integrada con Internet, como ya ocurre de facto con cualquier televisor moderno, y en un futuro próximo ocurrirá con el coche, la nevera o hasta el colchón de la cama.  Windows ya ha sacada una versión específica de su sistema operativo para IoT, y  parece lógico pensar que la potente electrónica digital de nuestros barcos debería estar también preparada para el IoT. Algo totalmente imposible si permanecemos anclados en el pasado del NMEA.

Con el "Internet of Things", van a aparecer una nueva generación de equipos de navegación que compartirán datos en distintas plataformas y equipamientos, para ofrecer ventajas que ahora solo comenzamos a vislumbrar. Prestaciones que harán mucho más segura la navegación, más accesible, más placentera y cómoda.

 

Adiós NMEA...

Cada vez se hace más evidente la necesidad de disponer de un nuevo protocolo que sea capaz de solucionar las necesidades en un mundo cada vez más conectado. Existen varios problemas básicos con el actual estándar NMEA, y el primero de ellos deriva de ser un protocolo pensado para comunicar datos en red local y con un limitado número de dispositivos. El segundo es su lenta velocidad de comunicación. NMEA 0183 transmite a solo 4.800 baudios y a un solo dispositivo de transmisión. Por su parte, NMEA 2K alcanza los 250 kbaudios y permite la transmisión de hasta 50 elementos en una misma red, algo perfectamente lógico para lo que entendemos una red de dispositivos de navegación dentro de un barco, pero insuficiente para las necesidades que están surgiendo fruto de la alta conectividad con Internet.

 

Problemas técnicos o problemas legales

Pero otro de los problemas de NMEA 2K no es de carácter técnico, aunque como ya hemos comentado no está adaptado a los tiempos actuales en los que los smartphone, tabletas y placas integradas, son tan capaces como el mejor equipo multifunción del mercado. Especialmente, los ordenadores integrados con placas miniatura como son Raspberry, Pine-64, LattePanda, o UDOO-x86 entre otros, son extremadamente potentes y están preparados para hacer mucho más que compartir datos de viento y coordenadas de situación o competir con las multifunción del mercado.

¡Uno de los problemas principales de NMEA es un asunto legal! NMEA está publicado y es público para cualquier equipo de desarrolladores que quieran utilizarlo, sin embargo no es gratuito… Su uso está sujeto a una licencia que restringe la forma de utilizarlo, para así prevenir la creación de un software “open source” que utilice el estándar NMEA.

Además los dos NMEA, así como los otros protocolos propietarios de algunos famosos fabricantes, fueron creados cuando la instrumentación típica de los barcos era muy sencilla y con pocas prestaciones.

Por el contrario, SIGNAL K es código abierto, y de hecho se pueden descargar las fuentes compilables en Apache versión 2.0, así como la definición de los protocolos y descripción de interfaces, (consultar www.signalk.org).

Ahora hasta la nevera se puede conectar a Internet… ¿Cómo no deberían hacerlo los barcos para compartir datos de gran importancia como ya está haciéndose con el AIS? Hay muchos barcos que navegan a nuestro alrededor con diversas informaciones en cada uno de ellos, y muchas otras fuentes de información cercanas como son marinas, puertos, lugares costeros, centros meteorológicos… Datos que pueden ser cargados en el barco y distribuidos hacia las pantallas multifunción y a cualquiera de los dispositivos con los que actualmente solemos navegar, como son tabletas, ordenadores o teléfonos inteligentes.

Ya estamos dejando atrás la época en la que el protocolo de comunicación no permitía compartir datos fuera de la red troncal del barco.

 

¿Cómo organiza la información SIGNAL K?

El modelo de datos de Signal-K describe una larga y potente jerarquía de datos organizada en capítulos y subcapítulos para organizar los datos de nuestro barco o de otros barcos que naveguen a nuestro alrededor, datos de sistemas de ayuda a la navegación, datos de marinas o puertos deportivos, datos de puntos de interés, datos de guías de navegación on-line entre otros. En Signal-K cada información o dato tiene definida su localización lo cual se conoce como el "path" o procedencia, como ocurre por ejemplo en las URLs de Internet, o URI (Uniform Resource Identifier) en SIGNAL-K.

Además de existir datos dinámicos que evolucionan continuamente en el tiempo, como pueden ser por ejemplo unas coordenadas GPS, o la velocidad del barco, dirección del viento o datos de sonda, el modelo de datos de SIGNAL-K es capaz de almacenar y tratar con datos estáticos como son por ejemplo, la información del barco, cartografías, datos de una marina, notas de una zona de navegación, etc.

 

El protocolo en SIGNAL K

El modelo de seguridad en SIGNAL-K es parecido al que estamos acostumbrados a utilizar en los ordenadores y se especifican 2 permisos (lectura y escritura para 3 grupos de usuarios (usuarios, grupos, otros).

El protocolo permite definir cómo interactúan entre sí varios elementos de la red y cómo se hablarán entre sí. Se definen 5 comandos básicos; List, Get, Put, Subscribe, Unsubscribe.

Lo importante es que el modelo de datos es consistente y por ello, nuestros instrumentos pueden mostrar tanto nuestros datos del barco como datos externos. Cada instrumento o sensor mantiene una copia parcial del modelo de datos con los datos que le son particularmente necesarios. Por ejemplo, una sonda que recoge datos del sensor de profundidad sabrá que esa profundidad corresponde a nuestro barco, pues el modelo de objetos indica que es un dato de batimetría perteneciente a un barco concreto.

SIGNAL-K pueden interactuar con datos compatibles entre distintos barcos. Y como todos los elementos de SIGNAL-K y sensores hablan en el mismo modelo de datos, todos los sensores son compatibles con todos los instrumentos y viceversa.

Además, es totalmente compresible de forma natural, pues el lenguaje es descriptivo y cualquier sentencia puede ser leída y comprendida para conocer que tipo de información está siendo transferida entre los dispositivos.

Veamos una serialización de datos en JSON (JavaScript Object Notation) para un velero de nombre Endurance con un MMSI 123456789 que navega a rumbo verdadero de 23º y con un rumbo magnético de 43º, en una fecha determinada de Enero de 2017 y a una hora.

En el siguiente ejemplo se utiliza JSON para intercambiar datos, aunque esto no quiere decir que SIGNAL-K esté circunscrito necesariamente al modelo de objetos de JavaScripts como lenguaje de transmisión de la información.

 

{

  "self": "123456789",

  "vessels": {

    "123456789": {

      "name": "endurance",

      "mmsi": 123456789,

      "navigation": {

        "headingTrue": {

          "value": 23,

          "source": "self",

          "timestamp": "2017-01-24T00:15:41Z"

        },

        "headingMagnetic": {

          "value": 43,

          "source": "self",

          "timestamp": "2017-01-24T00:15:41Z"

        }

      }

    }

  }

}

 

Transmisión de datos en SIGNAL K

SIGNAL-K nos ofrece un modelo de datos extensible y capaz de dar cabida a cualquier fuente de información, sea de nuestro barco, otros barcos, o muchas otras fuentes de datos como ya hemos comentado, permitiéndose la transmisión de estos datos de forma eficiente entre los diferentes elementos, equipos y sensores.

El modelo de datos está formado por una estructura de meta-datos en forma de árbol jerarquizado y transferido, por ejemplo, como una cadena de caracteres en lenguaje Javacript Object Notification (JSON), en la cual se ha filtrado sólo la información necesaria. Por ejemplo, si un equipo sólo necesita la información de velocidad del barco, la cadena de datos transmitida será simplemente;

Vessels.localBoat.navigation.speedThroughWater

O quizás hayamos transmitido todos los datos de navegación como;

Vessels.localBoat.navigation

 

O quizás deseemos ver en nuestra pantalla multifunción los datos de viento de cualquier fuente que tengamos disponible; SIGNAL-K admite la fusión de datos desde distintas fuentes para que diversos equipos puedan interoperar entre sí, lo cual sin duda dará lugar a nuevas prestaciones y ventajas en los próximos equipos electrónicos de navegación. Por ejemplo, un chart-plotter podría lanzar esta sentencia para recibir meteo de todo lo que tengamos a nuestra disposición en este momento incluyendo los datos meteo de otros barcos que naveguen a nuestro alrededor. ¡Impresionante ¿verdad?!

 

Var windVectors = Array.prototype.slice(vessels)

.map(function(node) {

return node.environment.wind

});

Signal-K define métodos para combinar datos dentro de familias, en vez de tener que definir cientos de mensajes específicos. Existen unos pocos formatos de mensajes que pueden contener cualquier combinación de datos. O sea, no necesitamos crear un nuevo mensaje cada vez que salga un nuevo dispositivo. Así, cualquier dispositivo puede leer cualquier mensaje y un nuevo dispositivo puede introducir un nuevo tipo de datos que será entendido por los anteriores dispositivos sin tener que hacer actualizaciones en el firmware.

 

Internet es el modo de transmisión

SIGNAL-K, aunque no de forma exclusiva, transmite en JSON que es totalmente nativo a Internet, totalmente nativo a cualquier navegador de Internet y por tanto, totalmente compatible con la forma en que trabajamos actualmente, incluyendo WiFi, Ethernet, USB, Bluetooth, telefonía 3G, y todo lo que esté por venir.

A diferencia de NMEAs, no se define ningún protocolo de transporte o de cableado específico. Los mensajes JSON pueden ser transferidos mediante cualquier "capa" de transporte, aunque por defecto se utilice con muy buenos motivos TCP/IP o transmisión serie.

Y es importante remarcar que lo que se transmite es una cadena de caracteres en lenguaje JSON por lo que podemos "serializar" los mensajes y datos a través de redes y cables en RS232/442, CAN-Bus, Onewire o lo que sea.

NMEA comenzó transmitiendo a 4800 baudios para pasar a 38.400 baudios en su última versión y NMEA2K subió a 250.000 baudios, lo cual encajaba con las necesidades exigidas por ejemplo por los AIS. Pero ahora cualquier tableta, Smartphone o red WiFi supera los 54 Mbits subiendo a 1.000 Mbits en las redes de cable Ethernet, lo cual permite compartir video y datos gráficos de alta resolución o datos de alta densidad de información. Datos que son totalmente adecuados a SIGNAL-K e imposibles de digerir o ser ni siquiera planteables con NMEA.

 

SIGNAL-K y NMEA

Para que SIGNAL-K pueda ser mayoritariamente aceptado, es necesario que soporte conversión desde NMEA0183, NMEA2000 y SeaTalk. Pronto veremos sensores y transductores que saquen datos nativos en SIGNAL-K, pero por ahora tenemos que utilizar un "conversor" que tome datos de NMEA o Seatalk y devuelva Signal-K. El asunto ya está resuelto y el producto se llama iKommunicate, está fabricado por Digital Yacht. Se trata de una "caja-negra" que permite hacer compatible ambos mundos convirtiendo en tiempo real NEMA0183 y MMEA2000 en datos SIGNAL-K y de forma "plug&Play" sin tener nada más que enchufar el conversor.

Una solución alternativa para los más técnicos consiste en utilizar Raspberry o placa de ordenador parecida para montar un servidor de Signal-K por muy poco esfuerzo y dinero cuyas fuentes se pueden descargar desde la web oficial de Signal-K como veremos en otros artículos de próxima publicación.

 

 

App NMEA Remote

 

 

Aunque existe otras aplicaciones para Android o IOs, esta App descargable desde Apple Store permite desde 3,99€ representar en un iPAd o iPhone los datos de navegación que posiblemente hayamos reconvertido desde la red de datos NMEA actual de nuestro barco mediante un iKommunicate o directamente obtenidos en SIGNAL-K por otros medios. NMEA-Remote también procesa directamente datos NMEA y Signal-K y con esta solución tendremos posiblemente una de las mejores pantallas de datos que pudiéramos instalar en nuestro barco.

 

 

 

 

 

      Artículos relacionados:

         - NMEA; compartir la electrónica en el barco

         - Datos e Internet a bordo

         - iPad y otras "tablets" a bordo

         - La batalla de la "tablets" náuticas

         - ¿Puede fallar el GPS?

         - MaxSea TimeZero ¿Gratis y en iPad?

         - Electrónica marina; el futuro ya está aquí

         - ChartPlotter; ¿Para cuándo el futuro?

         - MaxSea; todo el poder de la cartografía

         - PC marino; la potencia está en el Software

         - Electrónica marina ¿Hacia el PC?


 

 

 

 

Tel: +34 91-6319190        info@fondear.com 


© Copyright    Fondear, S.L.