Your submission was sent successfully! Close

You have successfully unsubscribed! Close

Thank you for signing up for our newsletter!
In these regular emails you will find the latest updates about Ubuntu and upcoming events where you can meet our team.Close

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

Galem KAYO

on 26 November 2019

This article was last updated 3 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

Get the latest Ubuntu news and updates in your inbox.

By submitting this form, I confirm that I have read and agree to Canonical's 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 AI: what, why and how with open source

Edge AI is transforming the way that devices interact with data centres, challenging organisations to stay up to speed with the latest innovations. From...

5 Edge Computing Examples You Should Know

In this blog, we’re exploring edge computing examples, its diverse applications and use cases, with a special focus on how Canonical’s MicroCloud fits...