Cette semaine, nous vous présentons le Yocto-RS232. Cela faisait longtemps que cet projet nous trottait dans la tête, mais la demande pour un module de ce genre s'étant récemment fait sentir, nous l'avons enfin finalisé. Le Yocto-RS232 a une lourde tâche: vous simplifier la vie pour accéder à tout ce qui dispose d'une interface RS232. Vous devez vous dire que FTDI fait ça très bien depuis des lustres... Peut-être, mais le Yocto-RS232 va probablement vous ouvrir de nouveaux horizons.
Le Yocto-RS232.
Qu'est ce que le Yocto-RS232 ?
Le Yocto-RS232 est une passerelle entre USB et RS232. Comme tous les produits Yoctopuce, aucun driver n'est nécessaire pour l'utiliser, et son utilisation ne nécessite pas de port COM virtuel: fini la chasse aux bons drivers et les ports qui changent de nom... :-) Physiquement, le Yocto-RS232 se présente sous la forme d'un board de 20*60mm avec un connecteur RJ11. Il est fourni avec un câble RJ11 vers DB9. En effet il n'y avait tout simplement pas la place pour mettre un connecteur DB9 directement sur la carte.
Le câble RJ11/DB9 est fourni.
C'est aussi un module isolé: il y a une isolation galvanique entre la partie USB et la partie RS232, ce qui vous permettra de connecter des machines alimentées par des phases différentes sans risquer de tout casser.
Communication
Le Yocto-RS232 est un port série complet: il dispose des lignes RX, TX, RTS et CTS. En plus de pouvoir travailler par flot de caractères, il est capable de gérer nativement différent types de messages utilisés habituellement sur un port série:
- Line-based ASCII: l'utilisation la plus classique des ports série, le module émet et lit des lignes de caractères ASCII sur la ligne.
- Frame-based binary: Le module émet et lit des trames binaires, séparés par un intervalle de temps
- MODBUS ASCII: le module est capable de générer des commande MODBUS encodées en ASCII
- MODBUS RTU: le module est capable de générer des commande MODBUS encodées en binaire
Le Yocto-RS232 dispose de ses propres buffers qui lui permettent de stocker temporairement les données en attendant qu'elles aient été consommées. Si l'ordinateur de contrôle redémarre, la communication pourra être reprise sans perte de données. Ca n'a l'air de rien, mais dans certains cas, ça fait une véritable différence.
Interface capteur
Le Yocto-RS232 est beaucoup plus qu'une passerelle USB vers RS232: il a surtout été conçu pour interfacer des capteurs série. Il est capable de d'interpréter de manière autonome les données sortant d'un appareil série et de présenter sous la forme d'un capteur YGenericSensor. Il dispose même d'un datalogger permettant de stocker ces mesures en interne.
Comment ça marche? il suffit de configurer le module à l'aide d'un petit script indiquant comment interpréter les données série et le tour est joué. Le VirtualHub propose même une petite interface pour créer ces scripts de manière intuitive.
L'interface de création de scripts
Quel intérêt par rapport a l'utilisation d'un adaptateur USB vers série classique? Vous pouvez potentiellement transformer n'importe quel appareil avec sortie série en un capteur Yoctopuce, et ainsi profiter de tous les avantages qu'offre l'API Yoctopuce: polling, callback, datalogger etc.. Cerise sur le gâteau: si vous rajoutez derrière un YoctoHub-Ethernet ou un YoctoHub-Wireless-g, vous pourrez accéder à votre appareil à travers le réseau, cool, non ? :-)
Ajouter une interface réseau à un appareil série? facile!
Snooping
Le Yocto-RS232 peut aussi fonctionner comme un snooper et enregistrer les données qui passent sur un câble série sans interférer avec la communication. Cela vous permettra de construire un analyseur de communication série bon marché. Un moyen simple de reverse ingeneerer les communications entre un appareil et son application de contrôle, certains constructeurs ayant la fâcheuse habitude d'oublier de documenter leurs protocoles.
Ce que le Yocto-RS232 n'est pas
Attention, le Yocto-RS232 n'est pas une interface USB/Série classique: elle n'installe pas de port COM virtuel, il ne pourra donc pas être utilisé pour contrôler un appareil depuis une application conçue pour fonctionner avec un port COM.
Le Yocto-RS232 suit le standard TIA/EIA-232-F: il communique en envoyant un signal carré typique de +5.5V et -5.5V, et il est capable de recevoir des signaux dont le voltage est situé entre -25V et +25V. Cela signifie que vous ne pouvez pas l'utiliser pour interfacer directement un simple composant utilisant une interface série sur des niveaux logiques (TTL/CMOS): la polarité est en général inverse, et il y a peu de chances pour le composant en question supporte de recevoir du -5.5V. Mais rassurez-vous, le petit frère du Yocto-RS232 en niveaux logiques suivra bientôt...
Conclusion
Dans la même lignée que le Yocto-4-20mA-Rx qui vous a donné accès à tout un univers de capteurs industriels analogiques, le Yocto-RS232 vous permettra enfin de travailler confortablement avec de nombreux appareils industriels munis d'un port RS232, et d'oublier le cauchemard des drivers kamikaze et autres adaptateurs fantômes...