Com0com/fr

From WikiSail
Jump to: navigation, search

Pour copier les données d'un GPS vers plusieures applications, j'utilise com0com et hub4com qui font partie du même projet : Le Projet com0com

  • com0com permet de créer des ports com virtuels.
  • hub4com permet de copier les données d'un port vers l'autre.

Principe de fonctionnement

com0com

com0com permet de créer une paire de ports séries virtuels attachés l'un à l'autre avec un câble virtuel. Par exemple dans le schéma suivant nous avons crée la paire CNCA0/CNCB0.

Com0com idea fr.png


Les données envoyées sur le port CNCA0 se retrouvent sur CNCB0 et vice-versa.

Bien sûr les noms des ports virtuels peuvent être changés. On peut renommer par exemple CNCA0 en COM21 et CNCB0 en COM6.

hub4com

hub4com permet de recopier les données d'un port série vers un/plusieurs autres.

Hub4com fr.png

Dans cet exemple hum4com copie les données de COM1 vers CNCB0 et CNCB1. Ainsi deux programmes peuvent utiliser les données envoyées par un périphérique connecté physiquement au COM1. Les ports à utiliser sont CNCA0 et CNCA1.

Téléchargement

Vous pouvez télécharger com0com ici : http://sourceforge.net/projects/com0com/.

Pour télécharger hub4com :

Remarque:

Installation com0com

Voici la procédure d'installation sur XP (sur Vista/Windows 7 il faut désactiver l'UAC au préalable):

Com0com install 1.jpg

  • cliquer sur "Next"

Com0com install 2.jpg

  • acceptez la licence, cliquez sur "I agree"

Com0com install 3.jpg

  • installation par défaut, cliquez sur "Next"

Com0com install 4.jpg

  • répertoire d'installation par défaut "C:\Program Files\com0com", acceptez en cliquant sur "Install"
  • l'installation commence

Com0com install 5 1.jpg

  • plusieurs fenêtres DOS s'ouvrent et se ferment

Com0com install 5 1.jpg

  • Il se peut que deux fenêtres DOS s'ouvrent et se ferment. N'y prêtez pas attention.

Si l'assistant de détection de nouveau matériel s'ouvre

Com0com install 6.jpg

  • sélectionnez "Non, pas pour cette fois", puis cliquez sur "Suivant"

Com0com install 7.jpg

  • laissez l'option "Installer le logiciel automatiquement (recommandé), cliquez sur "Suivant"

Com0com install 8.jpg

  • l'installation du matériel est en cours

Com0com install 9 fr.jpg

  • l'installation du matériel est terminée. Cliquez sur "Terminer"
  • Si l'assistant de détection de nouveau matériel s'ouvre à nouveau, recommencez les étapes ci-dessus.

suite de l'installation

Com0com install 10.jpg

  • Cliquez sur "Next"

Com0com install 11.jpg

  • C'est fini. Cliquez sur "Finish"
  • vous pouvez supprimer le répertoire créer lors de l'opération de dezipp.

Installation hub4com

Voici la procédure d'installation sur XP :

  • dezipper hub4com-2.0.0.0-386.zip
  • créez un répertoire d'utilisation (par exemple C:\Program Files\hub4com)
  • copiez hub4com.exe (du répertoire crée par le dezipp) dans le répertoire d'utilisation (C:\Program Files\hub4com)

Paramétrage

L'exemple qui suit donne un paramétrage pour utiliser les données d'un GPS configuré à 4800 bauds (c'est le cas de la plupart des périphériques respectant la norme NMEA) et connecté sur le port COM2. Pour faire le paramétrage il n'est pas nécessaire de connecter le GPS.

Nous allons utiliser les données de ce périphérique pour deux programmes de navigation.

Hub4com exemple fr.png

Vérification de la disponibilité des ports série

Il faut d'abord vérifier que les ports série que nous voulons utiliser sont disponibles. Si vous utilisées des ports série sur port USB il faut les brancher avant de faire cette opération.

Pour cela:

  • cliquez avec le bouton de droite sur le "Poste de Travail" et choisissez "Propriétés"

Hub4com verify1 fr.PNG

  • La fenêtre suivante s'ouvre

Hub4com verify2 fr.PNG

  • Choisissez l'onglet "Matériel"

Hub4com verify3 fr.PNG

  • Cliquez sur "Gestionnaire de Périphériques". La fenêtre suivante s'ouvre

Hub4com verify4 fr.PNG

  • Développez l'arborescence "Ports (COM et LPT)" en cliquant sur le petit plus

Hub4com verify5 fr.PNG

  • On voit que les seuls ports COM présents sur la machine sont 1 et 2 (celui sur lequel se trouve notre GPS). Les COM 4 et 7 que nous voulons utiliser sont disponibles.
  • Fermez la fenêtre "Gestionnaire des Périphériques" (ou "Device Manager" en anglais)
  • Fermez la fenêtre "Propriétés système"
  • Cette étape nous à servi à voir les ports série disponible. Il faut faire ensuite le paramétrage.

Paramétrage des paires com0com (mode graphique)

L'interface graphique ne fonctionne que si vous avez .NET Framework. Si vous n'avez pas .NET Framework utilisez le paramétrage en mode ligne.

Nous avons besoin de deux paires de ports série com0com.

  • Lancer le Setup de com0com: dans menu Démarrer>Programmes>com0com>Setup

Com0com setup1 fr.PNG

  • La fenêtre suivante s'ouvre :

Com0com setup2 fr.PNG

  • On voit sur cette fenêtre à gauche la liste des paires de ports crées. Pour l'instant il n'y a que la paire "Virtual Port Pair 0". A droite on voit les paramètres des ports et le câble virtuel. On commence par changer le nom du port CNCA0 en COM7.

Entrer dans la zone ou est écrit CNCA0 et modifier en COM7 :

Com0com setup3 fr.PNG

  • Sur les deux ports, activer "emulate baud rate" et "enable buffer overrun" :

Com0com setup4 fr.PNG

"emulate baud rate" sert à faire croire que le port est à une certaine vitesse.

"enable buffer overrun" permet à hub4com de continuer à fonctionner au cas où l'une des applications utilisatrices n'est pas lancée.

  • Valider les modifications en cliquant sur "Apply" (l'opération peut prendre quelques instants)

Com0com setup5 fr.PNG

  • Ajouter une seconde paire de ports: cliquer sur "Add Pair".

Com0com setup6 fr.PNG

  • La paire est ajoutée
  • Windows détecte les nouveaux ports:

Com0com setup7 fr.PNG

  • Il se peut que l'assistant de détection de nouveau matériel s'ouvre. Dans ce cas procéder comme pour l'installation de com0com ci-dessus (sélectionnez "Non, pas pour cette fois", puis cliquez sur "Suivant", laissez l'option "Installer le logiciel automatiquement (recommandé)", cliquez sur "Suivant", lorsque l'installation du matériel est terminée. Cliquez sur "Terminer").
  • Comme pour la paire précedente changer CNCA1 en COM4 et activer "emulate baud rate" et "enable buffer overrun":

Com0com setup8 fr.PNG

  • Valider les modifications en cliquant sur "Apply" (l'opération peut prendre quelques instants)

Com0com setup9 fr.PNG

  • Fermer le fenêtre.

Paramétrage des paires com0com (mode ligne de commande)

  • Lancer le Setup de com0com: dans menu Démarrer>Programmes>com0com>Setup Command Prompt

Com0com setup txt1.PNG

  • faites
help

pour avoir un liste des commandes

  • voyons le parametrage que nous avons. Entrez:
list

puis appuyez sur entree. Ca la devrait nous retourner:

command> list
      CNCA0 PortName=-
      CNCB0 PortName=-
  • Changement de nom de CNCA0 en COM7 et mise des paramètres émulation du baudrate et autorisation de dépassement (de la taille de la fille). La commande est:
change CNCA0 PortName=COM7,EmuBR=yes,EmuOverrun=yes

et en retour vous avez:

command> change CNCA0 PortName=COM7,EmuBR=yes,EmuOverrun=yes
      CNCA0 PortName=-
change CNCA0 PortName=COM7,EmuBR=yes,EmuOverrun=yes
Restarted CNCA0 com0com\port \Device\com0com10
      CNCB0 PortName=-
ComDB: COM7 - logged as "in use"
  • Parametrage du port CNCB0 pour émulation du baudrate et autorisation de dépassement (de la taille de la fille):

change CNCB0 EmuBR=yes,EmuOverrun=yes et le retour:

command> change CNCB0 EmuBR=yes,EmuOverrun=yes
      CNCA0 PortName=COM7,EmuBR=yes,EmuOverrun=yes
      CNCB0 PortName=-
change CNCB0 PortName=-,EmuBR=yes,EmuOverrun=yes
Restarted CNCB0 com0com\port \Device\com0com20
  • Installation d'une nouvelle paire dont le premier port va s'appeler COM4 avec émulation du baudrate et autorisation de dépassement des deux côtés:
install PortName=COM4,EmuBR=yes,EmuOverrun=yes EmuBR=yes,EmuOverrun=yes

et le retour:

command> install PortName=COM4,EmuBR=yes,EmuOverrun=yes EmuBR=yes,EmuOverrun=yes
      CNCA1 PortName=COM4,EmuBR=yes,EmuOverrun=yes
      CNCB1 PortName=-,EmuBR=yes,EmuOverrun=yes
ComDB: COM4 - logged as "in use"
  • Windows détecte les nouveaux ports:

Com0com setup7 fr.PNG

  • Il se peut que l'assistant de détection de nouveau matériel s'ouvre. Dans ce cas procéder comme pour l'installation de com0com ci-dessus (sélectionnez "Non, pas pour cette fois", puis cliquez sur "Suivant", laissez l'option "Installer le logiciel automatiquement (recommandé)", cliquez sur "Suivant", lorsque l'installation du matériel est terminée. Cliquez sur "Terminer").
  • Et voici ce que nous devrions avoir au total:
list

retourne:

command> list
      CNCA0 PortName=COM7,EmuBR=yes,EmuOverrun=yes
      CNCB0 PortName=-,EmuBR=yes,EmuOverrun=yes
      CNCA1 PortName=COM4,EmuBR=yes,EmuOverrun=yes
      CNCB1 PortName=-,EmuBR=yes,EmuOverrun=yes

Com0com setup txt2.PNG

  • Fermez la fenêtre.
  • une autre commande utile est remove <n>. Exemple : remove 1 va supprimer la paire CNCA1/CNCB1

Paramétrage de hub4com

hub4com s'utilise en mode "ligne de commande".

La commande est:

hub4com options \\.\COM_d'entrée \\.\COM_de_sortie_1 \\.\COM_sortie_2 etc...

Pour avoir toutes les options la commande est:

hub4com --help=*

Dans notre cas la commande est:

hub4com --baud=4800 --octs=off \\.\COM2 \\.\CNCB0 \\.\CNCB1

Pour tester il faut:

  • Dans le Menu Démarrer>Exécuter

Hub4com setup1.PNG

  • Ouvrir: tappez cmd

Hub4com setup2.PNG

  • une fenêtre dos s'ouvre
  • tappez
C:
CD C:\Program Files\hub4com

(pour aller dans le répertoire où vous avez installe hum4com. Si vous avez installé hub4com ailleurs, modifier la commande en conséquence.)

  • tapez la commande:
hub4com --baud=4800 --octs=off \\.\COM2 \\.\CNCB0 \\.\CNCB1

Hub4com setup3.PNG

Ça marche!

Explication des options

--baud=4800 : on fixe un trafic à une vitesse de transmission de 4800 bauds

--octs=off : on ne tient pas compte du signal CTS (le GPS est très souvent connecté avec un câble trois fils RX/TX et masse, sans le câble CTS).

mise en place définitive

  • Dans le répertoire C:\Program Files\hub4com
  • Créez un Nouveau document texte 'rungps.txt' (le nom importe peu)
  • Editez le 'rungps.txt'
  • Son contenu doit être juste:
hub4com --baud=4800 --octs=off \\.\COM2 \\.\CNCB0 \\.\CNCB1
  • Enregistrez
  • Modifiez l'extension en .bat
  • Créez un raccurci vers le 'rungps.bat' et mettez le où vous voulez (sur le bureau par exemple).
  • Pour utiliser il suffit maintenant de :
    • lancer 'rungps.bat' à travers le raccourci
    • minimiser 'rungps.bat'
    • connecter son GPS
    • lancer ses applications

remarques

Des fois, il se peut que le 'buffer' de hum4com explose. Dans ce cas il suffit de fermer puis relancer 'rungps.bat'