Fernhill SCADA on Raspberry Pi OS

Help Contents

Introduction

The Raspberry Pi OS is the Raspberry Pi Foundation's officially supported operating system for Raspberry Pi hardware. Raspberry Pi OS is based on Debian Linux and is optimized for the Raspberry Pi hardware.

Note: Raspberry PI OS was previously called Raspbian.

These instructions show you how to:

The sudo Command and the root Account

On a clean installation of Raspberry Pi OS, the root account is disabled. Users administer Raspberry Pi OS using the sudo command, which grants temporary privileged access.

These instructions use to sudo command to perform root administration tasks. If you have enabled the root account, you can avoid using sudo by following Setup Fernhill SCADA for Debian Linux.

Install Fernhill SCADA on the 32-bit Raspberry Pi OS

To Install Fernhill SCADA on the 32-bit version of Raspberry Pi OS:

  1. Download the armhf version of Fernhill SCADA

    Do one of the following:

  2. Install the setup package

    Use the following Advanced Package Tool command to install Fernhill SCADA:

    sudo apt install ./fernhill-scada_4.4_armhf.deb

Install Fernhill SCADA on the 64-bit Raspberry Pi OS

If you are installing Fernhill SCADA on Raspberry PI 5 hardware, make sure it is configured to run with a 4KB memory page size. By default a Raspberry PI 5 will run with a 16KB memory page size, which is not compatible with Fernhill SCADA. To configure a Raspberry PI 5 to run with a 4KB memory page size:

  1. Add the following line to end of the file: /boot/config.txt
    kernel=kernel8.img
  2. Reboot the Raspberry PI 5.
  3. After the Raspberry PI 5 has restarted, run this command to check the page size is 4096 (4KB):
    getconf PAGESIZE

To Install Fernhill SCADA on the 64-bit version of Raspberry Pi OS:

  1. Download the arm64 version of Fernhill SCADA

    Do one of the following:

  2. Install the setup package

    Use the following Advanced Package Tool command to install Fernhill SCADA:

    sudo apt install ./fernhill-scada_4.4_arm64.deb

Configure and Start the Fernhill SCADA Server

If you want to run the Fernhill SCADA Server on the Raspberry Pi device, follow these steps:

  1. Start the Fernhill SCADA Service

    Use this systemd system and service manager command to start the Fernhill SCADA service:

    sudo systemctl start fernhill-scada

  2. Check the Fernhill SCADA Service is running

    Use this systemd system and service manager command to show the status of the Fernhill SCADA service:

    systemctl status fernhill-scada

    The output of the above command should look similar to:

    โ— fernhill-scada.service - Fernhill SCADA Server for Unix
       Loaded: loaded (/lib/systemd/system/fernhill-scada.service; enabled; vendor preset: ...
       Active: active (running) since Tue 2018-08-28 14:48:15 BST; 2min 43s ago
      Process: 363 ExecStart=/usr/bin/fernhill-scada --pidfile /var/run/fernhill-scada.pid ...
     Main PID: 404 (fernhill-scada)
        Tasks: 10 (limit: 4915)
       CGroup: /system.slice/fernhill-scada.service
               โ””โ”€404 /usr/bin/fernhill-scada --pidfile /var/run/fernhill-scada.pid --daemon
  3. Enable the Fernhill SCADA Service to start on system start

    Use this systemd system and service manager command to enable the Fernhill SCADA service to start on system start:

    sudo systemctl enable fernhill-scada

Optional - Register the ODBC Driver with UnixODBC

This is an optional step to register the ODBC Driver with UnixODBC. If you do not plan to use ODBC, you can skip this section.

If you want to access Fernhill SCADA data from a Linux computer using the UnixODBC Driver Manager follow these steps:

  1. Check if UnixODBC and odbcinst are installed

    Use this Package Manager command to check if UnixODBC and odbcinst are installed:

    dpkg -s unixodbc odbcinst

    If both are installed, go to step 3. If either are missing, continue with step 2.

  2. Install UnixODBC and odbcinst

    Use this Advanced Package Tool command to install UnixODBC:

    sudo apt install unixodbc odbcinst

  3. Register the Fernhill SCADA ODBC Driver with UnixODBC

    Use this command to register the Fernhill SCADA ODBC driver with UnixODBC:

    sudo odbcinst -i -d -f /usr/share/fernhill-scada/unixodbc-fhscada

  4. Check the ODBC Driver has registered Successfully

    Use this command to view the contents of /etc/odbcinst.ini:

    cat /etc/odbcinst.ini

    After successful registration you should see an entry in the file similar to the following

    [Fernhill SCADA]
    Description=Fernhill SCADA ODBC Driver
    Driver=/usr/lib/fernhill-scada/libFHOdbc.so
    Setup=/usr/lib/fernhill-scada/libFHOdbc.so
    ...
    

See Setting up an ODBC User DSN for UnixODBC on Linux for help on setting up a DSN.

Connect the Configuration Tool to Fernhill SCADA on Raspberry Pi OS

The Configuration Tool provides a suite of tools to configure Fernhill SCADA. To connect the configuration tool to Fernhill SCADA running on a Raspberry Pi:

  1. Start the Configuration Tool.

    Note: The Configuration Tool is currently only supported on Windows.

  2. On the Start Page, click Connect to Fernhill SCADA.
  3. Enter the IP address of the Raspberry Pi computer running Fernhill SCADA.
  4. Remove the check from the option Integrated Windows authentication.
  5. Enter the username and password of an account on the Raspberry Pi computer.
  6. Click OK to connect.

For information on how to assign Fernhill SCADA User Rights to Raspberry Pi users see Fernhill SCADA User Rights on Linux.

Configure Fernhill SCADA to work with GPIO

Use the GPIO Driver to configure Fernhill SCADA to work with the GPIO on the Raspberry PI board.

Further information

Configuration Tool

To learn about the tool to configure Fernhill SCADA.

GPIO Driver

To learn how to configure Fernhill SCADA to work with GPIO.

Setting up an ODBC User DSN for UnixODBC on Linux

To learn about setting up an ODBC Data Source Name (DSN) for UnixODBC on Linux.

User Rights on Linux

To learn how to assign users rights for Fernhill SCADA running on Linux.

Fernhill SCADA Setup

To learn about the different setup packages.

Glossary

For the meaning of terms used in Fernhill SCADA.