Automatische Verwaltung von IoT-Geräten und -Modulen über das Azure-Portal

Die automatische Geräteverwaltung in Azure IoT Hub automatisiert viele der repetitiven und komplexen Aufgaben im Zusammenhang mit der Verwaltung eines umfangreichen Gerätebestands. Mit der automatischen Geräteverwaltung können Sie eine Gruppe von Geräten auf der Grundlage ihrer Eigenschaften als Ziel festlegen, eine gewünschte Konfiguration definieren und dann IoT Hub die Geräte aktualisieren lassen, wenn sie in den entsprechenden Bereich fallen. Dieses Update erfolgt mithilfe einer automatischen Gerätekonfiguration oder einer automatischen Modulkonfiguration, mit der Sie die Fertigstellung und Compliance zusammenfassen, Zusammenführung und Konflikte verarbeiten und Konfigurationen gestaffelt einführen können.

Hinweis

Die in diesem Artikel beschriebenen Features stehen nur im Standard-Tarif von IoT Hub zur Verfügung. Weitere Informationen zu den IoT Hub-Tarifen „Basic“ und „Standard/Free“ finden Sie unter Wählen des richtigen IoT Hub-Tarifs für Ihre Lösung.

Bei der automatischen Geräteverwaltung werden mehrere Geräte- oder Modulzwillinge mit den gewünschten Eigenschaften aktualisiert und eine Zusammenfassung bereitgestellt, die auf den gemeldeten Eigenschaften der Zwillinge basiert. Für die automatische Gerätekonfiguration werden eine neue Klasse und ein JSON-Dokument eingeführt, das als Konfiguration bezeichnet wird und aus drei Teilen besteht:

  • Die Zielbedingung definiert den Umfang der zu aktualisierenden Geräte- oder Modulzwillinge. Die Zielbedingung wird als Abfrage für Zwillingstags und/oder gemeldete Eigenschaften angegeben.

  • Der Zielinhalt definiert die gewünschten Eigenschaften, die in den Zielgeräte- oder -modulzwillingen hinzugefügt oder aktualisiert werden sollen. Der Inhalt umfasst einen Pfad zu dem Abschnitt der gewünschten Eigenschaften, die geändert werden sollen.

  • Die Metriken definieren die zusammenfassenden Angaben zu verschiedenen Konfigurationszuständen wie z.B. Erfolgreich, In Bearbeitung und Fehler. Benutzerdefinierte Metriken werden als Abfragen für gemeldete Zwillingseigenschaften angegeben. Systemmetriken sind die Standardmetriken, die den Zwillingsaktualisierungsstatus messen, z. B. die Anzahl von Zielzwillingen und die Anzahl der Zwillinge, die erfolgreich aktualisiert wurden.

Automatische Konfigurationen werden zum ersten Mal kurz nach Erstellung der Konfiguration ausgeführt und anschließend in Intervallen von fünf Minuten. Metrikabfragen werden bei jeder Ausführung der automatischen Konfiguration ausgeführt. Maximal 100 automatische Konfigurationen werden auf IoT-Hubs auf Standardebene unterstützt und zehn auf kostenlosen IoT-Hubs. Außerdem gelten Drosselungslimits. Weitere Informationen finden Sie unter Kontingente und Drosselung.

Implementieren von Zwillingen

Für automatische Gerätekonfigurationen ist der Einsatz von Gerätezwillingen erforderlich, um den Zustand zwischen der Cloud und den Geräten zu synchronisieren. Weitere Informationen finden Sie unter Verstehen und Verwenden von Gerätezwillingen in IoT Hub.

Für automatische Modulkonfigurationen ist der Einsatz von Modulzwillingen erforderlich, um den Status zwischen der Cloud und den Modulen zu synchronisieren. Weitere Informationen finden Sie unter Verstehen und Verwenden von Modulzwillingen in IoT Hub.

Verwenden von Tags mit Zwillingen als Ziel

Bevor Sie eine Konfiguration erstellen, müssen Sie angeben, welche Geräte oder Module Sie als Ziel verwenden möchten. Azure IoT Hub identifiziert Geräte mithilfe von Tags im Gerätezwilling und identifiziert Module mithilfe von Tags im Modulzwilling. Jedes Gerät oder Modul kann mehrere Tags aufweisen, die sie auf jede beliebige Weise definieren können, die Ihnen für Ihre Lösung sinnvoll erscheint. Wenn Sie beispielsweise Geräte an verschiedenen Standorten verwalten, fügen Sie einem Gerätezwilling die folgenden Tags hinzu:

"tags": {
	"location": {
		"state": "Washington",
		"city": "Tacoma"
    }
},

Erstellen einer Konfiguration

Sie können maximal 100 automatische Konfigurationen auf IoT-Hubs auf Standardebene erstellen und zehn auf kostenlosen IoT-Hubs. Weitere Informationen finden Sie unter Kontingente und Drosselung.

  1. Navigieren Sie im Azure-Portal zu Ihrem IoT Hub.

  2. Wählen Sie im Navigationsbereich auf der linken Seite die Option Konfigurationen und Bereitstellungen aus.

  3. Wählen Sie Hinzufügen aus und wählen Sie Gerätezwilling-Konfiguration oder Modulzwilling-Konfiguration aus der Dropdownliste aus.

    Screenshot showing how to add a configuration.

Zum Erstellen einer Konfiguration müssen fünf Schritte ausgeführt werden. Diese werden in den folgenden Abschnitten exemplarisch beschrieben.

Benennen und Bezeichnen

  1. Geben Sie Ihrer Konfiguration einen eindeutigen Namen, der aus bis zu 128 Zeichen besteht. Kleinbuchstaben und die folgenden Sonderzeichen sind zulässig: -+%_*!'. Leerzeichen sind nicht zulässig.

  2. Fügen Sie Bezeichnungen hinzu, um Ihre Konfigurationen im Blick zu behalten. Bezeichnungen sind Name-Wert-Paare, die Ihre Konfiguration beschreiben. Zum Beispiel: HostPlatform, Linux oder Version, 3.0.1.

  3. Wählen Sie Weiter aus, um zum nächsten Schritt zu wechseln.

Zwillingseinstellungen

In diesem Abschnitt wird der Inhalt definiert, der in den gewünschten Eigenschaften des Zielgeräte- oder Modulzwillings festgelegt werden soll. Für jeden Satz von Einstellungen gibt es zwei Eingaben. Die erste ist der Zwillingspfad. Dies ist der Pfad zu dem JSON-Abschnitt in den gewünschten Zwillingseigenschaften, die festgelegt werden sollen. Die zweite ist der JSON-Inhalt, der in diesem Abschnitt eingefügt werden soll.

So könnten Sie beispielsweise den Zwillingspfad auf properties.desired.chiller-water festlegen und dann den folgenden JSON-Inhalt bereitstellen:

{
  "temperature": 66,
  "pressure": 28
}

Screenshot of setting the device or module twin property and json content.

Sie können auch einzelne Einstellungen festlegen, indem Sie den gesamten Zwillingspfad angeben und den Wert ohne eckige Klammern. Legen Sie beispielsweise mit dem Zwillingspfad properties.desired.chiller-water.temperature den Inhalt auf 66 fest. Erstellen Sie dann eine neue Zwillingseinstellung für die Eigenschaft „pressure“ (Druck).

Wenn mindestens zwei Konfigurationen denselben Gerätezwillingspfad als Ziel verwenden, wird der Inhalt aus der Konfiguration mit der höchsten Priorität angewendet. (Die Priorität wird in Schritt 4 definiert.)

Wenn Sie eine vorhandene Eigenschaft entfernen möchten, geben Sie als Eigenschaftswert null an.

Sie können zusätzliche Einstellungen hinzufügen, indem Sie Einstellung für Gerätezwilling hinzufügen oder Einstellung für Modulzwilling hinzufügen auswählen.

Zielgeräte oder -module

Anhand der Tageigenschaft Ihrer Zwillinge legen Sie diejenigen Geräte oder Module als Ziele fest, die diese Konfiguration erhalten sollen. Sie können auch auf gemeldete Zwillingseigenschaften abzielen.

Automatische Gerätekonfigurationen können nur Gerätezwillingstags als Ziel verwenden und automatische Modulkonfigurationen nur Modulzwillingstags.

Da mehrere Konfigurationen dasselbe Gerät oder Modul als Ziel verwenden können, muss für jede Konfiguration eine Priorität festgelegt werden. Tritt irgendwann ein Konflikt auf, setzt sich die Konfiguration mit der höchsten Priorität durch.

  1. Geben Sie eine positive ganze Zahl als Priorität für die Konfiguration ein. Der höchste numerische Wert wird als höchste Priorität betrachtet. Weisen zwei Konfigurationen dieselbe Priorität auf, wird diejenige verwendet, die später erstellt wurde.

  2. Geben Sie unter Zielbedingung eine Bedingung ein, um festzulegen, auf welche Geräte oder Module diese Konfiguration angewendet werden soll. Die Bedingung basiert auf Zwillingstags oder den gemeldeten Zwillingseigenschaften und sollte dem Ausdrucksformat entsprechen.

    Für die automatische Gerätekonfiguration können Sie einfach das Tag oder die gemeldete Eigenschaft als Ziel angeben. Zum Beispiel: tags.environment='test' oder properties.reported.chillerProperties.model='4000x'. Sie können * angeben, um als Ziel alle Geräte festzulegen.

    Verwenden Sie für die automatische Modulkonfiguration eine Abfrage, um Tags oder gemeldete Eigenschaften aus den Modulen anzugeben, die für den IoT Hub registriert sind. Zum Beispiel: from devices.modules where tags.environment='test' oder from devices.modules where properties.reported.chillerProperties.model='4000x'. Der Platzhalter kann nicht als Ziel für alle Module verwendet werden.

Metriken

Metriken bieten zusammenfassende Angaben zu den verschiedenen Zuständen, die ein Gerät oder Modul nach dem Anwenden von Konfigurationsinhalten möglicherweise zurückmeldet. Beispielsweise können Sie eine Metrik für ausstehende Einstellungsänderungen, eine Metrik für Fehler und eine Metrik für erfolgreiche Einstellungsänderungen erstellen.

Jede Konfiguration kann bis zu fünf benutzerdefinierte Metriken aufweisen.

  1. Geben Sie unter Metrikname einen Namen ein.

  2. Geben Sie eine Abfrage unter Metrikkriterien ein. Diese Abfrage beruht auf den gemeldeten Gerätezwillingseigenschaften. Die Metrik stellt die Anzahl der von der Abfrage zurückgegebenen Zeilen dar.

    Beispiel:

    SELECT deviceId FROM devices 
      WHERE properties.reported.chillerWaterSettings.status='pending'
    

    Sie können in einer Klausel einschließen, dass die Konfiguration angewandt wurde. Beispiel:

    /* Include the double brackets. */
    SELECT deviceId FROM devices 
      WHERE configurations.[[yourconfigname]].status='Applied'
    

    Wenn Sie eine Metrik zum Berichten über konfigurierte Module entwickeln, wählen Sie moduleId aus devices.modules aus. Beispiel:

    SELECT deviceId, moduleId FROM devices.modules
      WHERE properties.reported.lastDesiredStatus.code = 200
    

Überprüfen der Konfiguration

Überprüfen Sie die Konfigurationsinformationen, und klicken Sie dann auf Senden.

Überwachen einer Konfiguration

Gehen Sie folgendermaßen vor, um ausführliche Informationen zu einer Konfiguration anzuzeigen und die Geräte zu überwachen, auf denen die Konfiguration ausgeführt wird:

  1. Navigieren Sie im Azure-Portal zu Ihrem IoT Hub.

  2. Wählen Sie unter „Geräteverwaltung“ die Option Konfigurationen aus.

  3. Überprüfen Sie die Konfigurationsliste. Für jede Konfiguration können Sie die folgenden Details anzeigen:

    • ID: Name der Konfiguration.

    • Zielbedingung: Abfrage zum Definieren von Zielgeräten oder -modulen.

    • Priorität: Prioritätsnummer, die der Konfiguration zugewiesen wurde.

    • Erstellungszeit: Zeitstempel der Konfigurationserstellung. Dieser Zeitstempel wird zur Konfliktlösung verwendet, wenn zwei Konfigurationen dieselbe Priorität aufweisen.

    • Systemmetriken: Metriken, die von IoT Hub berechnet werden und vom Entwickler nicht angepasst werden können. Unter „Ziel“ wird die Anzahl von Gerätezwillingen angegeben, die die Zielbedingung erfüllen. Unter „Gilt für“ wird die Anzahl von Gerätezwillingen angegeben, die durch die Konfiguration geändert wurden. Hierzu zählen auch Teiländerungen, falls auch durch eine separate Konfiguration mit höherer Priorität Änderungen vorgenommen wurden.

    • Benutzerdefinierte Metriken: Metriken, die vom Entwickler als Abfragen für gemeldete Zwillingseigenschaften angegeben wurden. Pro Konfiguration können bis zu fünf benutzerdefinierte Metriken definiert werden.

  4. Wählen Sie die Konfiguration aus, die Sie überwachen möchten.

  5. Prüfen Sie die Konfigurationsdetails. Anhand von Registerkarten können Sie bestimmte Details zu den Geräten anzeigen, die die Konfiguration erhalten haben.

    • Zielgeräte oder Zielmodule: die Geräte oder Module, die die Zielbedingung erfüllen.

    • Metriken: Liste der Systemmetriken und der benutzerdefinierten Metriken. Sie können für jede Metrik eine Liste der berücksichtigten Geräte oder Module anzeigen, indem Sie die Metrik in der Dropdownliste und dann Geräte anzeigen oder Module anzeigen auswählen.

    • Bezeichnungen: Schlüssel-Wert-Paare zur Beschreibung einer Konfiguration. Bezeichnungen besitzen keine Auswirkungen auf Funktionen.

    • Gerätezwillingseinstellungen oder Modulzwillingseinstellungen: Zwillingseinstellungen, die, falls vorhanden, von der Konfiguration festgelegt werden.

Ändern einer Konfiguration

Wenn Sie eine Konfiguration ändern, werden die Änderungen sofort auf alle Zielgeräte oder –module repliziert.

Wenn Sie die Zielbedingung ändern, erfolgen die nachfolgend aufgeführten Anpassungen:

  • Wenn ein Zwilling zwar die alte Zielbedingung nicht erfüllt, aber die neue, und diese Konfiguration für den Zwilling die höchste Priorität hat, wird diese Konfiguration angewendet.

  • Wenn ein Zwilling, auf dem diese Konfiguration zurzeit ausgeführt wird, die Zielbedingung nicht mehr erfüllt, werden die von der Konfiguration implementierten Einstellungen entfernt, und der Zwilling wird durch die nächste Konfiguration mit der höchsten Priorität geändert.

  • Wenn ein Zwilling, auf dem diese Konfiguration zurzeit ausgeführt wird, die Zielbedingung nicht mehr erfüllt und auch keiner Zielbedingung anderer Konfigurationen entspricht, werden die durch die Konfiguration implementierten Einstellungen entfernt, und es werden keine weiteren Änderungen am Zwilling vorgenommen.

Gehen Sie wie folgt vor, um Änderungen an einer Konfiguration vorzunehmen:

  1. Navigieren Sie im Azure-Portal zu Ihrem IoT Hub.

  2. Wählen Sie unter „Geräteverwaltung“ die Option Konfigurationen und Bereitstellungen aus.

  3. Wählen Sie die Konfiguration aus, die Sie ändern möchten.

  4. Sie können Änderungen an den folgenden Feldern vornehmen:

    • Priority
    • Metriken
    • Zielbedingung
    • Bezeichnungen
  5. Wählen Sie Speichern aus.

  6. Führen Sie die unter Überwachen einer Konfiguration beschriebenen Schritte aus, um den Rollout der Änderungen zu verfolgen.

Löschen einer Konfiguration

Wenn Sie eine Konfiguration löschen, übernehmen alle Gerätezwillinge die nächste Konfiguration mit der höchsten Priorität. Wenn Gerätezwillinge keine Zielbedingung einer anderen Konfiguration erfüllen, werden keine weiteren Einstellungen angewendet.

  1. Navigieren Sie im Azure-Portal zu Ihrem IoT Hub.

  2. Wählen Sie unter „Geräteverwaltung“ die Option Konfigurationen und Bereitstellungen aus.

  3. Wählen Sie die zu löschende Konfiguration durch Aktivieren des zugehörigen Kontrollkästchens aus.

  4. Klicken Sie auf Löschen.

  5. Sie werden aufgefordert, den Vorgang zu bestätigen.

Nächste Schritte

In diesem Artikel haben Sie erfahren, wie IoT-Geräte bedarfsgerecht konfiguriert und überwacht werden.

Informationen zur Verwaltung von IoT Hub-Geräteidentitäten in einem Massenvorgang finden Sie unter Importieren und Exportieren von IoT Hub-Geräteidentitäten per Massenvorgang.