Set up RevPiPyLoad on the new Revolution Pi

The current Revolution Pi models come with RevPiPyLoad preinstalled. In addition to executing and monitoring your Python control program, the service can also help debug the IOs, enables access to the process image via the network and offers MQTT functionalities.

Activate service

The service is activated via the Revolution Pi website. To do this, go to the website with the browser of your choice and log in there.

Switch to the “SERVICES” tab.

Below you will find the “Enable / Disable RevPiPyLoad” service, which you can basically activate by clicking on “Enabled” and “SAVE ALL”.

If you use the GUI on the Revolution Pi, you will find the RevPiPyLoad / RevPiCommander tool there. These tools can already access RevPiPyLoad on localhost with port 55123 (but only from Revolution Pi).

Adjust network access

For security reasons, access to RevPiPyLoad with the GUI tools is limited in the delivery status of localhost only. The Revolution Pi can only be accessed from the Revolution Pi.

If we want to use the convenience of RevPiPyControl / RevPiCommander from another computer in the network, we can adjust the configuration /etc/revpipycontrol/revpipycontrol.conf, or use an assistant on the Revolution Pi.

revpipyload_secure_installation

Switches to the shell on the Revolution Pi, either directly on the Pi via a terminal or via SSH over the network. Execute the command there

sudo revpipyload_secure_installation

and follow the instructions. In this example we allow access over the network, but only from local IP addresses via the GUI tools. The authorizations of the IPs can then be easily adjusted using the GUI tool.

This will secure your installation of RevPiPyLoad.

We found the following configuration files:
    RevPiPyLoad:   /etc/revpipyload/revpipyload.conf
    XML-RPC ACL:   /etc/revpipyload/aclxmlrpc.conf

Access with RevPiPyControl is activated from this computer only (localhost).

Do you want to allow connections from remote hosts? (y/N) y
Reset the ACL file to allow all private networks? (y/N) y

This is the actual ACL file (/etc/revpipyload/aclxmlrpc.conf):
10.*.*.*        - Level: 4      |     127.*.*.*       - Level: 4 
169.254.*.*     - Level: 4      |     172.16.*.*      - Level: 4 
172.17.*.*      - Level: 4      |     172.18.*.*      - Level: 4 
172.19.*.*      - Level: 4      |     172.20.*.*      - Level: 4 
172.21.*.*      - Level: 4      |     172.22.*.*      - Level: 4 
172.23.*.*      - Level: 4      |     172.24.*.*      - Level: 4 
172.25.*.*      - Level: 4      |     172.26.*.*      - Level: 4 
172.27.*.*      - Level: 4      |     172.28.*.*      - Level: 4 
172.29.*.*      - Level: 4      |     172.30.*.*      - Level: 4 
172.31.*.*      - Level: 4      |     192.168.*.*     - Level: 4 

Do you want to apply the new settings now? (Y/n) y
[ ok ] Reloading revpipyload configuration (via systemctl): revpipyload.service.

The wizard can be used as often as required and also enables setup individual IP addresses . If you like to enter selected IP addresses, select “n” on the Question ACL file to allow all private networks?.

Using the GUI

From now on the GUI tools RevPiPyControl / RevPiCommander can connect to the computers with the specified IP addresses. An IO check or the control program can be programmed conveniently via the network.

Click in the RevPiCommander to “File->Search Revolution Pi…” and the dialog will search for your devices in the local network.

All settings are available via the GUI tools and can be changed (depending on the ACL level).