ARDI MQTT Proxy

The ARDI MQTT Proxy is designed to give you limited access to a remote ARDI server that has access to the Internet, but is not directly accessible via TCP/IP (ie. you are not on the same network).

There are situations - such as when working on headless servers, building AI, importing in Excel, or running clients such as ARDI-VE - where you'd like to be able to get direct access to an ARDI system that is behind firewalls, or accessed via remote clients such as Citrix, TeamViewer or the Windows App.

The ARDI MQTT proxy gives you limited-time access to an ARDI server as if it was running on your local network, or even on your own system.

How It Works

To avoid the risks associated with opening up a direct connection to your ARDI server, this technique uses an MQTT Server as a method of creating a proxy for the target ARDI system.

Three parts are involved.

1) A Source system (the ARDI server you want to access),
2) A Remote system (the PC you want to work on). and
3) An MQTT server accessible from both systems

The Source System

This is the ARDI server inside the secure network.

You will need to install and run the source.py script.

The Remote System

This is a PC (which might be your own system) that will pretend to be the Source system. You'll connect to it just like you would the real thing.

The MQTT Server

You can use any MQTT server or service you like - for testing purposes, you may want to consider trying the HiveMQ server, or creating your own with Mosquitto. See hosting options for more details.

It is critical that this service is accessible from both the Source and Remote computers.

Performance Notice

It's important to note that performance will significantly worse than if you were directly connected.

The technique used extremely flexible and easy to set up, but relatively inefficient.

Example