Comment utiliser le pilote de série générique sur la passerelle d'E/S
  • 31 Oct 2023
  • 4 Minutes à lire
  • Contributeurs

Comment utiliser le pilote de série générique sur la passerelle d'E/S


Résumé de l’article

Comment utiliser le pilote série générique sur la passerelle d'E/S

Apprenez comment permettre à la passerelle d'E/S de communiquer avec n'importe quel périphérique série.

**Le 1er novembre 2021, Tulip ne vendra plus d'appareils I/O Gateway. Les dispositifs Edge IO et Edge MC sont toujours disponibles. En savoir plus

Guide de configurationsérie Edge IO

Guide de configuration sérieEdge MC

Cet article explique comment utiliser le pilote série générique de votre passerelle d'E/S pour communiquer avec la plupart des périphériques série. Cet article peut être généralisé à d'autres appareils Tulip Edge, tels que Edge MC et Edge IO.

Cet article suppose que vous avez déjà terminé l'installation de la passerelle d'E/S.

Notez que ce pilote diffère du pilote série (Player Only) qui n'est actuellement disponible que pour le Tulip Player de Windows.

Qu'est-ce que le pilote série générique ?

Le pilote série générique permet à la passerelle d'E/S de communiquer avec d'autres périphériques en utilisant un protocole série commun. Ces dispositifs peuvent être des choses comme :

  • Arduino
  • Raspberry Pi
  • D'autres appareils Tulip Edge
  • Des micro-contrôleurs
  • Beaucoup d'autres appareils

En raison de la polyvalence de ce pilote, sa configuration est complexe. Cette configuration devra correspondre exactement à la configuration de votre autre appareil.

Ce pilote peut communiquer avec plusieurs appareils à la fois.

Note : Tulip n'écrit pas de code personnalisé pour les appareils que vous connectez au pilote série générique.

Activation du pilote série générique

Connectez votre ordinateur à la passerelle d'E/S en vous connectant au réseau local qu'elle crée.

Ouvrez le portail des périphériques. Sur la page des tableaux de bord, cliquez sur le bouton "Configure Drivers" sur le côté gauche de la page.

Sur la page de configuration des pilotes, cliquez sur l'option "Generic Serial".

Par défaut, l'option "Generic Serial" devrait déjà être verte (activée) et configurée avec certains paramètres communs.

Windows a tendance à utiliser \r pour ses retours chariot.

Le pilote série générique nécessite une certaine configuration avant de pouvoir être activé.

Voici les options pour chaque champ :

Ecriture du suffixe

  • Entrée attendue : N'importe quelle chaîne - elle est ajoutée à tout message que la passerelle d'E/S enverra à l'appareil et correspond généralement à une nouvelle ligne (\n) ou à un retour chariot (\n\r).
  • Obligatoire : Non

Path Matcher (Outil de recherche de chemin)

  • Entrée attendue : Le chemin d'accès à votre périphérique - il peut être * pour correspondre à n'importe quel périphérique série inutilisé (utile pour l'utilisation d'adaptateurs USB-série).
  • Requis : oui

Nom

  • Entrée attendue : Le nom de ce dispositif (il sera utilisé pour référencer le dispositif à partir de vos applications).
  • Obligatoire : oui

Délimiteur

  • Entrée attendue : N'importe quelle chaîne (elle est utilisée pour diviser le message de votre appareil en morceaux qui seront envoyés à votre compte Tulip).
  • Requis : oui

Baud

  • Entrée attendue : Le débit en bauds que l'appareil utilisera pour communiquer.
  • Requis : oui

Port DB9 natif

Si vous prévoyez d'utiliser le port DB9 natif de la passerelle d'E/S, vous devrez utiliser le chemin /dev/ttyO4 dans votre outil de recherche de chemin. Il s'agit d'un O majuscule et non d'un zéro.

Construire une application pour travailler avec votre pilote série

Voici comment créer une application pour tester votre pilote.

Tout d'abord, créez une nouvelle application et ajoutez un bouton.

Ajoutez un déclencheur à ce bouton pour appeler le périphérique série générique avec le nom que vous avez utilisé pour configurer le pilote.

Voici les champs dont vous avez besoin dans l'instruction "Then" :

  • "Run Device Function" (Exécuter la fonction du périphérique)
  • "Dispositif série générique"
  • "Envoyer une chaîne de caractères au périphérique série"
  • A "cette station"
  • Dispositif à envoyer à : "texte" "RS232"
  • Message à envoyer : "text" "testing generic serial"

Ajoutez un déclencheur à cette application pour enregistrer des données dans une variable lorsque le pilote série générique émet des données. Utilisez une instruction "If" pour ne stocker les données que si le bon périphérique émet des données.

Lorsque

  • "Device" "Generic Serial Device" émet des données à "cette station".

Si

  • "Sortie du dispositif"
  • "nom"
  • "="
  • "texte" "RS232"

Alors

  • "Manipulation des données"
  • "Stocker"
  • "Sortie de l'appareil" "données"
  • emplacement : "generic serial" (c'est le nom d'une variable)

Ajoutez cette variable à votre application. Il s'agira d'un objet avec les propriétés "name" et "data".

Tester l'application

Utilisez un modem null et un convertisseur USB vers RS232 pour tester l'application.

Connectez le port USB à votre ordinateur. Connectez ensuite l'adaptateur null modem à l'adaptateur RS232 et au port DB9 de la passerelle I/O.

A partir de :

Si vous êtes sous Windows, utilisez Putty pour tester la connexion. Obtenez le numéro de port en utilisant le Gestionnaire de périphériques.

Saisissez le numéro du port COM dans la case "Vitesse" et choisissez un "Type de connexion" de "Série"

Le terminal Putty n'imprimera des messages vers la passerelle d'E/S que lorsque vous cliquerez sur le bouton dans l'application en cours.

Envoyez le message 'Tulip' à travers Putty en le tapant et en appuyant sur Entrée.

Comment tester le pilote série générique sur Linux ou Mac en utilisant Node.js

Ceci nécessite node.js et npm. Ensuite, installez le paquet serialport via npm.



const Readline = require('@serialport/parser-readline') 


const port = new SerialPort('/dev/ttyUSB0', { baudRate : 19200 }) 


const parser = new Readline() 


port.pipe(parser) 


parser.on('data', line => { 


console.log(> ${line}) 


}) ; 


let test = false ; 


setInterval(()=>{ 


if (test){ 


port.write('output\n') ; 


test = false 


} 


else { 


port.write('autre sortie') ; 


test = true 


} 


},1000) ```


Cet article vous a-t-il été utile ?