Connect Raspberry Pi online simulator to Azure IoT Hub (Node.js)

In this tutorial, you begin by learning the basics of working with Raspberry Pi online simulator. You then learn how to seamlessly connect the Pi simulator to the cloud by using Azure IoT Hub.

If you have physical devices, visit Connect Raspberry Pi to Azure IoT Hub to get started.

What you do

  • Learn the basics of Raspberry Pi online simulator.
  • Create an IoT hub.
  • Register a device for Pi in your IoT hub.
  • Run a sample application on Pi to send simulated sensor data to your IoT hub.

Connect simulated Raspberry Pi to an IoT hub that you create. Then you run a sample application with the simulator to generate sensor data. Finally, you send the sensor data to your IoT hub.

What you learn

  • How to create an Azure IoT hub and get your new device connection string. If you don't have an Azure account, create a free Azure trial account in just a few minutes.
  • How to work with Raspberry Pi online simulator.
  • How to send sensor data to your IoT hub.

Overview of Raspberry Pi web simulator

Click the button to launch Raspberry Pi online simulator.

There are three areas in the web simulator.

  1. Assembly area - The default circuit is that a Pi connects with a BME280 sensor and an LED. The area is locked in preview version so currently you cannot do customization.
  2. Coding area - An online code editor for you to code with Raspberry Pi. The default sample application helps to collect sensor data from BME280 sensor and sends to your Azure IoT Hub. The application is fully compatible with real Pi devices.
  3. Integrated console window - It shows the output of your code. At the top of this window, there are three buttons.
    • Run - Run the application in the coding area.
    • Reset - Reset the coding area to the default sample application.
    • Fold/Expand - On the right side there is a button for you to fold/expand the console window.


The Raspberry Pi web simulator is now available in preview version. We'd like to hear your voice in the Gitter Chatroom. The source code is public on Github.

Overview of Pi online simulator

Create an IoT hub

  1. Sign in to the Azure portal.

  2. Select Create a resource > Internet of Things > IoT Hub.

    Screenshot of Azure portal navigation to IoT Hub

  3. In the IoT hub pane, enter the following information for your IoT hub:

    • Subscription: Choose the subscription that you want to use to create this IoT hub.

    • Resource group: Create a resource group to host the IoT hub or use an existing one. For more information, see Use resource groups to manage your Azure resources.

    • Region: Select the closest location to you.

    • Name: Create a name for your IoT hub. If the name you enter is available, a green check mark appears.


    The IoT hub will be publicly discoverable as a DNS endpoint, so make sure to avoid any sensitive information while naming it.

    IoT Hub basics window

  4. Select Next: Size and scale to continue creating your IoT hub.

  5. Choose your Pricing and scale tier. For this article, select the F1 - Free tier if it's still available on your subscription. For more information, see the Pricing and scale tier.

    IoT Hub size and scale window

  6. Select Review + create.

  7. Review your IoT hub information, then click Create. Your IoT hub might take a few minutes to create. You can monitor the progress in the Notifications pane.

Now that you have created an IoT hub, locate the important information that you use to connect devices and applications to your IoT hub.

In your IoT hub navigation menu, open Shared access policies. Select the iothubowner policy, and then copy the Connection string---primary key of your IoT hub. For more information, see Control access to IoT Hub.


You do not need the iothubowner connection string for this set-up tutorial. However, you may need it for some of the tutorials or different IoT scenarios after you complete this set-up.

Get your IoT hub connection string

Register your device in the IoT hub

  1. In your IoT hub navigation menu, open IoT devices, then click Add to register a device in your IoT hub.

    Add a device in the IoT Devices of your IoT hub

  2. Enter a Device ID for the new device. Device IDs are case sensitive.


    The device ID may be visible in the logs collected for customer support and troubleshooting, so make sure to avoid any sensitive information while naming it.

  3. Click Save.

  4. After the device is created, open the device from the list in the IoT devices pane.

  5. Copy the Connection string---primary key to use later.

    Get the device connection string

Run a sample application on Pi web simulator

  1. In coding area, make sure you are working on the default sample application. Replace the placeholder in Line 15 with the Azure IoT hub device connection string. Replace the device connection string

  2. Click Run or type npm start to run the application.

You should see the following output that shows the sensor data and the messages that are sent to your IoT hub Output - sensor data sent from Raspberry Pi to your IoT hub

Next steps

You’ve run a sample application to collect sensor data and send it to your IoT hub.

To continue to get started with Azure IoT Hub and to explore other IoT scenarios, see the following: