Metodtips för enhetskonfiguration i en IoT-lösning

Automatisk enhetshantering i Azure IoT Hub automatiserar många repetitiva och komplexa uppgifter för att hantera stora enhetsflottor under hela livscykeln. Den här artikeln definierar många av metodtipsen för de olika roller som ingår i utvecklingen och driften av en IoT-lösning.

  • IoT-maskinvarutillverkare/-integrerare: Tillverkare av IoT-maskinvara, integrerare som monterar maskinvara från olika tillverkare eller leverantörer som tillhandahåller maskinvara för en IoT-distribution som tillverkas eller integreras av andra leverantörer. Involverad i utveckling och integrering av inbyggd programvara, inbäddade operativsystem och inbäddad programvara.

  • IoT-lösningsutvecklare: Utvecklingen av en IoT-lösning görs vanligtvis av en lösningsutvecklare. Den här utvecklaren kan ingå i ett internt team eller en systemintegrerare som specialiserar sig på den här aktiviteten. IoT-lösningsutvecklaren kan utveckla olika komponenter i IoT-lösningen från grunden, integrera olika standardkomponenter eller komponenter med öppen källkod.

  • IoT-lösningsoperator: När IoT-lösningen har distribuerats kräver den långsiktiga åtgärder, övervakning, uppgraderingar och underhåll. Dessa uppgifter kan utföras av ett internt team som består av it-specialister, maskinvarudrifts- och underhållsteam och domänspecialister som övervakar det korrekta beteendet för den övergripande IoT-infrastrukturen.

Förstå automatisk enhetshantering för att konfigurera IoT-enheter i stor skala

Automatisk enhetshantering omfattar de många fördelarna med enhetstvillingar och modultvillingar för att synkronisera önskade och rapporterade tillstånd mellan molnet och enheterna. Automatiska enhetskonfigurationer uppdaterar automatiskt stora uppsättningar tvillingar och sammanfattar förloppet och efterlevnaden. Följande övergripande steg beskriver hur automatisk enhetshantering utvecklas och används:

  • IoT-maskinvarutillverkaren/-integreraren implementerar enhetshanteringsfunktioner i ett inbäddat program med hjälp av enhetstvillingar. Dessa funktioner kan omfatta uppdateringar av inbyggd programvara, programinstallation och uppdatering samt hantering av inställningar.

  • IoT-lösningsutvecklaren implementerar hanteringsskiktet för enhetshanteringsåtgärder med hjälp av enhetstvillingar och automatiska enhetskonfigurationer. Lösningen bör omfatta att definiera ett operatörsgränssnitt för att utföra enhetshanteringsuppgifter.

  • IoT-lösningsoperatören använder IoT-lösningen för att utföra enhetshanteringsuppgifter, särskilt för att gruppera enheter, initiera konfigurationsändringar som uppdateringar av inbyggd programvara, övervaka förloppet och felsöka problem som uppstår.

IoT-maskinvarutillverkare/-integrator

Följande är metodtips för maskinvarutillverkare och integrerare som hanterar inbäddad programvaruutveckling:

  • Implementera enhetstvillingar: Med enhetstvillingar kan du synkronisera önskad konfiguration från molnet och rapportera aktuella konfigurations- och enhetsegenskaper. Det bästa sättet att implementera enhetstvillingar i inbäddade program är via Azure IoT SDK:er. Enhetstvillingar passar bäst för konfiguration eftersom de:

    • Stöd för dubbelriktad kommunikation.
    • Tillåt både anslutna och frånkopplade enhetstillstånd.
    • Följ principen om slutlig konsekvens.
    • Är helt kvantifierbara i molnet.
  • Strukturera enhetstvillingen för enhetshantering: Enhetstvillingen bör struktureras så att enhetshanteringsegenskaperna grupperas logiskt i avsnitt. Om du gör det kan konfigurationsändringar isoleras utan att påverka andra delar av tvillingen. Du kan till exempel skapa ett avsnitt i önskade egenskaper för inbyggd programvara, ett annat avsnitt för programvara och ett tredje avsnitt för nätverksinställningar.

  • Rapportera enhetsattribut som är användbara för enhetshantering: Attribut som fysisk enhets märke och modell, inbyggd programvara, operativsystem, serienummer och andra identifierare är användbara för rapportering och som parametrar för att rikta konfigurationsändringar.

  • Definiera huvudtillstånden för rapporteringsstatus och förlopp: Tillstånd på toppnivå bör räknas upp så att de kan rapporteras till operatorn. En uppdatering av den inbyggda programvaran skulle till exempel rapportera statusen Aktuell, Ladda ned, Tillämpa, Pågår och Fel. Definiera ytterligare fält för mer information om varje tillstånd.

IoT-lösningsutvecklare

Följande är metodtips för IoT-lösningsutvecklare som skapar system baserade i Azure:

  • Implementera enhetstvillingar: Med enhetstvillingar kan du synkronisera önskad konfiguration från molnet och rapportera aktuella konfigurations- och enhetsegenskaper. Det bästa sättet att implementera enhetstvillingar i molnlösningsprogram är via Azure IoT SDK:er. Enhetstvillingar passar bäst för konfiguration eftersom de:

    • Stöd för dubbelriktad kommunikation.
    • Tillåt både anslutna och frånkopplade enhetstillstånd.
    • Följ principen om slutlig konsekvens.
    • Är helt kvantifierbara i molnet.
  • Organisera enheter med hjälp av taggar för enhetstvillingar: Lösningen bör göra det möjligt för operatören att definiera kvalitetsringar eller andra uppsättningar av enheter baserat på olika distributionsstrategier, till exempel kanarie. Enhetsorganisationen kan implementeras i din lösning med hjälp av taggar och frågor för enhetstvillingar. Enhetsorganisationen är nödvändig för att möjliggöra konfigurationsdistributioner på ett säkert och korrekt sätt.

  • Implementera automatiska enhetskonfigurationer: Automatiska enhetskonfigurationer distribuerar och övervakar konfigurationsändringar för stora uppsättningar IoT-enheter via enhetstvillingar.

    Automatiska enhetskonfigurationer måluppsättningar för enhetstvillingar via målvillkoret, vilket är en fråga om taggar för enhetstvillingar eller rapporterade egenskaper. Målinnehållet är den uppsättning önskade egenskaper som ska anges inom målenhetstvillingarna. Målinnehållet bör överensstämma med enhetstvillingstrukturen som definieras av IoT-maskinvarutillverkaren/-integreraren. Måtten är frågor om rapporterade egenskaper för enhetstvillingar och bör också överensstämma med enhetstvillingstrukturen som definieras av IoT-maskinvarutillverkaren/-integreraren.

    Automatiska enhetskonfigurationer körs för första gången kort efter att konfigurationen har skapats och sedan med fem minuters intervall. De kan också dra nytta av IoT Hub utföra enhetstvillingåtgärder med en hastighet som aldrig överskrider begränsningsgränserna för enhetstvillingens läsningar och uppdateringar.

  • Använd Device Provisioning Service: Lösningsutvecklare bör använda Device Provisioning Service för att tilldela taggar för enhetstvillingar till nya enheter, så att de konfigureras automatiskt av automatiska enhetskonfigurationer som är riktade till tvillingar med den taggen.

IoT-lösningsoperator

Följande är metodtips för IoT-lösningsoperatörer som använder en IoT-lösning som bygger på Azure:

  • Organisera enheter för hantering: IoT-lösningen bör definiera eller tillåta skapandet av kvalitetsringar eller andra uppsättningar av enheter baserat på olika distributionsstrategier, till exempel kanariediagram. Enhetsuppsättningarna används för att distribuera konfigurationsändringar och för att utföra andra åtgärder för enhetshantering i stor skala.

  • Utför konfigurationsändringar med hjälp av en stegvis distribution: En stegvis distribution är en övergripande process där en operatör distribuerar ändringar till en bredare uppsättning IoT-enheter. Målet är att göra ändringar gradvis för att minska risken för större ändringar i stor skala.  Operatören bör använda lösningens gränssnitt för att skapa en automatisk enhetskonfiguration och målvillkoret ska vara riktat mot en första uppsättning enheter (till exempel en kanariegrupp). Operatören bör sedan verifiera konfigurationsändringen i den första uppsättningen enheter.

    När verifieringen är klar uppdaterar operatören den automatiska enhetskonfigurationen så att den innehåller en större uppsättning enheter. Operatören bör också ange att prioriteten för konfigurationen ska vara högre än andra konfigurationer som för närvarande är riktade till dessa enheter. Distributionen kan övervakas med hjälp av de mått som rapporteras av den automatiska enhetskonfigurationen.

  • Utför återställningar vid fel eller felkonfigurationer: En automatisk enhetskonfiguration som orsakar fel eller felkonfigurationer kan återställas genom att ändra målvillkoret så att enheterna inte längre uppfyller målvillkoret. Se till att en annan automatisk enhetskonfiguration med lägre prioritet fortfarande är riktad för dessa enheter. Kontrollera att återställningen lyckades genom att visa måtten: Den återställda konfigurationen bör inte längre visa status för omålade enheter, och den andra konfigurationens mått bör nu innehålla antal för de enheter som fortfarande är mål.

Nästa steg