#azure-iot-device The core components of the Azure IoT device SDK.
You need to install Node.js JavaScript runtime environment for Azure IoT JavaScript client SDK to run on your platform. For downloading Node.js refer to Node.js. To check if your platform (OS) is supported check if install package is available at Node.js. npm is a package manager command line tool that will be included when Node.js is installed. This is the tool that you will use to install Azure IoT node.js client side SDK.
npm install -g azure-iot-device@latest
to get the latest (pre-release) version.
This package contains the core components of the Azure IoT device SDK, but is lacking a transport over which to send events and receive messages. Your application must require a transport package in addition to the core package to do something useful.
For example, if you want to send an event from your device to an IoT Hub using the AMQP protocol you must first install the azure-iot-device-amqp package:
npm install -g azure-iot-device-amqp@latest
Then you can use the code below to send a message to IoT Hub.
Note that for this sample to work, you will need to setup your IoT hub and provision your device and get its credentials. In the code, replace '[IoT Hub device connection string]' with the device credentials created in the IoT Hub.
var connectionString = '[IoT Hub device connection string]';
// use factory function from AMQP-specific package
var clientFromConnectionString = require('azure-iot-device-amqp').clientFromConnectionString;
// AMQP-specific factory function returns Client object from core package
var client = clientFromConnectionString(connectionString);
// use Message object from core package
var Message = require('azure-iot-device').Message;
var connectCallback = function (err) {
if (err) {
console.error('Could not connect: ' + err);
} else {
console.log('Client connected');
var msg = new Message('some data from my device');
client.sendEvent(msg, function (err) {
if (err) {
console.log(err.toString());
} else {
console.log('Message sent');
};
});
};
};
client.open(connectCallback);
See the azure-iot-device-*
transport-specific packages for more information.