# Virtual comport

**URL:** <https://discourse.nodered.org/t/virtual-comport/50625>\
**Category:** General\
**Created:** [5 September 2021 04:47 UTC](https://discourse.nodered.org/t/virtual-comport/50625 "2021-09-05T04:47:28Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![PiMo131](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/pimo131/32/34978_2.png) [@PiMo131](https://discourse.nodered.org/u/PiMo131)\
**Post date:** [5 September 2021 04:47 UTC](https://discourse.nodered.org/t/virtual-comport/50625/1 "2021-09-05T04:47:28Z")

</div>

Hi,

I want to make a simulator for a serial device.  
When using node-red i can use the serial out node. But it is used to send information to an existing com or virtual com port.

Is there a way to make a virtual comport in node red? To which a second software can connect?

---

<div class="post-metadata">

**Author:** ![hardillb](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/hardillb/32/12373_2.png) [@hardillb](https://discourse.nodered.org/u/hardillb)\
**Post date:** [5 September 2021 07:26 UTC](https://discourse.nodered.org/t/virtual-comport/50625/2 "2021-09-05T07:26:07Z")

</div>

Assuming you are running Node-RED on Linux then you can use the `socat` command to create a pair of linked virtual serial port devices.

```auto
$ socat -d -d pty,raw,echo=0 pty,raw,echo=0
2013/11/01 13:47:27 socat[2506] N PTY is /dev/pts/2
2013/11/01 13:47:27 socat[2506] N PTY is /dev/pts/3
2013/11/01 13:47:27 socat[2506] N starting data transfer loop with FDs [3,3] and [5,5]

```

Where the 2 ports will be `/dev/pts/2` and `/dev/pts/3`

---

<div class="post-metadata">

**Author:** ![PiMo131](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/pimo131/32/34978_2.png) [@PiMo131](https://discourse.nodered.org/u/PiMo131)\
**Post date:** [5 September 2021 10:04 UTC](https://discourse.nodered.org/t/virtual-comport/50625/3 "2021-09-05T10:04:06Z")

</div>

No, my node red is mostly running on windows servers.

I found

> **[virtual-serialport](https://www.npmjs.com/package/virtual-serialport)**
>
> A drop-in virtual replacement for node-serialport's SerialPort object

I am going to try and work it out with an function node with this code in it.

Although socat is a good backup plan. Since there are some windows options for that as well it seems

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)\
**Post date:** [4 November 2021 10:04 UTC](https://discourse.nodered.org/t/virtual-comport/50625/4 "2021-11-04T10:04:21Z")

</div>

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.
