Vad är enhetsuppdatering för IoT Hub?
I takt med att IoT-lösningar (Internet of Things) blir allt vanligare är det viktigt att de enheter som bildar dessa lösningar är enkla att ansluta och hantera i stor skala. Azure Device Update för IoT Hub är en tjänst som gör att du kan distribuera trådlösa uppdateringar för dina IoT-enheter.
Enhetsuppdatering för IoT Hub är en plattform från slutpunkt till slutpunkt för publicering, distribution och hantering av trådlösa uppdateringar för allt från små sensorer till enheter på gatewaynivå. För att uppnå de fulla fördelarna med IoT-aktiverad digital omvandling tillhandahåller Enhetsuppdatering funktioner för att använda, underhålla och uppdatera enheter i stor skala, till exempel:
- Snabb respons på säkerhetshot.
- Nya funktionsdistributioner för att uppnå affärsmål.
- Integrerade uppdateringar utan extra kostnader för att utveckla och underhålla en uppdateringsplattform.
IoT-enheter som stöds
Enhetsuppdatering för IoT Hub är en molnbaserad lösning för att ansluta praktiskt taget alla enheter. Enhetsuppdatering erbjuder optimerad uppdateringsdistribution och effektiviserade åtgärder genom integrering med Azure IoT Hub, vilket gör det enkelt att använda befintliga IoT Hub-baserade lösningar, inklusive Azure IoT Edge-enheter.
Enhetsuppdatering har stöd för att konfigurera, skapa och distribuera trådlösa uppdateringar för ett brett utbud av IoT-operativsystem och vanliga MCU-klassenheter (microcontroller unit). Eclipse ThreadX realtidsoperativsystem erbjuder enhetsuppdateringsexempel kodutvecklade med halvledarpartners som STMicroelectronics, NXP, Renesas och Microchip. Enhetsuppdatering innehåller också en Raspberry Pi-referens yocto-avbildning och en enhetsuppdateringsagentsimulator binär.
Enhetsuppdateringsagenter skapas och tillhandahålls för olika Linux-operativsystem. Enhetsuppdatering är också utökningsbar via tillhandahållen öppen källkod om du inte kör Eclipse ThreadX eller Linux-plattformar som stöds. Du kan portera agenten till den distribution som du kör.
Enhetsuppdatering fungerar med IoT Plug and Play och kan hantera alla enheter som stöder nödvändiga IoT Plug and Play-gränssnitt. Mer information finns i Enhetsuppdatering för IoT Hub och IoT Plug and Play.
Uppdateringstyper som stöds
Enhetsuppdatering för IoT Hub stöder två typer av uppdateringar, paketbaserade och avbildningsbaserade. Vilken metod du väljer beror på ditt specifika användningsfall och din enhetsmiljö.
Paketbaserade uppdateringar är avsedda att endast ändra en specifik enhetskomponent eller ett visst program. De här uppdateringarna har lägre bandbreddsförbrukning och kortare nedladdnings- och installationstider, vilket ger mindre avbrott i enheten och undviker att skapa avbildningar.
Bildbaserade uppdateringar ger en hög förtroendenivå för enhetens sluttillstånd, vilket möjliggör enklare replikering mellan förproduktions- och produktionsmiljöer eller mellan A/B-redundansmodeller. Bildbaserade uppdateringar undviker utmaningarna med att hantera paket och deras beroenden.
Hanterings- och distributionskontroller
Du kan använda kontroller för hantering och distribution av enhetsuppdateringar för att maximera produktiviteten och spara värdefull tid.
Hanterings- och rapporteringsverktyg
- En uppdateringshanteringsupplevelse som är integrerad med Azure IoT Hub.
- Programmatiska API:er för att aktivera automatisering och anpassade portalupplevelser.
- Prenumerations- och rollbaserade åtkomstkontroller som är tillgängliga via Azure Portal.
- Uppdatera efterlevnads- och statusvyer i heterogena enhetsflottor snabbt.
- Azure CLI-stöd för att skapa och hantera enhetsuppdateringsresurser, grupper och distributioner.
Kontroll över distributionsinformation
- Gradvis uppdateringsdistribution via kontroller för enhetsgruppering och uppdateringsschemaläggning.
- Stöd för elastiska enhetsuppdateringar (A/B) för sömlös återställning.
- Automatisk återställning till en definierad reservversion för hanterade enheter som uppfyller återställningsvillkoren.
- Deltauppdateringar (offentlig förhandsversion) som gör att du kan generera mindre uppdateringar som endast representerar ändringarna mellan den aktuella avbildningen och målbilden, vilket kan minska bandbredden och nedladdningstiden.
- Lokalt innehållscacheminne och kapslat gränsstöd för att aktivera uppdatering av moln frånkopplade enheter.
Global säkerhet
Enhetsuppdatering använder omfattande säkerhet från moln till gräns som utvecklats för Microsoft Azure, så du behöver inte konfigurera säkerheten själv. Microsoft Azure Support mer än en miljard IoT-enheter runt om i världen. Enhetsuppdatering bygger på det här stödet och den beprövade tillförlitligheten för Windows Update-plattformen, så att enheterna kan uppdateras sömlöst i global skala. Mer information finns i Säkerhetsmodell för enhetsuppdatering.
Automatisk enhetsgruppering
Enhetsuppdatering för IoT Hub innehåller möjligheten att gruppera enheter baserat på kompatibilitetsegenskaper och taggar för enhetstvillingar och ange vilka enheter som ska uppdateras. Du kan också visa status för distributioner och se till att varje enhet uppdateras korrekt.
Felsökningsfunktioner
Felsökningsfunktioner inkluderar agentkontroll och enhetssynkronisering som hjälper dig att diagnostisera och reparera enheter. När ett uppdateringsfel inträffar kan Enhetsuppdatering identifiera de enheter som inte kunde uppdatera och ange relaterad felinformation. Med den här möjligheten slipper du ägna tid åt att försöka hitta källan manuellt.
Arbetsflöden för enhetsuppdatering
Funktionerna för enhetsuppdatering består av tre områden: agentintegrering, import och hantering.
Agentintegrering
När en enhet tar emot ett uppdateringskommando kör enhetsuppdateringsagenten den begärda download
, install
eller apply
uppdateringsfasen. Under varje fas returnerar agenten distributionsstatusen till Enhetsuppdatering via IoT Hub så att du kan visa distributionens aktuella status. Om inga uppdateringar pågår returnerar Idle
agenten status. Du kan avbryta en distribution när som helst.
Följande diagram visar hur enhetsuppdateringshanteringstjänsten använder IoT Hub-enhetstvillingegenskaper för att samordna agentuppdateringsarbetsflödet.
- Enhetsuppdateringshantering anger egenskapsvärdet för uppdateringskommandot till
applyDeployment
ellercancel
för återställning. - Enhetsuppdateringsagenten läser egenskapsvärdet för uppdateringskommandot och kör önskat kommando.
- Agenten anger egenskapsvärdet för uppdateringsstatus till
DeploymentInprogress
. När agenten är inaktiv anger den egenskapsvärdet tillIdle
.
Mer information finns i Enhetsuppdatering för IoT Hub-agentöversikt.
Import
Du importerar dina uppdateringar till Enhetsuppdatering för att förbereda dem för distribution till enheter. Enhetsuppdatering stöder import av en enskild uppdatering per enhet, en fullständig avbildning som uppdaterar en hel OS-partition eller ett APT-manifest som beskriver de enskilda paket som du vill uppdatera på en enhet.
Om du vill importera uppdateringar till Enhetsuppdatering skapar du först ett importmanifest som beskriver uppdateringen och laddar sedan upp manifestet och uppdateringsfilen eller filerna till en Azure Storage-container. Därefter kan du använda Azure Portal eller REST-API:et för enhetsuppdatering för att initiera importprocessen för asynkrona uppdateringar. Enhetsuppdatering laddar upp filerna, bearbetar dem och gör dem tillgängliga för distribution till IoT-enheter.
För känsligt innehåll kan du skydda nedladdningen med hjälp av en signatur för delad åtkomst (SAS), till exempel en ad hoc-SAS för Azure Blob Storage. Mer information finns i Bevilja begränsad åtkomst till Azure Storage-resurser med hjälp av SAS.
Följande diagram visar hur Enhetsuppdatering importerar en uppdatering.
- En utvecklare skapar en uppdatering och ett manifest med kompatibilitetsdata.
- Utvecklaren importerar uppdateringen och manifestet till Enhetsuppdatering.
- Enhetsuppdatering bearbetar uppdateringen.
- Uppdateringen med kompatibilitetsdata är nu klar för distribution.
Mer information om import finns i Importera uppdateringar till Enhetsuppdatering för IoT Hub.
Hantering
När du har importerat en uppdatering kan du visa kompatibla uppdateringar för dina enheter och enhetsklasser.
Enhetsuppdatering stöder begreppet grupper via taggar i IoT Hub. Att distribuera en uppdatering till en testgrupp först är ett bra sätt att minska risken för problem under en produktionsdistribution. Mer information om enhetsuppdateringsgrupper finns i Enhetsgrupper.
I Enhetsuppdatering ansluter distributioner rätt innehåll till en specifik uppsättning kompatibla enheter. Enhetsuppdatering samordnar processen för att skicka kommandon till varje enhet, instruerar enheterna att ladda ned och installera uppdateringar och få status tillbaka. Information om hur du mäter uppdateringsefterlevnad finns i Enhetsuppdateringsefterlevnad.
Följande diagram illustrerar arbetsflödet för gruppering och distribution av enhetsuppdatering.
- Operatorn kan visa tillämpliga uppdateringar för enheter.
- Enhetsuppdateringsfrågor för enheter från IoT Hub.
- Operatorn initierar en uppdatering för angivna enheter.
- IoT Hub meddelanden enheterna för att ladda ned och installera uppdateringen.
- Enheterna tar emot kommandona för att installera uppdateringen.
- Uppdateringen laddas ned och installeras.
- Uppdateringsstatus returneras till Enhetsuppdatering via IoT Hub.