K8055 : carte d’expérimentation USB sous linux

Imprimer la pageImprimer la page || VERSION PDF: Enregistrer au format PDF
K8055 : carte d’expérimentation (acquisition et commande) sous linux

Velleman propose une carte d’expérimentation USB qui fonctionne sous linux.

Le programme le plus complet et le plus avancé que j’ai trouvé est libk8055.

PNG - 36.8 ko
La carte

- Installation :
- Il faut que certaines librairies soient installées : libusb, libhid.

Et pour l’interface avec python : swig, libqwt et python-qwt.


apt-get install libusb-0.1-4 libusb-dev libhid0 libhid-dev swig python-hid libqwt4c2 libqwt-dev python-qwt4 python-qwt4

- Ensuite "make et make install"


$ mkdir libk8055
$ cd libk8055
$ wget http://prdownloads.sourceforge.net/libk8055/libk8055.0.2.tar.gz
$ tar xzvf libk8055.0.2.tar.gz
$ cd src
$ make all

En root :


make install

- Par défaut, le "device" usb n’est pas controlable par les utilisateurs.

Il faut identifier le device sur le bus usb :


$ lsusb
Bus 005 Device 007: ID 10cf:5500 Velleman Components, Inc. 8055 Experiment Interface Board (address=0)
...

et d’autres devices.

Et la première fois :


# groupadd k8055
# gpasswd -a VOTRE_NOM_D_UTILISATEUR k8055

Puis le rendre accessible par l’utilisateur (en adapatant les deux derniers nombres à la sortie de "lsusb" : ici, 005 & 007)


# chown root:k8055 /proc/bus/usb/005/007
# chmod 660 /proc/bus/usb/005/007

Il y a en principe moyen d’automatiser ceci via "hotplug" mais je n’y suis pas encore parvenu.

- Utilisation :

Le programme "k8055" permet d’envoyer des commandes à la carte. Par exemple : les sorties digitales


$ k8055 -d:145

Une série de leds de la sortie digitale s’allument et forment le nombre 145 en binaire : 10010001

Càd. : 1*128 + 0*64 + 0*32 + 1*16 + 0*8 + 0*4 + 0*2 + 1*1

ou encore 1*2^7 + 0*2^6 + 0*2^5 + 1*2^4 + 0*2^3 + 0*2^2 + 0*2^1 + 1* 2^0

PNG - 35.1 ko
145 = 10010001
JPG - 4.2 ko
vraies couleurs

- Interface python :

Il faut lancer l’installation des modules pythons en root :


# cd pyk8055
# python setup.py install

Dans le répertoire pyk8055, lancer alors :


$ python k8055test.py

Les leds s’allument les unes après les autres jusqu’au moment où l’entrée digitale 1 est mise à zéro. (càd. en courtcircuitant le "ground"/la terre avec l’entrée 1)

- Pour les appels à qwt, il faut modifier le code des fichiers d’exemples :

Dans pyplotA.py et pyplotD.py, il faut remplacer


from qwt import *

par


from Qwt4.Qwt import *

Les entrées digitales et analogiques peuvent alors être visualiées.

Ainsi en appuyant au hasard sur les interrupteurs, j’obtiens ceci :

PNG - 17.6 ko
Entrées digitales

145
Posté le 27 décembre 2007 par Yves Delhaye