web-dev-qa-db-fra.com

Simuler un port série RS232

Je développe un projet comportant un certain nombre de capteurs matériels connectés à la machine de déploiement via des ports série RS232.

Mais ... je développe sur une machine sans ports série physiques RS232, mais j'aimerais créer de faux ports série auxquels je peux me connecter et dont les données sont extraites dans le but de simuler une entrée provenant de capteurs matériels.

Est-ce que quelqu'un connaît un moyen de créer un faux port série et de le contrôler sous Windows XP?

74
BefittingTheorem

Si vous développez pour Windows, le projet com0com est peut-être ce que vous recherchez.

Il fournit des paires de ports COM virtuels liés via une connexion nullmodem. Vous pouvez ensuite utiliser votre application de terminal préférée ou ce que vous voulez pour envoyer des données à un port COM et recevoir de l'autre.

MODIFIER:

Comme Thomas, le projet manque de pilote signé, ce qui est particulièrement problématique sur certaines versions de Windows (par exemple Windows 7 x64).

Il existe quelques versions non officielles de com0com contenant un pilote signé. Une version récente (3.0.0.0) peut être téléchargée, par exemple. de ici .

61
Frank Bollack

Je sais que c’est un vieux post, mais au cas où quelqu'un d’autre arriverait sur cette question, bien L’option est un émulateur de port série virtuel (VSPE) de Eterlogic Il fournit une API pour la création de périphériques à comportement virtuel en mode noyau, c’est-à-dire des connecteurs, des mappeurs, des répartiteurs, etc.
Cependant, certaines des capacités annoncées étaient vraiment pas de capacités pas du tout.

[~ # ~] éditer [~ # ~]
Un bien meilleur choix, Eltima. Ce produit est entièrement cuit. Bon support technique aux développeurs. Le produit a fait tout ce qu'il prétendait faire. Les options de produit incluent à la fois des applications de bureau et des kits de développement logiciel avec API.

Aucun de ces produits n'est open source, ni gratuit. Cependant, comme d'autres postes l'ont souligné, il existe d'autres options. Voici une liste de divers utilitaires série:

com0com (actuel)
com0com - Avec pilote signé (ancienne version)
et encore un autre endroit pour communiquer avec le pilote signé = (Blog de Pete)
Logiciel tactique
Termite
émulateur de série du port COM
Kermit (obsolète, mais toujours téléchargeable)
HWVSP
logiciel HHD (édition gratuite)

58
ryyker

J'utilise com0com - With Signed Driver , sous Windows 7 x64 pour émuler COM3 ET COM4 en tant que paire.

Ensuite, j'utilise émulateur de port de données COM pour recevoir de COM4.

Ensuite, j'ouvre COM3 avec l'application im developping (c #) et envoie des données à COM3.

Les données envoyées via COM3 sont reçues par COM4 et affichées par "Émulateur de port de données COM" qui peut également renvoyer une réponse (non automatisée).

Donc, avec ces 2 excellents programmes, j’ai réussi à émuler la communication série RS-232.

J'espère que ça aide.

Les deux programmes sont gratuits !!!!!

29
Jhollman Cutcsa

Une autre alternative, même si le PO ne l’a pas demandé:

Il existe des adaptateurs USB vers série. En fonction du type d'adaptateur, vous aurez peut-être également besoin d'un câble nullmodem.

Ils sont extrêmement faciles à utiliser sous Linux, travaillent aussi sous Windows, si vous avez installé des pilotes.

De cette façon, vous pouvez travailler directement avec les capteurs sans avoir à émuler des données. De cette façon, vous éviterez peut-être même de construire un système anémique. (En raison de vos entrées de données émulées ne couvrant pas tous les cas, vous conduisant à un système fragile.)

C'est souvent mieux de travailler avec les vrais trucs.

3
sjas

Il y a toujours la route du matériel. Achetez deux convertisseurs USB en série et connectez-les via un modem NULL.

Conseils professionnels: 1) Windows peut attribuer de nouveaux ports COM aux adaptateurs après chaque mise en veille ou redémarrage de l'appareil. 2) Les leaders du marché des puces USB à série sont Prolific et FTDI. Les deux sociétés luttent contre des imitations et pourraient être bloquées dans les futurs pilotes Windows officiels. Les pilotes Linux fonctionnent cependant bien avec les clones.

2
Bryce