Utilisation des produits Dracal sous Linux

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

Linux logo

 

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 quelle que soit votre distribution, par exemple Ubuntu (Debian) ou Fedora, et quelle que soit votre architecture (p.ex.: x86, amd64, arm, powerpc...)

La version la plus récente du logiciel est disponible depuis la page Logiciels. Assurez-vous de la télécharger.

Procédure pour les distributions basées sur Debian (Raspberry Pi OS, Ubuntu, etc.)

2) Compilation de l'outil en ligne de commande dracal-usb-get

Même si vous planifiez principalement vous servir de l'interface graphique DracalView, nous recommandons tout de même de débuter en compilant l'outil en ligne de commande dracal-usb-get. 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.

À l’aide d’un terminal, assurez-vous d’avoir les logiciels et librairies les plus à jour en tapant les commandes:

sudo apt-get update && apt-get upgrade
sudo apt-get install build-essential pkg-config libusb-1.0-0-dev 

Décompressez l'archive à l’endroit de votre choix, puis entrez dans le répertoire client/. À cet endroit, exécutez simplement la commande make. Le dossier /build ainsi créé en contient deux autres, dont /bin qui comporte le fichier exécutable dracal-usb-get.

3) Utilisation de dracal-usb-get et dracal-usb-cal

Afin de vous permettre de commencer rapidement à utiliser nos outils en ligne de commande, une documentation complète de dracal-usb-get et une documentation complète de dracal-usb-cal 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 montrées ci-après pour l'outil dracal-usb-get.

Vous pouvez afficher des informations sur les capteurs USB présentement connectés via la commande -l, tel que montré ci-dessous:

./dracal-usb-get -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 est 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 à partir des données mesurées). Chaque canal, soit-il réel ou virtuel, est identifié par un numéro permettant son 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 soumettant le numéro correspondant à la commande -i. Lorsque plus qu'un canal est requis, les identifiants 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é:

 ./dracal-usb-get -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 de les afficher, essayez l'option -p (pretty output) pour un affichage plus convivial avec des unités de mesure. Parlant d'unités, s'il vous faut les changer, consultez la documentation de dracal-usb-get pour les détails.

4) Compilation de DracalView

Assurez-vous d’avoir les dépendances requises pour les outils en lignes de commandes, puis complétez l’installation des librairies/logiciels nécessaires en tapant:

sudo apt-get install qt5-qmake qtbase5-dev qtbase5-dev-tools qtscript5-dev 

ou, pour les versions antérieures à Ubuntu 22.04:

sudo apt-get install qt5-qmake qt5-default qtscript5-dev

Entrez dans le répertoire dracalview/. De là, exécutez la commande qmake suivi de make. Quelques minutes plus tard, l'exécutable dracalview devrait avoir été généré dans le même répertoire.

 Tapez ensuite

./dracalview

depuis le dossier /dracalview/build pour l’exécuter.

Ensuite, l’interface graphique s’utilise tel que montré dans ces différents tutoriels vidéo ou écrits.

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 (DracalView ou dracal-usb-get) 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 dracal-usb-get 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 gestionnaire de périphériques dynamique de Linux.

Pour ce faire, il faut assigner l’utilisateur au groupe plugdev en tapant ces deux lignes de commandes:

sudo getent group || sudo groupadd plugdev
sudo usermod -a -G plugdev $(whoami)

Ensuite, il faut créer un fichier nommé 99-usbtenki.rules placé ici /etc/udev/rules.d (ce qui nécessite des droits administrateur), qui devrait contenir l’information suivante:

ATTR{idVendor}==”1781”, MODE=”0664”, GROUP=”plugdev”
ATTR{idVendor}==”289b”, MODE=”0664”, GROUP=”plugdev”

Finalement, débranchez tout instrument Dracal de votre ordinateur et redémarrez le gestionnaire de périphériques udev en tapant:

sudo service udev restart