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.
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:
Ein aktives Azure-Abonnement. Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.
Eine IoT Central-Anwendung, die mit der Vorlage Benutzerdefinierte Anwendung erstellt wurde. Weitere Informationen finden Sie unter Erstellen einer IoT Central-Anwendung und Über Ihre Anwendung.
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
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.
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.
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:
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.
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.
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:
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:
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.
Wählen Sie auf der Seite Vorlagentyp auswählen die Kachel IoT-Gerät und anschließend Weiter: Anpassen.
Aktivieren Sie auf der Seite Gerät anpassen das Kontrollkästchen Dies ist ein Gatewaygerät. .
Geben Sie als Vorlagenname Smart Building gateway device ein, und wählen Sie dann Weiter: Überprüfen aus.
Wählen Sie auf der Seite Überprüfen die Option Erstellen aus.
Wählen Sie auf der Seite Modell erstellen die Kachel Benutzerdefiniertes Modell aus.
Wählen Sie Funktion hinzufügen aus, um eine Funktion hinzuzufügen.
Geben Sie als Anzeigename Zu sendende Daten ein, und wählen Sie als Funktionstyp Eigenschaft aus.
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:
Wählen Sie in der Vorlage Smart Building gateway device die Option Beziehungen aus.
Wählen Sie + Beziehung hinzufügen aus. Geben Sie Environmental Sensor als Anzeigename ein, und wählen Sie Hobo MX-100 als Ziel aus.
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.
Wählen Sie Speichern aus.
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:
Wählen Sie in der Vorlage Smart Building gateway device (Smart Building-Gatewaygerät) das Modell Smart Building gateway device aus.
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 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:
Wählen Sie in der Vorlage Smart Building gateway device die Option Ansichten aus.
Wählen Sie die Kachel Standardansichten generieren aus, und stellen Sie sicher, dass alle Optionen ausgewählt sind.
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:
Wählen Sie auf der Seite Gerätevorlagen die Vorlage Smart Building gateway device aus.
Wählen Sie Veröffentlichen.
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:
Wählen Sie auf der Seite Geräte in der Liste mit den Gerätevorlagen die Vorlage Smart Building gateway device aus.
Wählen Sie + Neu aus, um mit dem Hinzufügen eines neuen Geräts zu beginnen.
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:
Wählen Sie auf der Seite Geräte in der Liste mit den Gerätevorlagen die Vorlage RS40 Occupancy Sensor aus.
Wählen Sie + Neu aus, um mit dem Hinzufügen eines neuen Geräts zu beginnen.
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.
Wählen Sie auf der Seite Geräte in der Liste mit den Gerätevorlagen Hobo MX-100 aus.
Wählen Sie + Neu aus, um mit dem Hinzufügen eines neuen Geräts zu beginnen.
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.
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:
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.
Wählen Sie An Gateway anfügen aus.
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.
Wählen Sie Anfügen aus.
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.
Wählen Sie An Gateway anfügen aus.
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.
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:
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:
- Navigieren Sie in Ihrer IoT Central-Anwendung zu Anwendung > Verwaltung.
- 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: