Freigeben über


Nachgeschaltete OTA-Updates mit Azure Sphere

Viele Azure Sphere-Lösungen enthalten sowohl eine azure Sphere zertifizierte MCU als auch andere Prozessoren als Teil einer vollständigen IoT-Lösung. Diese anderen Prozessoren benötigen regelmäßige Firmwareupdates. In diesem Handbuch wird beschrieben, wie Nachgeschaltete OTA-Updates mit Azure Sphere aktiviert werden.

Abhängig vom jeweiligen Anwendungsszenario gibt es eine Reihe verschiedener Möglichkeiten, dies zu erreichen. Jede Lösung hat einen gemeinsamen Fluss:

  1. Lösen Sie das Firmwareupdate aus.
  2. Erwerben Sie das Firmwareupdate.
  3. Ermitteln Sie einen zwischengeschalteten Downloadspeicherort.
  4. Überprüfen Sie die Firmware und aktualisieren Sie den nachgeschalteten Prozessor.

Phase 1: Auslösen des Firmwareupdates

Problem: Wie wird der Firmwareupdateprozess initiiert?

Optionen:

  • Jede Azure Sphere-App-Version ist an eine nachgelagerte Firmwareversion gebunden:

    • Beschreibung: Wenn die Azure Sphere-App gestartet wird, wird die unterstützte Firmwareversion mit der bereitgestellten Version auf dem downstream-Prozessor verglichen. Wenn die Versionen nicht übereinstimmen, ist ein Update erforderlich.
    • Pros: Definierter Supportvertrag zwischen der Azure Sphere-App und der Firmwareversion. Nutzt außerdem den vorhandenen Azure Sphere-App-Updateprozess.
    • Nachteile: Muss die Azure Sphere-App aktualisieren, um ein Firmwareupdate auszulösen, auch wenn keine Azure Sphere-App geändert wird. Außerdem muss die Überwachung des Updatefortschritts hinzugefügt werden.
  • Firmwareupdate der Azure IoT Hub-Geräteverwaltung:

    • Beschreibung: Wenn ein Firmwareupdate bereit ist, erstellt ein IoT-Lösungsoperator eine neue Geräteverwaltungskonfiguration mit der aktualisierten Firmware. Die Azure Sphere-Anwendung empfängt die Firmwareupdateanforderung und kann das Update starten.
    • Pros: Einfache Verwaltungslösung zum Definieren, Auslösen und Überwachen eines Updates.
    • Nachteile: Muss Azure IoT Hub verwenden, werden keine anderen Cloudendpunkte unterstützt.
  • Separate Firmwareprüfung (benutzerdefinierte Lösung):

    • Beschreibung: Erstellen Sie eine benutzerdefinierte Firmwareüberprüfung in der Azure Sphere-Anwendung. Überprüfen Sie regelmäßig einen definierten Endpunkt auf eine neue Version, und initiieren Sie ein Update, wenn ein Endpunkt erkannt wird.
    • Pros: Funktioniert mit jedem Cloud-Endpunkt, um Firmware herunterzuladen.
    • Nachteile: Muss die Überwachung des Updateprozesses hinzufügen. Benutzerdefinierte integrierte Lösung, sodass keine vorhandenen Updatepfade genutzt werden.

Empfohlene Lösung: Wenn updates für nachgeschaltete Prozessoren über die Azure Sphere-App-Updates für Ihr Szenario ausgelöst werden, wird dieser Ansatz empfohlen. Diese Lösung stellt sicher, dass die Azure Sphere- und downstream-Firmwareversionen immer übereinstimmen, und es ist nicht erforderlich, ein anderes System zum Auslösen von Updates zu erstellen. Andernfalls, wenn die Anwendung bereits Azure IoT Hub verwendet, ist IoT Geräteverwaltung die empfohlene Lösung, andernfalls ist eine benutzerdefinierte Lösung erforderlich.

Beispiele:

  • Die ExternalMcuUpdate-Referenzlösung zeigt, wie eine bestimmte Firmwareversion auf einem nachgeschalteten Gerät für jede Azure Sphere-Anwendungsversion erforderlich ist.
  • Azure Sphere External MCU OTA implementiert ein Firmwareupdate für Azure Sphere unter Verwendung der Azure IoT Hub-Geräteverwaltung.
  • Das Lernprogramm zum Firmwareupdate für Azure IoT Hub beschreibt, wie Updates über Azure IoT Hub-Geräte-Twin-Eigenschaften ausgelöst werden.

Phase 2: Abrufen des Firmwareupdates

Problem: Wie sollte die Firmware aufgrund der Speichereinschränkungen von Azure Sphere MT3620 heruntergeladen werden?

Optionen:

  • Fügen Sie die downstream firmware in das imagepackage ein, das für MT3620 bereitgestellt wird. Dies ist möglich, wenn die Gesamtgröße der MT3620-Software einschließlich des nachgeschalteten Bilds den dokumentierten Blitzgrenzwert nicht überschreitet.

  • Laden Sie die Firmware von einem gehosteten Speicherort herunter, z. B. mit Azure Blob Storage. Es kann erforderlich sein, die Firmware in Blöcken herunterzuladen, da der RAM-Grenzwert von MT3620 das gesamte Bild, das auf RAM heruntergeladen wird, ausschließen kann. Es ist wichtig, den server zu überprüfen, der für den Firmwaredownload verwendet wird, z. B. mithilfe von HTTPS, um sicherzustellen, dass nur vertrauenswürdige Firmware heruntergeladen und auf den downstream-Prozessor angewendet wird. Beachten Sie, dass es in diesem Fall möglich ist, dass ein Gerät online sein kann, während die Azure Sphere-App aktualisiert wird, aber dann offline gehen, bevor die neue App neue Downstream-Firmware herunterladen kann. Wenn dies eine Möglichkeit für Ihren Anwendungsfall ist, ist es wichtig, die Kompatibilität zwischen der Azure Sphere-App und älteren nachgelagerten Firmwareversionen aufrechtzuerhalten.

Empfohlene Lösung: Wenn das Firmwareimage in den Flash-Grenzwert des Azure Sphere-Imagepackage passt und es akzeptabel ist, die MT3620-Software jedes Mal zu aktualisieren, wenn ein nachgelagertes Update benötigt wird, empfiehlt es sich, das nachgeschaltete Image in das MT3620-Imagepaket einzuschließen. Andernfalls müssen Sie das Firmwareimage von Ihrem gehosteten Speicherort herunterladen.

Beispiele:

Phase 3: Ermitteln eines Zwischendownloadspeicherorts

Problem: Dieses Problem ist nur relevant, wenn Sie kein Firmwareimage verwenden, das in das Azure Sphere-Imagepaket integriert ist und die heruntergeladene Firmware größer als der verfügbare RAM auf MT3620 ist.

Optionen:

  • Externer Blitz, der mit Azure Sphere verbunden ist.
  • Nachgeschalteter MCU- oder PC-Speicher.

Es gibt keine richtige oder falsche Antwort, wo die heruntergeladene Firmware gespeichert werden soll. Diese Auswahl hängt von der Hardwareeinrichtung und den Kosten ab. Was ist die beste Option für Sie? Sie können den externen Flashspeicher an Ihr Azure Sphere-Gerät anfügen oder einen nachgeschalteten Prozessor mit ausreichend großem Speicher auswählen, um das Firmwareupdate zu erhalten.

Empfohlene Lösung: Wählen Sie die beste Option für Ihr Setup aus.

Beispiele:

Phase 4: Überprüfen der Firmware und Aktualisieren des Downstreamprozessors

Problem: Wie überprüfen und wenden Sie das Firmwareupdate auf den nachgeschalteten Prozessor an?

Optionen: Jeder Prozessor hat eine andere Lösung. Die meisten Prozessorhersteller haben Beispiele, die zeigen, wie Firmwareupdates auf ihren Geräten ausgeführt werden, und Sie sollten die bewährten Methoden für Ihre spezifische Lösung befolgen. Das Herunterladen und Aktualisieren der Firmware sollte eine Integritätsprüfung durchführen, um die Firmware vor dem Starten des Updates zu überprüfen.

Empfohlene Lösung: Unterscheidet sich für jeden Prozessor. Bitte sehen Sie sich das Beispiel ihres Prozessorherstellers an.

Example: ExternalMcuUpdate reference solution demonstrates how to update a Nordic nRF52 over a UART interface from MT3620.