Kplex et Raspbian

Bonjour à tous.

1024 excuse par avance, j'ai des soucis avec la mise en forme...
Comme je m'embête un peu, j'ai bricolé mon RPi.
Il est sous raspbian, j'y ai ajouté xygrib, opencpn, et -surtout- qtVlm

Je viens d'ajouter un outil fort pratique, un multiplexeur logiciel, kplex pour ne pas le nommer, le même logiciel que dans openplotter.
Une interface série par laquelle dégouline un flux nmea en provenance des instruments
Une interface TCP qui brâme à qui veut l'écouter
Une interface fichier pour stocker tout le traffic qui passe.

Même pas drôle, ça marche du premier coup.
A partir du site www.stripydog.com[...]/kplex/ vous télécharger le paquet ".deb" pour raspbian.
Connecté à votre RPi, vous ouvrez une console.
Vous allez dans le répertoire dans lequel vous devriez avoir reçu le paquet.

cd /home/pi/Downloads

Vous installez le paquet par la phrase magique

sudo dpkg -i ./kplex_1.4-1_armhf.deb

Et c'est fait !
Reste à le faire fonctionner. Pour cela, il y a un fichier de configuration à éditer.

sudo nano /etc/kplex.conf

Vous y ajoutez

```

[serial]

filename=/dev/ttyUSB0

direction=both

baud=4800

[tcp]

mode=server

port=10110

direction=both

[file]

direction=out

filename=/tmp/kplex.log

owner=pi

group=pi

perm=666

#timestamp=s
```

ctrl-O pour écrire (demande confirmation)
ctrl_x pour sortir
Vous redémarrez le service par (toujours dans la console)

```
sudo service kplex stop

sudo service kplex start
```

Vous configurez opencpn et qtVlm pour écouter le port TCP 10110
ET c'est tout !
Cerise sur le gâteau, c'est bidirectionnel. Ces logiciels pouvant générer des phrases NMEA, celles-ci seront envoyées au port série, et stockées dans le fichier de log.
Elle est pas belle la vie ?

L'équipage
03 mai 2020
03 mai 2020

Salut, merci pour ces infos. Pour le moment je n'ai rien de relié à mon rPi à part le gps mais les travaux sont en cours. Je garde tout ça sous le coude le temps de faire les branchements.
Juste une question, tu sais s'il y a moyen d'enregistrer les phrases d'entrée dans un fichier de log comme celles de sortie (pour des tests).

03 mai 2020

Tout à fait, c'est le sujet de la section [file]
Tout ce qui transite dans le mux s'y trouve consigné !

04 mai 2020

Oui, j'etais passé à côté, il suffit de mettre direction=both j'imagine. Merci

04 mai 2020

Non. Je crois même que cette directive n'a pas de sens pour [file]
On peut imaginer le logiciel comme une place public, où chacun écoute et/ou parle.
[file] ne fait qu'écouter afin de mémoriser tout ce qu'il entend dans le fichier.

[serial] et [tcp] ont tous les 2 direction=both afin que le trafic se fasse dans les 2 sens ; Les instruments fournissent leurs informations au logiciel (position, vent, vitesse), et le logiciel en fabrique de nouvelles pour les instruments (typiquement des infos de performances ou pour le pilote)

04 mai 2020

Ok, je comprends mieux.
Je n'en suis pas encore là vu que je n'ai encore rien branché physiquement mais je commence à réfléchir à la suite. Je crois avoir bien saisi comment kplex reçoit toutes les phrases nmea des différents capteurs (vent, lock, ais, ...) et les ressort multiplexées sur un port tcp (qu'il n'y a plus qu'à faire écouter par opencpn ou qtvlm pour tout afficher). Désolé je paraphrase ce que tu as déjà écrit mais c'est pour être sûr de bien comprendre.

Je m'interroge par contre pour obtenir cez mêmes infos sur ma tablette android (avec OpenCPN) connectée en wifi au réseau du bord. Ça fait un moment que je ne touche plus beaucoup à l'informatique... Est-ce qu'il y a moyen, en faisant un routage du port tcp du raspberry, de l'écouter depuis la tablette ?

04 mai 202016 juin 2020

La solution OpenPlotter fournit un peu le "tout en un" (même si modulable), sinon effectivement on peut installer un par un kplex, raspap, etc... En fait ça dépend surtout de ses besoins.
Personnellement j'ai opté pour l'instant pour l'option de tout faire tourner sur la rpi "sans tête", logiciel de routage compris, et j'allume la tablette (mon pc portable sur l'exemple) que lorsque nécessaire pour visualiser et interagir via VNC sur son wifi local. ça permet d'économiser la batterie de la tablette, et de pouvoir faire tourner le logiciel de carto/routage (ici qtvlm) en continu, l’inconvénient se situant peut être sur le plan ergonomique pour l'interaction via VNC.
Mais basiquement il y a moyen de tout faire oui, le plus dur étant vraiment de réussir à déterminer et fixer ses besoins !

04 mai 2020

Tu as bien raison de réfléchir avant. Et reformuler permet de s'assurer que l'on a bien compris, c'est une sage précaution qu'une fois encore tu as eu raison de mettre en oeuvre.

Il y a quelque chose comme ça dans la doc (access-point)...
Et openplotter le met à disposition dans sa configuration.
Donc, oui, c'est très probablement faisable.

04 mai 2020

@Fabien83,

J'ai récemment connecté mon rpi à l'ais de bord via USB. Sur le rpi il y a uniquement raspbian buster, OpenCPN et raspap.

Dans OpenCPN, j'ai configuré des connexion pour envoyer les données nmea (out) via udp.

J'ai configuré le rpi pour qu'opencpn se lance au démarrage.

Raspap, lui, permet de transformer le raspberry en un hotspot wifi par défaut.

Ma tablette se connecte donc automatiquement au hotspot du rpi. Sur la tablette sont installé navionics et OpenCPN . Dans les deux logiciels j'ai configuré une connexion nmea qui récupère les données transmises depuis le rpi. Attention, une Connexion sur OpenCPN rpi = une connexion sur un logiciel sur la tablette. J'ai donc créé deux connexions en out sur OpenCPN rpi, afin d'avoir les données simultanément sur navionics et OpenCPN tablette.

Avec cette configuration, je n'ai pas besoin d'écran pour le rpi. Tout est sur la tablette. Raspap permet en plus d'éteindre le rpi en sécurité depuis la tablette.

Pour l'instant c'est une configuration minimale est très simple a mettre en place je trouve. J'ai toutefois un écran que je peux brancher sur le rpi si jamais la tablette tombe en rade.

Si certains le veulent je peux essayer de rédiger un tuto sur comment j'ai fait mon installation. J'ai bien galéré a tout mettre en place car je suis parti de zéro en terme de connaissances, mais finalement avec les bons liens et tutos existant, l'installation se fait en une 15aine de minute je pense.

04 mai 2020

Je serais intéressé par un tel tuto. Pas forcément pour m'y coller tout de suite, mais à terme je me projette bien vers ce type de solution open et diy.
Merci pour ce fil très intéressant.

04 mai 2020

Oui, interessé, même si je n'ai quasi rien à connecter en wifi
Merci madlock

04 mai 2020

Merci BMayer et madlock pour ces infos. Il doit y avoir apparemment plusieurs manières de retransmettre les données nmea vers tablette en wifi.
Je serais moi aussi très intéressé si tu te lances dans la rédaction du tuto.

Si ça peut être utile, je profite de ce post entre geeks pour mettre le lien vers le tuto que j'ai mis à jour pour la config d'un transpondeur ais emtrack sous linux (logiciel ProAIS2) :
www.hisse-et-oh.com[...]s-linux

04 mai 2020

Tiens, je l'avais oublié, celui-là !
:-D Et que je suis des intervenants ! :-D :-D :-D

04 mai 2020

Merci pour ce tuto.
Tu as déjà essayé "d'exploiter" ce genre de fichier log a posteriori ?
Si oui : comment, avec quoi, est ce que les données sont facilement manipulables ? :D

04 mai 2020

Oui, j'utilise les logs (déformations pro)
Avec quoi ? Avec de l'outillage perso.
Je transforme les données qui arrivent au fil de l'eau en ensembles cohérents, par intervalles de temps. Cela permet de confirmer / infirmer des suppositions sur l'eau, a posteriori. C'est dans une optique de performance, de self-training.

04 mai 2020

D'accord. Tu penses qu'il y aurait moyen d'en construire une polaire a posteriori par exemple ?

04 mai 2020

Oui, c'est très facile à faire.
Je l'ai fait avec opencpn, le plugin VDR et le plugin polar.
VDR stocke les infos, comme peut le faire kplex.
Puis le plugin polar ingère ces infos et restitue une polaire.
Ce que j'en ai retenu, c'est la réalité encore plus ...réelle d'un dicton informatique ; "shit in ? shit out !". Bref, la collecte récupère toutes les données, même les bancales. Celles du GPS qui tousse (c'est l'époque), celles des transitions (virement de bord, ...)
Vu la quantité de données nécessaire pour -bien- faire une polaire, je bosse (qd j'ai le temps) sur un outil qui élimine les données bancales. Hélas, c'est en pause depuis l'été dernier.
Cela n'empêche pas de les collecter, il y en aura besoin.

05 mai 2020

Ok super merci pour les infos. Oui j'imagine qu'il doit falloir "lisser" tout ça ...

05 mai 2020

C'est ça.
Pas tellement le lissage, c'est assez simple... tant que c'est en ligne droite :-)
La difficulté vient de la détection des changements volontaires. Sujet en pause depuis presque un an maintenant...
Et je n'ai pas re-navigué depuis, afin de faire une campagne de mesures + noter ce que je fais, afin d'éprouver les mesures et la méthode avec la réalité. C'est la partie la + chronophage.

05 mai 2020

Je me demande si c'est pas typiquement une application de machine learning ça ...

05 mai 2020

Non. Car la machine ne va pas apprendre à déterminer.
C'est moi qui vais le faire, par observation in vivo.
Le temps de reporter les observations dans un "processeur" machine learning, de boucler /vérifier ; je passerais moins de temps à pondre la poignée de règles nécessaires...

D'ailleurs, j'ai découvert ce matin que la norme NMEA contient un paragraphe sur les logs ; le contenu est préfixé par un horodatage !

04 mai 2020

Peut être n'ai je pas compris ?

A quoi sert un multiplexeur logiciel puisqu'il faut relier les entrées au PC
Ceci nécessite d'avoir plusieurs ports physiques sur le PC et de transformer au préalable les nmea en USB car peu d'ordis sont dotés désormais de ports série.

Et si on tortilonne ensemble jusqu'à 4 entrées de même vitesse via un adaptateur nmea/usb, ce mux sert il ?

Par contre si les équipements sont USB ( AIS, GPS ) ou wifi sous réserve que le Kplex sache multiplexer du wifi (radar, AIS, sondeurs,) j'en comprendrai mieux le sens.

Pouvez vous m'expliquer ?

04 mai 2020

Je viens de trouver un truc qui me semble assez utile, la gestion de la redondance des sources GPS.
andersonsabroad.com[...]plexer/

Tout est dans la directive

[global]
failover=GP***:0:mux:60:ais

Dans les entrées définies, une est nommée "mux", l'autre est nommée "ais"
Les phrases "GP quelque chose" sont immédiatement (délai 0) récupérées de l'entrée mux, si absentes depuis 60 secondes, elles sont récupérées de l'entrée ais

:-)

04 mai 2020

@Polac: Il y a pas mal de fonctions.
Cela tient de la multiprise ; on fait transiter des infos de 1 vers plusieurs, et/ou l'inverse, de plusieurs vers un.
Cela tient aussi de la gare de triage. Telle info va a tel endroit pas à un autre. Telle info ne sera transmise que toutes les 10 secondes, pas tout les secondes. Si telle info manque depuis telle source, j'attends nn secondes avant de la prendre à telle autre source. Et quelques autres fonctions de ce type. Les conversions usb / rs232 / vitesse ne sont qu'un service minimal.

04 mai 2020

Un truc de plus à la TODO liste :
Mettre la framboise à l'heure depuis des trame NMEA GPS
groups.google.com[...]/forum/

10 mai 2020

Comme promis, le tutoriel est rédigé. J'ai jugé plus judicieux de creer un nouveau sujet par contre.

10 mai 2020

En cherchant à simplifier ma configuration, quand je serais au bateau, je tenterais de me passer de kplex, pour gérer mes 3 connexions uniquement via qtVlm.

11 mai 2020

La simplicité, c'est ce qui fonctionne le mieux.

11 mai 2020

Tout à fait, tu as bien raison.
Mise en oeuvre du précepte KISS ;-)
Hors sujet : (super, la trace de ta nav dans le golfe)

26 mai 2020

Bonjour,
Juste un petit retour car je viens d'installer mon transpondeur AIS à bord et je l'ai fait fonctionner sur Openplotter via kplex. C'est vraiment nickel. En 30 secondes de config, j'ai pu avoir les données AIS sur OpenCPN sur le raspberry lui-même ainsi que sur ma tablette Android via wifi. Le seul problème c'est que ça ne fonctionne pas directement au démarrage du raspberry, il faut que je fasse un restart de kplex (pourtant il se lance au démarrage).
Openplotter est bien pratique mais je n'ai même pas réussi à trouver le fichier de config de kplex.
Du coup la prochaine fois au bateau je vais repartir de zéro en faisant au plus simple, install de raspbian et kplex au lieu d'openplotter. Je ferai un de ces jours un tuto sur l'install physique (nmea vers rs232 vers usb) et logicielle.

27 mai 2020

:-)
Le coté il y en a partout, et des trucs dont je n'ai pas besoin sur un RPi 2, ont fait que je suis parti d'une Raspbian
Voir /etc/kplex.conf

27 mai 2020

Quand j'ai installé kplex, (dpkg -i kplexxxxx.deb), il y a un démarrage automatique qui s'est mis en place...
Tu pourrais détailler comment tu as installé stp ?

27 mai 2020

Salut,
je n'ai rien installé, kplex (et un tas d'autres soft) est installé de base sur openplotter.
Dans l'outil graphique openplotter, je n'ai fait que cliquer pour que kplex écoute le port série sur lequel arrive l'ais.
Au démarrage du RPi, openplotter sur le RPi lui-même et sur la tablette ne reçoivent pas les infos. Pourtant kplex est bien démarré.
Openplotter comprend un outil de diagnostic qui permet de voir passer les trames nmea sur les différents ports (genre Wireshark). Le truc bizarre c'est que quand je lance cet outil de diagnostic, tout fonctionne, j'ai bien les trames qui défilent et opencpn reçoit les infos. Comme si le lancement de l'outil diagnostic avait un effet sur kplex.
Bref, je ne vais pas investiguer davantage et partir d'une raspbian saine et surtout simple.

03 juin 2020

Salut à tous,

Fabien83 sur mon raspi avec OpenPlotter je dois attendre un certain temps pour que les infos soient dispos dans Kplex. De l'ordre d'une minute ou deux.
Essaie de voir si ça ne marche pas mieux quand tu patientes.
Il ne faut pas oublier que c'est une petite puissance de calcul avec peu de mémoire... Même si c'est génial, il ne faut pas en oublier les limites.

Bons essais,

03 juin 2020

Raspberry 2 + raspbian, kplex quasi instantanément...

03 juin 202003 juin 2020

Bonjour lebarbichu,

Justement j'ai fait le test plusieurs fois en attendant plus de 10 min à chaque fois. Opencpn ne reçoit rien et dès que j'ouvre l'outil de diagnostic, opencpn reçoit les infos.
Ça doit bugger quelque part.

Chez toi tout se lance tout seul sans que tu aies besoin d'intervenir ?
Je souhaite pouvoir démarrer le raspberry et, sans intervention à chaque démarrage, avoir les infos ais sur ma tablette.

03 juin 2020

Bonjour Fabien83,
Il me semble que ça se lançait tout seul effectivement. Je vais tester :)

03 juin 202003 juin 2020

A mon avis, avec un bon coup de RTFM, tu dois facilement trouver un script tout fait pour le lancement au démarrage, je pense même que les paquets.deb doivent avoir ce script d'office qu'il suffit d'activer ou d'updater, parfois le script est présent, le soft se lance mais si le script n'est pas update, il ne fait pas correctement son travail.(quelque-chose genre "update-rc.d kplex defaults" ou équivalent debianeux-systemdesque 😜)

03 juin 2020

Je pense fortement qu'il y a un bug. L'outil de diagnostic n'est sensé faire qu'écouter les ports et afficher ce qui transite. Or je n'ai aucune info sur Opencpn et dès que je lance l'outil diagnostic, tout s'affiche sur opencpn.

Je ne pourrai de toute façon pas vous en dire davantage. J'ai déjà supprimé openplotter et installé raspbian sur la carte. Le raspberry est resté au bateau donc j'installerai opencpn et kplex la prochaine fois. Avec une install propre de kplex, pas comme sur opencpn, je n'aurai aucun souci pour faire fonctionner tout ça.

03 juin 2020

install propre de kplex, pas comme sur opencpn

Tu veux dire openplotter je pense.

A mon avis, il n'y a pas de bug, kplex n'a pas été codé par des débutants, et openplotter n'est pas maintenu par un débutant non plus.
Le problème vient a coup sur d'un script ou service manquant ou non activé.
L'outil de diagnostic ne doit pas se contenter d'écouter les ports, il doit aussi lancer kplex.
C'est le souci des "outils de diagnostic graphiques", difficile de savoir vraiment, c'est pour cela que je préfère une bonne vieille lecture des logs.

03 juin 2020

Désolé, "propre" ce n'était pas le bon terme. Je voulais surtout dire que, de la manière dont sont installés les soft sur Openplotter, il me semble difficile de s'y retrouver. Ça l'a été pour moi en tout cas.

03 juin 2020

Ce que tu appelles l'outil de diagnostic c'est quoi ?

03 juin 202003 juin 2020

Voici une capture d'écran trouvée sur internet.
Voir le bouton en bas à gauche.
docplayer.fr[...]4-0.jpg

03 juin 2020

Sinon, en plus KISS que kplex, il y a muplex, qui est simple, modifiable à souhait, et solide.(et qui peut rerouter en TCP vers une tablette autonome par exemple (c'est à dire sans utiliser vnc)

03 juin 2020

Merci, ça a l'air intéressant aussi mais je vois déjà qu'il y a une interface graphique. De ce point de vue kplex qui n'a pas d'interface me paraît plus simple.

03 juin 2020

Ah OK pour l'image.
Mais il me semble qu'il s'agit de la version 1 d'Openplotter. J'ai la v2. Je vais chercher où ça se trouve...

11 juin 202011 juin 2020

J'ai suivi le tuto hier en partant d'une install fraîche de Raspbian (enfin raspberry Pi OS maintenant).
Merci BMayer ! Ça m'a pris cinq minutes et tout marche nickel, j'ai les infos sur OpenCPN sur le raspberry et sur ma tablette en wifi.
Juste un petit

sudo update-rc.d kplex defaults

pour que kplex soit lancé au boot.

Mon expérience sur Openplotter aura été assez brève. Je pense que si c'est pour faire du très basique comme moi (juste opencpn, zgrib et kplex), Raspbian est plus indiquée.

12 juin 2020

Merci Fabien83
Même réflexion pour moi ; pour un usage basique, openplotter est trop gourmand.
Raspbian + quelques outils est une solution largement plus optimale.

04 août 202304 août 2023

Bonjour,

Je déterre ce sujet, pour indiquer que kplex fonctionne également très bien sur OpenWRT. Si vous avez un routeur 4G à bord sur OpenWRT (par exemple un modèle un modèle GL.iNet), vous pouvez y installer kplex en quelques secondes, et avoir un multiplexeur NMEA 'gratuit', et plus puissant que ceux qu'on trouve à plusieurs centaines d'euros. Il suffit d'y ajouter quelques interfaces USB-RS422, et zou !

C'est ce que j'utilise à bord de mon bateau. Et comme mon routeur 4G a aussi une carte GPS cachée (GL-X750), ça me sert de source GPS de bonne qualité pour les instruments NMEA. Si ça en intéresse certains, je peux détailler ma config.

Phare du monde

  • 4.5 (75)

2022