Dela via


Automatisk IoT-enhets- och modulhantering med Hjälp av Azure-portalen

Automatisk enhetshantering i Azure IoT Hub automatiserar många av de repetitiva och komplexa uppgifter som krävs för att hantera stora enhetsflottor. Med automatisk enhetshantering kan du rikta in dig på en uppsättning enheter baserat på deras egenskaper, definiera en önskad konfiguration och sedan låta IoT Hub uppdatera enheterna när de kommer in 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 och distribuera konfigurationer i en stegvis metod.

Anmärkning

De funktioner som beskrivs i den här artikeln är endast tillgängliga på standardnivån för IoT Hub. Mer information om de grundläggande och standard-/kostnadsfria IoT Hub-nivåerna finns i Välj rätt IoT Hub-nivå och storlek för din lösning.

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

  • Det målvillkoret definierar omfånget för enhetstvillingar eller modultvillingar som ska uppdateras. Målvillkoret definieras som en fråga om dubbla taggar och/eller rapporterade egenskaper.

  • Den måldata definierar de önskade egenskaper som ska läggas till eller uppdateras i enhetstvillingar eller modultvillingar. Innehållet innehåller en sökväg till avsnittet med önskade egenskaper som ska ändras.

  • Metriken definierar sammanfattningen av antalen för olika konfigurationstillstånd, till exempel Framgång, Pågående, och Fel. Skräddarsydda mått anges som frågeställningar om tvillingens rapporterade egenskaper. Systemmått är standardmått som mäter tvillinguppdateringsstatus, till exempel antalet tvillingar som är mål och antalet tvillingar som har uppdaterats.

Automatiska konfigurationer körs för första gången kort efter att konfigurationen har skapats och sedan med fem minuters intervall. Måttfrågor körs varje gång den automatiska konfigurationen körs. Högst 100 automatiska konfigurationer stöds på IoT-hubbar på standardnivå. tio på IoT-hubbar på den kostnadsfria nivån. Begränsningar av hastigheten gäller också. Mer information finns i Kvoter och begränsningar.

Implementera tvillingkonceptet

Automatiska enhetskonfigurationer kräver användning av enhetstvillingar för att synkronisera tillstånd 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 modultvillingar för att synkronisera tillstånd mellan molnet och modulerna. Mer information finns i Förstå och använda modultvillingar i IoT Hub.

Använda taggar för att rikta in sig på tvillingar

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

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

Skapa en konfiguration

Du kan skapa högst 100 automatiska konfigurationer på IoT-hubbar på standardnivå. tio på IoT-hubbar på den kostnadsfria nivån. Mer information finns i Kvoter och begränsningar.

  1. I Azure Portal går du till din IoT-hubb.

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

  3. Välj Lägg till och välj sedan Konfiguration av enhetstvillingar eller Konfiguration av modultvillingar från rullgardinsmenyn.

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

Det finns fem steg för att skapa en konfiguration. Följande avsnitt går igenom var och en.

Namn och etikett

  1. Ge konfigurationen ett unikt namn som är upp till 128 tecken långt. Gemener bokstäver och följande specialtecken tillåts: -+%_*!'. Mellanslag är inte tillåtna.

  2. Lägg till etiketter som hjälper dig att spåra dina konfigurationer. En etikett är paren Name, Value som beskriver din konfiguration. Till exempel HostPlatform, Linux eller Version, 3.0.1.

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

Tvillinginställningar

Det här avsnittet definierar innehållet som ska anges i önskade egenskaper för enhetstvillingar eller modultvillingar. 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 det 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
}

Skärmbild av hur du ställer in enhetens eller modulens två- eller tvillingegenskap och json-innehåll.

Du kan också ställa in individuella inställningar genom att specificera hela tvillingsökvägen och ange värdet utan hakparenteser. Till exempel, med tvillingsökvägen properties.desired.chiller-water.temperature, ställ in innehållet till 66. Skapa sedan en ny tvillinginställning för tryckegenskapen.

Om två eller flera konfigurationer riktar sig mot samma tvillingsökväg tillämpas innehållet från konfigurationen med högst prioritet (prioritet definieras i steg 4).

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

Du kan lägga till ytterligare inställningar genom att välja Lägg till enhetstvillinginställning eller Lägg till modultvillinginställning.

Mål-enheter eller moduler

Använd egenskapen taggar 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 in dig på rapporterade egenskaper för tvilling.

Automatiska enhetskonfigurationer kan bara rikta sig mot enhetstvillingtaggar, och automatiska modulkonfigurationer kan bara rikta sig mot modultvillingtaggar.

Eftersom flera konfigurationer kan riktas mot samma enhet eller modul behöver varje konfiguration ett prioritetsnummer. Om det någonsin uppstår en konflikt vinner konfigurationen med högsta prioritet.

  1. Ange ett positivt heltal för konfigurationen Priority. 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 riktas mot den här konfigurationen. Villkoret baseras på dubbeltaggar eller dubbelrapporterade egenskaper och ska matcha uttryckets format.

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

    För automatisk modulkonfiguration använder du en fråga för att ange taggar eller rapporterade egenskaper från de moduler som är registrerade i IoT-hubben. Till 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.

Mätvärden

Mätvärden ger sammanfattande antal av de olika tillstånd som en enhet eller modul kan återrapportera efter att konfigurationsinnehållet har tillämpats. Du kan till exempel skapa ett mått för väntande inställningar, ett mått för fel och ett mått för lyckade inställningar.

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

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

  2. Ange en sökning för måttkriterium. Frågan baseras på rapporterade egenskaper hos enhetens tvilling. Måttet representerar antalet rader som returneras av frågan.

    Till exempel:

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

    Du kan inkludera en klausul om att konfigurationen tillämpades, 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. Till exempel:

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

Granska konfiguration

Granska konfigurationsinformationen och välj sedan Skicka.

Övervaka en konfiguration

Om du vill visa information om en konfiguration och övervaka enheterna som kör den använder du följande steg:

  1. I Azure Portal går du till din IoT-hubb.

  2. Välj Konfigurationer i Enhetshantering.

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

    • ID – namnet på konfigurationen.

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

    • Priority – det prioritetsnummer som tilldelats konfigurationen.

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

    • Systemmått – mått som beräknas av IoT Hub och inte kan anpassas av utvecklare. Mål anger antalet enhetstvillingar som matchar målvillkoret. Anger antalet enhetstvillingar som har ändrats genom konfigurationen, vilket kan inkludera partiella förändringar ifall en separat konfiguration med högre prioritet också gör ändringar.

    • Anpassade mått – mått som utvecklaren har specificerat som sökfrågor mot rapporterade 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ålenheter eller målmoduler – 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.

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

    • Inställningar för enhetstvillingar eller Inställningar för modultvillingar – de tvillinginställningar som anges av konfigurationen, om några.

Ä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 uppfyllde 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 för närvarande kör den här konfigurationen inte längre uppfyller målvillkoret tas inställningarna från konfigurationen bort och tvillingen ändras av den näst högsta prioritetskonfigurationen.

  • Om en tvilling som för närvarande 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.

Om du vill ändra en konfiguration använder du följande steg:

  1. I Azure Portal går du till din IoT-hubb.

  2. Välj Konfigurationer + distributioner i Enhetshantering.

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

  4. Du kan göra uppdateringar av följande fält:

    • Prioritet
    • Mätvärden
    • Målvillkor
    • Etiketter
  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äst högsta prioritetskonfiguration. Om enhetstvillingar inte uppfyller målvillkoret för någon annan konfiguration tillämpas inga andra inställningar.

  1. I Azure Portal går du till din IoT-hubb.

  2. Välj Konfigurationer + distributioner i Enhetshantering.

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

  4. Välj Ta bort.

  5. En uppmaning ber dig 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.

Information om hur du hanterar IoT Hub-enhetsidentiteter i bulk finns i Importera och exportera IoT Hub-enhetsidentiteter i grupp