USB to Serial adaptor support for AR1


#1

Super super super excited to let everyone know that groov Admin update v46, now supports genuine FTDI USB to Serial adapters. (Log into your Manage.groov.com account to get the update).

This means that your groov Box AR1 can now support 3 serial devices, or more with USB hubs.
RS232, RS422 and RS485 (2 wire or 4 wire) are all supported as per the adapter you buy.
(Please note, we are only supporting single port adapters at this time!).

You can get all the details starting in page 55 of the groov Box Users Guide. [PDF].

In short, you update to groov Admin 46. Make sure you are running Node-RED build 3. (This is NOT optional), plug in your adapter and it will show up in Node-RED.
Here are some screen shots to give you a feel for how it looks;

Drag over the Serialport Node.
(Check out my other post on how to add nodes if its not there).

Double click it, and then click on the little pen icon to add a new port.

When that new box opens, click on the find tool to have the system find the adapters you just plugged in.
In this case, I have two adapters plugged into the groov Box, both directly into the front USB ports on the AR1.
As a result, they show up as ttySer0 for the top port and ttySer1 for the port directly below. (ttySer2 is the USB port on the top of the AR1).
In my case, one of the adapters is an RS422 adapter and the other a 232.

From there, just click the port you want and set up the serial protocol details as it matches the device you are communicating with.

Now your data will start to flow into Node-RED and its up to only your task at hand or your imagination where you want to take this.
You may need to tweak how the data is split, since there are sooooo many different serial devices and formats, just test each of the options with a debug node and check the protocol manual for the device you are working with for hints on how it sends its data.

Once things are working…
You could move the data into a groov Data Store and display it, trend it, or send notifications.
You could move the data into a data base, on site or in the cloud.
You could tweak the information, combine it with some other data and send it back to the serial device.
That’s the beauty of Node-RED, lots of options.


Groov USB Ports
#2

I wanted to share another way to communicate with serial devices over a TCP network that would work great with Node-Red as well. Perle serial device servers (https://www.perle.com/products/device-server.shtml) provide built-in TCP Socket profiles to connect to serial devices and talk to them directly via TCP/IP. Just pass the serial command string and parse the response as if you were talking via a serial connection. They are also convenient because you can connect up to 24 serial devices to one device server (one IP address, separate port numbers).

I’ve had great success using this method so I just wanted to pass the info along.

If there are questions regarding this I’d be happy to share more details.


#3

Also a great way to add a serial device to SoftPAC.
Just open a TCP comm handle to the IP address and port of the adapter you mention (of which there are heap to chose from).

So many options… so many choices…


#4

Also, there is this little company in Temecula, CA that sell these:
http://www.opto22.com/site/pr_details.aspx?cid=1&item=SNAP-SCM-232


#5

Hey, who are you calling little!? :wink: Thanks for mentioning those serial modules, yet more choices!!


#7

Please excuse my ignorance… I’m a newbie to Opto22… I now have a SNAP-SCM-232 to play with too :slight_smile:


#8

No problem, I did not intend to offend - my post was a small attempt at humor at the fact that no one from Opto was mentioning their own serial modules. :wink:


#9

We got a chuckle out of it… no problem…

If you have more than a few serial ports in one location that you want to move over Ethernet, there is no doubt that a SNAP rack would be a smooth way to do it… For those situations where you have a groov Box and perhaps some Modbus device and you just need 1 serial port, then the USB adapter is a much more economical solution.

It’s all about using the right sized hammer to hit your thumb/nail with… which I know you know, but wanted to mention for those following along.


#10

No offense at all… I’m all about learning and finding new solutions for industrial automation and process control. Thanks for the response… I’ll be playing with the SNAP-SCM-232 later this week.

As I said before, I am new to the Opto22 world but I have quite a bit of experience using Node.js for industrial automation solutions so naturally I am excited about the intersection of Groov & Node-RED. As a matter of fact… I’m in the process of installing our shiny new groov Box right now :slight_smile:


#11

I see we are getting excited about groov Admin 1.570.46 supporting the use of USB-RS232 or USB-RS485 converters to get information into Node-RED. Any plan to improve the existing ModbusTCP Device definition to support ModbusRTU protocol over the USB Converter?

Or am I tripping over myself here? It seems to make more sense that Groov reads ModbusRTU data from its own Modbus scanners instead of reading it though Groov DataStore, being moved through from Node-RED which is connecting to data the USB-RS232 converter with some roll your own javascript code in the middle holding it all together.

Just saying.


#12

BTW: You can always see when Ben gets Super super super excited as he starts spelling “adaptor” wrong! :laughing:


#13

Two very good points and one remark I shall try (but fail) to ignore…

In short. No. We are not going to be ‘improving’ the the existing groov ModbusTCP device.
The reason for this is your next point.
At the moment, there is no way to get data out of the native groov devices. In other words, if we did improve it, and you could connect to serial USB modbus devices, how would you get that data into another application, like a database?
Sure, you could display it in groov, and you could set up a notification for a condition, but that’s it.
Right now, there is no API to get any data out of groov Devices.

BUT, if we bring it into Node-RED first, then we can do all sorts of things, send it to Watson, send it to AWS, move it via MQTT, store it in a local or cloud data base AND we can display it on groov via a DataStore tag.

If the data is already in a format you can use, then there is simply no need for any JavaScript in the middle, but again, at least with with the ‘Node-RED first’ approach you have the option to reformat the data, if it goes into groov first, you would be stuck with what you have.

Make sense?

Lastly, note how I totally managed to not use the word adapter once in that entire explanation… You say tomato, I say adaptor. (Actually, it sounds more like adapta, but that’s a whole different can of worms).

EDIT. OptoMary took me to task on pointing out that the groov Data Store does indeed have an API to get data out of it, and that the data store is considered a native device… thus my comment in this post ‘At the moment, there is no way to get data out of the native groov devices.’ is wrong.
I knew this, but it seemed to distract from the point George and I were making because you can only get out of the groov data store the same information that use the API to put in… But, for the sake of API lovers the world over, I wanted to correct myself.


#14

Well that’s like saying there is no need for any device support in groov at all. I am sure there are a lot of people out there who are happily using a GroovBox to show data on mobile devices, notify it and even limited trend it without even wanting to get into node-RED. The possibility of Node-Red in the groovbox has only been around since late last 2016 and you can do a lot of things in groov build before even contemplating node-RED. There is also a massive learning curve just finding out everything that’s possible in GroovBuild.

The use of a an expensive complicated external modbus mapping converter just to show data from RS485 ModbusRTU devices is about the only way of easily doing this at present. My point is if we have opened the possibility of adding a serial port to groov with a very reasonably priced USB converter, adding the port option to the Modbus Device driver is not a big job and could open up many more opportunities to make those first important steps with groov.

BTW. Just for once that “Aussie Spelling” agrees with “British Spelling” , Beno spells it wrong! (Clue: Look again at the Big Bold Title Subject Header at the top):laughing:


#15

Wait… I think we are missing something here… I am not talking about ONLY Modbus… the whole point of the serial to USB adapter is serial. Not JUST ModbusRTU or ModbusAscii.

We would have to add to groov drivers for GPS, digital multi-meters, CNC controllers, uninterruptible power supplies, printers, weigh scales, bar code scanners and telescopes, they are a few right off the top of my head that have serial port interfaces.
All those devices can now be connected to and data moved where it needs to be AND displayed (or not) in groov.

groov Admin 46 is more, much much much much more than just serial Modbus. (Other wise, you’d be right, and well, yeah…nah).

[Fixed the fat fingered double d in the title. Thanks].


#19

To help those following along, here is a quick Node-RED flow I put together to show how to connect a Modbus serial device to groov.

There are a few different nodes to tap into when it comes to picking up the serial Modbus.
Both work, they just have different features and offer some configuration options other than just baud rate.

In groov Build, add a ‘groov Data Store’ and add the tag name in there and you are done.