Utilisation des produits Dracal sous Linux

1) Obtention du code source

Pour le moment, les outils pour Linux ne sont disponibles que sous forme de code source. Ils peuvent donc être compilés et utilisés quelque soit votre distribution (Ex: Debian, Ubuntu, Fedora...) et quelque soit votre architecture (ex: x86, amd64, arm, powerpc...).

La version la plus récente du logiciel est disponible depuis la page Logiciels. Assurez-vous de prendre la version la plus à jour.

2) Compilation de l'outil en ligne de commande usbtenkiget

Même si vous planifiez principalement vous servir de l'interface graphique QTenki, nous recommandons tout de même de débuter en compilant l'outil en ligne de commande usbtenkiget. Les dépendances de ce dernier étant moins nombreuses, il est plus facile à compiler et est donc un bon point de départ pour rapidement confirmer le bon fonctionnement de vos capteurs.

Assurez-vous d'avoir les logiciels/librairies suivantes d'installés:

  • gcc (Le compilateur GNU C)
  • make (L'outil make GNU)
  • libusb (Version pour développement. Ex sous debian: libusb-dev)
  • pkg-config

Décompressez l'archive à un endroit convenable puis entrez dans le répertoire client/. À cet endroit, exécutez simplement la commande make. Quelques instants plus tard, l'exécutable usbtenkiget devrait avoir été généré dans le même répertoire.

3) Utiliser usbtenkiget et usbtenkical

Afin de vous permettre de commencer rapidement à utiliser nos outils en ligne de commande, une documentation complète de usbtenkiget et une documentation complète de usbtenkical sont mises à votre disposition.

Comme pour la plupart des outils en ligne de commandes, de l'aide peut être affichée en utilisant l'option -h. Deux autres options importantes sont démontrées ci-après pour l'outil usbtenkiget.

Des informations sur les capteurs USB présentement connectés peuvent être affichées via la commande -l, tel que démontré ci-dessous:

./usbtenkiget -l
Found: 'USBTenki', Serial: 'B10004', Version 1.2, Channels: 11
    Channel 0: Sensirion SHT1x/7x Temperature [Temperature]
    Channel 1: Sensirion SHT1x/7x Relative Humidity [Relative Humidity]
    Channel 2: MPX4115 Absolute air pressure sensor [Pressure]
    Virtual Channel 256: Dew point [Dew point]
    Virtual Channel 257: Humidex [Humidex]
    Virtual Channel 258: Heat index [Heat index]

Dans l'exemple ci-haut, un seul capteur Dracal (USBTenki) de numéro de série B10004 était présent lors de l'exécution de la commande. Ce capteur possède 3 canaux réels (des données mesurées) et 3 canaux virtuels (donnés calculées à parti des donnés mesurés). Chaque canal, soit-il réel ou virtuel, sont identifiés par un numéro permettant leur interrogation.

Note: Si aucun capteur n'est détecté, il est probable que votre compte utilisateur n'ait pas les droits requis. Consultez la section sur la configuration des droits d'accès au besoin.

La valeur d'un canal peut être récupérée en passant le numéro correspondant à la commande -i. Lorsque plus qu'un canal est requis, les identificants sont séparés par des virgules, tel que ci-dessous. Les valeurs retournées sont elles aussi séparées par des virgules et sont affichées dans l'ordre demandé:

 ./usbtenkiget -i 0,1,256
22.46, 39.55, 8.02

Le texte en sortie ci-dessus peut être redirigé vers un script qui pourra facilement séparer et traiter les données. S'il n'est question que des les afficher, essayez l'option -p (pretty output) pour un affichage plus humain avec des unités de mesure. Parlant d'unités, s'il vous faut les changer, consultez la documentation de usbtenkiget pour les détails.

4) Compilation de QTenki

Assurez-vous d'avoir les logiciels/librairies suivantes d'installés:

  • gcc (Le compilateur GNU C)
  • g++ (The GNU C++ compiler)
  • make (L'outil make GNU)
  • libusb (Version pour développement. Ex sous debian: libusb-dev)
  • libqt (Version pour développement. Ex sous debian: libqt4-dev)
  • qmake (Générateur de Makefile QT. Ex debian: qt4-qmake)

Décompressez l'archive à un endroit convenable puis entrez dans le répertoire qtenki/. À cet endroit, exécutez la commande qmake suivi de make. Quelques minutes plus tard, l'exécutable qtenki devrait avoir été généré dans le même répertoire.

5) Problème commun : Configuration des droits d'accès

Lorsqu'aucun capteur n'est détecté, et ce malgré qu'il soit bien branché, il s'agit le plus souvent d'un problème de permissions. C'est ce qui se produit généralement lorsque les outils (Qtenki ou usbtenkiget) sont compilés puis exécutés sans qu'aucune configuration des permissions n'ait été faite.

Un test simple permettant de confirmer qu'il s'agit bien d'un problème de permissions est d'essayer d'exécuter usbtenkiget sous l'utilisateur root. Si cela fonctionne, c'est bien un problème de permissions. Maintenant, sauf si vous avez vos raisons, utiliser ce logiciel en tant que super utilisateur n'est pas recommandé. Il faut plutôt s'assurer d'assigner un groupe ou un utilisateur spécifique au capteur, et ce, selon les contraintes qu'impose votre application.

Un moyen efficace d'assurer une configuration automatique des paramètres d'accès aux capteurs USB Dracal est via udev, le gestionaire de périphériques dynamique de Linux. Un exemple de fichier de configuration est fourni dans le répertoire scripts/ sous le nom 99-usbtenki.rules.

Utilisé tel que, le fichier assigne les capteurs Dracal au groupe plugdev avec des permissions 644 (Écriture et lecture à l'utilisateur et au groupe). Sur un système Debian, l'installation de ce fichier sous /etc/udev/rules.d permet à l'ensemble des membres du groupe plugdev d'utiliser les capteurs.

Notez que selon votre distribution Linux ou votre cas d'utilisation, vous devrez probablement modifier le fichier.