AdSense
Thursday, August 3, 2017
Microsoft Azure IoT platform (2): connecting a simulated device to an IoT Hub using Node.js
MICROSOFT AZURE (2): CONNECTING A SIMULATED DEVICE TO AN IoT HUB USING NODE.JS
* This exercise is based on the previous one
1 - Creating a device identity
- CreateDeviceIdentity.js creates a device identity and associated security key to connect a simulated device app.
- Running this console app generates a unique device ID and key that the device can use to identify itself when it sends device-to-cloud messages to IoT Hub.
- New folder:
- Checking that node and npm are correctly installed:
- npm creates a json package, just accepting the default options:
- Installing the azure-iothub service SDK package:
- Writing the CreateDeviceIdentity.js file:
- It is important to notice that the variable connection string holds the "connection string - primary key" obtained in the previous exercise:
- Also, the deviceID must be entered:
- Running the program, a new Device key is generated:
- The Device key is written down or copied and added to the document with all the parameters and keys:
2 - Receive device to cloud messages
- ReadDeviceToCloudMessages.js displays the telemetry sent by the simulated device app, reading device-to-cloud messages from IoT Hub using the AMQP protocol.
- New folder:
- Creating a new json package file and accepting all the default options:
- Installing azure-event-hubs package and saving it:
- Writing the program ReadDeviceToCloudMessages.js:
- As before, it is important to notice that the connection string key must be introduced in the variable connectionString.
3 - Simulated Device
- SimulatedDevice.js connects the IoT hub with the device identity created earlier, and sends a telemetry message every second using the MQTT protocol.
- New folder:
- json package:
- Installing azure-iot-device and azure-iot-device-mqtt:
- Writing the program, and using the connectionString variable with the Device key value originated at the section Create a device identity (point 1 of this exercise):
- All of these parameters must be carefully entered:
4 - Running the application
- To run the two applications a separate console must be used, so that the communication between the simulated device and the IoT hub can be displayed.
- Running SimulatedDevice.js to send telemetry data to the IoT hub:
- Running ReadDeviceToCloudMessages.js to monitor the IoT hub: