RIO to RIO communications. aka groov-io node certificates

If you have two RIOs on a machine network, with no DNS or DHCP, how do you configure the certificates to enable Node-RED to communicate between the two RIOs?

Overview.

  • Make a server certificate that matches the IP address (or host name) of each RIO.
  • Upload the certificate in the other RIO.
  • Configure Node-RED to use that certificate and API Key from the RIO

First, set up the static IP address for each RIO.

Once you have the IP address, you can then configure the server certificate to match.
Go into groov Manage and click on Security, then Server SSL. Lastly click on Create Certificate.

Enter the static IP address of the RIO.
(Usually I do this exact same process, but using the Host Name of the RIO).

Once you have created the certificate, refreshed your browser and logged back in, you then need to download this certificate so you can upload it into the other RIO.

Here is the all important step, you need to rename the certificate file.
By default it downloads it as cert.pem
At the very least you need to rename it as a .crt, but I also suggest that you change the name from ‘cert’ as well so you can track which certificates belong to which RIOs.

Here you can see that I have renamed the file to the IP address . crt

Now connect and log in to your other RIO and upload this certificate.
From groov Manage, click on Security -> Client SSL and upload this certificate.
Note that the certificate must have a .crt extension to upload into the RIO.

Here you can see the new cert on the RIO.

Now we can go into Node-RED and configure the new RIO Device.

From your groov IO node, click on the pencil icon to add the other RIO to this RIOs device list.

Go back the original RIO and copy the API key for an Admin user and paste it into the API Key area.

Lastly, make sure you enter the other RIOs static IP address and point to the correct path for its certificate.

(Note it says it must be in a PEM format, remember that’s the format its in, its just named .crt)

Done.
Now you can read and write to the other RIOs I/O from this RIOs instance of Node-RED.

Flip the process to be able to talk back to the other RIO as needed.

3 Likes