Réalisation d’un multiplexeur NMEA 183
Besoin :
J’ai sur mon bateau , plusieurs instruments avec leur affichage propre et qui ne sont pas interconnectés :
-gps
-girouette anémo
-sondeur
-loch
Pour traverser la manche, un AIS me semblait indispensable.
J ‘ai donc monté une installation à base d’un Rapsberry PI3 afin de multiplexer le GPS et l’ AIS à l’aide de kplex. Je pouvais ainsi visualiser les autres navires sur ma tablette.
Je me suis dit que multiplexer tous mes instruments permettrait :
-de tout afficher sur la tablette
-utiliser mon pilote automatique en mode ‘vent’
-calculer le vent réel
-faire joujou avec une télécommande
-améliorer la remontée des fonds quand je suis en approche d’une plage pour beacher avec mon DI
-remonter la vilaine jusqu’Arzal sans toucher la barre, en mode « auto », ce serait pas fun ça:)
Solution :
Acheter un multiplexeur dans le commerce ?
Sans l’option télécommande et sans pouvoir faire suivre une succession de routes à mon pilote automatique sans intervention humaine ( et oui, par sécurité cela n’est pas possible, il faut acquitter le pilote chaque fois qu’un waypoint est atteint), on s’en sort pour un peu moins de 400 euros..[zic,gloups, arghhh]
Fabriquer soi même ?
C’est la solution que j’ai retenue, sinon cette page n’existerait pas..
Bon avec le recul, vu le temps passé à élaborer l’engin, les 400 euros qu’un appareil du commerce m’auraient coûtés, sont largement engloutis;)
Les grands principes :
La transmission des données multiplexées vers la tablette se fera via wifi sur le canal UDP (10110 par défaut).
Un second canal UDP (10109 par défaut) permettra au multiplexeur de recevoir des trames NMEA d’éventuels autres appareils.
Un composant qui fait ça très bien : j’ai choisi l’ ESP8266-12 :
Il se programme facilement via l’interface Arduino-IDE ( en ayant pris soin d’installer les bonnes bibliothèques).
Cependant, toutes les E/S ,ne permettent pas l’utilisation de la librairie SoftwareSerial ( interface vers les ports NMEA des appareils) ainsi je n’ai pu câbler que 5 canaux,configurables en entrée ou sortie via des cavaliers sur le circuit et via l’interface Web du système
Pour interfacer le NMEA 183 des appareils avec l’ ESP-12 j’ai utilisé 2 MAX232N qui permettent de convertir les niveaux de tension NMEA (-12V +12V ) vers TTL (0-5V).
Chaque MAX232N offre 2 entrées et 2 sorties.
Les niveaux de tension de sortie des MAX232N étant 0-5V, un pont diviseur de tension est mis en place pour réduire à 3,3v et ne pas endommager l’ ESP-12
|
|
L’ajout d’un module RF433 permet de réceptionner les signaux d’une télécommande 4 boutons en vue de contrôler le pilote automatique.
|
|
Et Enfin, ajout d’un convertisseur DC-DC pour passer du 12V du bord au 5V des MAX232n.
Une seconde cascade avec un régulateur de tension permettra d’obtenir du 3,3 pour l’ ESP-12
Tout cela est logé dans un contenant imprimé 3D en 2 parties :
|
|
Réalisation du circuit :
Conçu avec Fritzing, impression du typon sur papier transparent (x2 sinon les rayons de l’insolation passent au travers )
Insolation
Bain de perchlo.,,
|
|
Vue globale :
|
Liste de courses :
|
Le code :
Loin d’être abouti, il est tout de même fonctionnel !
A ce jour :
-création d’un Hotspot Wifi
-connexion à un réseau wifi existant
-interface de configuration www ( 192,168,1,5 sur réseau local ou 100,100,100,5 sur le hotspot)
-retranscriptions des phrases NMEA reçues sur les ports ‘physiques’ ( pas UDP 10109 ) vers les mêmes ports ‘physiques’ ainsi que sur le canal UDP 10110
-retranscriptions en mode debug des phrases reçues sur le canal UDP 10109
-la télécommande est fonctionnelle mais n’engendre aucune action
Fichiers disponibles :
Le code
La doc pour les connections et la configuration des cavaliers