With out knowing a bit more about your application, I have two broad ideas… Let me throw them out there and then we can hash around which would be best or perhaps look at some other options…
In no real order, here are the two:
- MQTT. Set each RIO up to publish their I/O (and scratchpad) values to a broker. No open ports required at any of the locations, so very secure outbound communications only.
Because MQTT can subscribe to what it publishes, you can have the central site change digital and analog outputs at the remote sites via the same remote site outbound connection.
MQTT (SparkplugB specifically) is very lean and mean. If any of your remote sites are on metered cell modem data plans, this would be the cheapest option.
- VPN. Your application of remote site connectivity is pretty much exactly why we baked in VPN support to the RIO and EPIC hardware.
Each remote site and the central site connect to a VPN server (in cloud or on prem). Again, the remote sites only have outbound connections, so no open ports required there.
The nice thing about this solution is that from the central site you can log on to each remote RIO and use all the features of groov Manage.
The whole point of VPN is that its like you are right there at the remote site.
If you want to take a skim of the networking guide, you can find it here: