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.
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 contrôlable 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 adaptant 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
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 court-circuitant 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 visualisées.
Ainsi en appuyant au hasard sur les interrupteurs, j’obtiens ceci :
2004-2024 © @YvesDelhaye.Be : "Nous ne sommes pas faits pour vivre comme des imbéciles, mais pour suivre les chemins de la vertu et de la connaissance." (Dante : l’Enfer) - Tous droits réservés
Ce site est géré sous SPIP 2.1.28 [22259] et utilise le squelette EVA-Web 4.1
Dernière mise à jour : mercredi 1er février 2023