IoT Hub Raspberry Pi 3 Client application

par Xin Shi
Dernière mise à jour : 21/11/2018
Modifier sur GitHub

This repo contains the source code to help you get familiar with Azure IoT using the Microsoft IoT Pack for Raspberry Pi 3 Starter Kit. You will find the lesson-based tutorials on

This repo contains an arduino application that runs on Raspberry Pi 3 with a BME280 temperature&humidity sensor, and then sends these data to your IoT hub. At the same time, this application receives Cloud-to-Device message from your IoT hub, and takes actions according to the C2D command.

Set up your Pi

Enable SSH on your Pi

Follow this page to enable SSH on your Pi.

Enable I2C on your Pi

Follow this page to enable I2C on your Pi

Install new nodejs new version

Check your nodejs version on your Pi:

node -v

If your nodejs' version is below v4.x, please follow the instruction to install a new version of nodejs

curl -sL | sudo -E bash
sudo apt-get -y install nodejs

Connect your sensor with your Pi

Connect with a physical BEM280 sensor and LED

You can follow the image to connect your BME280 and a LED with your Raspberry Pi 3.


You can use the application to simulate temperature&humidity data and send to your IoT hub. 1. Open the config.json file. 2. Change the simulatedData value from false to true.

Running this sample

Install package

Install all packages by the following command:

npm install

Run your client application

Run the client application with root priviledge, and you also need provide your Azure IoT hub device connection string, note your connection should be quoted in the command.

sudo node index.js '<your Azure IoT hub device connection string>'

Send Cloud-to-Device command

You can send a C2D message to your device. You can see the device prints out the message and blinks once receiving the message.

Send Device Method command

You can send start or stop device method command to your Pi to start/stop sending message to your IoT hub.