Démarrer avec le mode VCP

[Dernière mise à jour: 13/07/2023]

[Basée sur la version logicielle: v3.2.1]

VCP icon with a tutorial icon merged together

Introduction

La majorité des capteurs de précision de Dracal Technologies peuvent être livrés avec l'option VCP: Virtual COM Port. Ceux-ci sont identifiables par la présence du préfice "VCP-" dans leur nom de produit (ex. VCP-RTD300). Cette option permet à l'instrument de communiquer par protocole de port série en plus du protocole USB qui est celui par défaut. Les commandes disponibles en mode VCP sont disponibles dans la documentation suivante: accédez aux données de vos instruments communiquant par port série virtuel (VCP). La présente documentation se veut un outil complémentaire, voué à guider étape par étape les utilisateurs dans leur processus de mise en marche de leurs instruments Dracal communiquant en mode VCP.

Cette documentation offre une avenue d'utilisation possible et ne prétends en rien être la seule, ni la meilleure, parmi toutes les options possibles.

Utilisateur sous Windows

1. Windows - Installation

Lors de la réception de votre capteur supportant l'option VCP, celui-ci est en mode "USB". La première étape pour la mise en marche de votre instrument est de télécharger le logiciel DracalView, qui inclut en plus de l'interface graphique toute la suite de nos outils en ligne de commande.

2. Windows - Naviguer dans le répertoire de DracalView

Au téléchargement, le répertoire par défaut dans lequel est téléchargé le logiciel est : C:\Program Files (x86)\DracalView. Pour utiliser les outils en ligne de commande, vous devez ouvrir un terminal et naviguer dans ce répertoire. Dracal Technologies a mis à votre disposition un outil nommée "Dracal tools" (ou "command-line tools" dans les versions antérieures de l'application) que vous pouvez appeler depuis votre barre de recherche et qui, lorsque vous cliquerez dessus, vous ouvrira un terminal déjà positionné au bon endroit.

3. Windows - Passer du mode USB au mode VCP

Le protocole de communication des produits de la série VCP- est modifié du mode USB vers le mode VCP via notre outil en ligne de commande dracal-usb-set. Pour ce faire, la commande de conversion set_protocol VCP doit d'abord être exécutée, puis être suivie du débranchement de l'instrument. Dans l'exemple suivant, le débranchement de l'instrument a été effectué virtuellement via la commande reset disponible avec dracal-usb-set.

C:\Program Files (x86)\DracalView>  dracal-usb-set -s E16026 set_protocol VCP
C:\Program Files (x86)\DracalView>  dracal-usb-set -s E16026 reset

Si un seul instrument Dracal est connecté à votre ordinateur au moment de l'exécution de ces commandes, vous pouvez omettre de préciser la numéro de série de votre appareil (comme il n'y en a qu'un seul) en utilisant l'option -f comme dans l'exemple suivant:

C:\Program Files (x86)\DracalView>  dracal-usb-set -f set_protocol VCP
C:\Program Files (x86)\DracalView>  dracal-usb-set -f reset

Notes pour les utilisateurs de Windows: À l'exécution de la commande reset, l'écho suivant sera retourné dans votre outil de terminal:

C:\Program Files (x86)\DracalView>  dracal-usb-set -f reset
USB control message error: usb_control_msg: sending control message failed, win error: The device does not recognize the command.

Ce comportement est normal et confirme que le débranchement a été complété avec succès.

Une fois basculé en mode VCP, tous les outils logiciels de DracalView (interface graphique et outils en ligne de commande) ne pourront plus communiquer avec votre instrument Dracal. C'est une particularité du système d'exploitation Windows qui impose cette contrainte, car elle n'autorise pas un appareil à communiquer dans plusieurs langages. Cette contrainte n'existe pas sous Mac OS et Linux.

4. Windows - Déterminer l'identificateur COM de votre capteur

Utilisez votre barre de recherche Windows pour accéder à votre "gestionnaire de périphériques" ("device manager"). Dans cette fenêtre, naviguez jusqu'à la section "Ports (COM & LPT)". Dans l'image ci-dessous par exemple, le capteur Dracal connecté est identifié en tant que "COM3".

 

5. Windows - Interagir avec l'instrument lorsqu'il est en mode VCP - Configurer PuTTY

Comme ni DracalView, ni les outils en ligne de commande ne nous permettent d'interagir avec l'instrument une fois qu'il est en mode VCP, nous utiliserons PuTTY comme intermédiaire de communication. Vous pouvez le télécharger sur https://putty.org/ et suivre les étapes d'installation par défaut. Suite à son installation, vous devriez y avoir accès par votre fenêtre de recherche: 

Pour accéder aux données du périphérique, nous allons créer un nouveau profile dans PuTTY avec comme type de connexion ("Connection type") "Serial". Puis dans la zone "Serial line", nous allons inscrire le nom de notre périphérique, ayant été identifié précédemment en tant que COM3 dans cet exemple. Il est recommandé de sauvegarder immédiatement la session en lui donnant un nom, comme par exemple ici "Dracal COM".

 

 

Avant d'interroger l'instrument, nous devons faire d'autres configurations:

Sous "Terminal", désactiver l'écho en cochant "Force off" aux deux options sous "Line discipline options". Ensuite, sous "Connection->Serial", nous allons désactiver le "Flow control" en sélectionnant "None":

 

Les éléments de configuration sont terminés. Retournez sous "Sessions" et sauvegardez de nouveau:

Note: Lors du lancement de la prochaine session sous PuTTY dans l'optique d'accéder aux données de vos capteurs Dracal communiquant par port série, vous n'aurez qu'à sélectionner votre session "Dracal COM" et cliquer sur "Load". Ainsi, il ne vous restera qu'à vous assurer d'inscrire l'identificateur série de l'instrument en question, qui fort probablement aura un autre identificateur (qui est COM4 comme dans l'image ci-dessous par exemple):

 

Vous êtes prêt à interroger votre instrument, en cliquant maintenant sur "Open"

 

Un fenêtre s'ouvrira alors, vous permettant non seulement de visualiser les données retournées par votre instrument, mais également d'interagir avec lui via l'appel de toutes les commandes qu'il supporte et qui sont documentées dans cette section du guide d'utilisation pour les produits VCP. Entre autres, l'envoi des commandes PROTOCOL USB suivi de la commande RESET vous permettra de faire pivoter votre instrument du mode VCP au mode USB, vous permettant à nouveau d'utiliser les outils de visualisation et d'acquisition disponibles au téléchargement de DracalView.

Note: Lors de l'appel des différentes commandes dans le terminal, bien que celles-ci ne seront pas affichées dans l'écran terminal, elles seront bel et bien exécutées et une ligne d'écho vous confirmera que celle-ci a bel et bien été reçue. 

6. Windows - Enregistrer les données avec PuTTY

Pour enregistrer les données dans un fichier, il suffit de naviguer dans "Session -> Logging". Sous "Session logging:", nous recommandons de cocher l'option "All session output". Ensuite, il est nécessaire de choisir le nom du fichier ainsi que son emplacement dans la section "Log file name:". Dans l'exemple ci-dessous, nous avons imposé ".csv" pour le format du fichier de sortie, sans quoi PuTTY propose une extension ".log" par défaut. Enfin, il suffit de cliquer sur "Open":

 

Lorsque la fenêtre s'ouvre, nous recommandons de rapidement invoquer la commande "INFO" afin que le nom des colonnes soient identifiables très rapidement à l'ouverture du fichier d'enregistrement:

 

Laissez la fenêtre ouverte: le fichier est en cours d'enregistrement. Lorsque votre tâche d'acquisition de données est terminée, vous pouvez tout simplement fermer la fenêtre PuTTY et ouvrir le fichier que vous aurez créé.

Note: Notez que vous devrez nécessairement supprimer les premières lignes de votre fichier. Si vous avez invoqué la commande "INFO" tel que suggéré, le nom de vos colonnes sera disponible à quelques lignes du début de votre fichier.

 

7. Utilisation de DracalView et des outils en ligne de commande: reconversion en mode USB

Au moment de la rédaction de cet article, DracalView et nos outils en ligne de commande Dracal ne reconnaissent pas les instruments Dracal communiquant via VCP. Pour les utilisateurs qui ont besoin d'accéder à leurs instruments avec ces outils, par exemple pour l'étalonnage, l'instrument doit être converti en mode USB. La commande PROTOCOL est celle à utiliser pour convertir le protocole de communication du mode VCP au mode USB. Pour que la conversion soit effective, le périphérique doit ensuite être déconnecté manuellement ou virtuellement à l'aide de la commande RESET.

À noter, ces commandes sont sensibles à la casse et doivent être saisies en lettres majuscules.

Voici un exemple du retour d'information après l'invocation des commandes PROTOCOL USB suivie de RESET :

D,VCP-PTH200,E16026,,101671,Pa,23.2883,C,25.9022,%,*46A1
D,VCP-PTH200,E16026,,101670,Pa,23.3017,C,25.7649,%,*1A9D
D,VCP-PTH200,E16026,,101671,Pa,23.2883,C,25.5314,%,*1361
D,VCP-PTH200,E16026,,101669,Pa,23.3017,C,25.3696,%,*CAF8
I,VCP-PTH200,E16026,Protocol set,,,,,,,*0D36                        (Invoking command: PROTOCOL USB)
D,VCP-PTH200,E16026,,101668,Pa,23.3017,C,25.2293,%,*8DC9
D,VCP-PTH200,E16026,,101669,Pa,23.315,C,25.1652,%,*C947
D,VCP-PTH200,E16026,,101669,Pa,23.3017,C,25.1499,%,*F5B5
D,VCP-PTH200,E16026,,101668,Pa,23.3017,C,25.1637,%,*DFB5
I,VCP-PTH200,E16026,Resetting device,,,,,,,*0710                    (Invoking command: RESET)



Votre produit communique alors à nouveau via le protocole USB et les utilisateurs de Windows peuvent à nouveau accéder à leurs données via notre logiciel gratuit d'acquisition de données et nos outils.

Conclusion sous Windows

De par son mode de fonctionnement, le système d'exploitation Windows impose aux utilisateurs d'instruments Dracal de pivoter entre les modes USB et VCP selon que l'utilisateur désire utiliser tous nos outils d'acquisition de données (mode USB) ou bien intégrer les données par mode VCP. Si vous jugez que la présente documentation aurait avantage à couvrir d'autres éléments, nous vous invitons chaudement à nous faire part de vos suggestions.

 

Utilisateur sous Mac

1. Mac OS - Installation

Lors de la réception de votre capteur supportant l'option VCP, celui-ci est en mode "USB". La première étape pour la mise en marche de votre instrument est de télécharger le logiciel DracalView, qui inclut en plus de l'interface graphique toute la suite de nos outils en ligne de commande.

2. Mac OS - Naviguer dans le répertoire des outils en ligne de commande

Typiquement, l'application DracalView aura été installée et placée dans le répertoire d'Applications. Dans ce cas, le répertoire par défaut où se trouvent les outils en ligne de commande Dracal sera  : /Applications/DracalView.app/Contents/MacOS/. Pour utiliser les outils en ligne de commande, vous devez ouvrir un terminal et naviguer dans ce répertoire.

3. Mac OS - Passer du mode USB au mode VCP

Le protocole de communication des produits de la série VCP- est modifié du mode USB vers le mode VCP via notre outil en ligne de commande dracal-usb-set. Pour ce faire, la commande de conversion set_protocol VCP doit d'abord être exécutée, puis être suivie du débranchement de l'instrument. Dans l'exemple suivant, le débranchement de l'instrument a été effectué virtuellement via la commande reset disponible avec dracal-usb-set. Ci-dessous, la conversion est appliquée sur l'instrument dont le numéro de série est E16026.

MyMac:MacOS user$ ./dracal-usb-set -s E16026 set_protocol VCP
MyMac:MacOS user$ ./dracal-usb-set -s E16026 reset

Si un seul instrument Dracal est connecté à votre ordinateur au moment de l'exécution de ces commandes, vous pouvez omettre de préciser la numéro de série de votre appareil (comme il n'y en a qu'un seul) en utilisant l'option -f comme dans l'exemple suivant:

MyMac:MacOS user$  ./dracal-usb-set -f set_protocol VCP
MyMac:MacOS user$  ./dracal-usb-set -f reset

Une fois basculé en mode VCP, vous pourrez continuer d'utiliser les autres outils logiciels de DracalView (interface graphique et outils en ligne de commande) sans problème. Par exemple, avec l'appareil VCP-PTH450-CAL que nous avons en main, l'appel de l'outil dracal-usb-get retournera le résultat suivant:

MyMac:MacOS user$  ./dracal-usb-get -s E16026 -l
Found: 'VCP-PTH450-CAL', Serial: 'E22196', Version 2.10, Channels: 7
	Channel 0: MS5611 Pressure [Pressure]
	Channel 1: SHT31 Temperature [Temperature]
	Channel 2: SHT31 Relative Humidity [Relative Humidity]
	Virtual Channel 256: Dew point [Dew point]
	Virtual Channel 257: Humidex [Humidex]
	Virtual Channel 258: Heat index [Heat index]
	Virtual Channel 262: Altitude [Height]
MyMac:MacOS user$ 

4. Mac OS - Déterminer l'identificateur COM de votre capteur

Dans le terminal, la commande ls-alF /dev/cu.* vous permettra d'obtenir l'identificateur des instruments connectés à votre ordinateur communiquant via le protocole COM:

MyMac:MacOS user$ ls -alF /dev/cu.*
crw-rw-rw-  1 root  wheel   18,   7  6 Jul 13:51 /dev/cu.usbmodemE221961

Dans cet exemple, l'identificateur de l'instrument est /dev/cu.usbmodemE221961.

5. Mac OS - Interagir avec l'instrument lorsqu'il est en mode VCP

Afin de bien suivre l'effet des commandes, nous reccomandons d'ouvrir un second terminal (identifié ci-après en tant que Terminal #2), qui sera l'endroit où les données de l'instrument seront affichées. Ainsi, le Terminal #1 sera celui à partir duquel nous lancerons des commandes à l'appareil et le Terminal #2 sera celui où nous en observerons les effets:

 

Terminal #1 Terminal #2
MyMac:MacOS user$ ls -alF /dev/cu.*
crw-rw-rw-  1 root  wheel   18,   7  6 Jul 13:51 /dev/cu.usbmodemE221961
MyMac:MacOS user$ 

Note: Nous allons utiliser l'outil "cat" pour lire les données du capteur, mais d'autres outils tels que "screen" sont également disponibles.

Dans le Terminal #2, commencez la lecture des données transmises par votre capteur en lançant la commande cat [identificateur] (dans cet exemple, [identificateur] est /dev/cu.usbmodemE221961):

 

Terminal #1 Terminal #2
MyMac:MacOS user$ ls -alF /dev/cu.*
crw-rw-rw-  1 root  wheel   18,   7  6 Jul 13:51 /dev/cu.usbmodemE221961
MyMac:MacOS user$  cat /dev/cu.usbmodemE221961 
*063a
H450-CAL,E22196,,101075.0,Pa,C,VCP-PTH450-CAL,E22196,,101075.0,Pa,23.6,C,53.9,%,*3d0c
C,VCP-PTH450-CAL,E22196,,101076.0,Pa,23.6,C,53.9,%,*5337
C,VCP-PTH450-CAL,E22196,,101074.0,Pa,23.6,C,54.0,%,*d3cc
C,VCP-PTH450-CAL,E22196,,101073.0,Pa,23.6,C,53.9,%,*e17a
C,VCP-PTH450-CAL,E22196,,101076.0,Pa,23.6,C,53.9,%,*5337
[...]

Vous pouvez désormais lancer toutes les commandes disponibles dans la documentation du mode VCP dans le Terminal #1 et en visualiser l'effet dans le Terminal #2.

Par exemple, ci-dessous nous allons récupérer le nom des colonnes via la commande INFO. La commande echo "INFO" > /dev/cu.usbmodemE221961 est lancée dans le Terminal #1 et son effet est observé dans le Terminal #2:

Terminal #1 Terminal #2
MyMac:MacOS user$  echo "INFO" > /dev/cu.usbmodemE221961
MyMac:MacOS user$ 


[...]
C,VCP-PTH450-CAL,E22196,,101410,Pa,25.3204,C,70.1152,%,*50c9
I,Product ID,Serial Number,Message,MS5611 Pressure,Pa,SHT31 Temperature,C,SHT31 Relative Humidity,%,*bbdd
C,VCP-PTH450-CAL,E22196,,101410,Pa,25.3071,C,70.1457,%,*11b7
C,VCP-PTH450-CAL,E22196,,101409,Pa,25.3471,C,70.1427,%,*1286
C,VCP-PTH450-CAL,E22196,,101410,Pa,25.3204,C,70.1473,%,*21ff
[...]

De même, nous pouvons ralentir la fréquence d'interrogation du capteur à une lecture aux 2 secondes par exemple via la commande POLL:

Terminal #1 Terminal #2
MyMac:MacOS user$  echo "POLL 2000" > /dev/cu.usbmodemE221961
MyMac:MacOS user$ 


[...]
C,VCP-PTH450-CAL,E22196,,101400,Pa,25.4326,C,69.6376,%,*2cd6
C,VCP-PTH450-CAL,E22196,,101401,Pa,25.4326,C,69.6376,%,*6962
C,VCP-PTH450-CAL,E22196,,101399,Pa,25.4192,C,69.6239,%,*f09a
C,VCP-PTH450-CAL,E22196,,101399,Pa,25.4326,C,69.6468,%,*51
,VCP-PTH450-CAL,E22196,Poll interval set to 2000 ms,,,,,,,*601b
C,VCP-PTH450-CAL,E22196,,101400,Pa,25.4326,C,69.6696,%,*a07f
C,VCP-PTH450-CAL,E22196,,101402,Pa,25.4459,C,69.6284,%,*e1ea
[...]

Nous vous encourageons à poursuivre la configuration de votre instrument en prenant connaissance des  commandes disponibles toujours en suivant les 2 exemples ci-dessus, i.e. en lançant la commande dans le Terminal #1 de la manière suivante: echo "[COMMANDE]" > [IDENTIFICATEUR] et en observant le résultat dans le Terminal #2. 

6. Mac OS - Enregistrer les données dans un fichier

Pour enregistrer les données dans un fichier, il suffit de rediriger les données retournées dans un fichier. Dans l'exemple ci-dessous, les données de l'instrument interrogé sont enregistrées dans un fichier nommé log.csv, qui est lu par la suite:

 

MyMac:MacOS user$  cat /dev/cu.usbmodemE221961 > log.csv

^C
MyMac:MacOS user$  cat log.csv
C,VCP-PTH450-CAL,E22196,,101403,Pa,*2aed
,,C,VCP-PTH450-CAL,E22196,,101397,Pa,25.7878,C,69.1859,%,*4622
C,VCP-PTH450-CAL,E22196,,101398,Pa,25.7878,C,69.1859,%,*83ed
C,VCP-PTH450-CAL,E22196,,101399,Pa,25.8011,C,69.2119,%,*7d65
C,VCP-PTH450-CAL,E22196,,101400,Pa,25.8011,C,69.189,%,*2760

Note #1: Remarquez que les 2 premières lignes sont ici incomplètes. Ce comportement est normal puisque le début de l'enregistrement n'est pas exactement synchronisé avec la capture d'une nouvelle lecture. Il suffit de faire fi des quelques premières lignes.

Note #2: Le fichier d'enregistrement enregistre également l'écho retourné par le capteur lors de l'envoi de commandes. Par exemple, dans l'exemple ci-dessous, l'écho des trois commandes lancées dans le Terminal #1 est inscrit dans le fichier log.csv. Ce comportement est particulièrement intéressant pour l'envoi de la commande "INFO", qui insère ainsi dans le fichier le nom des différentes colonnes:

 

Terminal #1 Terminal #2
 

MyMac:MacOS user$ 
 

MyMac:MacOS user$  cat /dev/cu.usbmodemE221961> log.csv
 

MyMac:MacOS user$ echo "INFO" > /dev/cu.usbmodemE221961
MyMac:MacOS user$ echo "POLL 1000" > /dev/cu.usbmodemE221961
MyMac:MacOS user$ echo "FRAC 1" > /dev/cu.usbmodemE221961
 

MyMac:MacOS user$ 
  [ATTENTE]   [ATTENTE]
   


^C
MyMac:MacOS user$   cat log.csv
C,VCP-PTH450-CAL,E22196,,101403,Pa,*2aed
,,C,VCP-PTH450-CAL,E22196,,101397,Pa,25.7878,C,69.1859,%,*4622
C,VCP-PTH450-CAL,E22196,,101398,Pa,25.7878,C,69.1859,%,*83ed
C,VCP-PTH450-CAL,E22196,,101399,Pa,25.8011,C,69.2119,%,*7d65
C,VCP-PTH450-CAL,E22196,,101400,Pa,25.8011,C,69.189,%,*2760
C,VCP-PTH450-CAL,E22196,,101400,Pa,25.8011,C,69.1768,%,*84ce
C,VCP-PTH450-CAL,E22196,,101399,Pa,25.8145,C,69.2317,%,*34b0
I,Product ID,Serial Number,Message,MS5611 Pressure,Pa,SHT31 Temperature,C,SHT31 Relative Humidity,%,*bbdd
C,VCP-PTH450-CAL,E22196,,101400,Pa,25.8145,C,69.2225,%,*cf02
C,VCP-PTH450-CAL,E22196,,101397,Pa,25.8011,C,69.2409,%,*144e
C,VCP-PTH450-CAL,E22196,,101400,Pa,25.7878,C,69.2805,%,*cf16
C,VCP-PTH450-CAL,E22196,,101398,Pa,25.8011,C,69.2622,%,*005d
C,VCP-PTH450-CAL,E22196,,101400,Pa,25.8145,C,69.3278,%,*6db2
C,VCP-PTH450-CAL,E22196,,101399,Pa,25.8011,C,69.3462,%,*ffce
I,VCP-PTH450-CAL,E22196,Poll interval set to 1000 ms,,,,,,,*edb8
C,VCP-PTH450-CAL,E22196,,101396,Pa,25.8011,C,69.3355,%,*4dbf
C,VCP-PTH450-CAL,E22196,,101400,Pa,25.8011,C,69.3874,%,*c44d
C,VCP-PTH450-CAL,E22196,,101399,Pa,25.8145,C,69.3782,%,*9e49
C,VCP-PTH450-CAL,E22196,,101398,Pa,25.8145,C,69.3599,%,*e4f3
C,VCP-PTH450-CAL,E22196,,101398,Pa,25.8145,C,69.3172,%,*33e5
C,VCP-PTH450-CAL,E22196,,101398,Pa,25.8145,C,69.3278,%,*95ae
C,VCP-PTH450-CAL,E22196,,101399,Pa,25.8145,C,69.3172,%,*7651
C,VCP-PTH450-CAL,E22196,,101398,Pa,25.8145,C,69.3278,%,*95ae
I,VCP-PTH450-CAL,E22196,Printing 1 fractional digits,,,,,,,*8372
C,VCP-PTH450-CAL,E22196,,101396.0,Pa,25.8,C,69.3,%,*3442
C,VCP-PTH450-CAL,E22196,,101399.0,Pa,25.8,C,69.3,%,*f2b4
C,VCP-PTH450-CAL,E22196,,101399.0,Pa,25.8,C,69.3,%,*f2b4

Conclusion sous Mac OS

Sous Mac, les instruments Dracal ne sont pas limités par le mode de communication de l'instrument, qu'ils s'agisse du mode USB ou du mode VCP. Ainsi, un usager sous Mac pourra vraisemblablement faire pivoter son instrument vers le mode VCP et ne plus jamais avoir besoins de le reconvertir en mode USB. Pour accéder aux données par terminal, il est recommandé d'utiliser deux terminaux distincts, soit l'un pour l'envoi des commandes et l'autre pour la lecture des données.

 

Utilisateur sous Linux

1. Linux - Installation et compilation

Lors de la réception de votre capteur supportant l'option VCP, celui-ci est en mode "USB". La première étape pour la mise en marche de votre instrument est de télécharger et compiler le logiciel DracalView, qui inclut en plus de l'interface graphique toute la suite de nos outils en ligne de commande.

Assurez-vous de faire partie du groupe "dialout" en exécutant la commande sudo usermod -a -G dialout $USERet vérifiez que celle-ci a belle et bien été appliquée en validant que l'appel de la commande group [$USER] (ici le nom de l'usager est "user") retourne dialout parmi ses résultats:

user@MyLinux:~$ sudo usermod -a -G dialout $USER  
user@MyLinux:~$ groups user
user : user adm dialout cdrom sudo dip plugdev lpadmin sambashare

2. Linux - Naviguer dans le répertoire de DracalView

Au cours de la compilation effectuée à l'étape précédente, vous avez déterminé l'emplacement des outils Dracal (par exemple Desktop/MyDracal/DracalView-3.2.1/) et avez navigué à l'emplacement où se trouvent les outils (par exemple Desktop/MyDracal/DracalView-3.2.1/client/build/bin/). Vous pouvez alors appeler les outils en ligne de commande se trouvant à cet endroit, incluant l'outil dracal-usb-set qui est utilisé pour convertir le protocole de communication de USB vers VCP:

user@MyLinux:~/Desktop/MyDracal/DracalView-3.2.1/client/build/bin$ ls
dracal-sensgate-get  dracal-sensgate-logtool  dracal-sensgate-scan  dracal-usb-cal  dracal-usb-get  dracal-usb-set

 

3. Linux - Passer du mode USB au mode VCP

Le protocole de communication des produits de la série VCP- est modifié du mode USB vers le mode VCP via notre outil en ligne de commande dracal-usb-set. Pour ce faire, la commande de conversion set_protocol VCP doit d'abord être exécutée, puis être suivie du débranchement de l'instrument. Dans l'exemple suivant, le débranchement de l'instrument a été effectué virtuellement via la commande reset disponible avec dracal-usb-set.

user@MyLinux:~/Desktop/MyDracal/DracalView-3.2.1/client/build/bin$ ./dracal-usb-set -s E16026 set_protocol VCP
user@MyLinux:~/Desktop/MyDracal/DracalView-3.2.1/client/build/bin$ ./dracal-usb-set -s E16026 reset

Si un seul instrument Dracal est connecté à votre ordinateur au moment de l'exécution de ces commandes, vous pouvez omettre de préciser la numéro de série de votre appareil (comme il n'y en a qu'un seul) en utilisant l'option -f comme dans l'exemple suivant:

user@MyLinux:~/Desktop/MyDracal/DracalView-3.2.1/client/build/bin$  ./dracal-usb-set -f set_protocol VCP
user@MyLinux:~/Desktop/MyDracal/DracalView-3.2.1/client/build/bin$  ./dracal-usb-set -f reset

Une fois basculé en mode VCP, vous pourrez continuer d'utiliser les autres outils logiciels de DracalView (interface graphique et outils en ligne de commande) sans problème. 

4. Linux - Déterminer l'identificateur COM de votre capteur

Dans le terminal, la commande ls-alF /dev/ttyACM* vous permettra d'obtenir l'identificateur des instruments connectés à votre ordinateur communiquant via le protocole COM:

user@MyLinux:~$  ls -alF /dev/ttyACM*

crw-rw---- 1 root dialout 166, 0 Jul  4 17:00 /dev/ttyACM0

Dans cet exemple, l'identificateur de l'instrument est /dev/ttyACM0.

5. Linux - Interagir avec l'instrument lorsqu'il est en mode VCP

Tout d'abord, nous vous conseillons de vous assurer que vos droits d'accès ont correctement été configurés tel que mentionné ici.

Afin de bien suivre l'effet des commandes, nous reccomandons d'ouvrir un second terminal (identifié ci-après en tant que Terminal #2), qui sera l'endroit où les données de l'instrument seront affichées. Ainsi, le Terminal #1 sera celui à partir duquel nous lancerons des commandes à l'appareil et le Terminal #2 sera celui où nous en observerons les effets:

 

Terminal #1 Terminal #2
user@MyLinux:~$  ls -alF /dev/ttyACM*

crw-rw---- 1 root dialout 166, 0 Jul  4 17:00 /dev/ttyACM0


user@MyLinux:~$  




Note Dans le Terminal #2, nous allons utiliser l'outil "cat" pour lire les données du capteur, mais d'autres outils tels que "screen" sont également disponibles.

Dans le Terminal #1, désactivez l'écho d'écriture de l'appareil: 

Terminal #1 Terminal #2
user@MyLinux:~$  stty -F /dev/ttyACM0 raw -echo 
user@MyLinux:~$

user@MyLinux:~$  


Note Si vous recevez un message de permission refusée, tentez de relancer la commande en mode sudo (sudo stty -F /dev/ttyACM0 raw -echo).

Dans le Terminal #2, commencez la lecture des données transmises par votre capteur en lançant la commande cat [identificateur] (dans cet exemple, [identificateur] est/dev/ttyACM0):

 

Terminal #1 Terminal #2
user@MyLinux:~$  stty -F /dev/ttyACM0 raw -echo
user@MyLinux:~$

user@MyLinux:~$  cat /dev/ttyACM0 
C,VCP-PTH450-CAL,E22196,,101404,Pa,*821e
%,C,VCP-PTH450-CAL,E22196,,101404,Pa,25.1522,C,70.8232,%,*dd15
C,VCP-PTH450-CAL,E22196,,101402,Pa,25.1228,C,70.9209,%,*6d16
C,VCP-PTH450-CAL,E22196,,101403,Pa,25.1228,C,70.93,%,*be3a
C,VCP-PTH450-CAL,E22196,,101403,Pa,25.1522,C,70.8461,%,*2052
[...]

Vous pouvez désormais lancer toutes les commandes disponibles dans la documentation du mode VCP dans le Terminal #1 et en visualiser l'effet dans le Terminal #2.

Par exemple, ci-dessous nous allons récupérer le nom des colonnes via la commande INFO. La commande echo "INFO" > /dev/ttyACM0 est lancée dans le Terminal #1 et son effet est observé dans le Terminal #2:

Terminal #1 Terminal #2
user@MyLinux:~$  echo "INFO" > /dev/ttyACM0
user@MyLinux:~$


[...]
C,VCP-PTH450-CAL,E22196,,101410,Pa,25.3204,C,70.1152,%,*50c9
I,Product ID,Serial Number,Message,MS5611 Pressure,Pa,SHT31 Temperature,C,SHT31 Relative Humidity,%,*bbdd
C,VCP-PTH450-CAL,E22196,,101410,Pa,25.3071,C,70.1457,%,*11b7
C,VCP-PTH450-CAL,E22196,,101409,Pa,25.3471,C,70.1427,%,*1286
C,VCP-PTH450-CAL,E22196,,101410,Pa,25.3204,C,70.1473,%,*21ff
[...]

De même, nous pouvons ralentir la fréquence d'interrogation du capteur à une lecture aux 2 secondes par exemple via la commande POLL:

Terminal #1 Terminal #2
user@MyLinux:~$  echo "POLL 2000" > /dev/ttyACM0
user@MyLinux:~$


[...]
C,VCP-PTH450-CAL,E22196,,101400,Pa,25.4326,C,69.6376,%,*2cd6
C,VCP-PTH450-CAL,E22196,,101401,Pa,25.4326,C,69.6376,%,*6962
C,VCP-PTH450-CAL,E22196,,101399,Pa,25.4192,C,69.6239,%,*f09a
C,VCP-PTH450-CAL,E22196,,101399,Pa,25.4326,C,69.6468,%,*51
,VCP-PTH450-CAL,E22196,Poll interval set to 2000 ms,,,,,,,*601b
C,VCP-PTH450-CAL,E22196,,101400,Pa,25.4326,C,69.6696,%,*a07f
C,VCP-PTH450-CAL,E22196,,101402,Pa,25.4459,C,69.6284,%,*e1ea
[...]

Nous vous encourageons à poursuivre la configuration de votre instrument en prenant connaissance des  commandes disponibles toujours en suivant les 2 exemples ci-dessus, i.e. en lançant la commande dans le Terminal #1 de la manière suivante: echo "[COMMANDE]" > [IDENTIFICATEUR] et en observant le résultat dans le Terminal #2. 

6. Linux - Enregistrer les données dans un fichier

Pour enregistrer les données dans un fichier, il suffit de rediriger les données retournées dans un fichier. Dans l'exemple ci-dessous, les données de l'instrument interrogé sont enregistrées dans un fichier nommé log.csv, qui est lu par la suite:

 

user@MyLinux:~$  cat /dev/ttyACM0  > log.csv

^C
user@MyLinux:~$  cat log.csv
C,VCP-PTH450-CAL,E22196,,101403,Pa,*2aed
,,C,VCP-PTH450-CAL,E22196,,101397,Pa,25.7878,C,69.1859,%,*4622
C,VCP-PTH450-CAL,E22196,,101398,Pa,25.7878,C,69.1859,%,*83ed
C,VCP-PTH450-CAL,E22196,,101399,Pa,25.8011,C,69.2119,%,*7d65
C,VCP-PTH450-CAL,E22196,,101400,Pa,25.8011,C,69.189,%,*2760

Note #1: Remarquez que les 2 premières lignes sont ici incomplètes. Ce comportement est normal puisque le début de l'enregistrement n'est pas exactement synchronisé avec la capture d'une nouvelle lecture. Il suffit de faire fi des quelques premières lignes.

Note #2: Le fichier d'enregistrement enregistre également l'écho retourné par le capteur lors de l'envoi de commandes. Par exemple, dans l'exemple ci-dessous, l'écho des trois commandes lancées dans le Terminal #1 est inscrit dans le fichier log.csv. Ce comportement est particulièrement intéressant pour l'envoi de la commande "INFO", qui insère ainsi dans le fichier le nom des différentes colonnes:

 

Terminal #1 Terminal #2
 

user@MyLinux:~$  

 

user@MyLinux:~$  cat /dev/ttyACM0 > log.csv
 

user@MyLinux:~$ echo "INFO" > /dev/ttyACM0
user@MyLinux:~$ echo "POLL 1000" > /dev/ttyACM0
user@MyLinux:~$ echo "FRAC 1" > /dev/ttyACM0
 

user@MyLinux:~$  

  [ATTENTE]   [ATTENTE]
   


^C
user@MyLinux:~$   cat log.csv
C,VCP-PTH450-CAL,E22196,,101403,Pa,*2aed
,,C,VCP-PTH450-CAL,E22196,,101397,Pa,25.7878,C,69.1859,%,*4622
C,VCP-PTH450-CAL,E22196,,101398,Pa,25.7878,C,69.1859,%,*83ed
C,VCP-PTH450-CAL,E22196,,101399,Pa,25.8011,C,69.2119,%,*7d65
C,VCP-PTH450-CAL,E22196,,101400,Pa,25.8011,C,69.189,%,*2760
C,VCP-PTH450-CAL,E22196,,101400,Pa,25.8011,C,69.1768,%,*84ce
C,VCP-PTH450-CAL,E22196,,101399,Pa,25.8145,C,69.2317,%,*34b0
I,Product ID,Serial Number,Message,MS5611 Pressure,Pa,SHT31 Temperature,C,SHT31 Relative Humidity,%,*bbdd
C,VCP-PTH450-CAL,E22196,,101400,Pa,25.8145,C,69.2225,%,*cf02
C,VCP-PTH450-CAL,E22196,,101397,Pa,25.8011,C,69.2409,%,*144e
C,VCP-PTH450-CAL,E22196,,101400,Pa,25.7878,C,69.2805,%,*cf16
C,VCP-PTH450-CAL,E22196,,101398,Pa,25.8011,C,69.2622,%,*005d
C,VCP-PTH450-CAL,E22196,,101400,Pa,25.8145,C,69.3278,%,*6db2
C,VCP-PTH450-CAL,E22196,,101399,Pa,25.8011,C,69.3462,%,*ffce
I,VCP-PTH450-CAL,E22196,Poll interval set to 1000 ms,,,,,,,*edb8
C,VCP-PTH450-CAL,E22196,,101396,Pa,25.8011,C,69.3355,%,*4dbf
C,VCP-PTH450-CAL,E22196,,101400,Pa,25.8011,C,69.3874,%,*c44d
C,VCP-PTH450-CAL,E22196,,101399,Pa,25.8145,C,69.3782,%,*9e49
C,VCP-PTH450-CAL,E22196,,101398,Pa,25.8145,C,69.3599,%,*e4f3
C,VCP-PTH450-CAL,E22196,,101398,Pa,25.8145,C,69.3172,%,*33e5
C,VCP-PTH450-CAL,E22196,,101398,Pa,25.8145,C,69.3278,%,*95ae
C,VCP-PTH450-CAL,E22196,,101399,Pa,25.8145,C,69.3172,%,*7651
C,VCP-PTH450-CAL,E22196,,101398,Pa,25.8145,C,69.3278,%,*95ae
I,VCP-PTH450-CAL,E22196,Printing 1 fractional digits,,,,,,,*8372
C,VCP-PTH450-CAL,E22196,,101396.0,Pa,25.8,C,69.3,%,*3442
C,VCP-PTH450-CAL,E22196,,101399.0,Pa,25.8,C,69.3,%,*f2b4
C,VCP-PTH450-CAL,E22196,,101399.0,Pa,25.8,C,69.3,%,*f2b4

Conclusion sous Linux

Sous Linux, les instruments Dracal ne sont pas limités par le mode de communication de l'instrument, qu'ils s'agisse du mode USB ou du mode VCP. Ainsi, un usager sous Linux pourra vraisemblablement faire pivoter son instrument vers le mode VCP et ne plus jamais avoir besoins de le reconvertir en mode USB. Pour accéder aux données par terminal, il est important de désactiver l'écho sur l'instrument et également, il est recommandé d'utiliser deux terminaux distincts, soit l'un pour l'envoi des commandes et l'autre pour la lecture des données.