How-To Install Intelligence Hub on an Opto22 Goov EPIC

What Does This Article Cover?

This guide will walk through the steps to install the HighByte Intelligence Hub on an Opto22 Groov EPIC.

Instructions:

Install JRE 17 LTS build for 32bit ARM

To run the Intelligence Hub Java 11 or newer is required. The Groov Epic comes pre-installed with Java 8 which is not sufficient to run the Intelligence Hub. The Groov EPIC has a 32 bit ARM processor which requires a special build of Java. Oracle OpenJDK does not provide Java builds compatible with the Groov EPIC.

  1. Navigate your web browser to https://bell-sw.com/pages/downloads/
  2. Select JDK 17 LTS
  3. Scroll down to the 32 bit section
  4. Click ARM
  5. Choose Package: Standard JRE
  6. Download the TAR.GZ “Liberica Standard JDK 17.0.6+10 arm 32 for Linux”
  7. Copy the file onto your Groov Epic
  8. Uncompress and store the files in /opt/jdk – sudo tar xvf bellsoft-jre17.0.6+10-linux-arm32-vfp-hflt.tar.gz --directory /opt/jdk
Install the Intelligence Hub

To run the Intelligence Hub, the product files are required. These steps are a suggestion. The reader may choose to copy the intelligence files to an alternate location but will need to update file paths later in the guide.

  1. Download the Intelligence Hub from the portal https://portal.highbyte.com
  2. Copy the Intelligence Hub zip file onto your Groov Epic
  3. Uncompress and store the files in /opt sudo unzip HighByte-Intelligence-Hub-3.0.0 (Build 2023.2.22.471).zip -d /opt
Create a firewall rule to allow access to the Intelligence Hub

Consult the Opto22 Groov EPIC manual on how to create a firewall rule allowing access to port 45245

Configure linux to start the Intelligence Hub on reboot

The Groov EPIC uses SysV init scripts to manage application startup on the device. To ensure the Intelligence Hub is automatically started after a power failure or the device reboots we will add an init script.

  1. Use vim to create /etc/init.d/highbyte with these contents

    bash
    #!/bin/bash
    ## Demonstrate creating your own init scripts
    # chkconfig: 2345 92 65
    ### BEGIN INIT INFO
    # Provides: HighByte
    # Required-Start: $local_fs $all
    # Required-Stop:
    # Default-Start: 2345
    # Default-Stop:
    # Short-Description: Run HighByte
    # Description: Run HighByte intelligence Hub
    ### END INIT INFO
    ##case statement to be used to call functions##
    case "$1" in
         start)
             pushd /opt/HighByte-Intelligence-Hub-3.0.0/runtime > /dev/null 2>&1 || return
             /opt/jdk/jdk-17.0.6/bin/java -cp "intelligencehub-runtime-3.0.jar:lib/*" \
                com.highbyte.intelligencehub.runtime.Main start > /dev/null 2>&1 &
             popd > /dev/null 2>&1 || return
             ;;
         stop)
             pushd /opt/HighByte-Intelligence-Hub-3.0.0/runtime > /dev/null 2>&1 || return
             /opt/jdk/jdk-17.0.6/bin/java -cp "intelligencehub-runtime-3.0.jar:lib/*" \
                com.highbyte.intelligencehub.runtime.Main stop > /dev/null 2>&1 &
             popd > /dev/null 2>&1 || return
             ;;
        *)
            echo $"Usage: $0 {start|stop}"
            exit 5
    esac
    exit $?
  2. Make the newly created script executable chmod +x /etc/init.d/highbyte

  3. Create symbolic links for runlevels 3, 4 and 5 to start the Intelligence Hub:

bash
#sample commands
sudo ln -s /etc/init.d/highbyte /etc/rc3.d/S99highbyte
sudo ln -s /etc/init.d/highbyte /etc/rc4.d/S99highbyte
sudo ln -s /etc/init.d/highbyte /etc/rc5.d/S99highbyte
  1. The setup is complete, test it out by running sudo /etc/init.d/highbyte start, then once the Intelligence Hub starts access the web based config from your web browser http://<Groov Epic IP>:45245 where <Groov Epic IP> is the IP address of your device.
  2. Be sure to reboot your device and ensure the hub starts running on its own before going to production.