Expanding Raspberry PI I/O using I²C on Azure IoT Edge

The GPIO of a Raspberry gives you the opportunity to interact with the physical world using digital pins and various IO busses like SPI and I²C.

In the past, in this blog, I already demonstrated how to access the GPIO of a Raspberry Pi.

In the last few months, I spent my spare time building a beerlift:

The beerlift is capable to serve multiple bottles of beer so each bottle has its bottle holder:

The bottle holder contains a switch to detect a bottle being placed or being removed. It also contains a LED so it can visualize if a bottle is placed or removed or eg. advertised.

I wanted to support up to sixteen bottles (so 32 switches and LEDs) which exceed the GPIO pin limitation of a Raspberry Pi.

Therefore, I bought myself a couple of MCP23017 I/O Expanders. This device offers sixteen digital inputs or outputs over a serial interface. I went for the I2C version:

Let’s see how we can use them in an Azure IoT Edge solution.

Doorgaan met het lezen van “Expanding Raspberry PI I/O using I²C on Azure IoT Edge”

IoT Edge Docker Module with GPIO support on RPi

The C# .Net Core framework is pretty versatile. Next to all the operating system features and Windows features, it also supports GPIO for a variety of devices: Raspberry PI, Hummingboard, Windows 10 (core), etc.

I was interested in accessing the GPIO in an Azure IoT Edge solution on a Raspberry Pi.

I am aware of the elevated rights needed. It’s the same with serial ports access I encountered in the past.

So I did a test, quite similar to the setup of this GPIO introduction:

Let’s check out how we can get this running in an IoT Edge module.

Doorgaan met het lezen van “IoT Edge Docker Module with GPIO support on RPi”