Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This document will walk you through installing and running the essential EdgeX Foundry microservices on a RaspberryPi for testing and evaluation. This is not an officially supported way of running EdgeX Foundry, and should not be used in a production environment. This guide is for developers who want to learn EdgeX by running it as a mock gateway device on a commonly available hobbyist device. 

Info
titleKnow your device

This guide has been tested to work on a RaspberryPi 3B+, it may work on other models of the RaspberryPi 3, but it will not work on any older or lighter variations of the RaspberryPi as it requires a 64bit capable CPU.

...

The RaspberryPi 3B+ has a full gig of ram, but while running MongoDB (and also when building from source if you choose to do so) this may not be enough. So before going any further you will first want to create some additional memory capacity by adding a swap file to your filesystem. Run the following command to create a new 2GB swap file:

sudo touch /tmp/theswap
sudo chmod 600 /tmp/theswap
sudo dd if=/dev/zero of=/tmp/theswap bs=1M count=2048
sudo mkswap /tmp/theswap 
sudo swapon /tmp/theswap

Install system dependencies

...

The easiest way to get EdgeX Foundry is to install the officially supported edgexfoundry snap from the snap store. 

...

Running EdgeX with docker-compose

EdgeX Foundry additionally supports running via a docker-compose file from the IoTech Community Developer Kit. To run that docker-compose file, install docker:

...

docker-compose up -d

Building EdgeX from source

Note that running EdgeX from source is not a supported way and not recommended for production.

Install Go & Glide

To get the exact same version of Go as used by the EdgeX, install it using the go snap (note that the project currently uses Go 1.11 for the upcoming Edinburgh release, but the Delhi release was originally built with go 1.10, however go being backwards compatible you should still be able to build the Delhi release of EdgeX with go 1.11) :

sudo snap install go --channel=1.11 --classic

cat >> ~/.bashrc << 'EOF'

export GOPATH=$HOME/go

export PATH=/usr/local/go/bin:$PATH:$GOPATH/bin

EOF

source ~/.bashrc

mkdir -p $GOPATH/bin

...