Share via


Tutorial: Definieren eines neuen IoT-Gatewaygerätetyps in Ihrer Azure IoT Central-Anwendung

In diesem Tutorial erstellen Sie eine Vorlage für ein Gatewaygerät vom Typ Smart Building. Ein Gatewaygerät vom Typ Smart Building verfügt über Beziehungen mit anderen nachgeschalteten Geräten.

Diagramm, das die Beziehung zwischen einem Gatewaygerät und seinen nachgeschalteten Geräten zeigt

Ein Gatewaygerät kann auch:

  • Senden eigener Telemetriedaten (beispielsweise zur Temperatur)
  • Reagieren auf die Aktualisierung einer schreibbaren Eigenschaft durch einen Bediener. Ein Operator kann beispielsweise das Sendeintervall für Telemetriedaten ändern.
  • Reagieren auf Befehle (beispielsweise Neustarten des Geräts)

In diesem Tutorial lernen Sie, wie die folgenden Aufgaben ausgeführt werden:

  • Erstellen von Vorlagen für nachgeschaltete Geräte
  • Erstellen einer Gatewaygerätevorlage
  • Veröffentlichen der Gerätevorlage
  • Erstellen der simulierten Geräte

Voraussetzungen

Zum Durchführen der Schritte in diesem Tutorial benötigen Sie Folgendes:

Erstellen von Vorlagen für nachgeschaltete Geräte

In diesem Tutorial werden Gerätevorlagen für ein Gerät vom Typ Onset Hobo MX-100 Temp Sensor und für ein Gerät vom Typ RS40 Occupancy Sensor verwendet, um simulierte nachgeschaltete Geräte zu generieren.

So erstellen Sie eine Gerätevorlage für ein Gerät vom Typ Onset Hobo MX-100 Temp Sensor

  1. Wählen Sie im linken Bereich Gerätevorlagen aus. Wählen Sie anschließend + Neu aus, um mit dem Hinzufügen der Vorlage zu beginnen.

  2. Scrollen Sie nach unten zur Kachel für das Gerät Onset Hobo MX-100 Temp Sensor. Wählen Sie die Kachel und anschließend Weiter: Überprüfen aus.

  3. Wählen Sie auf der Seite Überprüfen die Option Erstellen aus, um die Gerätevorlage Ihrer Anwendung hinzuzufügen.

So erstellen sie eine Gerätevorlage für ein Gerät vom Typ RS40 Occupancy Sensor:

  1. Wählen Sie im linken Bereich Gerätevorlagen aus. Wählen Sie anschließend + Neu aus, um mit dem Hinzufügen der Vorlage zu beginnen.

  2. Scrollen Sie nach unten zur Kachel für das Gerät Rigado RS40 Occupancy Sensor. Wählen Sie die Kachel und anschließend Weiter: Überprüfen aus.

  3. Wählen Sie auf der Seite Überprüfen die Option Erstellen aus, um die Gerätevorlage Ihrer Anwendung hinzuzufügen.

Sie verfügen nun über Gerätevorlagen für die beiden nachgeschalteten Gerätetypen:

Screenshot der Vorlagen für nachgeschaltete Geräte

Erstellen einer Gatewaygerätevorlage

In diesem Tutorial erstellen Sie eine Gerätevorlage für ein Gatewaygerät von Grund auf neu. Diese Vorlage wird später verwendet, um ein simuliertes Gatewaygerät in Ihrer Anwendung zu erstellen.

So fügen Sie Ihrer Anwendung eine neue Gatewaygerätevorlage hinzu:

  1. Wählen Sie im linken Bereich Gerätevorlagen aus. Wählen Sie anschließend + Neu aus, um mit dem Hinzufügen der Vorlage zu beginnen.

  2. Wählen Sie auf der Seite Vorlagentyp auswählen die Kachel IoT-Gerät und anschließend Weiter: Anpassen.

  3. Aktivieren Sie auf der Seite Gerät anpassen das Kontrollkästchen Dies ist ein Gatewaygerät. .

  4. Geben Sie als Vorlagenname Smart Building gateway device ein, und wählen Sie dann Weiter: Überprüfen aus.

  5. Wählen Sie auf der Seite Überprüfen die Option Erstellen aus.

  6. Wählen Sie auf der Seite Modell erstellen die Kachel Benutzerdefiniertes Modell aus.

  7. Wählen Sie Funktion hinzufügen aus, um eine Funktion hinzuzufügen.

  8. Geben Sie als Anzeigename Zu sendende Daten ein, und wählen Sie als Funktionstyp Eigenschaft aus.

  9. Wählen Sie Boolesch als Schematyp, dann Beschreibbar und anschließend Speichern aus.

Hinzufügen von Beziehungen

Als Nächstes fügen Sie den Vorlagen für die nachgeschalteten Geräte Beziehungen hinzu:

  1. Wählen Sie in der Vorlage Smart Building gateway device die Option Beziehungen aus.

  2. Wählen Sie + Beziehung hinzufügen aus. Geben Sie Environmental Sensor als Anzeigename ein, und wählen Sie Hobo MX-100 als Ziel aus.

  3. Wählen Sie erneut + Beziehung hinzufügen aus. Geben Sie Occupancy Sensor als Anzeigename ein, und wählen Sie RS40 Occupancy Sensor als Ziel aus.

  4. Wählen Sie Speichern aus.

Screenshot: Gatewaybeziehungen

Hinzufügen von Cloudeigenschaften

Eine Gatewaygerätevorlage kann Cloudeigenschaften enthalten. Cloudeigenschaften sind nur in der IoT Central-Anwendung vorhanden und werden niemals an ein Gerät gesendet oder von einem Gerät empfangen.

So fügen Sie der Vorlage Smart Building gateway device Cloudeigenschaften hinzu:

  1. Wählen Sie in der Vorlage Smart Building gateway device (Smart Building-Gatewaygerät) das Modell Smart Building gateway device aus.

  2. Verwenden Sie die Informationen in der folgenden Tabelle, um Ihrer Gatewaygerätevorlage zwei Cloudeigenschaften hinzuzufügen:

    `Display name` Funktionstyp Semantischer Typ Schema
    Datum der letzten Wartung Cloudeigenschaft Keine Date
    Customer Name Cloudeigenschaft Keine String
  3. Wählen Sie Speichern aus.

Erstellen von Ansichten

Als Ersteller können Sie die Anwendung so anpassen, dass relevante Informationen zum Umgebungssensorgerät einem Bediener angezeigt werden. Ihre Anpassungen ermöglichen dem Bediener die Verwaltung des mit der Anwendung verbundenen Umgebungssensors. Sie können zwei Arten von Ansichten erstellen, die von einem Bediener zum Interagieren mit Geräten verwendet werden:

  • Formulare zum Anzeigen und Bearbeiten von Geräte- und Cloudeigenschaften
  • Ansichten zum Visualisieren von Geräten.

So generieren Sie die Standardansichten für die Vorlage Smart Building gateway device:

  1. Wählen Sie in der Vorlage Smart Building gateway device die Option Ansichten aus.

  2. Wählen Sie die Kachel Standardansichten generieren aus, und stellen Sie sicher, dass alle Optionen ausgewählt sind.

  3. Wählen Sie die Option zum Generieren der Standarddashboardansicht(en) aus.

Veröffentlichen der Gerätevorlage

Um ein simuliertes Gatewaygerät erstellen oder eine Verbindung für ein echtes Gatewaygerät herstellen zu können, müssen Sie zunächst Ihre Gerätevorlage veröffentlichen.

So veröffentlichen Sie die Gatewaygerätevorlage:

  1. Wählen Sie auf der Seite Gerätevorlagen die Vorlage Smart Building gateway device aus.

  2. Wählen Sie Veröffentlichen.

  3. Wählen Sie im Dialogfeld Publish a Device Template (Gerätevorlage veröffentlichen) die Option Veröffentlichen aus.

Nachdem eine Gerätevorlage veröffentlicht wurde, wird sie auf der Seite Geräte und für den Bediener angezeigt. Der Bediener kann die Vorlage verwenden, um Geräteinstanzen zu erstellen oder Regeln und Überwachungen einzurichten. Das Bearbeiten einer veröffentlichten Vorlage kann sich auf das Verhalten in der gesamten Anwendung auswirken.

Weitere Informationen zum Ändern einer Gerätevorlage, nachdem Sie diese veröffentlicht haben, finden Sie unter Bearbeiten einer vorhandenen Gerätevorlage.

Erstellen der simulierten Geräte

In diesem Tutorial werden simulierte nachgeschaltete Geräte und ein simuliertes Gatewaygerät verwendet.

So erstellen Sie ein simuliertes Gatewaygerät:

  1. Wählen Sie auf der Seite Geräte in der Liste mit den Gerätevorlagen die Vorlage Smart Building gateway device aus.

  2. Wählen Sie + Neu aus, um mit dem Hinzufügen eines neuen Geräts zu beginnen.

  3. Behalten Sie die generierten Werte für Geräte-ID und Gerätename bei. Stellen Sie sicher, dass die Option Simuliert auf Ja festgelegt ist. Klicken Sie auf Erstellen.

So erstellen Sie die simulierten nachgeschalteten Geräte:

  1. Wählen Sie auf der Seite Geräte in der Liste mit den Gerätevorlagen die Vorlage RS40 Occupancy Sensor aus.

  2. Wählen Sie + Neu aus, um mit dem Hinzufügen eines neuen Geräts zu beginnen.

  3. Behalten Sie die generierten Werte für Geräte-ID und Gerätename bei. Stellen Sie sicher, dass die Option Simuliert auf Ja festgelegt ist. Klicken Sie auf Erstellen.

  4. Wählen Sie auf der Seite Geräte in der Liste mit den Gerätevorlagen Hobo MX-100 aus.

  5. Wählen Sie + Neu aus, um mit dem Hinzufügen eines neuen Geräts zu beginnen.

  6. Behalten Sie die generierten Werte für Geräte-ID und Gerätename bei. Stellen Sie sicher, dass die Option Simuliert auf Ja festgelegt ist. Klicken Sie auf Erstellen.

Screenshot, der die simulierten Geräte zeigt

Hinzufügen von Beziehungen mit nachgeschalteten Geräten zu einem Gatewaygerät

Nachdem die simulierten Geräte nun in Ihrer Anwendung vorhanden sind, können Sie als Nächstes die Beziehungen zwischen den nachgeschalteten Geräten und dem Gatewaygerät erstellen:

  1. Wählen Sie auf der Seite Geräte in der Liste mit den Gerätevorlagen Hobo MX-100 und dann Ihr simuliertes Gerät Hobo MX-100 aus.

  2. Wählen Sie An Gateway anfügen aus.

  3. Wählen Sie im Dialogfeld An Gateway anfügen die Vorlage Smart Building gateway device und anschließend die simulierte Instanz aus, die Sie zuvor erstellt haben.

  4. Wählen Sie Anfügen aus.

  5. Wählen Sie auf der Seite Geräte in der Liste mit den Gerätevorlagen die Vorlage RS40 Occupancy Sensor und anschließend Ihr simuliertes Gerät RS40 Occupancy Sensor aus.

  6. Wählen Sie An Gateway anfügen aus.

  7. Wählen Sie im Dialogfeld An Gateway anfügen die Vorlage Smart Building gateway device und anschließend die simulierte Instanz aus, die Sie zuvor erstellt haben.

  8. Wählen Sie Anfügen aus.

Beide simulierten nachgeschalteten Geräte sind nun mit Ihrem simulierten Gatewaygerät verbunden. In der Ansicht Nachgeschaltete Geräte für Ihr Gatewaygerät werden die zugehörigen nachgeschalteten Geräte angezeigt:

Screenshot: Geräte, die an das Gateway angefügt sind

Verbinden von realen nachgeschalteten Geräten

Anhand des Beispielcodes im Tutorial Erstellen und Verbinden einer Clientanwendung mit Ihrer Azure IoT Central-Anwendung sehen Sie, wie Sie die Modell-ID aus der Gerätevorlage in die vom Gerät gesendeten Bereitstellungsnutzdaten einfügen.

Wenn Sie eine Verbindung mit einem nachgeschalteten Gerät herstellen, können Sie die Bereitstellungsnutzdaten so ändern, dass sie die ID des Gatewaygeräts enthalten. Über die Modell-ID kann IoT Central dem Gerät die richtige Vorlage des nachgeschalteten Geräts zuweisen. Mit der Gateway-ID kann IoT Central die Beziehung zwischen dem nachgeschalteten Gerät und dem Gateway einrichten. In diesem Fall sehen die vom Gerät gesendeten Bereitstellungsnutzdaten wie der folgende JSON-Code aus:

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

Ein Gateway kann ein untergeordnetes Gerät registrieren und bereitstellen und das untergeordnete Gerät dem Gateway wie folgt zuordnen:

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)
   }
});

Bereinigen von Ressourcen

Falls Sie keine weiteren IoT Central-Schnellstarts oder -Tutorials absolvieren möchten, können Sie die IoT Central-Anwendung löschen:

  1. Navigieren Sie in Ihrer IoT Central-Anwendung zu Anwendung > Verwaltung.
  2. Wählen Sie Löschen aus, und bestätigen Sie anschließend Ihre Aktion.

Nächster Schritt

Als Nächstes können Sie das folgende Tutorial durcharbeiten: