Ignition Edge, available starting with version 7.9.2, is a new stripped-down version of Ignition that is specifically designed for use as an Edge of Network device. It is well suited for devices with lower hardware specifications, like Raspberry Pi, a popular low budget lower-spec board running an ARM architecture processor. This guide will cover installing Ignition Edge on Raspberry Pi 3 running the Raspbian operating system with PIXEL (a light-weight graphical environment).
- Verify the prerequisites
- Install the Edge Gateway
- Further steps and considerations
This guide assumes your Raspberry Pi already has an operating system installed, either because your Raspberry Pi came with an SD card that already has an operating system or the NOOBS installer pre-installed, or because you installed the operating system yourself. If your Raspberry Pi does not have an operating system installed, you can find the downloads and directions you need here. The easiest way to get started is to use the NOOBS installer.
1. Verify the Prerequisites
To successfully install Ignition Edge on your Raspberry Pi board, you must first make sure that it has an operating system and Java installed.
Make sure your Raspberry Pi has an operating system installed
If your Raspberry Pi already has an operating system installed, skip this step. The next step is to make sure that Oracle Java 8 is installed.
If your Raspberry Pi came with an SD card that has NOOBS pre-installed, boot your Raspberry Pi from your SD card. You will be prompted to select an operating system from the menu. To follow along with this guide, select the "Raspbian with PIXEL" and follow the prompts to install the Raspbian operating system.
If you do not have an operating system installed on your Raspberry Pi, follow these instructions describing how to prepare your SD card and how to download and use the NOOBS installer to install an operating system. To follow along with this guide, select the "Raspbian with PIXEL" in the operating system selection menu that NOOBS will present.
You do not have to use NOOBS, and can select any other option available here if you have prior experience with Raspberry Pi and feel confident working through the installation. If you choose to do that, keep in mind that Support may not be familiar with the method you chose and may not be able to help you.
Make sure that Oracle Java 8 is installed
Ignition, including Ignition Edge, is a Java application, and requires that the operating system has Oracle Java SE installed. More specifically, Ignition Edge requires Java 8.
While you may be able to use OpenJDK instead of Oracle Java, it is not recommended as you may run into issues specific to OpenJDK, including potential performance issues on ARM architectures.
To check Oracle Java 8 is installed:
- Open the terminal
There are usually a few different ways to open the terminal; the specifics will vary depending on the operating system. To open the terminal on Raspbian, you can use one of the following methods:
- Click on the "Terminal" menu icon in the top menu bar on the screen
- Expand the start menu (click on "Raspberry" icon in the top left corner), select Accessories section, Terminal icon
- Use the
java -versionand press Enter.
If you have Oracle Java 8 installed, your output will look similar to this:
Make sure the output contains "Java(TM) SE" and the version / build number starts with "1.8"
If you do not have Oracle Java installed, you will need to install it. Please follow the instructions from Oracle on how to install Oracle Java 8 JRE on Linux platforms.
2. Install the Edge Gateway
Now that you have the operating system and Java 8 installed, you are ready download and install Ignition Edge. This section will walk you through the steps to get your Igniton Edge up and running.
Step 1: Download Ignition Edge Linux ARMF installer
To install Ignition Edge on Raspberry Pi, you will need a specific installer - the "Edge Linux ARMF installer". The generic Linux installer will not work because it is not intended for the processor architecture used on Raspberry Pi boards.
To download Ignition Edge Linux ARMF installer:
- Go to the Ignition downloads page.
- Scroll down to the "ARM" section and locate Ignition Edge - Linux ARMHF 32-bit zip installer.
- Download the Linux ARMHF 32-bit zip installer.
- If you use another computer to download the zip archive, move the archive to your Raspberry Pi.
Step 2: Extract the installer archive
Now you need to extract the installer you downloaded in the previous step into the /usr/local/ignition directory. The following steps will need to be performed in the terminal (command prompt). You can refer back to this section on how to open the terminal.
To extract the installer into the /usr/local/ignition directory:
Change into the directory to which you downloaded the installer, for example:
Extract the installer archive placing it into the /usr/local/ignition directory:
sudo unzip ./Ignition-Linux-armhf-7.9.2 -d /usr/local/ignition
Make sure to use the correct file name and location of your installer.
Step 3: Change into the Ignition installation directory
Change into the directory where you extracted the archive to:
The next few steps will be performed from the /usr/local/ignition directory.
Step 4: Make files executable
Change file permissions on the ignition.sh, ignition-gateway, and gcu.sh files to make them executable:
sudo chmod +x ignition.sh ignition-gateway gcu.sh
Step 5: Start Ignition Edge
From the /usr/local/ignition directory, run:
sudo ./ignition.sh start
If Ignition started correctly, you should see the process ID output in the terminal:
Step 6: Open the Gateway's web page
You can now navigate to the Gateway Web page. Open the Web browser and type the Gateway's address (http://localhost:8088) in the browser's address bar. You should see your Edge Gateway home page:
Congratulations! You have successfully installed and started Ignition Edge on Raspberry Pi!
3. Further steps and considerations
Start the Edge Gateway on boot
You will notice that if your reboot your Raspberry Pi, you will need to start the Edge Gateway manually again.
If you want to make the Edge Gateway start automatically on boot, follow these steps:
Run the following in the terminal to open the /etc/rc.local file in a text editor:
sudo nano /etc/rc.local
Right before exit 0, add the following:
Exit the file saving the changes.
Xto close the file. Choose to save changes when prompted.
Now your Edge Gateway will start automatically if you reboot your Raspberry Pi
Consider system resources
Raspberry Pi hardware specifications vary between models and change as new boards come out. Always check the memory (RAM) specifications for your Raspberry Pi board, and adjust heap size settings for your Ignition Edge Gateway accordingly.
The default installation of the Ignition Edge Gateway comes with the maximum heap size set to 1 GB. At the time of this writing, the highest RAM amount available on Raspberry Pi boards is also 1 GB (for example, for the Raspberry Pi 3 board). This means that the amount of RAM available on (for example) a Raspberry Pi 3 board is not sufficient to run the Edge Gateway with the default heap size, so you will need to reduce the maximum heap size setting for your Edge Gateway. When deciding what you should set the maximum heap size for the Gateway to, take into account the amount of memory on your Raspberry Pi board as well as what applications, other than the Gateway, you will be running.
For example, if you plan to use your Raspberry Pi 3, which comes with 1 GB RAM, for the Edge Gateway only, you could set the Gateway's maximum heap to 768 MB. However, if you are also planning to run a Client locally on your Raspberry Pi 3, you will need to account for the amount of memory the Client will need. For example, if the project the Client will run is set to use a maximum of 256 MB RAM, you will probably need to set the Gateway's maximum heap size to 512 MB.
For instructions on how to change the Gateway's heap size, please refer to this user manual page. When changing maximum heap size, remember to also adjust the initial heap size setting so it is no greater than the maximum heap size. When running within such tight memory contraints, consider setting the initial heap size and the maximum heap size to the same amount.
To stop the Edge Gateway run the following from the /usr/local/ignition directory:
sudo ./ignition.sh stop
To restart a running Edge Gateway run the following from the /usr/local/ignition directory:
sudo ./ignition.sh restart
You can also create a symlink to /usr/local/ignition/ignition.sh in your user directory so you can start, stop, and restart the Gateway without having to first change to /usr/local/ignition. To create a symlink to ignition.sh file, run:
sudo ln -s /usr/local/ignition/ignition.sh /usr/local/bin/ignition
Now you can start, stop and restart Ignition from the user directory, for example:
sudo ignition restart
Note that the link name in the command above is ignition, not ignition.sh. This is arbitrary and for convenience purposes only. You can give your link any name you like.
To lauch the Gateway Control Unitility run the following from the /usr/local/ignition directory:
The Gateway directory for your installation is /usr/local/ignition. This is where all the common files and folders can be found. For example:
- The wrapper logs are located in /usr/local/ignition/logs.
- The ignition.conf file is located in /usr/local/ignition/logs/data.
- The pylib directory containing Python libraries is located in /usr/local/ignition/user-lib.
You can also make the Edge Gateway run as a daemon or service; that is beyond the scope of this article.