# Utiliser USBTMC avec un oscilloscope numérique

**URL:** <https://www.debian-fr.org/t/utiliser-usbtmc-avec-un-oscilloscope-numerique/25552>\
**Category:** Support Debian\
**Created:** [Février 20, 2016, 9:44 UTC](https://www.debian-fr.org/t/utiliser-usbtmc-avec-un-oscilloscope-numerique/25552 "2016-02-20T21:44:19Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![totola](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/3be4f8/32.png) [@totola](https://www.debian-fr.org/u/totola)\
**Post date:** [Février 20, 2016, 9:44 UTC](https://www.debian-fr.org/t/utiliser-usbtmc-avec-un-oscilloscope-numerique/25552/1 "2016-02-20T21:44:19Z")

</div>

Bonjour,  
je souhaiterais récupérer les données d’un oscilloscope numérique Tektronix TDS2002B sur mon portable sous Debian. Pour cela j’ai compilé et chargé le module usbtmc comme dit sur la page suivante:

[home.agilent.com/upload/cmc\_ … usbtmc.htm](http://www.home.agilent.com/upload/cmc_upload/All/usbtmc.htm)

ça a l’air de fonctionner, si je tape:

`# cat /dev/usbtmc0
Minor Number Manufacturer Product Serial Number
001 Tektronix, Inc. Tektronix TDS2002B C100135
`

L’appareil est donc correctement reconnu mais comment je fais pour communiquer avec maintenant?? En fait j’aimerai récupérer les points de mesures sur un tableur, comment je peux faire??

Merci de votre aide

---

<div class="post-metadata">

**Author:** ![antalgeek1](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/a6a055/32.png) [@antalgeek1](https://www.debian-fr.org/u/antalgeek1)\
**Post date:** [Février 20, 2016, 9:44 UTC](https://www.debian-fr.org/t/utiliser-usbtmc-avec-un-oscilloscope-numerique/25552/2 "2016-02-20T21:44:20Z")

</div>

Je viens de prendre 2mn pour lire la doc que tu as passée en lien et j’ai trouvé ta réponse.  
Ca se passe avec des ioctl’s, va falloir coder un peu. A moins qu’agilent passe des binaires mais c’est pas trop le genre de la maison.

Sinon il n’y a plus de port GPIB sur le matos agilent ?  
C’est peut-être plus facile en passant par là.

---

<div class="post-metadata">

**Author:** ![totola](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/3be4f8/32.png) [@totola](https://www.debian-fr.org/u/totola)\
**Post date:** [Février 20, 2016, 9:44 UTC](https://www.debian-fr.org/t/utiliser-usbtmc-avec-un-oscilloscope-numerique/25552/3 "2016-02-20T21:44:23Z")

</div>

Ok merci! Mais je ne sais absolument pas ce que sont des ioctl’s…

C’est quoi un port GPIB? Agilent et tektronix, c’est pareil?

---

<div class="post-metadata">

**Author:** ![antalgeek1](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/a6a055/32.png) [@antalgeek1](https://www.debian-fr.org/u/antalgeek1)\
**Post date:** [Février 20, 2016, 9:44 UTC](https://www.debian-fr.org/t/utiliser-usbtmc-avec-un-oscilloscope-numerique/25552/4 "2016-02-20T21:44:23Z")

</div>

> [@totola](#):
>
> Ok merci! Mais je ne sais absolument pas ce que sont des ioctl’s…

ioctl = I/O control, en gros ça sert à parler avec des périphériques d’une manière plus puissante qu’un read ou un write  
Si je prends un exemple issu de la doc que tu passes en lien

[code]struct usbtmc\_attribute attr;

myfile=open(«&nbsp;/dev/usbtmc1&nbsp;»,O\_RDWR);  
attr.attribute=USBTMC\_ATTRIB\_READ\_MODE;  
attr.value=USBTMC\_ATTRIB\_VAL\_READ;  
ioctl(myfile,USBTMC\_IOCTL\_SET\_ATTRIBUTE,&attr);[/code]  
attr est une variable de type usbtmc\_attribute (dont le type est donné dans la doc) renfermant un type de message que tu peux envoyer à ton oscillo.  
Les deux lignes en balise [i] fixent certains paramètres de attr.  
Et la dernière ligne envoie tout ça à l’appareil.

Si tu ne codes pas du tout tu risques de galérer un peu.

[quote=«&nbsp;totola&nbsp;»]  
C’est quoi un port GPIB? Agilent et tektronix, c’est pareil?[/quote]  
GPIB : General Purpose Interface Bus  
C’est un bus permettant de causer à de nombreux appareils de mesure sur la même nappe. Son utilisation est très simple du point de vue logiciel.  
Je ne sais pas si agilent et tektronix sont copain/copine j’ai juste vu que ton lien pointais chez agilent.

---

<div class="post-metadata">

**Author:** ![totola](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/3be4f8/32.png) [@totola](https://www.debian-fr.org/u/totola)\
**Post date:** [Février 20, 2016, 9:44 UTC](https://www.debian-fr.org/t/utiliser-usbtmc-avec-un-oscilloscope-numerique/25552/5 "2016-02-20T21:44:30Z")

</div>

Ok! Merci de ces précisions!

Bon, autant prévenir tout de suite, je ne suis pas un grand codeur… Tout juste quelques scripts bash basiques…

Mais voilà, j’aimerais bien quand même pouvoir utiliser cet appareil sur mon portable… Alors penses-tu que ce soit trop compliqué pour un néophyte de récupérer les mesures de cette façon??

Je vais regarder un peu du côté de ces I/O ctl’s, voir ce qu’on trouve sur le net!

En tout cas merci pour cette piste!

A+

---

<div class="post-metadata">

**Author:** ![totola](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/3be4f8/32.png) [@totola](https://www.debian-fr.org/u/totola)\
**Post date:** [Février 20, 2016, 9:44 UTC](https://www.debian-fr.org/t/utiliser-usbtmc-avec-un-oscilloscope-numerique/25552/6 "2016-02-20T21:44:30Z")

</div>

> [@antalgeek](#):
>
> Si tu ne codes pas du tout tu risques de galérer un peu.

Ok, j’avais pas bien lu ta réponse… Mais tout est dans le «&nbsp;un peu&nbsp;» !!

Ca me dérange pas de passer un peu de temps et de galérer sur un truc qui m’intéresse et qui peut me permettre d’apprendre des trucs… Mais si c’est vraiment trop bourrin, il vaut eut être mieux que je déclare forfait?

---

<div class="post-metadata">

**Author:** ![antalgeek1](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/a6a055/32.png) [@antalgeek1](https://www.debian-fr.org/u/antalgeek1)\
**Post date:** [Février 20, 2016, 9:44 UTC](https://www.debian-fr.org/t/utiliser-usbtmc-avec-un-oscilloscope-numerique/25552/7 "2016-02-20T21:44:31Z")

</div>

Vas-y, n’hésite pas. Tu tournes déjà sous Debian alors tu sais bien que tout ce que tu risques c’est d’apprendre quelque chose.  
Si tu rencontres de grosses difficultés dans le code tu peux poster un coup dans la rubrique programmation.

---

<div class="post-metadata">

**Author:** ![totola](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/3be4f8/32.png) [@totola](https://www.debian-fr.org/u/totola)\
**Post date:** [Février 20, 2016, 9:44 UTC](https://www.debian-fr.org/t/utiliser-usbtmc-avec-un-oscilloscope-numerique/25552/8 "2016-02-20T21:44:34Z")

</div>

Oui… Mais pour l’instant j’ai pas encore trop compris le principe…

Il faut que je fasse quoi exactement?? Un script? Un programme? Avec le genre de commandes que tu m’as indiquées plus haut? Je suis un peu paumé, là… Il me faudrait un exemple que je puisse adapter, mais là je ne vois pas trop…

---

<div class="post-metadata">

**Author:** ![antalgeek1](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/a6a055/32.png) [@antalgeek1](https://www.debian-fr.org/u/antalgeek1)\
**Post date:** [Février 20, 2016, 9:44 UTC](https://www.debian-fr.org/t/utiliser-usbtmc-avec-un-oscilloscope-numerique/25552/9 "2016-02-20T21:44:36Z")

</div>

Tu peux faire un petit programme en C, tu as un exemple à la fin de la doc.

---

<div class="post-metadata">

**Author:** ![totola](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/3be4f8/32.png) [@totola](https://www.debian-fr.org/u/totola)\
**Post date:** [Février 20, 2016, 9:44 UTC](https://www.debian-fr.org/t/utiliser-usbtmc-avec-un-oscilloscope-numerique/25552/10 "2016-02-20T21:44:43Z")

</div>

Bon, suite à la discussion avec l’auteur d’un article à ce sujet dans le dernier GNU/Linux magazine (février 2010)  
voici le script qui devrait récupérer les infos de l’appareil et les coller dans un fichier “t”.

`cat /dev/usbtmc0
echo "*IDN?" > /dev/usbtmc1
cat < /dev/usbtmc1
echo "DATA:ENC ASC" > /dev/usbtmc1
echo "DATA:SOURCE CH2" > /dev/usbtmc1
echo "CURVE?" > /dev/usbtmc1
echo 1
cat < /dev/usbtmc1 >> t`

Lorsque je le lance, j’obtiens un fichier incompréhensible:

[quote]  
#42500ÈÈÈÈÈÈÈÈÈÈÇÈÈÈÈÈÈÈÇÈÈÇÈÈÈÈÈÇÈÈÈÈÈÈÇÈÈÈÈÈÈÈÈÉÈÈÈÈÈÈÇÈÈÈÇÈÈÈÈÇÈÈÈÉÇÈÇÈÈÇÈÈÈÈÇÈÈÈÈÈÈÈÈÈÈÈÈÈÈÈÈÈÇÈÈÈÈÈÇÈÈÈÈ[/quote]

Problème d’encodage?

---

<div class="post-metadata">

**Author:** ![totola](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/3be4f8/32.png) [@totola](https://www.debian-fr.org/u/totola)\
**Post date:** [Février 20, 2016, 9:44 UTC](https://www.debian-fr.org/t/utiliser-usbtmc-avec-un-oscilloscope-numerique/25552/11 "2016-02-20T21:44:44Z")

</div>

ok, il faut marquer ASCII en entier!

voila le script complet:

`cat /dev/usbtmc0
echo "*IDN?" > /dev/usbtmc1
cat < /dev/usbtmc1
echo "DATA:ENC ASCII" > /dev/usbtmc1
echo "DATA:SOURCE CH1" > /dev/usbtmc1
echo "CURVE?" > /dev/usbtmc1
echo 1
cat < /dev/usbtmc1 >> t`

---

<div class="post-metadata">

**Author:** ![antalgeek1](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/a6a055/32.png) [@antalgeek1](https://www.debian-fr.org/u/antalgeek1)\
**Post date:** [Février 20, 2016, 9:44 UTC](https://www.debian-fr.org/t/utiliser-usbtmc-avec-un-oscilloscope-numerique/25552/12 "2016-02-20T21:44:45Z")

</div>

ben il est compatible GPIB ton bouzin, c’est cool

---

<div class="post-metadata">

**Author:** ![totola](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/3be4f8/32.png) [@totola](https://www.debian-fr.org/u/totola)\
**Post date:** [Février 20, 2016, 9:44 UTC](https://www.debian-fr.org/t/utiliser-usbtmc-avec-un-oscilloscope-numerique/25552/13 "2016-02-20T21:44:45Z")

</div>

Ah ok, c’est ça GPIB…

Bon, ce que je cherche maintenant c’est à convertir les positions des pixels en tension et en temps en fonction des calibres… C’est pas gagné…

---

<div class="post-metadata">

**Author:** ![totola](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/3be4f8/32.png) [@totola](https://www.debian-fr.org/u/totola)\
**Post date:** [Février 20, 2016, 9:44 UTC](https://www.debian-fr.org/t/utiliser-usbtmc-avec-un-oscilloscope-numerique/25552/14 "2016-02-20T21:44:48Z")

</div>

Apparemment il doit y avoir des infos importantes là-dessus:

[mathworks.com/matlabcentral/ … cilloscope](http://www.mathworks.com/matlabcentral/fileexchange/22382-tektronix-tds2002b-oscilloscope)

mais il s’agit d’un fichier .mdd?? C’est quoi ça? Comment je l’ouvre?

Merci

---

<div class="post-metadata">

**Author:** ![totola](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/3be4f8/32.png) [@totola](https://www.debian-fr.org/u/totola)\
**Post date:** [Février 20, 2016, 9:44 UTC](https://www.debian-fr.org/t/utiliser-usbtmc-avec-un-oscilloscope-numerique/25552/15 "2016-02-20T21:44:53Z")

</div>

Bon, allez, ce sujet est plus ou moins résolu… En fait je continue avec d’autres questions sur le forum “programmation”, c’est plus adapté!

😉
