17/09/2021

Nueva vida para la electrónica de nuestro barco

Por admin

Saludos navegantes,
hoy vamos a reutilizar y modernizar toda la electrónica de nuestro barco gracias a nuestra Rapsberry con Openplotter, interconectando dispositivos NMEA 0183 y Seatalk para poder acceder a sus datos desde cualquier dispositivo (Tablet, Móvil, Ordenador, Navionics, OpenCPN) y cualquier lugar. Y todo gracias a conectarlo con nuestra Raspberry Pi con OpenPlotter. Un mundo de posibilidades de rejuvenecer la electrónica de nuestro barco y sacar el máximo partido de ella con soluciones muy económicas y sencillas

Motivación

Y ¿por qué todo esto?, pues bueno, no sé cómo será vuestro caso, pero en mi caso, cuando me compre el barco, ya tenía cierta cantidad de electrónica, que estoy seguro de que fue muy buena y muy cara en su día, pero que se queda obsoleta a ritmos agigantados.

Y, por supuesto, cada uno de estos dispositivos hablaban y tenían sistemas de comunicaciones diferentes: La sonda, CAN BUS propietario de Navico; el ploter, NMEA 0183; el equipo de viento y el piloto automático SeaTalk, y mi Raspberry Pi que habla todo tipo de protocolos IP y que nos permite conectar por WiFi con cualquiera de nuestros móviles, tablets, ordenadores, etc..

Bueno, pues nuestro objetivo de hoy es interconectar estos sistemas para que toda la información se centralice en nuestra rapsberry y podamos acceder a ella, desde cualquier lugar del barco, desde la playa o incluso desde casa.

Compras
Y para hacer todo esto, que es lo que vamos a necesitar:

Lo primero, habernos visto el post sobre instalar nuestra Rapsberry Pi. Si la tenemos con conexión wifi a internet, como indicábamos en nuestro post sobre tener WiFi en el barco, mejor que mejor, porque será lo que nos permita ver todo desde móvil, tablet, ordenador o incluso desde casa. Si no, también vale, porque podremos verlo desde la pantalla de la Raspberry.

Ahora, para conectar todo, pues cables. Mi recomendación para cables de datos.. Pues cable UTP de red, de los de conectar los ordenadores a internet que son estándares, baratos y con un solo cable tienes 8 hilos que dan para conectar muchas cosas. En general necesitaremos:

✅ Adaptadores RS232 para conectar los equipos NMEA:
🔵 En AliExpress 2 por unos 4 euros: https://s.click.aliexpress.com/e/_AXLMoU
🔵 En Amazon 1 por 7 euros: https://amzn.to/2VO6hWD
✅ Adaptador directo de Seatalk a USB:
🔵 En su propia tienda unos 45$: http://www.yakbitz.com/ST1toUSB1.aspx
✅ Y para haceros vuestro propio adaptador Seatalk para la Raspberry mucho más barato:
🔵 Opto acoplador de 12V por 2 euros: https://s.click.aliexpress.com/e/_AFEi0y
🔵 Resistencias de 4,7K por otros 2 euros: https://s.click.aliexpress.com/e/_A9aNRQ
🔵 Cablecitos para conectar a la RPi “male-female” 1,5 Euros: https://s.click.aliexpress.com/e/_AAO7Ek
✅ Cable UTP de 8 hilos:
🔵 En AliExpress https://s.click.aliexpress.com/e/_9xdkEY
🔵 En Amazon https://amzn.to/3lumzMZ
✅ Y si os sentís muy torpes y queréis una soluciona ya hecha en plan todo en uno, tenéis soluciones por 230 euros como esta:
🔵 QK-A034 Multiplexor bidireccional WiFi a NMEA 2000 Gateway (con convertidor SeaTalk (entrada) y opciones de entrada NMEA 0183) https://amzn.to/3EnGx4F

Con esto, algunas herramientas y cinta aislante, tendremos todo lo necesario para hacer nuestro montaje.

Montaje

Se trata de pasar un cable desde los conectores NMEA y Seatalk de nuestra electrónica del barco, hasta el lugar donde tengamos instalada la Raspberry. En principio necesitaremos dos hilos para el SeaTalk (como es un bus de comunicaciones con una conexión cubrimos todos nuestros dispositivos), y dos o 4 hilos por cada dispositivo NMEA 0183 (dependiendo si solo queremos leer datos o también pasarle datos). En mi caso, he pasado un cable UTP de 8 hilos desde la bitácora hasta el panel de interruptores donde tengo la Raspberry y con eso tengo cables suficientes para todo.

Dos de los hilos los vamos conectar al SeaTalk para recibir todos los datos del equipo de viento y el piloto automático, vamos a usar el par verde para conectar a los cables verde y amarillo del SeaTalk, que son los de datos. Y en el otro extremo conectaremos estos a la entrada de nuestro opto acoplador.

Finalmente, los otros tres pines del optoacoplador los conectaremos a los pines de 3.3V (el pin 1 por ejemplo), el GPIO 4 (pin 7) y GND (pin 6 por ejemplo) de nuestra Rapsberry

En cuanto al NMEA, pues nosotros vamos a ver como conectar el plóter que es el más completo:

Tenemos entrada y salida NMEA, así que usaremos el par azul para la entrada NMEA de nuestro plóter y el par marrón para la salida de nuestro plóter, que ambos acabaran conectados así a los pines de nuestro segundo adaptador RS232, ver esquema.

Solo nos faltará conectar el USB a la Raspberry, pero eso lo haremos durante la configuración.

Controla remotamente nuestra raspberry

Para poder trabajar más cómodamente con la Raspberry, vamos a ver dos técnicas para manejarla remotamente desde cualquier tablet, ordenador o móvil. La primera pensada para cuando estamos conectados al mismo WiFi que ella y la segunda para cuando la tenemos conectada a internet y nosotros estamos lejos.

Si nuestra Rapsberry tiene wifi, pero no internet, pues lo podremos hacer cuando estemos en el propio barco: Es tan sencillo como habilitar el servicio VNC en la configuración de la Raspberry. Simplemente nos vamos a la configuración, interfaces y habilitamos el que pone VNC.

Para conectarnos desde cualquier dispositivo podemos bajarnos el cliente de VNC para dicho dispositivo, por ejemplo VNC Viewer y poner la dirección IP de la Raspberry que vemos en el propio panel de control del servidor VNC.

Si seguimos los consejos de mi episodio 2, y, además, tenemos el barco conectado a internet, podremos hacer lo mismo desde cualquier lugar del mundo.

Fácil también: instalamos en la raspberry el servidor de AnyDesk. que es tan simple como descargarnos el fichero DEB correspondiente desde la web de AnyDesk y hacer doble clic sobre él (más detalles en el video).

El funcionamiento de AnyDesk es muy sencillo, no tendremos que abrir ningún puerto ni nada, él se conecta con un servidor en internet y a través del identificador único que nos da y la contraseña, podemos manejar la Raspberry desde cualquier lugar y dispositivo que tenga instalado el AnyDesk, y todo gratis, para uso privado.

Con esto, ya podemos ver la Raspberry desde cualquier lugar y seguir con los pasos de configuración de nuestras interfaces SeaTalk y NMEA

Configuración

La configuración de todo esto es bastante sencilla, para el NMEA 0183 facilísimo:
Nos vamos al menú OpenPlotter Serial, en devices nos aparecerán los dispositivos que tenemos conectados, conectamos el USB de nuestro adaptador RS232 a la Raspberry, veremos que nos aparece uno más en la lista al dar refrescar, pinchamos sobre él, le asignamos un alias, para que siempre le recuerde y podamos distinguirlo fácilmente, escogemos NMEA0183, pinchamos en Apply y nos vamos a connections, le seleccionamos, escogemos la velocidad estándar del NMEA0183 que son 4800 bps y la damos a Add to Signal K. Y ya esta. Podríamos repetirlo esto mismo para todos los demás dispositivos que tengamos con NMEA 0183.

Ahora vamos con los SeaTalk, pues muy sencillo: Si habéis optado por la forma fácil, que es la que yo use al principio, pues el adaptador SeaTalk a USB de 35 euros, lo conectáis y los pasos son idénticos que con el NMEA, solo cambia la velocidad de conexión que en este caso son 38400.

Si optamos por la opción aún más barata del optoacoplador, también muy sencillo:
Instalaremos la opción de GPIO en la Raspberry Pi


Entraremos en la aplicación de GPIO en el menú de la Raspberry
Veremos una pestaña Seatalk 1 donde añadiremos un nuevo dispositivo, le pondremos un nombre, le asignaremos al pin 4 y diremos que invierta la señal.


Aprobaremos el dispositivo en el SignalK, que nos obligara a loguearnos (el usuario y la contraseña serán admin si no los habéis cambiado nunca)
Le daremos permisos de lectura y escritura, y ya tenemos los dispositivos funcionando..

Probándolo todo

Y ahora ya podemos ver los datos desde múltiples sitios, en realidad, gracias a la conexión remota, desde cualquier lugar…

Pero básicamente:
Desde el estatus del signal K, abriéndolo en la Raspberry o en cualquier navegador, en mi caso http://192.168.10.60:3000, en vuestro caso cambiará la dirección IP pero no el puerto.

En la opción data browser vais a poder ver todos los datos que recibe, pero además el propio signal K nos permite hacer nuestras propias pantallas de relojitos con los datos..

Y por supuesto, podemos ver todo lo que queramos desde nuestras aplicaciones de navegación habituales, ya sea abriéndolas en la propia Raspberry, o en cualquier móvil, ordenador o tablet conectado a la wifi del barco.

Con OpenCPN, facilísimo: Añadimos una nueva conexión de datos, ponemos la dirección IP del servidor signalK de nuestra Raspberry (en la opción network nos la enseña la Rapsberry) y ya tenemos el open CPN recibiendo los datos.. ya podemos ver todos los datos que le llegan a la Raspberry (tanto los datos del AIS de nuestro episodio 11, que tan útiles son), como la posibilidad de superponer los indicadores que queramos en la pantalla..

Todo realmente útil para poder navegar y usar la RPI como plóter o un tablet o el móvil.

Con Navionics también lo podemos hacer: Añadiremos un nuevo dispositivo conectado, nos pedirá un nombre, la dirección IP y el puerto y si es UDP o TCP, todo esto lo sacaremos de la misma pantalla de la Raspberry, de la opción signalK NMEA Output, normalmente la dirección de la Raspberry y el puerto 10110. Rellenamos los datos en el Navionics y, si tenemos una suscripción activa, ya nos comienza a mostrar los barcos del AIS e incluso, en la última versión, la profundidad de nuestra sonda.