I successfully tested the following USB to serial adapters on the Rio. The test was functional and not exhaustive, using Nodered to communicate with a serial Modbus device.

I also had 2 other USB RS232 adapters that I could not identify the manufacturer, but they also worked. I did not have an adapter that did not work.

All the adapters were between $15 and $30 .

Gearmo Model: GM-FTDI-A12
Sabrent USB to Serial converter
Aluratek Model: AUS100
Belkin Model: F5U409
Gigaware / Radio Shack Catalog Number: 2603487

Gearmo Model: GM-FTDI2-A36

The test used the Rio Nodered and the node-red-contrib-serial-modbus node.

  1. Plug the adapter into the USB port and verify it is recognized using groovManage / System / Serial Devices
  2. Run a Nodered Flow that polls a Modbus device using Modbus Serial RTU. Verify the data looks correct.

Below shows the flow and the debug data

Below shows the Nodered setup for the Serial Device within the Modbus In Node

Below shows the Nodered setup for the Modbus In Node

RS232 and RS485 SERIAL ADAPTERS FOR (127.9 KB)


Can a serial port that is connected to a RIO be opened in PAC Control? Has anyone been using a USB to RS485 adapter on RIO in production with good results?

No. Since its on a USB port, PAC Control does not know how to drill down to that.
Yes. We have quite a few customers using them. The key seems to be having a good quality FTDI converter.

EDIT. We have used Node-RED to pick up the serial data and put in the scratch pad. Might be an option worth looking at.

Okay thanks for the info. This is for Modbus RTU devices that the RIOs will be located near if we end up using them. I could probably have Node-RED proxy the data from a TCP connection to the serial port, kind of like the PAC brains with serial modules do.

What is the recommended FTDI adapter to use?

From page 56 of the RIO users guide;

But you are welcome to try some of the cheaper ones listed at the top of this post.
(Keep in mind that more adapters will work with RIO than EPIC due to different drivers in each device)

If you don’t need the serial data on the RIO for any reason, then yes, your idea to just move it directly in/out via Node-RED is sound.

Thanks for your help.
The GM-FTDI2-A36 listed in the original post doesn’t seem to be for RS-485 and the GM-482422 design seems like it would be awkward to fit in the RIO.

I’m going to roll the dice on a cheap FTDI one that has a short lead on it - hopefully it’s a genuine FTDI chip.

Please let us know how it goes and what the part number / URL is.

I received the cable I ordered, it is a DTECH DT-5119 (The model # is on the package, but not on the device). It supports 4-wire RS-422 and 2-wire RS-485 capability. I’m only testing RS-485. Comes with a DSUB-9 to terminal block break out which is nice. Got it for under $17, so definitely on the cheap side.

Unfortunately, I could not test it in my RIO because the USB port is plugged up with conformal coating or some other gooey substance. I was able to remove some of it, but I think the contact pins are coated :frowning: So this RIO needs to go back for some repair. It’s an early model with the thermocouple issue, so I guess it is time to get that taken care of.

I plugged it into my PR1 and it recognized it without issue. I was able to setup a Node-RED flow to proxy between a TCP connection and the serial port, opened the firewall for that port and ran some modbus tests to some Modbus RTU connected WattNodes and it all worked fine.

Since it works in the PR1, I’m going to assume it will work in the RIO. So an adapter and a simple Node-RED flow we should be able to use the RIO as a remote serial device from a PR1, PAC or whatever else. Time will tell on how these work long term out in the middle of nowhere.

Here is the flow I am using (uses the node-red-node-serialport 0.11.1 module):

[{"id":"62e86c82.3896a4","type":"tab","label":"TCP to Serial Relay","disabled":false,"info":""},{"id":"638c889b.8b41d8","type":"tcp in","z":"62e86c82.3896a4","name":"","server":"server","host":"","port":"10502","datamode":"stream","datatype":"buffer","newline":"","topic":"","base64":false,"x":220,"y":340,"wires":[["87ffa453.5c6718","d5f0510e.a7e408"]]},{"id":"87ffa453.5c6718","type":"debug","z":"62e86c82.3896a4","name":"","active":false,"console":"false","complete":"false","x":485,"y":318,"wires":[]},{"id":"d5f0510e.a7e408","type":"serial out","z":"62e86c82.3896a4","name":"","serial":"fc2a26f0.857cd","x":438,"y":395,"wires":[]},{"id":"b9f4569a.a30468","type":"serial in","z":"62e86c82.3896a4","name":"","serial":"fc2a26f0.857cd","x":228,"y":449,"wires":[["6e9401f2.763de","23785617.c0fb2a"]]},{"id":"6e9401f2.763de","type":"tcp out","z":"62e86c82.3896a4","host":"","port":"","beserver":"reply","base64":false,"end":false,"name":"","x":460,"y":455,"wires":[]},{"id":"23785617.c0fb2a","type":"debug","z":"62e86c82.3896a4","name":"","active":false,"console":"false","complete":"false","x":477,"y":526,"wires":[]},{"id":"bd54e191.0b47b","type":"comment","z":"62e86c82.3896a4","name":"IP Serial Relay","info":"","x":180,"y":220,"wires":[]},{"id":"fc2a26f0.857cd","type":"serial-port","z":"","serialport":"/dev/ttySer0","serialbaud":"19200","databits":"8","parity":"none","stopbits":"1","waitfor":"","dtr":"none","rts":"none","cts":"none","dsr":"none","newline":"3","bin":"bin","out":"time","addchar":"","responsetimeout":""}]

Update. I received a replacement RIO and moved the serial adapter over and as suspected works fine on the RIO (firmware is 3.0.0).

So I am running a strategy on the PR1 that is communicating with a Modbus RTU device that is connected to the RIO via a USB to RS-485 adapter and a little Node-RED utility flow.

For those of us that like to dive in without reading the manual, be sure to enable the USB port on the RIO first: Manage | System | USB | Enable USB