Share via


Esercitazione: Definire un nuovo tipo di dispositivo gateway IoT nell'applicazione Azure IoT Central

In questa esercitazione viene creato un modello di dispositivo gateway Edifici intelligenti. Un dispositivo gateway Edifici intelligenti ha relazioni con altri dispositivi downstream.

Diagramma che mostra la relazione tra un dispositivo gateway e i relativi dispositivi downstream.

Un dispositivo gateway può anche:

  • Inviare i propri dati di telemetria, ad esempio la temperatura.
  • Rispondere agli aggiornamenti delle proprietà scrivibili eseguiti da un operatore. Ad esempio, un operatore potrebbe modificare l'intervallo di invio dei dati di telemetria.
  • Rispondere ai comandi, ad esempio il riavvio del dispositivo.

In questa esercitazione apprenderai a:

  • Creare modelli di dispositivo downstream
  • Creare un modello di dispositivo gateway
  • Pubblicare il modello di dispositivo
  • Creare i dispositivi simulati

Prerequisiti

Per completare la procedura di questa esercitazione, è necessario quanto segue:

Creare modelli di dispositivo downstream

Questa esercitazione usa i modelli di dispositivo per un dispositivo Hobo MX-100 Temp Sensor e un dispositivo RS40 Occupancy Sensor per generare dispositivi downstream simulati.

Per creare un modello di dispositivo per un dispositivo Hobo MX-100 Temp Sensor :

  1. Nel riquadro sinistro selezionare Modelli di dispositivo. Selezionare quindi + Nuovo per iniziare ad aggiungere il modello.

  2. Scorrere verso il basso fino a visualizzare il riquadro per il dispositivo Onset Hobo MX-100 Temp Sensor . Selezionare il riquadro e quindi Avanti : Revisione.

  3. Nella pagina Verifica selezionare Crea per aggiungere il modello di dispositivo all'applicazione.

Per creare un modello di dispositivo per un dispositivo RS40 Occupancy Sensor :

  1. Nel riquadro sinistro selezionare Modelli di dispositivo. Selezionare quindi + Nuovo per iniziare ad aggiungere il modello.

  2. Scorrere verso il basso fino a visualizzare il riquadro per il dispositivo Rigado RS40 Occupancy Sensor . Selezionare il riquadro e quindi Avanti : Revisione.

  3. Nella pagina Verifica selezionare Crea per aggiungere il modello di dispositivo all'applicazione.

Sono ora disponibili i modelli di dispositivo per i due tipi di dispositivi downstream:

Screenshot che mostra i modelli di dispositivo downstream.

Creare un modello di dispositivo gateway

In questa esercitazione viene creato un modello di dispositivo per un dispositivo gateway da zero. Questo modello verrà usato più avanti per creare un dispositivo gateway simulato nell'applicazione.

Per aggiungere un nuovo modello di dispositivo gateway all'applicazione:

  1. Nel riquadro sinistro selezionare Modelli di dispositivo. Selezionare quindi + Nuovo per iniziare ad aggiungere il modello.

  2. Nella pagina Seleziona tipo di modello selezionare il riquadro Dispositivo IoT e quindi selezionare Avanti: Personalizza.

  3. Nella pagina Personalizza dispositivo selezionare la casella di controllo Si tratta di un dispositivo gateway.

  4. Immettere Smart Building Gateway device come nome del modello e quindi selezionare Avanti: Rivedi.

  5. Nella pagina Rivedi selezionare Crea.

  6. Nella pagina Crea un modello selezionare il riquadro Modello personalizzato.

  7. Selezionare + Aggiungi funzionalità per aggiungere una funzionalità.

  8. Immettere Invia dati come nome visualizzato e quindi selezionare Proprietà come tipo di funzionalità.

  9. Selezionare Boolean come tipo di schema, impostare Writable on e quindi selezionare Salva.

Aggiungere relazioni

A questo punto occorre aggiungere relazioni ai modelli per i modelli di dispositivo downstream:

  1. Nel modello Dispositivo gateway per edifici intelligenti selezionare Relazioni.

  2. Selezionare + Aggiungi relazione. Immettere Sensore ambientale come nome visualizzato e selezionare Hobo MX-100 come destinazione.

  3. Selezionare di nuovo + Aggiungi relazione. Immettere Sensore di occupazione come nome visualizzato e selezionare RS40 Occupancy Sensor come destinazione.

  4. Seleziona Salva.

Screenshot che mostra le relazioni tra gateway.

Aggiungere le proprietà cloud

Un modello di dispositivo gateway può includere proprietà cloud. Le proprietà cloud esistono solo nell'applicazione IoT Central e non vengono mai inviate a o ricevute da un dispositivo.

Per aggiungere proprietà cloud al modello Dispositivo gateway per edifici intelligenti:

  1. Nel modello di dispositivo gateway Smart Building selezionare Smart Building gateway device model (Modello di dispositivo gateway per la compilazione intelligente).

  2. Usare le informazioni nella tabella seguente per aggiungere due proprietà cloud al modello di dispositivo gateway.

    Nome visualizzato Tipo di funzionalità Tipo semantico Schema
    Data ultimo utilizzo Proprietà cloud None Data
    Nome cliente Proprietà cloud None String
  3. Seleziona Salva.

Creare viste

Il creatore può personalizzare un'applicazione in modo da visualizzare le informazioni sul dispositivo sensore ambientale utili all'operatore. Le personalizzazioni consentono all'operatore di gestire i sensori ambientali connessi all'applicazione. È possibile creare due tipi di visualizzazioni che un operatore può usare per interagire con i dispositivi:

  • Moduli per visualizzare e modificare le proprietà del dispositivo e cloud.
  • Visualizzazioni per visualizzare i dispositivi.

Per generare le visualizzazioni predefinite per il modello Dispositivo gateway per edifici intelligenti:

  1. Nel modello Dispositivo gateway per edifici intelligenti selezionare Visualizzazioni.

  2. Selezionare il riquadro Genera visualizzazioni predefinite e assicurarsi che tutte le opzioni siano selezionate.

  3. Selezionare Genera visualizzazioni dashboard predefinite.

Pubblicare il modello di dispositivo

Prima di creare un dispositivo gateway simulato o connettere un dispositivo gateway reale, è necessario pubblicare il modello di dispositivo.

Per pubblicare il modello di dispositivo gateway:

  1. Selezionare il modello Dispositivo gateway per edifici intelligenti nella pagina Modelli di dispositivo.

  2. Seleziona Pubblica.

  3. Nella finestra di dialogo Publish a Device Template (Pubblica un modello di dispositivo) scegliere Pubblica.

Dopo la pubblicazione, un modello di dispositivo viene visualizzato nella pagina Dispositivi ed è visibile all'operatore. L'operatore può usare il modello per creare istanze del dispositivo o stabilire regole e monitoraggio. La modifica di un modello pubblicato potrebbe influire sul comportamento nell'applicazione.

Per altre informazioni sulla modifica di un modello di dispositivo dopo la pubblicazione, vedere Modificare un modello di dispositivo esistente.

Creare i dispositivi simulati

Questa esercitazione usa dispositivi downstream simulati e un dispositivo gateway simulato.

Per creare un dispositivo gateway simulato:

  1. Nella pagina Dispositivi selezionare Dispositivo gateway per edifici intelligenti nell'elenco dei modelli di dispositivo.

  2. Selezionare + Nuovo per iniziare ad aggiungere un nuovo dispositivo.

  3. Lasciare invariati i valori generati per ID dispositivo e Nome dispositivo. Assicurarsi che l'opzione Simulata sia . Seleziona Crea.

Per creare dispositivi downstream simulati:

  1. Nella pagina Dispositivi selezionare RS40 Occupancy Sensor nell'elenco dei modelli di dispositivo.

  2. Selezionare + Nuovo per iniziare ad aggiungere un nuovo dispositivo.

  3. Lasciare invariati i valori generati per ID dispositivo e Nome dispositivo. Assicurarsi che l'opzione Simulata sia . Seleziona Crea.

  4. Nella pagina Dispositivi selezionare Hobo MX-100 nell'elenco dei modelli di dispositivo.

  5. Selezionare + Nuovo per iniziare ad aggiungere un nuovo dispositivo.

  6. Lasciare invariati i valori generati per ID dispositivo e Nome dispositivo. Assicurarsi che l'opzione Simulata sia . Seleziona Crea.

Screenshot che mostra i dispositivi simulati.

Aggiungere le relazioni dei dispositivi downstream a un dispositivo gateway

Ora che i dispositivi simulati sono disponibili nell'applicazione, è possibile creare le relazioni tra i dispositivi downstream e il dispositivo gateway:

  1. Nella pagina Dispositivi selezionare Hobo MX-100 nell'elenco dei modelli di dispositivo e quindi selezionare il dispositivo Hobo MX-100 simulato.

  2. Selezionare Connetti al gateway.

  3. Nella finestra di dialogo Connetti a un gateway selezionare il modello di dispositivo gateway Smart Building e quindi selezionare l'istanza simulata creata in precedenza.

  4. Seleziona Allega.

  5. Nella pagina Dispositivi selezionare RS40 Occupancy Sensor nell'elenco dei modelli di dispositivo e quindi selezionare il dispositivo simulato RS40 Occupancy Sensor.

  6. Selezionare Connetti al gateway.

  7. Nella finestra di dialogo Connetti a un gateway selezionare il modello di dispositivo gateway Smart Building e quindi selezionare l'istanza simulata creata in precedenza.

  8. Seleziona Allega.

Entrambi i dispositivi downstream simulati sono ora connessi al dispositivo gateway simulato. Se si passa alla visualizzazione Dispositivi downstream del dispositivo gateway, è possibile vedere i dispositivi downstream correlati:

Screenshot che mostra i dispositivi collegati al gateway.

Connessione dispositivi downstream reali

Nell'esercitazione Creare e connettere un'applicazione client all'applicazione Azure IoT Central, il codice di esempio illustra come includere l'ID modello dal modello di dispositivo nel payload di provisioning inviato dal dispositivo.

Quando si connette un dispositivo downstream, è possibile modificare il payload di provisioning in modo da includere l'ID del dispositivo gateway. L'ID modello consente a IoT Central di assegnare il dispositivo al modello di dispositivo downstream corretto. L'ID gateway consente a IoT Central di stabilire la relazione tra il dispositivo downstream e il gateway. In questo caso il payload di provisioning inviato dal dispositivo è simile al codice JSON seguente:

{
  "modelId": "dtmi:rigado:HoboMX100;2",
  "iotcGateway":{
    "iotcGatewayId": "gateway-device-001"
  }
}

Un gateway può registrare ed effettuare il provisioning di un dispositivo downstream e associare il dispositivo downstream al gateway come indicato di seguito:

var crypto = require('crypto');


var ProvisioningTransport = require('azure-iot-provisioning-device-mqtt').Mqtt;
var SymmetricKeySecurityClient = require('azure-iot-security-symmetric-key').SymmetricKeySecurityClient;
var ProvisioningDeviceClient = require('azure-iot-provisioning-device').ProvisioningDeviceClient;

var provisioningHost = "global.azure-devices-provisioning.net";
var idScope = "<The ID scope from your SAS group enrollment in IoT Central>";
var groupSymmetricKey = "<The primary key from the SAS group enrollment>";
var registrationId = "<The device ID for the downstream device you're creating>";
var modelId = "<The model you're downstream device should use>";
var gatewayId = "<The device ID of your gateway device>";

// Calculate the device key from the group enrollment key
function computeDerivedSymmetricKey(deviceId, masterKey) {
    return crypto.createHmac('SHA256', Buffer.from(masterKey, 'base64'))
        .update(deviceId, 'utf8')
        .digest('base64');
}

var symmetricKey = computeDerivedSymmetricKey(registrationId, groupSymmetricKey);

var provisioningSecurityClient = new SymmetricKeySecurityClient(registrationId, symmetricKey);

var provisioningClient = ProvisioningDeviceClient.create(provisioningHost, idScope, new ProvisioningTransport(), provisioningSecurityClient);

// Use the DPS payload to:
// - specify the device capability model to use.
// - associate the device with a gateway.
var provisioningPayload = {modelId: modelId, iotcGateway: { iotcGatewayId: gatewayId}}

provisioningClient.setProvisioningPayload(provisioningPayload);

provisioningClient.register(function(err, result) {
  if (err) {
    console.log("Error registering device: " + err);
  } else {
    console.log('The registration status is: ' + result.status)
   }
});

Pulire le risorse

Se non si prevede di completare altre guide introduttive o esercitazioni di IoT Central, è possibile eliminare l'applicazione IoT Central:

  1. Nell'applicazione IoT Central passare a Gestione applicazioni>.
  2. Selezionare Elimina e quindi confermare l'azione.

Passaggio successivo

A questo punto è possibile apprendere come: