Your submission was sent successfully! Close

You have successfully unsubscribed! Close

Turning your Raspberry Pi 4 into an Edge Gateway (Part I)

Galem KAYO

on 26 November 2019

This article was last updated 2 years ago.


Developers get new opportunities to innovate with the emergence of edge computing. However, to unleash this innovation, form factors and software stacks suitable for hacking edge applications need to be made accessible. Canonical has enabled Ubuntu on the Raspberry Pi 4 for this purpose. Furthermore,  popular edge and IoT platforms are available and easily deployable from the Snap Store.

When it comes to IoT edge, EdgeX Foundry is a feature-rich platform for accelerated development. Not only is EdgeX Foundry open source, but it also puts a strong accent on interoperability. These factors combine to catalyse an ecosystem of components federating the IoT space. The platform thereby accelerates the development of IoT solutions across various industrial and enterprise use cases.

This blog showcases an entry-level stack for IoT edge hacking. Prerequisite for this tutorial is a Raspberry Pi 4, with Ubuntu installed. We will see how to make an IoT edge gateway with EdgeX Foundry.

Quick install of EdgeX Foundry with Snap

With Ubuntu 19.10 installed on the Raspberry Pi 4, the EdgeX Foundry snap can be installed in a single command:

$ sudo snap install edgexfoundry

This simple command, installs all services required to run EdgeX. The services are also launched in the background. Services that come bundled with the edgexfoundry snap can be listed by issuing the snap services command.

$ sudo snap services edgexfoundry

The snap services command also shows if existing services are enabled and active.

Enabling Services

Upon installation, the following services are automatically enabled:

  • cassandra (persistent storage for Kong)
  • consul (aka ‘the registry’)
  • core-command
  • core-config-seed
  • core-data
  • core-metadata
  • edgexproxy
  • kong-daemon
  • mongod
  • mongo-worker
  • pkisetup
  • sys-mgmt-agent
  • vault
  • vault-worker

The following services are disabled by default:

  • support-notifications
  • support-logging
  • support-scheduler
  • export-client
  • export-distro
  • device-virtual
  • device-random

Any disabled service can be enabled and started as follows:

$ sudo snap set edgexfoundry support-notifications=on

Installing the Management Client

EdgeX instances can be conveniently managed in a web browser from a desktop. Management tasks like pairing devices to a gateway, creating device profiles, or visualising data can be carried out through the web UI. The edgex-ui-go snap delivers this interface. To install, run the following:

sudo snap install edgex-ui-go --channel=latest/beta

The web UI for gateway and device management will become available in the browser at  http://localhost:4000. The default user credentials are username: admin / password:admin.

Provisioning the Edge Gateway

After login, the user will be redirected to the gateway management page. To provision the Raspberry Pi 4 device as a gateway, a user will add it through the web UI. A name, a description and the network IP address of the board (obtained via command: hostname -I) will be required.

Resources

Next steps

In the second part of this tutorial, the gateway will be connected to virtual devices. We will then explore both the Southbound (from device to gateway), and the Northbound (gateway to cloud)  data transmission through the gateway.

rapsberry pi logo

Ubuntu Desktop for Raspberry Pi

Watch the live event of the 20.10 launch the and find out all the news about the new Ubuntu Desktop image for Raspberry Pi.

Discover more ›

Newsletter signup

Select topics you're
interested in

In submitting this form, I confirm that I have read and agree to Canonical's Privacy Notice and Privacy Policy.

Related posts

Canonical presents EdgeX to the community

With a longstanding commitment to Edge and IoT applications, Canonical has historically placed great emphasis on EgdeX – a set of microservices that enable...

Edge computing is dead, long live micro clouds and IoT gateways

“The King is dead, long live the King.” It might be my french roots speaking, but it seems that actual use cases are replacing King Edge, and it might be for...

Linux for schools: why use Ubuntu for education

How Ubuntu Desktop combines hardware support, administrative and productivity tools to empower students and keep control in the hands of educators.