DIY : simulateur NMEA 183 virtuel , connecté, documenté, gratuit

Bonjour,

Pour qui : d'abord pour les amateurs d'électronique embarquée. J'avais en premier lieu besoin d'un simulateur réaliste pour mettre au point un multiplexeur SEATALK/NMEA Wifi à base d'Arduino et je ne trouvais pas mon bonheur sur le web. J'en ai donc fait un moi-même. Au delà de cette production de NMEA il en fait un peu plus:

Il permet :

  • de visualiser de manière dynamique les forces en jeu dans l'évolution sous voiles et en particulier dans les courants,
  • de reproduire de manière réaliste les données de navigation d'un voilier faisant route vers une destination ,
  • de générer les phrases NMEA 183 correspondant à la moindre manœuvre (on peut modifier le cap du voilier en manœuvrant la barre avec la souris :-)
  • de se connecter aux divers logiciels de navigation existant au moyen de ports virtuels ( aide pour l'installation d'un soft gratuit pour cela), c'est-à-dire sans aucune connexion matérielle. Cette connexion permet de tester chez soi la partie acquisition et traitement de données des capteurs des différents logiciels comme OpenCPN , SIMSAIL , qtVlm pour les gratuits et ScanNAV, ADRENA et Maxsea TZ pour les payants. Bien sûr l'intérêt est aussi de connecter matériellement un multiplexeur en phase de mise au point !

Il y a une aide complète sur la théorie pour les calculs réalisés et sur l'utilisation du soft lui-même.

L'accès pour l'.
Il y a aussi une vidéo sur le sujet en bas de page d'accueil reproduite ci-dessous.

JP

L'équipage
19 juin 2020
19 juin 2020

Bonjour
Ça m’intéresse, mais je vois que qu’il s’agit d’un programme en 32 bits, avant de tenter de l’installer, y a-t-il un problème à vouloir l’installer sur un PC Windows 10 en 64 bits?
Merci

19 juin 2020

Aucun problème. Il a été compilé sur un Windows 10 64 bits mais avec un compilateur 32 bits.

19 juin 2020

Merci et bravo pour ce programme

19 juin 2020

:-)
Le générateur est-il séparé de de l'interface ?
(Histoire de rêver que ça puisse être compilé avec une plateforme linux 32 -ET- 64 bits...)

19 juin 2020

Non malheureusement c'est du Delphi 7 et on n'est pas sur du multiplateformes là

19 juin 2020

Delphi....
Ca nous rajeunit pas...

27 juin 2020

Bonjour,

Je sais qu'il n'y a pas mal d'initiés ici et peut-être ne découvrirez vous rien de nouveau dans mon message mais BMayer (LauBen) je rebondis sur ta réflexion : et oui Delphi ça ne nous rajeunit pas ( apparu en 1995 soit un quart de siècle). Néanmoins j'ai constaté tout récemment avec grand plaisir que l'entreprise Embarcadero avait franchement redonné un coup de jeune à Delphi et ceci intelligemment en mettant à disposition des amateurs et des petites entreprises ou startup son ensemble RAD 10.3 gratuitement à la condition de ne pas faire de bénéfice supérieur à 5000 $/an avec ses produits.

En 2016 sa version gratuite de Delphi dite Starter se limitant à la VCL se limitait à Windows bien sûr.
Depuis 2018 ils ont étendu cette version gratuite à MAC OS X, Linux, iOS, Android en basculant ce Delphi vers le multiplateformes en migrant de la VCL à ce qu'ils appellent le FMX ou FireMonkey. Je n'ai pas encore bien compris comment cela fonctionne mais ça me botte et je vais m'y mettre. En effet écrire un même code pour toutes ces plateformes c'est quand même un sacré progrès, je pense. Pour les intéressés (toutes plateformes) c'est ici :

Sous FMX j'ai vu aussi des démos en graphismes assez stupéfiantes.

Quelqu'un ici a parlé d'open-source : naturellement si l'un d'entre vous est intéressé je peux lui envoyer la totalité des sources Delphi7 du simulateur , ( s'il est patient car je pars caréner mon bateau pendant quelques jours !).

27 juin 2020

Merci!

28 juin 2020
12 juil. 2020

ATTENTION : je me suis plutôt emballé sur le sujet du multi-plateformes gratuit. Après quelques investigations il ressort ceci :

  • RAD 10.3 n'existe que sur Windows , indispensable comme système de développement de départ.

  • pour LINUX , on est loin du gratuit. FMXLinux ne fait pas partie de l'édition Community mais nécessite au moins l'édition Entreprise : 4000 € la première année et 1000 € les années d'abonnement suivantes !! Oublions ! Pour migrer à partir de Delphi 7, la meilleure solution semblerait être Lazarus mais il y a du boulot.

  • pour MAC : il faut nécessairement un PC ET un MAC ! Une autre solution est un PC et le service MacinCloud (payant bien sûr , on est chez Apple) 20 € par mois.

  • pour Android , il faut un téléphone ou une tablette mais là c'est plus jouable.

A suivre donc...

06 mars 2023

Lazarus (Pascal) permet de migrer le Delphi sous Linux

19 juin 2020

Génial ; à double titre :
1 / l'utilité
2 / Les pages explicatives data1 et data2
Donc double bravo !

19 juin 2020

Merci !

19 juin 2020

Gros inconvénient: c'est un logiciel Windows. Ce serait la moindre des choses de le préciser

19 juin 202019 juin 2020

C'est précisé sur la
On a encore le droit de programmer sous Windows ? 3 % des utilisateurs sont sous Linux.

19 juin 2020

Sérieusement, quand est-ce que j'ai suggéré qu'on n'avait pas le droit de développer pour Windows?
Je suggère seulement de mentionner qui est concerné, sans obliger les gens à ouvrir une autre page, à chercher sur cette page et de perdre du temps avant de se rendre compte qu'ils ne peuvent pas utiliser le logiciel.
Cela me semble relever de la courtoisie la plus élémentaire. Le contraire, à savoir supposer que cette information n'a pas d'importance, est une démonstration d'arrogance (et d'irrespect).
(Au passage, dans le milieu ou j'évolue, beaucoup plus que la moitié des utilisateurs ne sont pas sur Windows, mais sur MacOS. Dans un contexte différent et plus large, l'attitude de la majorité qui affiche ouvertement un dédain profond des minorités ouvre directement la voie à des troubles sociaux très actuels)

21 juin 2020

A JDMUYS :

Je te propose de raison garder et de ne pas te perdre dans des comparaisons incongrues et notoirement irrespectueuses pour les minorités réellement opprimées : aucun linuxien ni utilisateur de MacOS n'a trouvé la mort lors d'un contrôle d'identité même s'il avait oublié son mot de passe.

Quant à la notion de temps perdu, chronomètre en mains il faut exactement 58,72 secondes pour lire mon message , cliquer sur le lien de la page d'accueil et sur la page de téléchargement pour découvrir la configuration exigée, ce qui est dans l'ordre des choses depuis que l'informatique existe. Je sais bien que la notion de temps est toute relative à l'heure où le président des 330 millions d'individus les plus techniquement avancés de la planète passe littéralement le sien en imbécillités sur un media tout aussi imbécile. Ce qui a d'ailleurs donné lieu à une nouvelle formulation de la relativité toute restreinte pour le coup :

ENERGIE ( de Donald Trump) = MASSE (de Donald Trump) X (CONSTANTE DE SA CONNERIE)²

Je ne sais pas dans quel milieu tu évolues, où le temps est éminemment aussi précieux, mais je vais t'expliquer mon cas en tant qu'ancien électronicien professionnel pas franchement passionné par les subtilités de l'informatique :

  • le monde Apple : j'ai assisté à sa mise en place progressive dans mon entreprise (1800 personnes) alors que le discours de Steve Jobs était le suivant : " Apple c'est MA machine et dessus il n'y a que MES logiciels et avec ça je compte me faire un MAX de fric". Résultat, je déteste Apple et mets dans le même panier iPad, MAC, iPhone , i.. tout ce que l'on veut. 4 ans plus tard il n'y avait plus un MAC dans l'entreprise. J'ai cependant de très chers amis qui ne jurent que par MAC.

  • le monde Microsoft : au début plus ouvert. Le discours de Bill Gates au commencement : " J'ai fait un OS avec lequel vous pouvez faire ce que vous voulez , ou pouvez, tant que vous utilisez n'importe quelle machine compatible IBM PC ( c'est comme ça qu'on appelait un PC sous DOS puis sous Windows avant). Aujourd'hui Microsoft se fout scandaleusement de ses clients dont la plupart sont "captifs" et mise comme tout ce petit monde sur un maximum de profit. Je déteste donc Microsoft aussi.

  • le monde Linux : absolument plus sympathique dès le départ avec son ambition de gratuité et de collaborativité. Au cours des vingt années passées j'ai expérimenté RED HAT, MANDRAKE, MANDRIVA,DEBIAN, UBUNTU , IO.GNU.LINUX , avec pour résultat 80% de désastres et finalement grâce aux échanges avec quelques linuxiens chevronnés autant que dévoués, je suis parvenu au terme de quelques 80 heures de travail à installer et utiliser une superbe config DEBIAN/LIBRAZIK ( mais rien à voir avec la navigation, pour les curieux c'est ici.

    Conclusion pour moi : le mode Linux c'est admiration et gratitude. Je déplore vraiment que l'on n'en soit aujourd'hui qu'à 3 % d'utilisateurs due à la dispersion des distributions. C'est le revers de la médaille de l'ouverture. C'est le lot du libre. La semaine dernière encore j'ai essayé d'installer DEBIAN à partir d'un ISO très sérieux sur une machine Windows 7 : résultat : écran noir . Plus de boot possible , ni sous W7 ni sous linux. Combien de temps me faudra-t'il pour réparer ça alors que je n'y connais quasiment rien ?

On peut mesurer ici à quel point les termes d'arrogance et d'irrespect sont à côté de la plaque.

23 juin 2020

Je te remercie de confirmer ton dédain pour tout ceux qui sont différents de toi. Donc acte.

23 juin 202023 juin 2020

Dédain qui se limite quand même à ceux qui n'ont en fin de compte pour seul objectif que de se faire du fric au mépris de leurs clients : c'est ça qui les distingue de moi qui n'ai d'ailleurs jamais eu de client.

Normalement les discussions ici sont de bonne tenue en principe et la pure logique s'impose en premier lieu. J'ai expliqué mon écart avec les utilisateurs de Linux pour lesquels je n'ai qu'admiration et même pour quelques-uns de la gratitude. Si tu traduis ça par dédain je te conseille de revoir ton vocabulaire de base.

26 juin 2020

ne pas préciser sur quelle plateforme tourne ton logiciel n'est pas forcément du dédain. Ca peut être un oubli honnête (dans une position de privilège de situation)
Le dédain consiste à dire que cet oubli n'a aucune importance et que les gens "n'ont qu'à" effectuer une manipulation, aussi simple et rapide que cette manipulation puisse être. Autrement dit, considérer que le temps des autres n'a pas de valeur
Puis de se retourner contre celui qui fait la suggestion pour dire que le problème est chez lui

26 juin 2020

Je rêve! JP s'est cassé le c... pendant des heures, partage son travail avec tout le monde gratos et Mr jdmuys se sent floué!!!!! @ jdmuys si cela ne te convient pas, tu la fermes! et tu fais le job toi même!!! Tu peux même le partager après comme JP, mais je pense que cela ne te viendra pas à l'idée...

27 juin 202027 juin 2020

Et bien ça fait peur la haine que suscite la simple suggestion de préciser la compatibilité d’un logiciel, de la part de gens qui ignorent le nombre d’heures que j’ai pu contribuer à des logiciels open-source. Mais leur ignorance ne fait que renforcer leur haine

Ici en pleine lumière et sur un tout petit sujet qui n’aurait jamais dû avoir d’importance, se développent les mécanismes du rejet, de l’exclusion, et de la culpabilisation des victimes.

Tristement, cela me donnera des exemples pour les séances de travail autour de ces sujets auxquelles je participe régulièrement.

27 juin 2020

Pfffff où tu vois de la haine? A quelle heure peut-on se plaindre d'un cadeau? il ne te plait pas... tu dis merci quand même et tu le mets au placard! Relis tes posts à tête reposée et tu comprendras (peut-être).....

29 juin 2020

relis toi Fredbird. Ton intervention à mon sujet transpire d'une haine bien épaisse.

29 déc. 2020

Exactement !!

27 juin 202027 juin 2020

@jdmuys : Je te rappelle ce que j'avais montré plus haut, à savoir qu'il faut 59 secondes pour lire le message et suivre le lien qui décrit la configuration demandée. Tu ne cesses de nous rabâcher que tu as perdu ces précieuses secondes parce que ta machine est sous OS X et non sous Windows.
Moi, si j'avais trouvé un article comme celui-ci sur un logiciel qui m'intéresse mais que j'avais découvert une minute plus tard que ce logiciel ne fonctionnait que sur MAC, il ne me serait même pas venu à l'idée de m'insurger contre l'auteur car cette minute soit disant perdue je l'affecterais à ma culture personnelle en lui trouvant l'intérêt qu'elle mérite. D'autant que cet article pointe également sur des notions susceptibles d'intéresser tous les voileux du monde quel que soit leur genre, leur religion, leur appartenance politique et même les operating systems qu'ils utilisent.
C'est toi qui "sur un tout petit sujet" en as fait tout un plat, rappelons le. C'est toi aussi qui fais preuve de mépris et d'arrogance en considérant que tes précieuses 59 secondes t'ont été prélevées à ton insu sur ton précieux temps sans que tu en tires aucun bénéfice. Quelle prétention !

Quant aux "exemples pour les séances de travail" auxquelles tu participes, nous comptons sur l'animateur pour te recadrer. Maintenant s'il s'agit de groupes de parole des Alcooliques Anonymes, tout s'explique et je me retire sur la pointe des pieds .....

28 juin 2020

1h 20 du matin tiens fais faire un petit tour sur hisse heo
oh surprise,le sketch continu....😂
Ne perd pas ton temps car le tiens me parait précieux.
Dans tout les cas un grand merci, car c'est bien pratique comme programme.
Tu passes boire une bière quand tu veux.

Le Moko

28 juin 2020

Merci le Moko et à très bientôt !

JP

29 juin 202029 juin 2020

tu n'as rien compris. Mais ce n'est pas étonnant.

29 déc. 2020

@jdemuys
Le gros inconvénient surtout c est qu il y en a toujours un qui n est jamais content !! Pour moi la moindre des choses c est de fermer sa bouche au lieu de critiquer ...m’enfin!!
Moi je dis déjà merci à jp59 !

20 juin 2020

Bonsoir
le programme de jp59 fonctionne dans WINE (au moins dans DEBIAN10). Merci à lui.
Reste à trouver comment récupérer ses données pour les envoyer vers un pgm linux (qtVlm ou OpenCPN), il faudrait un maître en socat ou quelque chose comme..

21 juin 2020

kplex ?
(kesako "socat" ?)

21 juin 2020

Socat permet d'établir des liens bidirectionels, de créer des ports virtuels etc..
www.dest-unreach.org[...]/socat/

linuxfr.org[...]sockets

21 juin 2020

Oui je pense que si tu arrives sous WINE à sortir les trames NMEA en liaison série, que ce soit en virtuel avec le soft approprié ou matériellement même, ça devrait être gagné pour y connecter OpenCPN ou qtVlm.

21 juin 2020

Bravo pour le travail et surtout MERCI

21 juin 2020

Bravo, merci, ne pas tenir compte des avis des pisses-vinaigre habituels ;-)

21 juin 2020

Merci, je vois ce que tu veux dire. Je viens de répondre.

21 juin 2020

Bravo JP59 pour ce boulot qui va servir sans aucun doute.
Malheureusement, personnellement je suis sous Linux, donc dommage pour moi.. Mais est-ce qu'un portage sous Linux serait envisageable ? (ça dépasse largement mes compétences)

@Yantho @Bmayer : est-ce que vous avez réussi à faire sortir les trames de Wine ? J'aimerais bien essayer de le faire communiquer avec OpenCPN (sachant que je n'ai pas de bateau, ce serait un moyen intéressant pour me familiariser avec ces logiciels).

Je suis sur : Ubuntu 18.04.4 LTS

21 juin 2020

Je n'arrive pas à faire sortir les trames de WINE, le pgm de jp59 semble satisfait, il ouvre com1 puis les trames défilent, mais rien n'arrive aux ports virtuels liés dans linux , pourtant com1 n'est qu'un lien vers /dev/ttyS0. Problème de configuration qui prend du temps..

21 juin 202021 juin 2020

Vous connaissez peut-être mais il existe un excellent logiciel de test des liaisons série en version Windows et en version Linux qui est COOLTERM téléchargeable ici . Bien sûr on peut tester des liaisons série virtuelles ou matérielles.

Ton message, yantho , m'indique que le thread qui envoie simultanément les trames NMEA à l'affichage et sur le COM est bien lancé par WINE. Reste à savoir si le code qui gère le COM sous windows est bien interprété par WINE.

Pour cela je vous conseille de constituer un fichier de capture texte NMEA par la fonction FICHIER/SAUVEGARDER NMEA BRUT (attention ce fichier n'est créé que si un COM est effectivement activé). Ensuite vous l'envoyez par les deux versions de COOLTERM :
D'abord la version Linux avec le gestionnaire de ports virtuels linux : ça doit marcher sans problème là ! Vous devez pouvoir lire le fichier sous OpenCPN .
Ensuite même manip avec la version COOLTERM de windows par WINE : si ça marche aussi , c'est que mon code est mal interprété par WINE.

21 juin 2020

@JP59, merci pour ce partage généreux. C'est arrivé juste dans la fenêtre ou j'en avais besoin. (Just arrived in the time windows i needed it !!!)
Ton simulateur m'a servi opportunément pour test des recopies de ports série avant d'être sur le bateau. J'utilise Simsail et Seapro.

21 juin 2020

Hello, j'ai téléchargé et installé mais j'ai un petit soucis au moment de le lancer : je reçois coup sur coup deux messages d'erreur m'indiquant

"'06,18' n'est pas une valeur en virgule flottante correcte"
puis
"'0,30' n'est pas une valeur en virgule flottante correcte"

Ensuite le logiciel semble se lancer normalement, mais quand j'appuie sur le bouton "SIMULER" j'ai un message d'erreur m'indiquant "division par zéro" et l'application rien de nouveau.

A tout hasard, si il y a un moyen facile de réparer ça ?
Désolé si cette erreur est due à une mauvaise manip de ma part dans l'installation. Je précise que j'essaye de le faire tourner sur Ubuntu+Wine, ce qui pourrait être la cause du soucis peut être.

Merci

22 juin 2020

@tdm2023
Bonjour. Non ce n'est pas une mauvaise manip de ta part. En fait j'ai codé pour que le soft s'adapte aux deux séparateurs en virgule flottante utilisés soit la virgule, soit le point. Mais j'ai commis l'erreur d'utiliser pour l'adaptation un paramètre typiquement Windows qu'à tous les coups WINE ne reconnait pas. Tu peux toujours essayer de vérifier que le séparateur que tu utilises est bien le point mais je crains que cela ne suffise pas. Je vais réfléchir et je te tiens au courant.

22 juin 2020

@jp59
Merci beaucoup pour cette réponse, et pour le temps que tu consacres généreusement au développement de ce beau programme (qui n'a pas d'équivalent je crois en gratuit). Je vais essayer de "vérifier que le séparateur utilisé est bien le point" (je ne sais pas trop comment faire mais je vais chercher).
Si tu trouves une solution simple ce serait génial. Après, ne te mets pas martel en tête, je ne sais pas s'il y a beaucoup d'utilisateurs potentiels sous Linux, et je me sentirais mal à l'aise que tu consacres trop de temps de cerveau disponible juste pour moi.. D'autant qu'après le défi sera de faire sortir les trames de Wine pour l'interfacer avec Opencpn (ou alors lancer un opencpn sous wine également).

23 juin 2020

Bonjour,
Je n'ai eu aucun pb d'installation ni de fonctionnement. Je ne sais pas où dans un système Debian se trouve le paramètre "," vs ".".
Je n'ai pas réussi à sortir les trames vers un port virtuel sur lequel un autre pgm serait à l'écoute, ni avec SIMNAVNMEA ni avec COOLTERMWIN, ce n'est pas très grave le fichier des phrases NMEA est bien généré (700ko) et lu sans pb par qtVlm, le bateau simulé est bien visible naviguant en Mer du Nord.

23 juin 2020

A propos de lecture de fichier nmea, autant opencpn que qtVlm lise des fichiers nmea même si ceux-ci sont préfixés, comme les logs NKE ou les fichiers à la norme nmea tags v4

23 juin 2020

@tdm2023

Tu peux essayer d'extraire le fichier ici et de remplacer l'EXE dans ton répertoire d'installation par celui-ci : il gère les séparateurs décimaux sans utiliser le paramètre propre à windows. WINE devrait donc le gérer.

23 juin 2020

j'essaye tout de suite
merci !

23 juin 2020

Wonderful ! ça marche ! Merci infiniment.

23 juin 2020

@yantho @BMayer
Est-ce que vous auriez la gentillesse de partager avec moi un fichier NMEA pour que je le teste dans OpenCPN ? (plutôt pour que je teste mes capacités à bien comprendre comment tout ça fonctionne)
Je suis un Newbie dans ce domaine, et j'essaye de me faire la main petit à petit.
Merci

23 juin 2020

Voici celui que fourni SIMNAVNMEA. .


23 juin 2020

thank you

23 juin 2020

tdm2023 :
Un petit échantillon.
github.com[...]samples
N'hésites pas à demander, ce sera avec plaisir.

26 juin 2020

@BMayer @Yantho @jp59
Juste un petit mot pour vous tenir informés. Pour le moment je n'ai pas réussi à faire communiquer SIMNAVNMEA et OpenCPN (problème de ports séries virtuels entre wine et ubuntu). Je me bats avec socat, mais pour le moment sans succès. Même Coolterm ne fonctionne pas comme j'imagine qu'il devrait. Je m'y repencherai quand j'aurais un peu de temps libre. En tous cas j'ai appris plein de chose chemin faisant, et je vous en remercie.

26 juin 2020

J'étais exactement dans la même situation et,au moins pour le moment, j'ai arrêté.

06 août 2020

La curiosité m'a conduit à charger et à essayer ce logiciel avec HDD Virtual Serial Ports Tools comme conseillé...
Sous Windows 10 64 bits (Je précise pour les esprits chagrins qui ne manquent pas de sévir un peu partout)
Formidable !
Bravo

07 août 2020

si le programme est sous Delphi, n'est-il pas portable sous Linux/Mac en utilisant la version open Lazarus ?

10 août 2020

Bonjour,

Je pense que c'est faisable mais peut-être faut-il un minimum d'adaptation. J'ai téléchargé Lazarus sous Linux et je vais voir... mais pas tout de suite !

29 déc. 2020

Bonjour à tous,

Je diffuse une version corrigée du simulateur en question ( toujours sous windows hélas) mais elle est indispensable : il y avait confusion entre la VMG ( vitesse utile de remontée ou de descente dans l'axe du vent ) et la WCV : waypoint closure velocity : vitesse de rapprochement de la marque.
Maintenant le relèvement du waypoint , WCV et ETE sont calculés sur l'orthodromie.
Le message NMEA ( WCV) est également corrigé.
( J'ai détecté l'erreur grâce à Virtual Regatta : le Vendée Globe bien sûr :-))

Vous pouvez télécharger la version 2.3 ici :

(Attention si, dans l'aide, vous voyez toujours VMG au lieu de WCV dans l'encart sur les distances au waypoint, pensez à vider le cache de votre navigateur !)

Amicalement
JP

29 déc. 2020

Bravo

29 déc. 2020

Logiciel très sympa , merci encore pour ce partage très instructif
Perso j ai un problème avec mon pilote wimrad tp32 qui semble ne pas recevoir les phrases pour le mode nav et je recherche un logiciel pour simuler des infos à l'entrée nmea de mon pilote pour vérifier si c est problème de pilote ou un problème de configuration de mon multiplexeur qui normalement envoie ces instructions ?

05 jan. 2021

Bonsoir,
Est-il possible de "pousser" le flux NMEA183 vers un port tcp/udp pour être "consommé" par un logiciel qui reçoit un tel flux - weather4d par exemple ?
Merci

14 jan. 2021

Bonjour,

C'est une bonne idée. Je verrais plutôt un interface NMEA183 -Wifi générique, une passerelle en fait qui pourrait évoluer vers la passerelle NMEA - Signal K. Sous Windows il suffirait de lancer les deux EXE (le simu et la passerelle) en utilisant les ports virtuels. On peut également faire une passerelle embarquée sur un Arduino par exemple. Je réfléchis.

Pour le moment vous pouvez aussi tester le simu avec SQUID sur MAC, de Great Circle qui récupère les fichiers gribs. Il admet la liaison série comme la liaison Wifi.

Amicalement

03 juin 2021

slt,
je viens de faire le montage :)

Windows => VirtualCOM over TCP (Telnet) >> Linux => SOCAT IP:PORT to VirtualCOMPort => SignalK (NMEA IN from Serial)

04 juin 2022

Entre autres diverses activités, j'ai commencé à y regarder de plus près pour diriger le flux NMEA vers une sortie Wifi (soit l'adaptateur d'un portable ou une clé USB à insérer dans un PC de bureau) mais je me heurte à un problème de taille lié aux mises à jour de Windows 10 ( et je crains aussi de Windows 11) : depuis quelque temps il n'est plus possible d'utiliser le réseau hébergé virtuel de Microsoft car , et c'est la conclusion de toutes les conversations sur le sujet sur le web, les dernières mises à jour dans les pilotes de périphériques pour Windows 10 ont soit fait disparaître cet adaptateur, soit l'on gardé mais ont rendu impossible son activation. Alerté, Microsoft se déclare impuissant à résoudre le problème ! un comble !.

Heureusement , mais c'est une maigre consolation, ça fonctionne toujours sur Windows 8.1 ! Là on ne craint plus les mises à jour

05 juin 2022

Ca serait intéressant de faire un sondage pour connaitre les OS des HeOnautes.
C'est aussi très très très intéressant de relire l'historique de ce fil.

05 juin 2022

D'accord avec toi Kivoalai. La programmation multiplateformes me semble ardue mais les outils existent . Maintenant Windows 11 nous promet déjà une programmation compatible Androïd , ce qui peut faire avancer les choses. A voir

06 juin 2022

Linux (Debian plus exactement)

06 juin 2022

Debian, petit serveur perso et plusieurs PC depuis la fin du précédent siècle.

06 juin 2022

J'ai contacté la hot-line d'INTEL et j'ai la réponse à ma question : en fait Microsoft a volontairement supprimé dans Windows 10 l'option de réseau hébergé pour la remplacer par le Wifi Direct . A priori pour les utilisateurs de Windows de 7 à 11 il devrait y avoir une solution pour diffuser en Wifi, ce qui est une bonne nouvelle. Je vais voir.

06 jan. 2021

Hi,

J'avais raté ce message. Ça m'aurait bien servi pour tester mon raspberry multiplexeur NMEA !
Merci jp59 pour le taf et le partage !!

06 jan. 2021

Beau travail... très sympa et surtout utile. Merci

03 juin 2021

hello JP, tout d'abord, merci pour ton travail,..fabuleux,..
mon besoin étant au départ de réutiliser ces trames NMEA sur mon RaspberryPi, je me suis mis en quête d'une solution pour exporter via TCP/IP => chose faite..

--/////////how to ////////
Coté Windows: (my IP: 192.168.1.34)
SERIALtoETHERNET_CONNECTOR (crée un port COM1 virtuel et pousse le stream vers l'IP:5000 en Telnet)
SIMULATEUR de Nav => Sortie COM1
! déverrouiller le Firewall sinon, impossible de se connecter

Coté RaspberryPi (RaspBian OpenPlotter)
install SOCAT
démarrer la session => SOCAT va créer un port série virtuel
sudo socat -d -d pty,link=/dev/ttyS0,raw,echo=0 tcp:192.168.1.34:5000

(permettre les users d'utiliser tty ):
sudo usermod -a -G dialout $USER
sudo usermod -a -G tty $USER

  • controle du stream NMEA sudo cat /dev/ttyS0

ajouter la ligne serial ttyS0 à signalK
localhost[...]/admin/
=> ADD NMEASOURCE SERIAL (port => manual entry => /dev/ttyS0)

10 juin 202210 juin 2022

Bon, j'ai commencé à travailler sur une version multiplateformes , mais avec mes 3500 lignes de code et les migrations des routines graphiques que ça suppose , ça va me prendre ... un certain temps :-)

Je vois que Linux est assez populaire chez Hisse et Oh : j'aime bien aussi la distribution Debian mais je n'ai pas (encore) développé dessus.

Pour être précis je tente de migrer sur RAD STUDIO DELPHI 10.4 Sydney multiplateformes dont le source peut concerner :
- windows 32 bits
- windows 64 bits
- MAC OS X
- Androïd (tablettes et smartphone)

Je dispose en outre d'une config Linux Debian qu'il me faudrait partager avec une installation Ubuntu qui est la seule distri Linux à faire tourner RAD STUDIO DELPHI 10.4 Sydney à ma connaissance. Si vous en savez davantage, je suis preneur d'informations !

En attendant avec le simu tel que dispo ici : et pour le moment toujours réservé à Microsoft Windows j'ai ajouté rapidement et de manière bancale l'émission des trames NMEA en Wifi. Je dis de manière bancale car cette émission est couplée avec celle sur port série . Il faut donc activer un COM ( fût-il virtuel) pour que ça marche, ce qui est ballot mais je soignerai l'option dans la version multiplateformes.

J'ai testé : ça marche bien . La diffusion est en mode UPD Broadcast et avec un PC portable j'ai pu connecter simultanément 2 autres PC , un iPhone 3G qui fait tourner iNavx, une tablette Androïd et un smartphone ! On peut aller jusqu'à 8 connexions simultanées. Sur les PC vous pouvez tester avec OpenCPN et SIMSAIL qui fonctionnent aussi en WIFI.

Pour ceux qui veulent tester cette liaison Wifi (un peu pour les geeks quand même) téléchargez le zip ici :

Il faudra l'extraire dans le même répertoire que celui où l'EXE original est installé sinon ça ne marchera pas et lutter contre votre antivirus ( l'exe est certifié virus free par Norton Security Ultra).

Maintenant le vrai point délicat ( je parlais de geek :-)) est la diffusion par Windows. Soit on dispose d'une ancienne config ( appelons la A) ou d'une nouvelle ( B) .

Une ancienne config (A) est soit :
- - un windows 7, 8 ou 8.1 ( avec XP et avant XP ça ne marchait pas) et un matériel de même génération, si on veut , disons d'avant 2017. Dans ce cas on doit disposer dans le gestionnaire de périphériques ( attention : en affichant ceux cachés !) dans les cartes réseau d'une "carte virtuelle de réseau hébergé Microsoft" qui doit être activée.

- -soit une config en Windows 10 ou 11 mais sur un matériel antérieur à Windows 10 c'est-à-dire un PC portable avec l'adaptateur intégré soit une clé WIFI USB dont les pilotes admettent encore ce réseau hébergé. Car il faut savoir qu'en publiant Windows 10 , Microsoft a invité les fabricants de matériel à supprimer le pilote de réseau hébergé et à le remplacer par le WIFI Direct. Donc si vous êtes dans ce cas ce sont les pilotes de votre "vieux" matériel que Windows va bien daigner vouloir faire fonctionner. J'ai testé Windows 10 avec une clé WIFI de 2011 sans problème. Si le pilote du matériel gère bien le réseau hébergé Windows 10 le fera même apparaître dans les périphériques.

Donc si vous êtes dans cette config A (vérifiez avant) :

  • créez une fois pour toutes le réseau hébergé :
    On procède en ligne de commande :
    sous Windows 7 , 8 ou 8.1 lancez cmd.exe en mode administrateur
    sous Windows 10 lancez Windows PowerShell (admin) dans le menu en bas à gauche (clic droit)

  • A l'invite taper : netsh wlan set hostednetwork mode=allow ssid=NOMRESEAU key= MOTDEPASSE
    avec NOMRESEAU et MOTDEPASSE au choix (c'est une création ici, rien à voir avec Internet !)
    Ensuite vous démarrez le réseau ( là il faudra le faire à chaque fois que vous lancez le soft) en entrant : netsh wlan start hostednetwork. Vous devez avoir le message disant que le réseau hébergé est démarré.

  • Lancer alors l'exe SimNAVNMEA_WIFI , aller dans paramètres , en bas cliquer sur paramètres WIFI et entrer l'adresse IP que vous voulez ( par ex 10.0.0.1) et le port 10110 (réservé au NMEA par convention) . Ce sont les adresse /port qu'il faudra rentrer pour les connexions aux divers appareils / logiciels en réception. Cochez la case pour la diffusion puis OK. OK encore pour quitter les paramètres.
    Sur la fenêtre principale sélectionner un port disponible ( ou virtuel avec HHD) et Activer. Les messages défilent et sont simultanément diffusés en Wifi.

Maintenant si vous avez la config B ( Windows 10 ou 11 avec un matériel "récent") c'est plus simple :

Touche Windows+ I puis réseau et Internet puis Wifi : activer . Ensuite en bas sélectionner Point d'accès sans fil puis activer. Vous pouvez alors modifier en dessous le nom de réseau et le mot de passe pour entrer ce que vous voulez comme vu plus haut.
Lancer alors l'exe SimNAVNMEA_WIFI , et continuer comme pour la config A.

Bonne chance aux téméraires !

01 mars 2023

Bonjour JP59, et aux autres,

Je suis occupé à m'amuser avec OPenCPN et autre truc .....
Donc sur un Raspi j'ai installé un serveur signalK, crée un petit réseau local pour
que OpenCPn installé sur un autre Raspi puisse avoir les infos.

Dans l'ensemble cela marche pas mal:
Je suis sous Linux.....
J'ai installé un simulateur NMEA, qui envoi les trames en nme183 vers le
serveur signalK, qui lui transfert le tout vers OPenCpn...

En voulant installer le tout sur notre voilier, j'ai du mal à obtenir les trame nmea183.
Je me suis donc proposé de comprendre le nmea183....

Les codes de définition pour les messages je les ai trouvé sur ton site (merci)
Mais il semblerait qu'il faille respecter certaine syntaxe dans les trames,
Par Exemple si j'émet la phrase suivant:


$IIDPT,9,0.9*5

je vois bien la profondeur et l'offset du capteur.
Par contre la phrase


$IIMWD,309,T,291,M,29,N,5,M*5

si elle me donne bien le cap vrai et le cap magnétique,elle ne me présente pas la vitesse.

rem: je ne tient pas compte du cheksum sur le serveur signalK

Aurais tu une idée, une piste ??

Un grand merci

Michel

01 mars 202301 mars 2023

S'il s'agit de la vitesse du bateau (SOG), elle s'obtient par la phrase $IIRMC
voir sur ce lien :
gpsd.gitlab.io[...]EA.html

01 mars 202301 mars 2023

Je n'ai jamais vu la phrase MWD nulle part. Ce ne serait pas plutôt la phrase MWV ?
Edit : en tout cas le "29,N" correspond à une vitesse de 29 noeuds selon la syntaxe habituelle.

01 mars 2023

Vitesse du vent, dans ce cas...

01 mars 2023

Oui bien sûr, comme dans MWV le W c'est wind, mais en absolu puisqu'il y a la direction en réel et en magnétique (309,T,291,M).

01 mars 2023

Sauf dans la phrase

$iiMTW,,,,,*xx ou le W signifie water..............

02 mars 202302 mars 2023

Bonjour,

Tout comme Matelot je ne connaissais pas la phrase MWD mais elle est émise au moins par les centrales NKE. Elle donne effectivement les informations sur le vent réel .

La phrase doit donner
MWD, direction du vent réel vraie, T =true, direction du vent réel magnétique, M= Magnetic, vitesse du vent réel en nœuds,N =knots, vitesse du vent réel en m/s , M= mètres.

$IIMWD,309,T,291,M,29,N,5,M*5

ici on a 309 vrai et 291 magnétique donc 18° de déclinaison Est et 29 nœuds pour la vitesse soit 15 m/s et non 5 ! Quand on utilise un simulateur NMEA il faut vérifier son niveau de sérieux!
De plus le code de redondance cyclique est faux (5) , ce qui fait que ce simulateur est inexploitable avec les logiciels de navigation sérieux qui vérifient la cohérence de la phrase avant de la prendre en compte.
La phrase correcte est la suivante :
$IIMWD,309,T,291,M,29,N,15,M*4B

01 mars 2023

Pour matelot : MWD est emise par le NMEA simulator sur mon linux


$WIMWD,270.5,T,270.5,M,16.0,N,8.2,M*67
$WIMWV,84.0,R,16.1,N,A*29

Il envoi les deux (comme cela pas de jaloux :-)

Pour Scnaps

C'est la vitesse du vent que je desire obtenir.......

01 mars 202301 mars 2023

Hé bien la vitesse du vent est de 16,0 nœuds dans la première ligne, 16,1 nœuds dans la deuxième, c'est cohérent.
Edit: mais amha le MWD donne une vitesse de vent réel (puisque la direction est donnée sur la rose des vents) et le MWV le donne en vent apparent (R = relative). Le bateau serait donc arrêté ?

02 mars 2023

Debian + Xfce (desktop manager)
Bravo pour ce travail, même si c'est en Windows.
Pour l'émulation Win, pas un grand fan de Wine (je suis plutôt Gibolin ;-), je trouve Virtualbox nettement plus facile à installer/utiliser. Reste à voir si l'on peut récupérer les trames NMEA. Le RJ45 pour le navigateur fonctionne sous VBox.

02 mars 2023

Bonjour,

Je resous cetain problème, les description des phrase nmea peuxent être trouvée à l'adresse:

On trouve les codes acceptés par le serveur signalK et les description des syntaxe dans les liens des code...

Comme je commence avec python, je travaille avec des gants et cela amène pas mal de bug....ce qui parfois(souvent me fait galérer...
Je vais essayer sans mes moufles...

Michel aka dvdv

03 mars 2023

Bonjour,
Toutes mes félicitations pour ce logiciel et pour les fichiers d'aide à l'installation.
J'ai installé ce Simulateur de navigation et Transmetteur NMEA 0183, j'ai aussi créer des ports virtuels avec le logiciel HDD, le tout sur ordinateur Lenovo avec Windows 11.
Les logiciels fonctionnent, j'ai bien les deux port virtuels qui fonctionnent aussi, mais le logiciel de simulation refuse de se connecter aux ports virtuels.
Est ce que vous avez eu ce problème, et comment l'avez vous résolu ?
Merci pour votre réponse

03 mars 2023

Bonjour,

Je n'ai pas testé sous Windows 11. Les ports virtuels apparaissent-ils dans la liste déroulante sur le simu ? Y-a t'il un message d'erreur ? Sinon peux-tu décrire où ça coince ?

04 mars 2023

Bonjour,
J'ai bien la liste déroulante avec les 10 ports " com ", mais lorsque je veux en sélectionner un, j'ai le message d'erreur
" Ce Com n'est pas disponible sur la machine : choisir un Com disponible dans le gestionnaire de périphériques ".
Je retrouve bien mes deux ports Com virtuels disponibles dans le gestionnaire de périphériques, et je peux constater qu'ils fonctionnent correctement.
J'ai aussi fait un essai avec VSPDP, ça ne fonctionne pas non plus.
Merci pour votre réponse

05 mars 2023

Bonjour Eridan,

A la lecture des problèmes avec Windows 11, je me rends compte qu'il y en a avec ... les ports COM ! Disposes-tu d'un port COM réel sur ta machine ? peu probable avec un PC portable, mais possible avec un PC de bureau. Si tel est le cas essaie de le sélectionner dans le simulateur et voir s'il peut s'activer.

06 mars 2023

Bonjour jp59
Mon ordinateur est récent, je n'ai pas de port Com réel. Je vais continuer à chercher, côté pare feu peut être .

06 mars 2023

Avec les différentes versions de Windows il y a eu diverses façons de nommer les COM. Si tu peux essaie de télécharger mon EXE modifié ici :

Il n'y a pas de danger , je l'ai vérifié avec Norton Security Ultra. Tu installes l'exe dans le même répertoire que l'exe d'origine et tu le lances. Vérifie si tu as toujours le problème avec les COM virtuels.

07 mars 2023

Bonjour JP59,
Quand j'exécute le SimNAVNMEACOM-MOD.EXE, il ne trouve pas les fichiers "combat1.jpg" et "DefPolars\First 317.pol", ensuite il me signale 2 fois de suite une violation d'accès à l'adresse 004B1C20 dans le module SimNAVNMEACOM-MOD.exe avec lecture adresse 00000000, et il s'exécute.
J'arrive à sélectionner le port virtuel com 1 dans la liste déroulante et le bouton Activer devient opérationnel, si je le sélectionne, il m'affiche une violation d'accès à l'adresse 004B2637 dans le module SimNAVNMEA
COM-MOD.exe avec lecture adresse 0000000E.
Si je souhaite mettre en service le simulateur, j'obtiens la violation d'accès à l'adresse 004B1C20 (idem ci dessus).
J'espère avoir été assez clair dans mes descriptions ????
Bonne journée
Eridan

07 mars 202307 mars 2023

Excellent rapport Soldat Eridan ! :-))

Au moins on y voit qu'il y avait un problème de nommage des COM qui est résolu !

Maintenant tout laisse à penser que tu n'as pas mis l'EXE dans la bonne directory . N'est-ce pas plutôt "iconbat1.jpg" et non "combat1.jpg" qui manque ?
J'ai installé l'appli en C:\Program Files (x86)\SimNAVNMEA .

J'ai rechargé
SimNAVNMEA_COM-MOD.exe
du drive vers ce répertoire et tout fonctionne correctement. Tu dois impérativement mettre
SimNAVNMEA_COM-MOD.exe
dans le MEME répertoire que le SimNAVNMEA.exe original. Vérifie où tu as installé l'original.

Tu verras , tu devrais aussi trouver deux sous répertoires :

  1. C:\Program Files (x86)\SimNAVNMEA\DefPolars
  2. C:\Program Files (x86)\SimNAVNMEA\Help

avec l'EXE à la racine.

07 mars 2023

Effectivement c'est bien "iconbat1.jpg" et je ne savais pas qu'il fallait installer le SimNAVNMEA_COM-MOD.EXE dans le même répertoire que le SimNAVNMEA, je l'avais d'ailleurs désinstallé en pensant qu'il n'avait plus d'utilité.

Maintenant tout fonctionne correctement avec liaison sur OpenCPN.

Merci beaucoup pour ce dépannage et aussi pour ce super programme, très intéressant.

Bien cordialement,

Soldat ERIDAN (lol)

07 mars 2023

Bonjour Eridan, finalement tu utilises quel soft pour installer des ports com virtuels (sous windows) ?
VSPD n'est gratuit que 14 jours.

07 mars 2023

Perso j'aime bien Franson GPS gate, qui une version limitée mais gratuite.

07 mars 2023

qui a

07 mars 2023

Bonjour KivoaLai
J'utilise Free Virtual Serial Ports de HHD Software, en espérant que les ports virtuels créés durant la période d'essai resterons opérationnels.
En fait j'ai suivi les conseils de JP59

09 mars 2023

Bravo Jp59.

Je suis en train de faire un multiplexeur prenant en entrée 1 source NMEA et la sortie de ma central NKE compact 2, dont le décryptage des trames a été possible grace à Mickey.
En sortie, du NMEA

Je vais faire le dev pour raspberry pico, car l'échantillonnage en entrée est suffisant pour lire la trame NKE, et que en plus, on peut coder en Lazarus.

L'avantage pour moi, c'est que je code déjà en Delphi, toutes versions depuis la 4 jusqu'a la 10.4. Et c'est plus rapide qu'en Python (mais moins qu'en C++, il est vrai).

09 mars 2023

Merci Louarn,

L'intérêt d'un simu comme celui-là c'est justement de pouvoir développer des équipements comme pour le Raspberry dont tu parles et de tester toutes les fonctions. De mon côté je m'en suis servi pour faire un multiplexeur embarqué sur mon 31.7 sur Arduino. Celui-ci me servait déjà pour traduire les trames Seatalk1 en NMEA 183.
J'ai aussi songé à me mettre à Python mais le côté interpréteur me rebute un peu (retrouver le lenteur du Basic ? :-)

09 mars 2023

Merci Louarn,

L'intérêt d'un simu comme celui-là c'est justement de pouvoir développer des équipements comme pour le Raspberry dont tu parles et de tester toutes les fonctions. De mon côté je m'en suis servi pour faire un multiplexeur embarqué sur mon 31.7 sur Arduino. Celui-ci me servait déjà pour traduire les trames Seatalk1 en NMEA 183.
J'ai aussi songé à me mettre à Python mais le côté interpréteur me rebute un peu (retrouver le lenteur du Basic ? :-)

30 juil. 2023

Bonjour,
un grand merci pour ce soft que je viens d’utilisé et qui m'a bien dépanné.

je voulais tester sur table ma config de muxberry :
- Win8
- 1 USB/RS232 "émetteur" sur mon PC
- croisé avec un USB/RS232 récepteur sur mon PiZero Muxberry

https://www.hisse-et-oh.com/sailing/multiplexeur-nmea-raspberry

Je vais être honnête, je n'ai absolument pas lu la doc, pas besoin de fonctions évoluées, je voulais juste faire passer des trames avec un max de types de messages (il me manquait juste l'AIS)
Mâis même sans lire la doc, j'ai cliqué, ça a a clignoté coté emetteur, puis clignoté aussi coté récepteur.
J'ai testé la réception des trames sur PC d'abord avec le premier soft venu en l'occurrence "Accessport serial monitor" en version portable, bien pratique.
Ensuite, branché sur mon Muxberry, données affichées, système validé.
merci encore!

31 juil. 2023

Bravo, content que ça te soit utile. A vrai dire la doc est là au cas où on se poserait des questions mais pas indispensable.
J'ai toujours en tâche de fond une version supposée multi-plateformes pour le moment graphiquement beaucoup plus fluide et plus sexy, mais le côté justement multi-plateformes me laisse perplexe , il ne fonctionne toujours que sous Windows actuellement.

Je me concentre aussi sur une version diffusant en Wifi.

Bye Bye la Corse !

Phare du monde

  • 4.5 (35)

Bye Bye la Corse !

2022