Comment utiliser le pilote série générique sur la passerelle d'E/S ?
  • 02 Nov 2022
  • 4 Minutes à lire
  • Contributeurs

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


Article Summary

Comment utiliser le pilote série générique sur I/O Gateway

Apprenez comment permettre à l'I/O Gateway de communiquer avec n'importe quel périphérique série.

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

Guide d'installation série Edge IO

Guide de configuration sérieEdge MC

Cet article explique comment utiliser le pilote série générique de votre I/O Gateway pour communiquer avec la plupart des périphériques série. Cet article est généralisable à d'autres dispositifs Tulip Edge, tels que le Edge MC et le Edge IO.

Cet article suppose que vous avez déjà terminé la configuration de la passerelle I/O.

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 I/O de communiquer avec d'autres périphériques en utilisant un protocole série commun. Ces périphériques peuvent être des choses comme :

  • Arduino
  • Raspberry Pi
  • Autres dispositifs Tulip Edge
  • Microcontrôleurs
  • De nombreux autres dispositifs

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 supporter la communication avec plusieurs appareils à la fois.

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

Activation du pilote série générique

Connectez votre ordinateur à l'I/O Gateway en vous connectant au réseau local qu'il crée.

Ouvrez le portail des dispositifs. À la page des tableaux de bord, cliquez sur le bouton "Configurer les pilotes" 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 courants.

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

Le pilote série générique nécessite une certaine configuration afin de procéder à l'activation du pilote.

Voici les options pour chaque champ :

Write suffix

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

Correspondant de chemin

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

Nom

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

Délimiteur

  • Entrée attendue : Une chaîne quelconque (utilisée pour diviser le message de votre appareil en morceaux à envoyer à votre compte Tulip).
  • Requis : oui

Baud

  • Entrée attendue : Le débit en bauds que le périphérique utilisera pour communiquer.
  • Requis : oui

Port DB9 natif

Si vous prévoyez d'utiliser le port DB9 natif sur la passerelle d'E/S, vous devrez utiliser le chemin /dev/ttyO4 pour votre comparateur de chemins. 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 construire 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"
  • "Dispositif série générique
  • "Envoyer une chaîne de caractères au périphérique série"
  • Sur "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 enregistrer les données uniquement si le périphérique correct émet des données.

Quand

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

Si

  • "Le dispositif sort
  • "nom"
  • "="
  • "texte" "RS232"

Puis

  • "Manipulation des données"
  • "Stocker"
  • "Sortie du dispositif" "données"
  • localisation : "generic serial" (c'est le nom d'une variable)

Ajoutez cette variable à votre application. Ce sera un objet avec les propriétés "name" et "data".

Testez l'application

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

Connectez l'USB à votre ordinateur. Puis connectez 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.

Entrez 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 à la passerelle E/S que lorsque vous cliquerez sur le bouton dans l'application en cours d'exécution.

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 ?

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

const SerialPort = require('serialport') 


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 ?