LA solution: Envoyer une route OpenCPN vers Garmin GPSMap via réseau IP

Salut les Voileux,

Voila un bon bout de temps que je m'acharne à essayer de faire fonctionner OpenCPN avec mon GPSMap 720 de Garmin sans avoir à mettre un fil à la patte de mon MacBook.
L'objectif étant de pouvoir envoyer une route complete, pas juste un waypoint.

Pour rappel, Garmin ne propose pas la réception de route via le protocol NMEA. Cela est possible uniquement avec le protocol propriétaire Garmin. Et c'est là ou ca se complique...

Voici donc la solution mise en oeuvre sur Hissé O! (ben oui, y a pas que les forum qui ont le droit de s'appeler comme ça ;-):

  • OCPN 4.8.4 fonctionnant sur MacOSX. Je pense que la même solution peut-être mis en oeuvre sur Linux et Windobe.
  • Le Mac est connecté en Wifi sur le routeur du boat.
  • Gateway Serial<->IP supportant le protocol UDP/Server ou TCP/Server. J'utilise le modele USR-TCP232-306 qui à l'avantage d'etre alimenté en 12/24v et supporte l'interface RS422 (A/B). Acheté 35roros sur un site Chinois.
  • La Gateway est donc connectée avec son interface Ethernet sur le routeur IP du boat (IP=172.16.2.5 dans mon cas). L'interface Série connectée sur le port Série du GPSMap.
  • Le GPSMap doit être configuré spécifiquement pour supporter le protocol Garmin sur l'interface série connectée à la Gateway.
  • L'interface Gateway est configurée en mode UDP server (ca fonctionne aussi en TCP Server). J'utilise le Port 23. L'interface série de la Gateway est configurée en 9600bps, 8bits de Data, pas de parité et 1 bit de Stop.
  • J'utilise Socat (dispo sur Linux et Windows) pour virtualiser l'accès à l'interface Série, depuis un terminal: socat -v pty,link=/tmp/ttyS1,raw,echo=0 UDP:172.16.2.5:23
  • Cocher l'option "Utiliser le Mode Garmin GRMN (Hôte) en téléchargement" => Pour envoyer une route depuis OCPN, il suffit de choisir "Envoyer au GPS" avec l'interface "Serial:/tmp/ttyS1"

Voici le Script pour automatiser le lancement de Socat puis de OCPN:

!/bin/bash

Virtual Serial Driver for Garmin protocal communication with USR-TCP232-306

nohup /usr/local/bin/socat -v pty,link=/tmp/ttyS1,raw,echo=0 UDP:172.16.2.5:23&

wait a bit before launching OCPN so drivers are created

sleep 0.5

open /Applications/OpenCPN.app

/Applications/OpenCPN.app/Contents/MacOS/OpenCPN
kill $!

Remplacer UDP par TCP si la Gateway est configurée en TCP

Je joint quelques screenshots et le package incluant le script permettant de rendre le lancement transparent.

Si vous avez des questions....

A+

L'équipage
03 août 2018
03 août 2018
1

C'est dans ces moments que je me sens vieux.
Mais merci pour le partage.

03 août 2018
0

Très clair, merci , mais il ne faut pas lire en diagonale. .
Tous les points clés y sont..
Probablement applicable aux concurrents tentant de verrouiller de la même façon.
Mais comme d'habitude il faut un peu de compétence ou d'aide.

03 août 2018
0

Je pense que le problème est vraiment spécifique à Garmin avec son protocole propriétaire pour envoyer une route.
Il me semble que la plupart des marques supportent de recevoir une route via NMEA, et donc la problématique d'interface avec un réseau IP n'existe pas (Maretron et autres MiniPlex).
J'ai lu qq part que la volonté de Garmin est d'offrir un transfert plus fiable car leur protocole est pourvu d'un ACK sur chaque paquet. Autrement dit, il garanti que la route qui arrive dans le GPSMAP est complete et sans erreur (il ne manque pas un waypoint par ex). Cela pourrait théoriquement arriver en NMEA car le dialogue est unidirectionnel.
Enfin toujours est-il que je dispose finalement d'une solution satisfaisante :-)

03 août 2018
0

Bonjour,

Cela me semble bien cher et bien compliqué pour faire une connexion série. En plus tu n'explique pas qu'elle appli se charge de générer le protocole Garmin. En fait c'est ça la partie importante pour envoyer la route. Ta configuration réseau avec serveur série est très spécifique. Et si au lieu de payer ton écot à Apple tu prends un petit système sous Linux avec des ports série: tu as une installation 10 fois moins chère et 10 fois plus simple (OK, j'éxagère un peu mais 5-6 fois surement).

03 août 2018
0

Bonsoir,
C'est OpenCPN qui prend en charge le protocole Garmin. J'ai même joint un Screensaver qui montre l'option.
Je suis équipé en Apple, mais comme je le précise je pense que ça doit aussi fonctionner pour un portable Windows et Linux.
La mode étant au sans fils avec de moins en moins de ports d'interfaces sur ces bécanes (tablettes windows par ex), l'approche que je propose permet d'envoyer la route via WiFi.
A+

03 août 2018
0

Bonsoir,

C'est vrai que le WiFi envahi un peu tout, mais pour la nav un système avec des connexions série est bien pratique. Petit aparté, le WiFi consomme aussi pas mal de courant et même s'il ne se passe pas grand chose. Donc en croisière à la voile, il vaut mieux du filaire.

Je mets de côté les parano des ondes électro-magnétiques.

07 août 2018
0

@ Sterwen :
Cela fait 2mois et demi que je suis parti et pas encore de retour. A bord, c'est mon smartphone qui créé le réseau WIFI (en utilisant le "partage de connexion").

Et cela ne consomme pas grand chose. Sachant quand même que toutes les données du réseau NMEA sont transmises à la tablette du bord à partir du PC de la table à carte.

@ Hisse et O!
Vous utilisez le mot "gateway". Qu'entendez vous par la ?

07 août 2018
0

J'ai oublié de donner le lien pour l'installation de Socat sur Mac.

Oubli vite réparé:
brew install socat
ou
sudo port install socat

A+

07 août 2018
0

Désolé pour l'anglais. Gateway est un terme utilisé couramment en informatique / électronique pour désigner un équipement qui fait office de passerelle pour interconnecter 2 réseaux, ou 2 systèmes incompatibles (au niveau électrique ou au niveau protocole), etc
En l'occurrence, cette passerelle va interconnecter un réseau IP avec une interface série. Elle va assurer que les données envoyées par IP soient transmises sur l'interface série, et que le dialogue inverse fonctionne aussi.

08 août 2018
0

Merci.

Votre réponse

Merci de contribuer aux réponses sur HISSE ET OH !

Merci de vérifier de bien répondre au sujet. Fournisser des détails sur votre réponse et partager votre expérience et vos recherches !

Mais éviter de …

  • Demander de l'aide ou de répondre à une autre question (utiliser les commentaires dans ce cas).
  • Porter un jugement et manquer de respect dans votre réponse.
  • Pour plus d'information, consulter la FAQ et la Charte de HISSE ET OH !

Déposer un fichier ici ou Cliquer pour envoyer

Après la pluie, le grain s'éloigne.

Après la pluie...

  • 4.5 (26)

Après la pluie, le grain s'éloigne.

mars 2021