Nouveau! Le Yocto-Serial

Nouveau! Le Yocto-Serial

Le Yocto-Serial est le petit frère du Yocto-RS232. Alors que le Yocto-RS232 fonctionne au standard RS232, le Yocto-Serial fonctionne en niveaux logiques TTL. Si vous vous ne connaissez pas la différence entre les deux, on vous suggère d'être attentif à la suite.....




RS232 vs TTL

Un port RS232 communique en diffusant des 0 et des 1 sous la forme de tensions positives et négatives généralement +/-12V mais des tensions plus faibles peuvent aussi être utilisées, l'essentiel étant qu'il y ai du positif et du négatif. En revanche un port série en niveau TTL se contente de communiquer avec un signal strictement positif entre 0 et +xV. Généralement 0/3.3V ou 0/5V. Ces types de communications séries se sont donc pas compatibles: au mieux ça ne marchera pas. Mais dans la plupart des cas vous allez griller quelque chose: à moins d'être explicitement conçus pour, la plupart des composants électroniques digitaux n'aiment pas trop recevoir du -12V sur leurs entrées.

On trouve généralement les ports RS232 sur des appareils complets, livrés prêts à l'emploi dans un joli boitier. Les port séries en niveau TTL sont plutôt l'apanage de composants isolés destinés à être intégrés dans des projets plus grands. On en trouve aussi parfois sur les interfaces de services de certains robots comme les aspirateurs automatiques iRobot Rumba, les tondeuses automatiques Huskvarna Automower, etc.

Le Yocto-Serial

Le Yocto-Serial vous propose donc d'interfacer des composants avec une sortie série TTL, vous pouvez même choisir la tension à utiliser pour la communication série: 3.3 ou 5V. En plus du port série, le Yocto-Serial met à disposition une petite alimentation configurable en 3.3V ou 5V, ce qui vous permettra probablement d'alimenter le composant avec lequel vous souhaitez communiquer.

Le Yocto-Serial
Le Yocto-Serial



Contrairement au Yocto-RS232, le Yocto-Serial n'est pas isolé. Dans la mesure où il est destiné à interfacer des composants qu'il est capable d'alimenter, cela ne nous a pas paru nécessaire.

Au niveau logiciel, vous disposez d'exactement les même fonctionnalités que le Yocto-RS232, ce qui vous permettra de transformer n'importe quel senseur avec un sortie série en un capteur Yoctopuce. Vous pourrez ainsi profiter de tous les avantages qui vont avec: noms logiques, polling, callbacks, enregistreur de données etc....

Exemple d'application: mesure d'oxygène

Le capteur LuminOx de SST (LOX-02) est un excellent exemple d'utilisation du Yocto-Serial. Couplé à un Yocto-Serial, le LuminOx devient un capteur d'oxygène, de température et de pression USB interrogeable dans tous les langages de programmation supportés par Yoctopuce. Le LuminOx se présente sous la forme d'un petit cylindre de 20mm de diamètre et de 12 mm haut: il a 4 pins: GND, 5V, receive et transmit.

Le capteur d'oxygène LuminOx
Le capteur d'oxygène LuminOx




Etape 1: Connexion

La première chose à vérifier que le port série et l'alimentation du Yocto-Serial sont éteints afin d'être sûr que vous n'allez pas envoyer une tension inappropriée dans le capteur. Ensuite, interconnectez les deux ensembles, quatre fils suffisent.

interconnexion entre le Yocto-Serial et le capteur d'oxygène
interconnexion entre le Yocto-Serial et le capteur d'oxygène



Etape 2: Configuration du matériel

A l'aide du VirtualHub, mettre la tension de l'alimentation à 5 V, configurer le port série en 9600,8N1 3.3V. Veillez à activer l'alimentation avant d'activer le port série, la plupart des composants électroniques n'apprécient pas trop de voir sur leur entré/sorties une tension supérieure à celle de leur pin d'alimentation.

Configuration des tensions et du port série.
Configuration des tensions et du port série.



A partir de ce moment, vous pouvez voir les données émises par le LuminOx apparaître dans la fenêtre de détails du Yocto-Serial. Vous pouvez décider de vous arrêtez là et commencer à programmer une application qui décode ces données. Mais ce serait se priver d'une fonctionnalité remarquable du Yocto-Serial: il est en effet capable de le faire pour vous.

Les données émises par le capteur apparaissent
Les données émises par le capteur apparaissent



Etape 3: Configuration des capteurs

Vous pouvez configurer le Yocto-Serial pour qu'il interprète les données envoyées par le LuminOx et les présenter sous la forme de capteurs Yoctopuce. Pour cela il suffit de définir un petit script dans le Yocto-Serial à l'aide du VirtualHub. Les données envoyées par le LuminOx sont au format:

O xxxx.x T yxx.x P xxxx % xxx.xx e xxxx\r\n


On y trouve la pression d'oxygène en mBar, la température en °C, le pourcentage d'oxygène et l'état du capteur. Il suffit donc de définir un script qui lit les quatre données qui nous intéressent pour les mapper sur les fonctions genericSensor 1 à 4 du Yocto-Serial

Expect "O ($1:FLOAT) T ($2:FLOAT) P ($3:FLOAT) % ($4:FLOAT).*"



Configuration du script de lecture
Configuration du script de lecture



Finalement vous pouvez, si vous le souhaitez, configurer les fonctions genericSensor pour les rendre plus facilement accessibles à l'aide d'un nom logique. Par exemple, vous pouvez nommer "O2_Pressure" le genericSensor1 sur lequel est mappé la pression d'oxygène.

C'est tout, vous disposez maintenant d'un capteur d'oxygène interrogeable avec toutes les API Yoctopuce, par exemple avec la ligne de commande:

Un capteur d'oxygène interrogeable en ligne de commande
Un capteur d'oxygène interrogeable en ligne de commande


Si vous rajoutez un YoctoHub-Ethernet ou un YoctoHub-Wireless derrière le Yocto-Serial, vous obtiendrez un capteur d'oxygène que vous pourrez gérer à travers Internet, cool non ?


Conclusion

Le Yocto-Serial et le Yocto-RS232 devraient vous permettre d'interfacer à peu près n'importe quel appareil ou composant avec une interface série. Cependant, veillez à choisir le bon car ils sont complémentaires mais pas interchangeables.

Commenter aucun commentaire
Retour au blog












Yoctopuce, get your stuff connected.