#RaspberryPi – Install #AzureIoT, a couple of tips to make it work

Hi !

It’s #JulyOT time, and I need to update this post. A lot of amazing IoT content here:


And let’s go with the updated version.

The base steps for this posts are described in the official page [Install or uninstall Azure IoT Edge for Linux] (see references). In the official documentation, you can also find the prerequisites and links on additional steps.

An important note here is to mention:

By June 30, 2022 we will retire Raspberry Pi OS Stretch from the Tier 1 OS support list. To avoid potential security vulnerabilities update your host OS to Bullseye.

IoT Edge on RPI os will be retired from the support list on June 30

I’ll start here when you already have an Azure IoT environment, a connection string for an Edge Device and a Raspberry Pi 4 with Raspberry Pi OS installed. Let’s go.

Let’s prepare your device to access the Microsoft installation packages.

curl https://packages.microsoft.com/config/debian/stretch/multiarch/prod.list > ./microsoft-prod.list

Copy the generated list to the sources.list.d directory.

sudo cp ./microsoft-prod.list /etc/apt/sources.list.d/

Install the Microsoft GPG public key.

curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
sudo cp ./microsoft.gpg /etc/apt/trusted.gpg.d/

Now that we added the Microsoft sources, it’s time to update our package lists

sudo apt-get update

[Bruno] I also did a full update using the following command

curl https://packages.microsoft.com/config/debian/11/packages-microsoft-prod.deb > ./packages-microsoft-prod.deb
sudo apt install ./packages-microsoft-prod.deb

[Bruno] and before install the docker engine (moby-engine), I installed this specific version of libssl

sudo apt-get install libssl1.0.2

Install the Moby engine.

sudo apt-get update; \
  sudo apt-get install moby-engine

[Bruno] Time to update again the packages

sudo apt-get update

And time to install the most recent version of IoT Edge

sudo apt-get update; \
  sudo apt-get install aziot-edge

Provision the device with its cloud identity

From here and on, you can check the official documentation on how to add your device connection string to register the device. Once the device is registered the following command will help us to check the service

sudo iotedge system status

An output similar to this one is a great OK message !

However, there are scenarios where you may find that edgeHub is not running locally.

A quick fix is to set the edgeHub version to 1.2

update edgeHub runtime settings to 1.2

And, when we list the current running modules, we will have both !

iotedge agend and hub running

Happy coding!


El Bruno

More posts in my blog ElBruno.com.

More info in https://beacons.ai/elbruno


My posts on Raspberry Pi ⚑🐲⚑

Dev posts for Raspberry Pi
Tools and Apps for Raspberry Pi
Setup the device


1 comment

Leave a comment

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: