Delen via


Downstream OTA-updates met Azure Sphere

Veel Azure Sphere-oplossingen bevatten zowel een door Azure Sphere gecertificeerde MCU als andere processors als onderdeel van een volledige IoT-oplossing. Deze andere processors hebben regelmatige firmware-updates nodig. In deze handleiding wordt beschreven hoe u downstream OTA-updates kunt inschakelen met behulp van Azure Sphere.

Afhankelijk van het specifieke toepassingsscenario zijn er verschillende manieren om dit te bereiken. Elke oplossing heeft een algemene stroom:

  1. Activeer de firmware-update.
  2. De firmware-update verkrijgen.
  3. Bepaal een tussenliggende downloadlocatie.
  4. Valideer firmware en werk downstreamprocessor bij.

Fase 1: De firmware-update activeren

Probleem: Hoe wordt het firmware-updateproces geïnitieerd?

Opties:

  • Elke Versie van de Azure Sphere-app is gekoppeld aan een downstreamfirmwareversie:

    • Beschrijving: Wanneer de Azure Sphere-app wordt gestart, wordt de ondersteunde firmwareversie vergeleken met de geïmplementeerde versie op de downstreamprocessor. Als de versies niet overeenkomen, is er een update nodig.
    • Voordelen: Gedefinieerd ondersteuningscontract tussen de Azure Sphere-app en de firmwareversie. Maakt ook gebruik van het bestaande updateproces van de Azure Sphere-app.
    • Nadelen: Moet de Azure Sphere-app bijwerken om een firmware-update te activeren, zelfs als er geen wijzigingen in de Azure Sphere-app zijn. Ook moet bewaking van de voortgang van de update worden toegevoegd.
  • Firmware-update voor apparaatbeheer in Azure IoT Hub:

    • Beschrijving: Wanneer een firmware-update gereed is, maakt een IoT Solution-operator een nieuwe configuratie voor apparaatbeheer met de bijgewerkte firmware. De Azure Sphere-toepassing ontvangt de aanvraag voor de firmware-update en kan de update starten.
    • Voordelen: Eenvoudige beheeroplossing voor het definiëren, activeren en bewaken van een update.
    • Nadelen: Azure IoT Hub moet worden gebruikt, er worden geen andere cloudeindpunten ondersteund.
  • Afzonderlijke firmwarecontrole (aangepaste oplossing):

    • Beschrijving: Bouw een aangepaste firmwarecontrole in de Azure Sphere-toepassing. Controleer regelmatig een gedefinieerd eindpunt voor een nieuwe versie en als er een wordt gedetecteerd, start u een update.
    • Voordelen: werkt met elk cloudeindpunt om firmware te downloaden.
    • Nadelen: Moet bewaking van updateproces toevoegen. Aangepaste gebouwde oplossing, dus geen bestaande updatepaden gebruiken.

Aanbevolen oplossing: als updates worden geactiveerd voor downstreamprocessors via de Azure Sphere-app-updates werkt voor uw scenario, wordt deze aanpak aanbevolen. Deze oplossing zorgt ervoor dat de versies van Azure Sphere en downstreamfirmware altijd overeenkomen en dat er geen ander systeem hoeft te worden gebouwd voor het activeren van updates. Anders is een aangepaste oplossing vereist als de toepassing al gebruikmaakt van Azure IoT Hub, IoT Apparaatbeheer de aanbevolen oplossing is.

Voorbeelden:

  • ExternalMcuUpdate-referentieoplossing laat zien hoe u een specifieke firmwareversie op een downstreamapparaat nodig hebt voor elke Versie van de Azure Sphere-toepassing.
  • Azure Sphere External MCU OTA implementeert een firmware-update voor Azure Sphere die gebruikmaakt van Azure IoT Hub-apparaatbeheer.
  • In de zelfstudie over firmware-updates van Azure IoT Hub wordt beschreven hoe u updates activeert via eigenschappen van Azure IoT Hub-apparaatdubbels.

Fase 2: De firmware-update verkrijgen

Probleem: Hoe moet de firmware worden gedownload vanwege de geheugenbeperkingen van de Azure Sphere MT3620?

Opties:

  • Neem de downstreamfirmware op in het imagepackage dat is geïmplementeerd in MT3620. Dit is mogelijk als de totale grootte van de MT3620-software, inclusief de downstream-installatiekopieën, de gedocumenteerde flashlimiet niet overschrijdt.

  • Download de firmware van een gehoste locatie, bijvoorbeeld met behulp van Azure Blob Storage. Het kan nodig zijn om de firmware in segmenten te downloaden, omdat de RAM-limiet van MT3620 kan voorkomen dat de hele installatiekopieën worden gedownload naar RAM. Het is belangrijk om de server te valideren die wordt gebruikt voor het downloaden van firmware, bijvoorbeeld via HTTPS, om ervoor te zorgen dat alleen vertrouwde firmware wordt gedownload en toegepast op de downstreamprocessor. In dit geval is het mogelijk dat een apparaat online is terwijl de Azure Sphere-app wordt bijgewerkt, maar offline gaat voordat de nieuwe app nieuwe downstreamfirmware kan downloaden. Als dit een mogelijkheid is voor uw use-case, is het belangrijk om compatibiliteit tussen de Azure Sphere-app en oudere downstreamfirmwareversies te behouden.

Aanbevolen oplossing: Als de firmware-installatiekopieën in de flashlimiet van het Azure Sphere-imagepackage passen en als het acceptabel is om de MT3620-software bij te werken telkens wanneer een downstream-update nodig is, wordt aanbevolen om de downstream-installatiekopieën op te nemen in de MT3620-imagepackage. Anders moet u de firmware-installatiekopie downloaden van uw gehoste locatie.

Voorbeelden:

Fase 3: Een tussenliggende downloadlocatie bepalen

Probleem: dit probleem is alleen relevant als u geen firmware-installatiekopieën gebruikt die zijn opgenomen in het Azure Sphere-imagepackage en waar de gedownloade firmware groter is dan het beschikbare RAM-geheugen op MT3620.

Opties:

  • Externe flash verbonden met Azure Sphere.
  • Downstream MCU- of PC-opslag.

Er is geen goed of verkeerd antwoord voor waar de gedownloade firmware moet worden opgeslagen. Deze keuze is afhankelijk van uw hardware-installatie en -kosten. Wat is de beste optie voor u? U kunt overwegen om extern flashgeheugen aan uw Azure Sphere-apparaat te koppelen of een downstreamprocessor met voldoende opslag te selecteren om de firmware-update te ontvangen.

Aanbevolen oplossing: selecteer de beste optie voor uw installatie.

Voorbeelden:

Fase 4: Firmware valideren en downstreamprocessor bijwerken

Probleem: Hoe valideert en past u de firmware-update toe op uw downstreamprocessor?

Opties: Elke processor heeft een andere oplossing. De meeste processorfabrikanten hebben voorbeelden die laten zien hoe firmware-updates op hun apparaten kunnen worden uitgevoerd en u moet de aanbevolen procedures voor uw specifieke oplossing volgen. Bij het downloaden en bijwerken van de firmware moet een integriteitscontrole worden uitgevoerd om de firmware te valideren voordat de update wordt gestart.

Aanbevolen oplossing: verschilt voor elke processor. Raadpleeg het voorbeeld van de fabrikant van de processor.

Voorbeeld: ExternalMcuUpdate-referentieoplossing laat zien hoe u een Nordic nRF52 bijwerkt via een UART-interface van MT3620.