Freigeben über


Vornehmen von Änderungen an einem Gerät nach der Herstellung

Einer der letzten Schritte bei der Herstellung eines Azure Sphere-Geräts besteht darin, das Gerät in den Zustand "DeviceComplete" zu versetzen, der das Gerät vor Änderungen sichert. Es gibt jedoch Situationen, in denen Geräte, die in den Zustand "DeviceComplete" versetzt wurden, geändert werden müssen.

Der für solche Szenarien verwendete sichere Mechanismus besteht darin, eine Gerätefunktion zu verwenden. Es gibt zwei Arten von Gerätefunktionen, FieldServicing und AppDevelopment, und Sie sollten den Typ verwenden, der die mindesten erforderlichen Features aufweist. Wenn die FieldServicing-Funktion Ihren Anforderungen entspricht, sollten Sie dies verwenden, aber wenn eine größere Flexibilität erforderlich ist, verwenden Sie stattdessen die AppDevelopment-Funktion . Während die Funktionen für die beiden Szenarien entwickelt wurden, nach denen sie benannt wurden, sollten Sie die tatsächlichen Funktionen überprüfen, die aktiviert sind, anstatt sich auf diesen Namen zu verlassen. Nur der Katalogbesitzer des Geräts kann Funktionen für dieses Gerät abrufen, und jede Funktion ist auf ein einzelnes Gerät beschränkt.

Wenn Sie Änderungen an einem DeviceComplete-Gerät vornehmen, sollten Sie diese Funktionen nicht querladen. Dies besteht darin, das Risiko zu beseitigen, dass die Funktion versehentlich vorhanden ist und dadurch das Gerät in einem unsicheren Zustand bleibt. Stattdessen sollten Sie eine Wartungssitzung verwenden.

Es gibt drei Phasen für die Verwendung von Funktionen für Dienstgeräte: Herunterladen der Funktionen, Anwenden eines vertrauenswürdigen Keystore-Updates (falls erforderlich) und anschließendes Erstellen einer Wartungssitzung.

Herunterladen einer Funktion

Sie können eine Funktion mit dem Downloadbefehl für az sphere-Geräte herunterladen. Sie müssen Zugriff auf den Katalog haben, der das Gerät und den Internetzugriff besitzt, um eine Funktion herunterzuladen. Standardmäßig wird das aktuell angeschlossene Gerät verwendet. Wenn mehrere Geräte angefügt sind, geben Sie entweder die IP-Adresse, die Geräte-ID oder die lokale Verbindungs-ID eines angeschlossenen Geräts im --device Parameter an. Geben Sie beim Herunterladen einer Funktion für ein nicht angefügtes Gerät eine Geräte-ID im --device Parameter an.

Laden Sie die Funktion für ein angeschlossenes Gerät wie folgt herunter:

  1. Verwenden Sie den folgenden Befehl mit den --type Parametern, --output-file um eine Funktionsdatei für das angefügte Gerät herunterzuladen. Zum Beispiel:

    az sphere device capability download --resource-group MyResourceGroup --catalog MyCatalog --device <DeviceIdValue> --type ApplicationDevelopment --output-file myCapabilities.cap
    

    Ersetzen Sie <die Funktionsdatei> durch den Speicherort auf Ihrem Computer, in dem die Funktionsdatei gespeichert werden soll.

Laden Sie die Funktion für ein nicht angeschlossenes Gerät wie folgt herunter:

  1. Verwenden Sie den folgenden Befehl mit den --deviceParametern , --typeund ----output-file laden Sie eine Funktionsdatei für das nicht angefügte Gerät herunter. Zum Beispiel:

    az sphere device capability download --resource-group <resource-group> --catalog <catalog> --device <deviceID> --type fieldServicing ----output-file <capability-file>
    

    Geben Sie die Geräte-ID des Geräts an, für das Sie die Funktion benötigen, und ersetzen <Sie die Funktionsdatei> durch den Speicherort auf Ihrem Computer, in dem die Funktionsdatei gespeichert werden soll.

Aktualisieren Des vertrauenswürdigen Schlüsselspeichers bei Bedarf

Wenn ein Gerät nicht mit dem Internet verbunden ist, besteht die Möglichkeit, dass das Gerät der Funktion nicht vertraut. Dies tritt auf, wenn AS3 seinen Imagesignaturschlüssel aktualisiert hat, mit dem alle Bilder einschließlich Funktionsimages signiert werden, das Gerät jedoch nicht über diesen aktualisierten Schlüssel im vertrauenswürdigen Schlüsselspeicher verfügt. Jedes verbundene Gerät aktualisiert automatisch seinen vertrauenswürdigen Keystore, aber wenn das Gerät nicht verbunden ist, ist dies möglicherweise nicht eingetreten.

Um dies zu beheben, lesen Sie hier ausführliche Anweisungen.

Erstellen einer Wartungssitzung

Um ein Gerät zu warten, erstellen Sie eine Wartungssitzung, indem Sie eine Funktion auswählen. Jedes Mal, wenn der Befehl "az sphere" während der Sitzung ausgegeben wird, wird die ausgewählte Funktion an das Gerät übergeben, sodass das Gerät den Befehl trotz seines gesperrten Zustands ausführen kann. Die Funktionsdatei wird nicht dauerhaft auf dem Gerät gespeichert, sodass das Gerät gesperrt und gesichert bleibt. Wenn ein anderer Computer später ohne Zugriff auf die Funktionsdatei an das Gerät angefügt wird, kann es das Gerät nicht ändern.

Erstellen Sie eine Wartungssitzung wie folgt:

  1. Verbinden Sie das Gerät über die Programmier- und Debuggingschnittstelle mit dem PC.

  2. Verwenden Sie den Befehl "az sphere device capability apply" mit dem Parameter "-capability-file capability-file><". Ersetzen Sie <die Funktionsdatei> durch den Dateipfad, den Sie beim Herunterladen der Funktion angegeben haben.

    Nach dem Auswählen der Datei beginnt Ihre Sitzung. Jedes Mal, wenn der az sphere Befehl während der Sitzung ausgeführt wird, werden die Funktionsinformationen an das Gerät übergeben, wodurch die Kommunikation entsperrt wird. Die Funktion ist auf Ihrem Computer gespeichert und Ihren Windows- oder Linux-Anmeldedaten zugeordnet (nicht Ihrer Azure Sphere-Anmeldung). Die Wartungssitzung gilt für alle az sphere Befehle, die vom Computer aus an das Gerät gerichtet sind, nicht nur für befehle, die von der aktuellen Eingabeaufforderung ausgeführt werden.

Um die Wartungssitzung zu beenden, verwenden Sie die Az Sphere-Gerätefunktion anwenden --none-Befehl

Wenn die Ausführung dieses Befehls erfolgreich ist, werden die Funktionsinformationen nicht mehr an das Gerät übergeben. Wenn Sie die Sitzung nicht beenden, wird beim nächsten Ausgeben eines "az sphere"-Befehls von diesem Computer die aktuelle Gerätefunktion zusammen mit dem Befehl übergeben, und der Befehl schlägt daher fehl, wenn Sie mit einem anderen Gerät arbeiten. Wenn Sie die Funktionsdatei löschen, ohne die Wartungssitzung zu beenden, warnt Der nächste Befehl Sie, dass die ausgewählte Funktionsdatei fehlt und die Auswahl für alle weiteren Befehle löscht.