Le protocole NMEA 2000
Uniquement
pour les curieux en
informatique quelques liens sur NMEA2000
Dans le
précédent article nous avons vu deux
catégories de
logiciels. http://www.cnbr13.com/2015/01/les-logiciels-de-navigation-et-meteo.html
Ceux tournés vers la météo et
l’exploitation des
fichiers gribs pour le routage météo. Comme on
l’a vu, leur vocation est
essentiellement prédictive, seulement dans un second temps
il peut être
intéressant d’exploiter ces données en
les comparant aux conditions réelles
météo rencontrées.
Ces deux catégories de
logiciels sont donc autonomes car ils
ne nécessitent pas de connexion à nos instruments
de bord (anémomètre,
sondeur, loch, compas, traceur , AIS) pour leur bon fonctionnement.
On
ne va pas s’attacher à l’installation et
à
configuration complète d’un réseau NMEA
sur un voilier, chaque voilier possède
déjà son propre réseau NMEA qui
fonctionne (ces installations sont diverses,
variées et souvent uniques car
« customisées » donc
très nombreuses)
, on va plutôt essayer de dégager les grands
principes de fonctionnement des
« réseaux » NMEA 0183
et 2000 et voir comment on peut se greffer
dessus.
Le
but de cet article est donc de comprendre
d’abord comment fonctionne un réseau NMEA 0183 et
NMEA 2000 dans ses grands
principes pour pouvoir ensuite connecter correctement des ordinateurs ,
des
tablettes ou des Smartphones généralement soit
via un port USB soit via du
WIFI. On fera ensuite un petit panorama des logiciels exploitant les
protocoles
NMEA 0183 et NMEA 2000 et en conclusion quel est leur réel
intérêt.
Le
« protocole » NMEA
c’est quoi ?
En informatique un protocole
correspond grossièrement à un ensemble
de normes permettant à différents
périphériques informatique de dialoguer entre
eux en réseau et donc dialoguer ensemble sur la base de
même
« syntaxe ».
Les Normes de ce protocole sont définies et
contrôlées
par la National Marine
Electronics Association
(NMEA), association américaine de fabricants d'appareils
électroniques
maritimes.
Une assez ancienne le NMEA 0183 qui a l’avantage
d’être
« lisible » mais qui est
basée sur une communication série assez
lente, peu performante et plus complexe à mettre en
réseau.
Une plus récente le NMEA 2000 qui n’est pas
directement
« lisible » mais qui est
basée sur un vrai réseau basé
sur
un « CAN bus »
principalement issu de l’industrie des transports,
beaucoup plus rapide et simple à installer en
réseau car « plug and
play ».
Le
support physique du
protocole NMEA 0183
Le port série ou COM vous le connaissez tous
sur les vieux PC, il est maintenant souvent remplacé par un
port USB qui peut
émuler via un driver adapté un port COM
Port Serie DB9 sur un PC:
Exemple
comment est codé un caractère K sur un
port série à la norme RS 232
En
informatique, chaque caractère est codé sur
un octet soit une série de 8 bits.
Oscillogramme
de la transmission du caractère K (01001011),
avec un bit de départ et
un bit d'arrêt ( lecture de droite à gauche )
Pour
résumer, une petite synthèse assez
ancienne mais claire datant de 2009 sur le port série et le
NMEA 0183 : https://www.hisse-et-oh.com/articles/1109-port-com-nmea-etc
Le protocole NMEA 0183
antérieur aux années 2000 est
donc un protocole très basique basé
sur des séries de caractères codés
chacun sur 8 bits pouvant être transmis
séquentiellement sur un port série.
Ces séries de caractères constituent des phrases
NMEA.
Une phrase ou trame NMEA 0183 est
« lisible » car elle utilise des
caractères alphanumériques (ASCII)
chacun codé sur 8 bits.
Il existe plus d’une trentaine de trames
NMEA 0183 relatives aux différents types de mesures et
instruments présents à
bord (anémomètre, sondeur, gps, etc…).
Leur règle de syntaxe est commune :
Chaque
trame NMEA 0183 doit commencer par le
caractère $ (ou par ! pour l’AIS) suivi
du type d’émetteur dont voici les
principaux :
AI
= AIS
AG
= Pilote automatique ( cas général )
ou AP = Pilote automatique ( magnétique)
CC
= Ordinateur
CS
= Communication par satellite
CV
= Radio téléphone VHF
EC
= Cartographie électronique et
système d'information
EP
= Balise de position de détresse
GP
= GPS
HC
= Compas
II
= Instrument intégré
IN
= Instrument de navigation intégré
RA
=Radar
SD
= Sondeur
TR
= Système de positionnement
VW
= Capteur de vitesse mécanique
ZC
= Chronomètre
Les
3 caractères suivants représentent un code
mnémonique du type de phrase nmea
lié au type d’émetteur suivi
d’un ensemble de
valeurs relatives à cette mesure
séparée par des virgules.
$HCHDG,125.5,,,,*41 :
ici HC = source Compas,
HDG code du type de phrase, 125.5 : Ici cette seule valeur
parle
d’elle-même il s’agit d’un cap
de 125.5° (il peut y avoir d’autres valeurs
optionnelles séparées par des virgules)
$GPGGA,064036.289,4836.5375,N,00740.9373,E,1,04,3.2,200.2,M,,,,0000*0E :
ici GP = source GPS, GGA code du type de phrase, autres valeurs
séparées par
des virgules détaillées ci-dessous.
Uniquement
pour les curieux en
informatique 3 exemples:
Exemple1 :
Une trame
GPS de type GGA. Ce type de
trame est très courant car il fait partie de ceux qui
sont utilisées pour
connaître la position courante du récepteur GPS.
Décomposition :
$GPGGA
:
Type de trame
064036.289
: Trame envoyée à
06h40m36,289s (heure UTC)
4836.5375,N
: Latitude 48,608958° Nord =
48°36'32.25" Nord
00740.9373,E
: Longitude 7,682288° Est =
7°40'56.238" Est
1
: Type de positionnement (le 1 est un positionnement GPS)
04
: Nombre de satellites utilisés pour calculer les
coordonnées
3.2
: Précision horizontale ou HDOP (Horizontal dilution of
precision)
200.2,M
:
Altitude 200,2, en mètres
,,,,,0000
: D'autres
informations peuvent être inscrites dans ces champs
*0E
: Somme de contrôle de parité, un simple XOR sur
les caractères précédents
A
noter que ce type de trame GGA a été une des
première à être utilisée
très
largement dès l’avènement du GPS avant
les
années
2000. Cette trame n’est pas utilisée que pour la
marine
mais elle est utilisée
de nombreux instruments incorporant un GPS. Nos
Smartphones
actuels
tous équipés d’un GPS utilisent cette
trame-là. Par exemple pour les
informaticiens qui développent des programmes sur android il
y a
une
bibliothèque nmea native qui permet de
récupérer
ce type de trame sur
Smartphone ou tablette si elle est équipée
d’un GPS.
Quand
le GPS est activé cette trame est
générée
par défaut toutes les secondes. ( On voit donc là
que cette trame de quelques
caractères activée toutes les secondes ne
nécessite pas un réseau très
performant et qu’une simple communication sur un port
série à 4800 bits /
seconde suffit amplement. )
Cette
trame résulte du calcul de la réception
de signaux satellites émanant d’au minimum 4
satellites (parmi 24) en orbite autour
de la terre. Le principe du GPS repose sur un calcul de triangulation
dans un
espace à trois dimensions basé sur la position de
3 satellites dont on connaît
la position et la distance calculée par la durée
que met le signal pour arriver
sur notre récepteur GPS. La position et la distance du
quatrième satellite
permettent ensuite de réduire l’imprécision
du calcul. Pour plus de détails sur les
principes du calcul du GPS voir pour les non matheux une petite
histoire qui
illustre le principe : https://staff.hti.bfh.ch/cip1/gps/ressources/histoire.html
ou
pour les plus matheux le principe de calcul : http://www.genie-des-maths.polymtl.ca/exemples/ex-00019/ex1.pdf
ou http://taupenasbj.free.fr/GPS/howto.html
Voici
une représentation graphique de ces
données où l’on voit les positions des
différents satellites au-dessus de nous.
On peut souvent voir ce type de représentation
graphique sur nos traceurs
GPS ou même sur nos Smartphones avec l’application
appropriée :
Ici
11 satellites sont utilisés parmi les 24 en
orbite autour de la terre, sur ces 11, 4 satellites sont
utilisés pour le
calcul GPS de géolocalisation nous donnant notre latitude et
longitude.
Exemple 2 :
Une trame GPS de type RMB =
informations minimales de navigation. Ce type de trame plus
spécifique à la
navigation est utilisée en conjonction avec le pilote
automatique lorsque l’on
trace une route sur notre traceur avec des waypoints et que le pilote
automatique suit cette succession de waypoints.
Décomposition :
$GPRMB,A,0.66,L,003,004,4917.24,N,12309.57,W,001.3,052.5,000.5,V*20
$GPRMB
type de trame
A
status A = OK, V = warning
0.66,L
Cross-track error (nautical miles, 9.9 max.), steer Left to correct (or
R =
right)
003
Origin waypoint ID
004
Destination waypoint ID
4917.24,N
Destination
waypoint latitude 49 deg. 17.24 min. N
12309.57,W
Destination waypoint longitude 123 deg. 09.57 min. W
001.3
Range to destination, nautical miles
052.5
True bearing to destination
000.5
Velocity towards destination, knots
V
Arrival alarm A = arrived, V = not arrived
*0B
Somme de contrôle de parité, un simple XOR sur les
caractères précédents
Exemple
3 :
Le contrôle du checksum dans
un petit programme que j’ai écrit en langage
java où l’on utilise un
opérateur XOR pour concaténer chaque
caractère de la phrase NMEA:
private
String getCheckSum(String sentence) {
int
checkSum=0;
for(int i = 0; i < sentence.length(); i++) {
checkSum = checkSum ^
(int)sentence.charAt(i);
}
return
Integer.toHexString(checkSum);
}
Pour les curieux j’ai également développé un programme java / android qui récupère en WIFI / UDP toutes les trames NMEA et les affiches sur un Smartphone : Lien vers le source en java / android
Le
protocole NMEA 2000 plus récent n’est plus
basé sur des séries de phrases
séquentielles lisibles comme le NMEA 0183 mais
est basé sur un
format de messages binaires compact et non
directement « lisible ». Ce
protocole est basé sur la norme SAE
J1939 qui est un protocole de communication de haut niveau
utilisé sur les bus
CAN dans d’autres domaines que le domaine maritime (exemple
grosses machines
agricoles). Contrairement au NMEA 0183 bâti sur un pseudo
réseau pouvant être
lent et encombré qui reste simple et archaïque et
qui ne garantit pas les
pertes de trames, pour le NMEA2000 il s’agit là
d’un vrai protocole qui
garantit l’intégrité des
données liées à un vrai
réseau beaucoup plus rapide (50
fois plus rapide)
Dans
le protocole NMEA 2000, ce format de
messages binaires est envoyé par paquets. Chaque paquet est
composé d’une
en-tête qui indique l’appareil émetteur,
le récepteur concerné (cela peut être
tous, dans ce cas valeur=255), le niveau de priorité, et le
PGN. Le Parameter
Group
Number est un
nombre de 6 caractères indiquant de quel type de message il
s’agit, et donc
comment doivent être ensuite
interprétées les données
correspondantes liées à
ce type de message (longueur et emplacement de chaque zone de
donnée).
Il
est important de noter que de nos jours tous
les grands constructeurs utilisent pour la plupart la norme NMEA2000
sur leurs
instruments sous diverses appellations : Simrad (SimNet),
RayMarine
(SeaTalk), Garmin, NKE , B&G etc….
Uniquement
pour les curieux en
informatique quelques liens sur NMEA2000 :
Si
vous êtes intéressés par ces deux
protocoles
NNEA0183 et NMEA2000 et l’affichage de ces données
correspondantes ainsi que
leurs spécifications via un logiciel gratuit sur PC vous
pouvez aller voir ce
lien : http://openskipper.org/openskipperwordpress
.
Actisense
qui commercialise des passerelles
NMEA 0183 / NMEA 2000 propose également des logiciels de ce
type : http://www.actisense.com/products/actisense-software/nmeareader-eblreader/nmeareader-features.html
Un
fil pour la masse (le MNEA Out - )
un
pour transmettre les données (la sortie NMEA
out + de votre traceur GPS),
un
pour la masse coté récepteur
(l’entrée
NMEA In - In de votre VHF ASN )
un
pour réceptionner les données
(l’entrée NMEA
+ In de votre VHF ASN qui devra récupérer les
données Latitude et Longitude
transmises par votre GPS)
Schéma 1 :
Exemple 2 de
configuration classique entre une
VHF ASN + un GPS / Traceur + un récepteur AIS tous en NMEA
0183 :
Dans
ce cas le GPS transmet toujours les
données à la VHF suivant le schéma 1,
mais il réceptionne aussi le signal du
récepteur AIS qui lui aussi dialogue en nmea 0183.
Le
but étant que les cibles AIS soient
affichées sur le Traceur GPS
Schéma 2 :
A
noter dans ce schéma que l’AIS qui transmet
en NMEA 0183 (output fil rouge pour les données ou NMEA + et
output fil gris
pour la masse NMEA -) doit transmettre ces données
beaucoup plus
rapidement au traceur/GPS (Fil vert Input NMEA In + et fil blanc MNEA
In -). Le
Traceur/GPS va donc devoir s’adapter à cette
vitesse. Pourquoi une vitesse
de transmission des données de 38400bauds est
nécessaire à l’AIS à la
place du
standard de 4800bauds?
Comme
on va le voir les données AIS qui
correspondent à une liste de navires avec leurs positions
respectives, leur
route ainsi que leurs caractéristiques respectives sont
beaucoup plus fournies
et ne peuvent pas passer à une vitesse de 4800b. Une telle
vitesse formerait un
goulot d’étranglement et ne serait pas suffisante
par rapport au flux de
données AIS et entrainerait nécessairement des
pertes d’informations
importantes ou des blocages. Bien entendu dans ce cas le
récepteur , ici notre
traceur doit avoir la possibilité de fonctionner aussi
à cette vitesse-là soit
34800bauds ou bits / seconde. Heureusement le paramétrage de
l’entrée NMEA 0183
sur la plupart de traceurs permet de régler cette vitesse et
de l’augmenter
pour l’adapter à des
périphériques qui transmettent à des
vitesses plus
importantes comme ici l’AIS.
En
d’autres termes les données NMEA 0183
d’un
seul instrument peuvent être envoyées sur le
même fil à plusieurs autres
instruments compatibles NMEA 0183, mais les données NME0A183
de plusieurs
instruments ne peuvent pas être réunies sur un
même fil et envoyées à un seul
instrument.
Exemple
qui marche : Un GPS/traceur peut
envoyer des données en NMEA 0183 à un ordinateur
équipé d’un port COM et de son
logiciel de cartographie permettant d’afficher notre position
+ une VHF ASN qui
nécessite des informations de latitude / longitude issue du
GPS.
Exemple
qui ne marche absolument pas en
NMEA 0183 : les données NMEA
0183 d’un
GPS/traceur (MNEA + out) + les données NMEA 0183 du sondeur
(MNEA + out)
+ les données NMEA 0183 de
l’anémomètre (MNEA + out)
transmises et
réunies sur le seul fil d’entrée sur un
port série sur la broche N° 2 ( NMEA +
In ) d’ une port série PC DB9 d’un
ordinateur.
Règle
simple : En NMEA 0183 on ne peut
relier entre eux plusieurs fils véhiculant chacun des
données NMEA spécifiques.
Pour
résumer voilà ce que l’on peut faire et
ne
pas faire en nmea 0183 :
Si
on veut réaliser un montage correspondant au
schéma fig. 3 il est nécessaire d’avoir
recours à un multiplexeur NMEA. Le
multiplexeur va stocker les phrases NMEA issues des
différents instruments en
mémoire ou dans ce que l’on appelle un
« buffer » et va ensuite les
renvoyer correctement aux destinataires.
Pour
mieux comprendre cela voir les sources
dont je me suis inspiré pour les
schémas : http://www.francis-fustier.fr/media/materiel/Multiplexeur.htm
et les 6 premières pages issues de ce manuel en
français de du multiplexeur
ShipModul http://www.shipmodul.com/downloads/manuals/MiniPlex-2Wi_3.17fr.pdf
Schéma de principe d’un réseau NMEA 2000 : Une dorsale ou « Backbone » alimentée en 12v avec deux terminaisons de chaque côté sur laquelle vient se greffer l’ensemble des périphériques, là peu importe l’ordre des branchements de chacun des périphériques nous sommes sur un vrai réseau "plug and play".
Le nombre de fils d'un cable NMEA 2000 est de 4: 2 pour l'alimentation ( + - ) , 2 pour les données (réception, emmision).
Il
s’agit là d’un vrai réseau
contrairement au
NMEA 0183. Il
peut accepter
jusqu’à 50 appareils possédant chacun
son propre identifiant et adresse sur le
réseau lui permettant de communiquer distinctement avec
chacun des autres
appareils. La vitesse de transfert des données est beaucoup
plus élevée et
peuvent aller jusqu’à 250 Kb/s.
Quelques exemples de réseau NMEA 2000 :
Les
prises mâles et femelles NMEA 2000 ont
l’avantage d’être
standardisées et on n’a donc pas à se
poser de question lors
de leurs branchements.
Contrairement à un
réseau NMEA 0183, un réseau NMEA 2000 ne
nécessite pas de multiplexage car toutes les informations
qui transitent sur la
dorsale du réseau sont clairement identifiées
chacune. Comme on l’a vu
précédemment, cela est lié à
la nature du protocole NMEA 2000. Rappel : Chaque
paquet NMEA est composé d’une en-tête
qui indique l’appareil émetteur, le
récepteur concerné (cela peut être
tous, dans ce cas valeur=255), le niveau de
priorité, et le PGN. Le Parameter
Group Number
est un nombre de 6 caractères indiquant de quel type de
message il s’agit, et donc comment doivent être
ensuite interprétées les
données correspondantes liées à ce
type de message (longueur et emplacement de
chaque zone de donnée).
Par
exemple en NMEA 2000 n’importe quel
périphérique sur le réseau peut
être capable d’identifier tous les autres
périphériques présents sur le
réseau et les afficher avec un logiciel
adapté, cela est impossible en NMEA 0183.
Exemple:
sur mon voilier: un traceur garmin sur un réseau nmea2000 affichant
tous les autres
péripheriques
connectés sur ce réseau et un panneau intégrant
quelques instruments supplémentaires:
Comment
connecter un ordinateur , un smartphone
ou une tablette au réseau NMEA
Si
on veut afficher toutes les informations de
navigation sur un ordinateur (loch,position, vent etc…)
on peut connecter
directement un ordinateur sur un réseau NMEA 2000 via une
interface avec une
sortie USB sans passer par un multiplexeur. ( En NMEA 0183 Un
multiplexeur sera
nécessaire si on veut transmettre plusieurs sources
d’informations a un
ordinateur).
Pour
connecter un réseau NMEA 2000 à un
Ordinateur le plus simple est d’utiliser une interface
MNEA2000 / USB afin de
relier l’ordinateur au réseau NMEA 2000
Principale
référence (il y en a sûrement
d’autres) : http://www.actisense.com/products/nmea-2000/ngt-1/ngt-1.html
La
mise en place est très simple il suffit de
connecter la prise nmea2000 sur une des prises libres sur du
réseau NMEA2000
existant et la prise USB sur un PC.
Attention
le protocole de sortie sur le port
USB est en NMEA2000 donc à priori non compatible avec OpenCPN, voici la
liste
des logiciels compatible avec ce produit (au passage cela nous
permet
d’avoir les références de logiciels
souvent payants compatible NMEA 2000: http://www.actisense.com/products/nmea-2000/ngt-1/compatibility-software.html
Connexion
d’un ordinateur, smartphone ou
tablette sur un réseau NMEA 2000 en wifi :
Si
on veut afficher toutes les informations de
navigation sur un ordinateur (loch,position, vent etc…)
ou sur un
smartphone ou sur une tablette communiquant en wifi avec notre
réseau NMEA 2000
on peut connecter directement un boîtier wifi sur un réseau
NMEA 2000 à
noter que la plupart de ces boitiers WIFI proposent en option une
sortie USB
qui permet de ne pas utiliser l’interface USB
mentionnée au-dessus :
Quelques
références : http://www.digitalyachtamerica.com/index.php/en/products/interfacing/nmea-to-wifi-adaptors/product/52-navlink-wireless-nmea2000-server
(J’utilise ce boîtier wifi sur mon voilier actuel
équipé en SIMRAD SIMNET/NMEA
2000 pour alimenter divers logiciels sur PC, Smartphone et tablette
android que
l’on va étudier dans un chapitre suivant)
Ou
http://www.seasmart.net/marine-wireless-networking-wifi.html
(il y a plein d’autres références de
boîtiers wifi)
Connexion
d’un ordinateur d’un smartphone ou
d’une tablette sur un réseau NMEA 0183, en WIFI ou
USB/Série : nécessité
de passer par un multiplexeur NMEA
Là
tout devient un peu plus compliqué que le
NMEA 2000 car il y a du multiplexage . Exemple
: http://www.shipmodul.com/fr/miniplex-2wi.html
Là
aussi il existe d’autres références de
produits qui font la
même chose. (J’ai utilisé ce boîtier
quelques années sur mon ancien voilier un
first 30 équipé en NMEA 0183)
On voit que ce multiplexeur peut
prendre en entrée 4 sources
NMEA 0183 différentes pour les multiplexer sur deux sorties
NMEA 0183.
La sortie USB permet de connecter un
ordinateur pour
principalement administrer les paramètres de chacune des
entrées et sorties
NMEA (vitesse, etc…)
Exemple
sources à multiplexer en
entrée (NMEA In):
sur
1a : signal nmea + de l’AIS , 1b –
sur
2a : signal mnea + du GPS , 2b -
sur
3a : signal mnea + de
l’anémomètre ,
3b –
sur
4a : signal mnea + du sondeur , 4b –
A
noter que pour l’entrée 1 pour l’AIS il
faudra paramétrer la vitesse de
l’entrée à 38400 bits /sec. Le
paramétrage de
la vitesse de chaque port NMEA se fait avec le logiciel
d’administration
approprié en connectant un ordinateur à
l’interface USB de contrôle.
Sortie en WIFI
Une fois les 4 sources multiplexées (ici par
exemple AIS ,
GPS , anmomètre, sondeur ) toutes ces données
seront disponibles en
WIFI sur smartphone ou tablette a condition d'établir la
connexion WIFI
avec ce boîtier multiplexeur wifi. Là rien de
compliqué voir un des
chapitre suivant : parametrage de la connexion wifi.
Sortie
adaptateur série USB pour du NMEA 0183
Sur
la sortie NMEA Out1 on peut connecter un PC
via une adaptateur série / USB. Les
données en sortie du multiplexeur
(ici NMEA Out1) alimenteront les données en
entrée d’Open CPN qui pourra
désormais afficher les cibles AIS (signal 1a
multiplexé) , la position du
voilier (signal 2a multiplexé, plus besoin de
« souris USB
GPS ») , le vent réel / apparent (signal
3a multiplexé), la profondeur
(signal 4a multiplexé).
Schéma :
Pour
cela connecter le pilote automatique
compatible NMEA 0183 avec son fil en entrée NMEA in +
sur la broche 3 de
l’adaptateur série et son fil en entrée
NMEA in – sur la broche 5 de
l’adaptateur série. Un tel montage permet alors au
pilote automatique d’exploiter
les données de routage en sortie d’open CPN. Il
faudra bien entendu paramétrer
correctement Open CPN pour que les phrases NMEA relatives au routage (
ici
principalement phrases NMEA0183 $GPRMB,
$GPRMC
)
soient prises en compte en sortie NMEA du port
série. Dans ce cas de montage le pilote va donc pouvoir
dialoguer avec OpenCPN
et suivre la route tracée dans OpenCPN.
Rappel :
le paramétrage des ports série
dans OpenCPN se font dans le menu Boite à outils /
Connexions / Ajouter une
connexion :
Ici
notre adaptateur série / USB se trouve
localisé sur le port COM3. Sachant que l’on
multiplexe ici des données AIS +
GPS + vent + profondeur il est bien entendu
préférable d’augmenter la vitesse
du port à une valeur minimum de 38400 baud.
Pour
plus de détails sur tous les paramétrages
d’Open CPN voir :
http://www.eauxturquoises.fr/b_tutopencpn/tutopencpn.htm
ou http://opencpn.shoreline.fr/Tutoriel.htm
Cas
particulier d’un réseau NMEA 2000 avec
l’utilisation d’OpenCPN qui ne comprend que le NMEA
0183
Exemple
d’un tel produit : Le actisence
NGW-1 http://www.actisense.com/products/nmea-2000/ngw-1/ngw-1.html
Dans
ce cas il suffira de brancher la prise
NMEA 2000 sur n’importe quelle prise libre sur la dorsale du
réseau NMEA 2000
et de brancher le NMEA+ output à la broche N° 2 de
notre adaptateur série/usb
et le NMEA – à la broche N° 5 de notre
adaptateur série/usb (cf schéma
précédent)
Dans
ce cas toutes les données NMEA2000
provenant de différentes sources et transformées
en NMNEA 0183 sont
volumineuses et il faut penser à augmenter la vitesse du
port com sur lequel
est branché notre interface série/usb
à au moins 38400 voir plus si on a un AIS
branché sur le réseau NMEA 2000.
Ou
cas particulier d’un périphérique NMEA
0183
que l’on veut brancher sur un réseau NMEA 2000
Cette
passerelle NMEA fonctionne dans les deux
sens soit dans le sens conversion NMEA 2000 vers NMEA 0183 soit dans le
sens
conversion NMEA 0183 vers NMEA 2000. On peut donc utiliser cette
passerelle
dans l’autre sens pour par brancher sur un réseau
NMEA 2000 tout périphérique
ne comportant qu’une sortie NMEA 0183. Par exemple dans le
cas d’un AIS ne
comportant qu’une sortie NMEA 0183, on branchera la sortie
NMEA 0183 out + de
l’AIS sur l’entrée NMEA 0183 in + de la
passerelle et le NMEA 0183 – de l’AIS sur
le NMEA 0183 – de la passerelle, et la prise NMEA2000 de la
passerelle sur
n’importe quelle prise libre sur la dorsale du
réseau NMEA 2000.
Pour
du NMEA 0183 en entrée les données à
multiplexer et les branchements restent les mêmes que ceux
évoqués précédemment.
Pour du NMEA 2000 on n’a pas à se poser de
questions, s’agissant d’un vrai
réseau, il n’y a pas de multiplexage et il suffit
de relier notre boîtier WIFI
à une des prises libres sur la dorsale du réseau
NMEA 2000 (vu dans un schéma
précédent avec l’exemple navlink)
Exemple
d’un paramétrage WIFI / NMEA 0183 sur
open CPN, toujours même menu : Boite à
outils / Connexions / Ajouter une
connexion
Tous
les autres logiciels compatibles NMEA
/WIFI proposent dans leurs menus une interface similaire avec
l’adresse IP et
le port à renseigner , bien entendu avant de
réaliser ce paramétrage penser
à activer le wifi et à connecter votre
ordinateur, smartphone ou tablette à
votre boîtier WIFI. On verra souvent le choix entre UDP ou TCP. UDP est
un
protocole plus simple sans accusé de réception de
la part du destinataire, ainsi
si une donnée est corrompue elle ne peut être
réémise par l’émetteur. Dans
TCP
l’émetteur prévient le destinataire
qu’il envoie des données et le
récepteur
génère un accusé de
réception. Si les données transmises sont
corrompues
l’émetteur peut à nouveau transmettre
le paquet de données correspondantes.
Pour des paquets NMEA 0183 UDP peut s’avérer
largement suffisant et étant plus
simple il sera plus léger et donc plus rapide.
Une
alternative si on ne dispose pas d’un boîtier wifi et que l’on veut utiliser une tablette comme
répétiteur de cockpit
pour OpenCPN se trouvant sur un PC
Le
principe consiste à établir une connexion
wifi « had hoc » ou point
à point entre le PC la tablette et utiliser
un logiciel de type « remote
desktop » ou bureau à distance (souvent
utilisé pour des prises de main à
distance) partagé entre le PC et la
tablette.
Une
fois la communication établie, ces
logiciels permettent d’afficher l’écran
du PC sur un autre périphérique distant
et de prendre la main sur le PC à partir d’un
autre ordinateur ou tablette, là
sur l’ipad on prend la main sur OpenCPN qui est
installé sur le PC. Voir
l’article de Gilles sur le blog du CNBR qui a
réalisé cela entre un PC et
un Ipad :http://www.cnbr13.com/2014/06/utiliser-une-tablette-ipad-comme-repetiteur-de-cockpit-pour-opencpn.html
Une
alternative intéressante à un boîtier WIFI
si on ne dispose pas encore d’AIS : un AIS WIFI
Les
AIS tendent à se généraliser et les
prix
baissent donc en conséquence, à mon avis
plutôt que d’avoir un simple récepteur
AIS (souvent maintenant intégrés dans les VHF) il
est préférable de mettre 200€
de plus et avoir un AIS récepteur / émetteur.
Pour ma part j’ai ce modèle là
EM-TRAK B100 qui me donne entière satisfaction : http://www.discount-marine.com/em-trak-b100-emetteur-recepteur-ais-classe-b
souvent proposé à moins de
400€. Cet AIS a en plus la particularité
d’intégrer une carte SD qui permet
d’enregistrer automatiquement notre trace de
navigation en format .kml pour ensuite pouvoir la visualiser par
exemple sur
google earth ou tout autre logiciel intégrant une
cartographie et compatible
avec les fichiers .kml (OpenCPN par exemple…)
Si
on n’a pas d’AIS et qu’un
réseau NMEA WIFI a
bord nous intéresse :
Voici
une référence intéressante que je
n’ai
pas testé mais qui semble très complet et ouvert.
AIS émetteur /
récepteur + boîtier WIFI compatible NMEA 0183 et
2000 : http://blog.francis-fustier.fr/xb-8000-nouveau-transpondeur-ais-wifi-pour-appareils-mobiles/
Son
prix relativement élevé de l’ordre de
950€
correspond à peu près au coût total
d’un émetteur / récepteur AIS tel que
l’EM-TRAK B100 (environ 400€) et d’un boîtier WIFI compatible NMEA 2000 tel que
le navlink de digital yacht d’environ 500 € qui
à eux deux rempliraient les
même fonctions. D’autres marques commercialisent de
tels boîtiers par
exemple : http://www.easyais.com/en/products/ais-transceivers/
Attention important
les boîtier wifi branchés sur du NMEA 2000 restituent
souvent du NMEA0183 !
De façon générale même si la norme NMEA 2000 repose sur un réseau CAN 50 fois plus rapide et beaucoup plus modulaire et « plug and play » qui permet de connecter plusieurs appareils sur la même dorsale sans trop se poser de question, il n’est pas lisible directement alors que le protocole NMEA 0183 peu performant (initialement communiquant via un port série très lent et ancien) a l’avantage de sa rusticité : une relative simplicité et une certaine lisibilité (basé sur les caractères ASCII) qui le rend ouvert et plus facilement ineffaçable et programmable avec une multitude d’autres logiciels. A ce titre un logiciel tel qu’openCPN comprend le NMEA 0183 mais pas le NMEA2000, il en est de même pour de nombreux autres logiciels que l’on va détailler. Donc la plupart des logiciels comprennent le NMEA 0183 mais pas forcément le NMEA 2000 plus complexe à décoder. Ainsi la plupart des boîtiers WIFI qui sont connectés sur un réseau NMEA 2000 restituent en WIFI du NMEA 0183 et non du NMEA 2000 pour plus de simplicité dans le traitement des données et la programmation des logiciels. Par exemple le boîtier WIFI NMEA 2000 Navlink de Digital yacht connecté sur un réseau NMEA 2000 restitue en WIFI du NMEA 0183 il en est de même pour de nombreuses autres marques.
Logiciels
sur tablette ou smartphone Android
utilisant une connexion NMEA / WIFI gratuits ou d’un
coût modéré
https://digitalyacht.files.wordpress.com/2014/12/android-apps-v1_032.pdf
Si vous cliquez sur ce lien récent qui a
4 mois vous pouvez cliquer
ensuite sur chaque icone de logiciel qui vous renvoie à son
lien de
téléchargement.
Quelques
remarques concernant cette liste de logiciels
android:
Pour
l'application SeaPilot la carte de la zone de navigation
France détaillée à
télécharger est payante (67€)
à noter que SeaPilot existe
aussi sur PC et Iphone / Ipad voir https://www.seapilot.com/fr/
L'application
WinGPS Marine est payante 50€ mais semble assez
complète avec possibilité de chargement de cartes
raster plus de nombreuses
options météo GRIB + NMEA, AIS. Elle
mériterait peut être d'être
testée.
Les
applications Marine Navigation (à ne pas confondre avec
Marine Navigator dont j'avais parlé dans mon
précédent article) et Mx Mariner
n’intègrent pas une cartographie des zones de
navigation françaises.
Je
me suis focalisé sur une application dans cette
liste : SeaWi Marine qui a la particularité
d’être gratuite (option
payante 5€ pour la totalité des cartes). Cette
application SeaWi est assez
généraliste et propose des options
très intéressantes surtout sur Smartphone.
Cette
application repose sur une
cartographie OpenStreetmap gratuite, cette cartographie affiche avec
suffisamment
de précision les contours des côtes ainsi que la
position des phares et balises
par contre elle n’intègre pas
d’informations concernant la profondeur. Si cette
application est gratuite, pour avoir accès à
l’ensemble des carte mondiales
openStreetMap il suffit de payer une seule fois 5 €. (Attention dans ce cas
activez et payez qu’une
seule fois la « premium
licence »).
Sa
vocation est principalement d’afficher
les cibles AIS, ainsi que les
principaux instruments de bord et
surtout de fournir des alarmes.
On
connaît tous les alarmes
classiques de mouillage quand notre voilier dépasse un
certain périmètre autour
du mouillage ou que la profondeur remonte subitement. Tout
l’intérêt de
cette application est qu’étant reliée
à nos instruments de bord en wifi et étant
installée sur Smartphone, si on s’absente et
qu’on laisse ce Smartphone à bord,
elle peut nous alerter par SMS lors d’un problème
de mouillage en notre
absence. Il suffit pour cela de paramétrer le
N° de téléphone sur lequel
doivent partir les SMS d’alerte. Cette fonction
d’alerte est là un réel plus
d’une
application sur Smartphone.
Manuel
de SeaWi marine : http://www.seawimarine.net/Files/SeaWiUsersV036-01_08_02.pdf
Généralement ils se contentent
d’afficher une vue avec notre
voilier au centre et les cibles ais autour avec leurs distances
respectives.
Exemple
EasyAIS : https://play.google.com/store/apps/details?id=com.stentec.easyAIS
mais
il vaut mieux, disposer d’un logiciel un
peu plus complet avec des fonctions de cartographie ,
d’affichage de données
nmea et d’alarmes comme sait le faire WeaWi. Qui peut le plus
peut le moins…
Dans
les dernières versions Android, Weather 4D offre des
options d’affichage de traces et de suivi de notre route. Il
permet donc d’afficher
la position du voilier sur la cartographie des grib en activant le gps,
mais en
allant dans le menu paramètres
généraux / navigation on peut aussi connecter
wheather 4D en wifi à nos instruments de navigation, dans ce
cas il est donc
inutile d’activer le gps, et weather 4D utilisera alors la
position gps issue
de nos instruments de bord. Si la version Android propose
bientôt un module de
routage (comme cela est le cas sir Iphone/Ipad), ce logiciel
d’une ergonomie
très satisfaisante et intégrant de nombreux
modèles météo (abonnement 10€
/ an)
sera le complément indispensable à nos outils de
navigation.
Logiciels
Ipad / Iphone utilisant une connexion
NMEA / WIFI gratuits ou d’un coût
modéré
https://digitalyacht.files.wordpress.com/2014/12/ios-apps-v1_033.pdf
Si vous cliquez sur ce lien récent qui a
4 mois vous pouvez cliquer
ensuite sur chaque icone de logiciel qui vous renvoie à son
lien de
téléchargement.
Donc
si vous êtes poussés par la curiosité,
n’hésitez pas à
les tester.
Logiciels
gratuits utilisant une connexion NMEA
USB ou WIFI sur PC ou MAC
Certains logiciels sont assez complets et basés sur une cartographie et une connexion NMEA, ils sont moins onereux que Maxsea ou Adrena, tels que WINGPS http://www.stentec.com/en/wingps/wingps-5 ou PolarView http://www.polarnavy.com/ ou un logiciel français ScanNav http://www.scannav.com/ et il y en a d'autres, mais ils restent payants et au bout du compte n'offrent que peu de possibilités en plus qu'un OpenCpn gratuit quand il est équipé de ses nombreux plugins.
Donc selon moi un seul logiciel que l’on a déjà largement détaillé s’impose: OpenCPN. Une fois connecté au réseau NMEA Open CPN peut utiliser les données NMEA issus du traceur GPS et de l’AIS et ainsi afficher la position courante du bateau sur la carte ainsi que toutes les cibles AIS à proximité avec calcul du point de passage le plus proche de votre bateau pour chaque cible AIS.
Il peut aussi avec un plugin nommé VDR "Vayage Data Recorder" enregistrer toutes vos données de navigation NMEA et les restituer plus tard et reproduire ainsi toute votre navigation.
On peut même sur Open CPN simuler une navigation en etant chez soi en se connectant sur un serveur internet qui envoie des données NMEA de navigation, dans ce cas on se retrouvera dans son salon chez soi entrain de naviguer vers le golfe du morbihan !
Paramètrage de la connexion réseau pour simuler cette dans navigation OpenCpn (bien entendu dans ce cas là pensez à activer votre connexion wifi car ces données viennent d'un serveur internet):
A noter qu'à partir de la version 4 le plugin concerant l'affichage des grib s'est nettement amelioré.
Mais il va plus loin et grâce
à un plugin natif
tableau de bord qui permet d’afficher toutes les informations
suivantes en style analogique ou numérique (à
condition que les instruments correspondants communiquent bien avec le
réseau
NMEA) :
On voit là qu’il vaut mieux avoir un grand écran si on veut tout afficher et si on veut avoir l’impression d’avoir le tableau de bord qui ressemble plus à celui d’un avion de ligne ou d’un porte avion que d’un voilier….
Si on aime les statistiques, il permet aussi
d'avoir de belles courbes de vitesse et de vent apparent et
réel.
Dans un précédent article on avait vu tous les
plus que pouvaient apporter dans nos navigations en croisière
des logiciels de
météo et routage non
connectés à nos instruments de bords: http://www.cnbr13.com/2015/01/les-logiciels-de-navigation-et-meteo.html
(
Tout en sachant que le
routage météo reste toutefois basé sur
des prévisions météo et il ne faut
donc
pas suivre aveuglement un seul routage qui ne peut jamais
être juste à 100%.
Par conséquent lors de la création du routage il
ne faut pas hésiter à utiliser
plusieurs alternatives possibles en détériorant
volontairement les polaires du
voilier par rapport à ses polaires théoriques souvent
optimistes et en
juxtaposant plusieurs modèles météo
avec des gribs provenant de sources
différentes. )
Si je devais établir un classement des logiciels "gratuits" à emporter en navigation:
Sur PC je choisirai pour la météo et le routage: Squid
qui propose de nombreuses options et modèles
météo et du routage. A noter que Squid devient une
référence des logiciels de météo et routage
et est utilisé par de nombreux coureurs au large. http://www.greatcircle.be/language/fr/
Pour la navigation et l'affichage de
données NMEA: l'incontournable OpenCPN. Avec l'arrivée de
windows 8 et bientôt windows 10, OpenCPN et Squid peuvent
fonctionner sur des PC tactiles donc en mode tablette. Cela est très pratique en navigation.
Sur Android tablette ou Smartphone, pour la météo: Wheather 4D pour son ergonomie et ses nombreux modèles météo (abonnement 10€ / an), pour le routage: sailGrib WR. SailGrib WR peut utiliser directement des gribs provenant du serveur Squid Great Circle, dans ce cas si on a un abonnement Squid/Great Circle on peut donc bénéficier de gribs très précis pour le routage SailGrib WR, pour l'affichage de données NMEA et ses alertes SMS: SeaWI, pour une cartographie raster en navigation: Marine navigator, pour une cartographie vectorielle en navigation: Navionics HD.
Pour Ipad, InavX et wetaher 4D Pro semblent être des références mais je ne les ai pas testés. A vos ipad pour tester tous les autres nombreux logiciels dans la liste fournie précédemment !
On
ne s’est intéressé qu’
à des
logiciels peu chers ou gratuits, et
on a essayé de voir tous les plus que ceux-ci pouvaient nous
apporter en
croisière ; les logiciels de routage et
météo
apportent un plus
incontestable en terme de prédiction et
sécurité,
pour les logiciels peu onéreux
reliés en wifi à notre réseau nmea
c’est
moins évident à part un certain confort pouvant
être apporté et des
fonctions
d'alertes SMS de mouillage que sur smartphone…. Bien entendu
des
logiciels beaucoup plus sophistiqués mais aussi beaucoup
plus
chers qui mixent
des données météo et des
données nmea
issues de nos centrales de navigation
peuvent s’avérer très
intéressants mais
à mon avis ils sont plus à réserver
à
une utilisation en course ou en régate qu’à une
utilisation
en croisière. Un logiciel tel
qu’ Adrena qui permet par exemple d’enregistrer en
permanence les données de
navigation, vent réel apparent, cap, vitesse du voilier
etc… permet
d’affiner au fil de l’eau
les polaires du voilier et ainsi d’optimiser encore un peu
plus
ses routes en
régate ou en course au large, mais là on rentre
dans
une
autre dimension qui est
celle de la recherche des performances et non celle de la
sécurité et du
confort en croisière.