Monitoraggio Remoto di Sensori con Azure IOT Suite Parte 2 di 2

Nella prima parte della guida Monitoraggio Remoto di Sensori con Azure IOT Suite abbiamo visto come utilizzare Azure IoT Suite per mettere in piedi, in pochi semplici passaggi, un’infrastruttura cloud alla quale connettere i nostri sensori.

IoT_Giulio

In questa guida utilizzeremo una board Intel Edison e un sensore di temperatura per realizzare la connessione con i servizi di Azure.

La board Intel Edison permette l’esecuzione di programmi scritti in JavaScript attraverso l’ambiente Node.js.

Per prima cosa, è necessario installare sulla board una Base Shield. Attaccheremo al pin A0 di quest’ultima il nostro sensore di temperatura.

Nel passo successivo, ci collegheremo alla board via SSH e scaricheremo due file eseguendo i seguenti comandi:

wget https://raw.githubusercontent.com/Azure-Samples/iot-hub-node-intel-edison-getstartedkit/master/remote_monitoring/remote_monitoring.js

wget https://raw.githubusercontent.com/Azure-Samples/iot-hub-node-intel-edison-getstartedkit/master/remote_monitoring/package.json

Editeremo il primo file attraverso il comando:

vi remote_monitoring.js

In particolare, è necessario individuare all’interno del file le seguenti righe per la connessione:

var hostName = '<IOTHUB_HOST_NAME>';

var deviceId = '<DEVICE_ID>';

var sharedAccessKey = '<SHARED_ACCESS_KEY>';

Per effettuare la connessione, andremo a sostituire <IOTHUB_HOST_NAME>, <DEVICE_ID>, <SHARED_ACCESS_KEY> con le tre stringhe che avevamo generano nella precedente guida ossia Nome host hub IoT, ID dispositivo e Chiave dispositivo.

Possiamo inoltre personalizzare alcune informazioni sulla nostra scheda e sul nostro sensore andando ad editare i seguenti metadati:

// Send device meta data
var deviceMetaData = {
'ObjectType': 'DeviceInfo',
'IsSimulatedDevice': 0,
'Version': '1.0',
'DeviceProperties': {
'DeviceID': deviceId,
'HubEnabledState': 1,
'CreatedTime': '2015-09-21T20:28:55.5448990Z',
'DeviceState': 'normal',
'UpdatedTime': null,
'Manufacturer': 'Intel',
'ModelNumber': 'Edison',
'SerialNumber': '12345678',
'FirmwareVersion': '159',
'Platform': 'node.js',
'Processor': 'Intel',
'InstalledRAM': '64 MB',
'Latitude': 47.617025,
'Longitude': -122.191285
}

Per avviare la connessione con Azure e iniziare il monitoraggio, lanciamo:

npm install per risolvere eventuali dipendenze

node remote_monitoring.js per avviare il programma attraverso Node.js.

Collegandoci ad www.azureiotsuite.com vedremo sul grafico il monitoraggio in tempo reale della temperatura dell’ambiente.

Con questa guida abbiamo dimostrato l’apertura di Azure verso sistemi terze parti: in particolare non siamo vincolati a l’utilizzo di board certificate dal programma Windows IoT (https://developer.microsoft.com/it-it/windows/iot) ma è possibile connettere board eterogenee e utilizzare linguaggi differenti come JavaScript attraverso l’ambiente Node.js.