Remote Drivers

In some cases where network security, performance or external access is an issue, you may want to create a remote driver.

This is a driver that is running on a computer other than your ARDI server.

These drivers are usually used when there is a great deal of network load on your ARDI server, when the server is not located in a suitable network location, or when the ARDI server can not join a VPN to access data, but other local hardware can.

This documentation is targeted at system administrators and/or people who have a reasonable understanding of network infrastructure.

ARDI Server (Client Side)

Follow the standard procedure for adding a driver to ARDI, but this time you will need to nominate the address (the IP address of the machine running the driver) and the port (a port you've selected - we suggest choosing a port 12000 or greater) when setting it up.

This will let ARDI know that the driver in question resides on an external system.

You will also need to add the machine hosting the driver to ARDIs trust list, allowing that server to request information from ARDI without requiring authentication.

Driver Host (Server Side)

WINDOWS

You will need to install the full python suite as well as any extra python modules required by individual drivers (such as OpenOPC or pymodbus) before the drivers can run.

You will then need to copy the drivers folder from your ARDI host - this will most likely be in C:\Program Files (x86)\Optrix\ARDI\Drivers.

Ensure the python executable is in your Windows path.

Finally, run the ardiinstdrv tool with the command below, from an elevated command-prompt…

python ardiinsdrv <driver type> –-server <ARDI server IP> --port <ARDI driver port number>

Where driver type is the name of the ARDI driver (ie. influx for InfluxDB).

This will launch the driver, but instead of trying to send information to the local ARDI installation it will send all information to the machine identified by the –server directive.

For the ‘—port’ parameter, use the port that was specified when adding the driver to your ARDI system.

Linux

In Linux, the process is a little simpler….

sudo apt-get install ardi-drivers <driver>
 
sudo /opt/ardi/drivers/ardiinsdrv <driver type> --server <ARDI Server IP> --port <ARDI Driver Port>

Where driver is the package name of the driver (ie. ardi-influx for InfluxDB) and driver type is the same, without the 'ardi-' in front (ie. influx).

The Linux version can install all of the pre-requisites required for the remote ARDI driver and set everything else up for you.

Configuring Firewall

Please note – it is extremely important that your firewall allows access to the port number that is configured for your driver – ARDI and your remote driver will not be able to communicate without it.

The port number in your ARDI server and your driver host must match – for instance, if you installed your driver on the driver host machine on port 9050, your ARDI installation should use the same port.