Automatisk hantering av IoT-enheter och -moduler med Azure-portalen

Automatisk enhetshantering i Azure IoT Hub automatiserar många av de repetitiva och komplexa uppgifterna för att hantera stora enhetsparker. Med automatisk enhetshantering kan du rikta en uppsättning enheter baserat på deras egenskaper, definiera en önskad konfiguration och sedan låta IoT Hub uppdatera enheterna när de är i omfånget. Den här uppdateringen görs med hjälp av en automatisk enhetskonfiguration eller automatisk modulkonfiguration, som gör att du kan sammanfatta slutförande och efterlevnad, hantera sammanslagning och konflikter samt distribuera konfigurationer i en fasfasad metod.

Anteckning

De funktioner som beskrivs i den här artikeln är bara tillgängliga på standard-nivån för IoT Hub. Mer information om nivåerna Basic och standard/Free IoT Hub finns i Välj rätt IoT Hub nivå.

Automatisk enhetshantering fungerar genom att uppdatera en uppsättning enhetstvillingar eller modultvillingar med önskade egenskaper och rapportera en sammanfattning som baseras på tvillingrapporterade egenskaper. Den introducerar en ny klass och ett JSON-dokument som kallas konfiguration och som har tre delar:

  • Målvillkoret definierar omfånget för enhetstvillingarna eller modultvillingarna som ska uppdateras. Målvillkoret anges som en fråga om tvillingtaggar och/eller rapporterade egenskaper.

  • Målinnehållet definierar önskade egenskaper som ska läggas till eller uppdateras i målenhetstvillingarna eller modultvillingarna. Innehållet innehåller en sökväg till avsnittet med önskade egenskaper som ska ändras.

  • Måtten definierar sammanfattningsantalet för olika konfigurationsstatusar, till exempel Lyckades, Pågår och Fel. Anpassade mått anges som frågor om tvillingrapporterade egenskaper. Systemmått är standardmått som mäter uppdateringsstatus för tvillingar, till exempel antalet måltvillingarna och antalet tvillingar som har uppdaterats.

Automatiska konfigurationer körs för första gången strax efter att konfigurationen har skapats och sedan med fem minuters intervall. Måttfrågor körs varje gång den automatiska konfigurationen körs.

Implementera tvillingar

Automatiska enhetskonfigurationer kräver att enhetstvillingarna används för att synkronisera tillståndet mellan molnet och enheterna. Mer information finns i Understand and use device twins in IoT Hub (Förstå och använda enhetstvillingar i IoT Hub).

Automatiska modulkonfigurationer kräver användning av modultvillingarna för att synkronisera tillstånd mellan molnet och moduler. Mer information finns i Förstå och använda modultvillingarna i IoT Hub.

Använda taggar för måltvillingarna

Innan du skapar en konfiguration måste du ange vilka enheter eller moduler som du vill påverka. Azure IoT Hub identifierar enheter och använder taggar i enhetstvillingen och identifierar moduler med hjälp av taggar i modultvillingen. Varje enhet eller moduler kan ha flera taggar och du kan definiera dem på ett sätt som är logiskt för din lösning. Om du till exempel hanterar enheter på olika platser lägger du till följande taggar till en enhetstvilling:

"tags": {
    "location": {
        "state": "Washington",
        "city": "Tacoma"
    }
},

Skapa en konfiguration

  1. I Azure Portaldu till din IoT-hubb.

  2. Välj Konfigurationer i det vänstra navigeringsfönstret.

  3. Välj Lägg till enhetskonfiguration eller Lägg till modulkonfiguration.

    Skärmbild som visar hur du lägger till en konfiguration.

Det finns fem steg för att skapa en konfiguration. I följande avsnitt går vi igenom vart och ett.

Namn och etikett

  1. Ge konfigurationen ett unikt namn som är upp till 128 gemener. Undvik blanksteg och följande ogiltiga tecken: & ^ [ ] { } \ | " < > / .

  2. Lägg till etiketter för att spåra dina konfigurationer. Etiketter är Namn, Värde-par som beskriver din konfiguration. Exempel: HostPlatform, Linux eller Version, 3.0.1.

  3. Välj Nästa för att gå vidare till nästa steg.

Ange Inställningar

Det här avsnittet definierar det innehåll som ska anges i målenheten eller modultvillingarna. Det finns två indata för varje uppsättning inställningar. Den första är tvillingsökvägen, som är sökvägen till JSON-avsnittet i de önskade tvillingegenskaperna som ska anges. Den andra är JSON-innehållet som ska infogas i avsnittet.

Du kan till exempel ange tvillingsökvägen till properties.desired.chiller-water och sedan ange följande JSON-innehåll:

{
  "temperature": 66,
  "pressure": 28
}

Ange tvillingsökväg och innehåll

Du kan också ange enskilda inställningar genom att ange hela tvillingsökvägen och ange värdet utan hakparenteser. Med tvillingsökvägen kan du properties.desired.chiller-water.temperature till exempel ange innehållet till 66 . Skapa sedan en ny tvillinginställning för tryckegenskapen.

Om två eller flera konfigurationer är mål för samma tvillingsökväg gäller innehållet från konfigurationen med högst prioritet (prioritet definieras i steg 4).

Om du vill ta bort en befintlig egenskap anger du egenskapsvärdet till null .

Du kan lägga till ytterligare inställningar genom att välja Lägg till inställning för enhetstvilling eller Lägg till modultvillinginställning.

Ange mått (valfritt)

Mått innehåller sammanfattningar av de olika tillstånd som en enhet eller modul kan rapportera tillbaka efter att konfigurationsinnehållet har tillämpats. Du kan till exempel skapa ett mått för väntande inställningsändringar, ett mått för fel och ett mått för lyckade inställningsändringar.

Varje konfiguration kan ha upp till fem anpassade mått.

  1. Ange ett namn för Måttnamn.

  2. Ange en fråga för Måttkriterier. Frågan baseras på enhetstvillingens rapporterade egenskaper. Måttet representerar antalet rader som returneras av frågan.

Exempel:

SELECT deviceId FROM devices 
  WHERE properties.reported.chillerWaterSettings.status='pending'

Du kan inkludera en -sats som konfigurationen tillämpades på, till exempel:

/* Include the double brackets. */
SELECT deviceId FROM devices 
  WHERE configurations.[[yourconfigname]].status='Applied'

Om du skapar ett mått för att rapportera om konfigurerade moduler väljer du moduleId från devices.modules . Exempel:

SELECT deviceId, moduleId FROM devices.modules
  WHERE properties.reported.lastDesiredStatus.code = 200

Målenheter

Använd egenskapen tags från dina tvillingar för att rikta in dig på de specifika enheter eller moduler som ska ta emot den här konfigurationen. Du kan också rikta tvillingrapporterade egenskaper.

Automatiska enhetskonfigurationer kan bara rikta in sig på taggar för enhetstvillingar, och automatiska modulkonfigurationer kan bara rikta in sig på taggar för modultvilling.

Eftersom flera konfigurationer kan rikta in sig på samma enhet eller modul måste varje konfiguration ha ett prioritetsnummer. Om det uppstår en konflikt vinner konfigurationen med högst prioritet.

  1. Ange ett positivt heltal för konfigurationsprioritet . Det högsta numeriska värdet anses vara den högsta prioriteten. Om två konfigurationer har samma prioritetsnummer vinner den som skapades senast.

  2. Ange ett målvillkor för att avgöra vilka enheter eller moduler som ska vara mål för den här konfigurationen. Villkoret baseras på tvillingtaggar eller tvillingrapporterade egenskaper och ska matcha uttrycksformatet.

    För automatisk enhetskonfiguration kan du ange bara taggen eller den rapporterade egenskapen som mål. Exempel: tags.environment='test' eller properties.reported.chillerProperties.model='4000x'. Du kan ange * att alla enheter ska vara mål.

    För automatisk modulkonfiguration använder du en fråga för att ange taggar eller rapporterade egenskaper från modulerna som är registrerade på IoT-hubben. Exempel: from devices.modules where tags.environment='test' eller from devices.modules where properties.reported.chillerProperties.model='4000x'. Jokertecknet kan inte användas för att rikta in sig på alla moduler.

  3. Välj Nästa för att gå vidare till det sista steget.

Granska konfiguration

Granska konfigurationsinformationen och välj sedan Skicka.

Övervaka en konfiguration

Använd följande steg för att visa information om en konfiguration och övervaka de enheter som kör den:

  1. I Azure Portaldu till din IoT-hubb.

  2. Välj IoT-enhetskonfiguration.

  3. Granska konfigurationslistan. För varje konfiguration kan du visa följande information:

    • ID – namnet på konfigurationen.

    • Målvillkor – den fråga som används för att definiera målenheter eller moduler.

    • Prioritet – det prioritetsnummer som tilldelats konfigurationen.

    • Skapandetid – tidsstämpeln från den tidpunkt då konfigurationen skapades. Den här tidsstämpeln används för att bryta oavgjort när två konfigurationer har samma prioritet.

    • Systemmått – mått som beräknas av IoT Hub kan inte anpassas av utvecklare. Mål anger antalet enhetstvillingar som matchar målvillkoret. Gäller angivet antal enhetstvillingar som har ändrats av konfigurationen, vilket kan inkludera partiella ändringar i händelse av att en separat konfiguration med högre prioritet också har gjort ändringar.

    • Anpassade mått – mått som har angetts av utvecklaren som frågor mot tvillingrapporterade egenskaper. Upp till fem anpassade mått kan definieras per konfiguration.

  4. Välj den konfiguration som du vill övervaka.

  5. Granska konfigurationsinformationen. Du kan använda flikar för att visa specifik information om de enheter som tog emot konfigurationen.

    • Målvillkor – de enheter eller moduler som matchar målvillkoret.

    • Mått – en lista över systemmått och anpassade mått. Du kan visa en lista över enheter eller moduler som räknas för varje mått genom att välja måttet i listrutan och sedan välja Visa enheter eller Visa moduler.

    • Enhetstvilling Inställningar eller Inställningar – de tvillinginställningar som anges av konfigurationen.

    • Konfigurationsetiketter – nyckel/värde-par som används för att beskriva en konfiguration. Etiketter har ingen inverkan på funktionaliteten.

Ändra en konfiguration

När du ändrar en konfiguration replikeras ändringarna omedelbart till alla målenheter eller moduler.

Om du uppdaterar målvillkoret sker följande uppdateringar:

  • Om en tvilling inte uppfyller det gamla målvillkoret, men uppfyller det nya målvillkoret och den här konfigurationen är den högsta prioriteten för den tvillingen, tillämpas den här konfigurationen.

  • Om en tvilling som kör den här konfigurationen inte längre uppfyller målvillkoret tas inställningarna från konfigurationen bort och tvillingen ändras av konfigurationen med nästa högsta prioritet.

  • Om en tvilling som kör den här konfigurationen inte längre uppfyller målvillkoret och inte uppfyller målvillkoret för andra konfigurationer tas inställningarna från konfigurationen bort och inga andra ändringar görs på tvillingen.

Använd följande steg för att ändra en konfiguration:

  1. I Azure Portaldu till din IoT-hubb.

  2. Välj IoT-enhetskonfiguration.

  3. Välj den konfiguration som du vill ändra.

  4. Gör uppdateringar i följande fält:

    • Målvillkor
    • Etiketter
    • Prioritet
    • Mått
  5. Välj Spara.

  6. Följ stegen i Övervaka en konfiguration för att se ändringarna distribueras.

Ta bort en konfiguration

När du tar bort en konfiguration får alla enhetstvillingar sin nästa högsta prioritetskonfiguration. Om enhetstvillingarna inte uppfyller målvillkoret för någon annan konfiguration tillämpas inga andra inställningar.

  1. I Azure Portaldu till din IoT-hubb.

  2. Välj IoT-enhetskonfiguration.

  3. Använd kryssrutan för att välja den konfiguration som du vill ta bort.

  4. Välj Ta bort.

  5. Du uppmanas att bekräfta.

Nästa steg

I den här artikeln har du lärt dig hur du konfigurerar och övervakar IoT-enheter i stor skala. Följ dessa länkar om du vill veta mer om Azure IoT Hub:

Mer information om funktionerna i IoT Hub finns i:

Om du vill utforska IoT Hub Device Provisioning Service för att aktivera zero-touch- och just-in-time-etablering kan du se: