var connectionString = '[IoT Device Connection String]';
node iothub-explorer.js monitor-events <device-id> --login "<iothub-connection-string>"
npm install node simple_sample_device.js
Prepare your development environment
This document describes how to prepare your development environment to use the Microsoft Azure IoT SDK for Node.js.
Setup your development environment
Complete the following steps to set up your development environment:
1. Ensure that Node.js version 0.12.x or later is installed. Run node --version at the command line to check the version.
2. installed Node.js,
3. clone azure-iot-sdks to your development machine or device. You should always use the master branch for the latest version of the libraries and samples.
4. Open the Node.js command prompt and navigate to the node folder in your local copy of this repository (azure-iot-sdks). Run the build\dev-setup.cmd script to prepare your development environment.
Set up IoT Hub
Before you can communicate with IoT Hub from a device you must create an IoT hub instance in your Azure subscription and then provision your device in your IoT hub.
Create an IoT hub
You can use the Azure Portal to create an IoT hub to use with your devices.
1. Log on to the Azure Portal.
2. In the jumpbar, click New, then click Internet of Things, and then click Azure IoT Hub.
4. Once the new IoT hub options are configured, click Create. It can take a few minutes for the IoT hub to be created. To check the status, you can monitor the progress on the Startboard. Or, you can monitor your progress from the Notifications section.
5. After the IoT hub has been created successfully, open the blade of the new IoT hub, take note of the hostname URI, and click Shared access policies.
6. Select the Shared access policy called iothubowner, then copy and take note of the connection string on the right blade.
Your IoT hub is now created, and you have the connection string you need to use the iothub-explorer or the Device Explorer tool. This connection string enables applications to perform management operations on the IoT hub such as adding a new device to the IoT hub.
Manage IoT Hub
Before a device can communicate with IoT Hub, you must add details of that device to the IoT Hub device identity registry. When you add a device to your IoT Hub device identity registry, the hub generates the connection string that the device must use when it
establishes its secure connection to your hub. You can also use the device identity registry to disable a device and prevent it from connecting to your hub.
To add devices to your IoT hub and manage those devices, you can use either of:
1. The cross-platform, command-line iothub-explorer tool
2. Graphical Device Explorer tool
Use either of these tools to generate a device-specific connection string that you can copy and paste in the source code of the application running on your device. Both tools are available in this repository.
Note: While IoT Hub supports multiple authentication schemes for devices, both these tools generate a pre-shared key to use for authentication.
Note: You must have an IoT hub running in Azure before you can provision your device. The document Set up IoT Hub describes how to set up an IoT hub.
You can also use both of these tools to monitor the messages that your device sends to an IoT hub and send commands to you your devices from IoT Hub.
Use the iothub-explorer tool to provision a device
The iothub-explorer tool is a cross-platform, command-line tool (written in Node.js) for managing your devices in IoT hub. You will need to pre-install Node.js for your platform including npm package manager from nodejs.org
To install this tool in your environment, run the following command in a terminal/shell window on your machine:
npm install -g iothub-explorer
See Install fiothub-explorer
or more information.
To provision a new device:
1. Get the connection string for your IoT hub. See Set up IoT Hub for more details.
2. Run the following command to register your device with your IoT hub. When you run the command, replace <iothub-connection-string> with the IoT Hub connection string from the previous step and replace <device-name> with a name for your device such as mydevice.
iothub-explorer <iothub-connection-string> create <device-name> --connection-string
You should see a response like this:
Created device mydevice - ... - connectionString: HostName=<hostname>;DeviceId=mydevice;SharedAccessKey=<device-key>
Copy the device connection string information for later use. The samples in this repository use connection strings in the format:
To get help on using the iothub-explorer tool to perform other tasks such as listing devices, deleting devices, and sending commands to devices, enter the following command:
For further information about using the iothub-explorer tool to perform tasks such as disabling a device, monitoring a device, and sending commands to a device see: