Definiera en ny IoT-enhetstyp i Azure IoT Central-programmet

En enhetsmall är en ritning som definierar egenskaper och beteenden för en typ av enhet som ansluter till ett Azure IoT Central-program.

I den här artikeln beskrivs hur du skapar en enhetsmall i IoT Central. Du kan till exempel skapa en enhetsmall för en sensor som skickar telemetri, till exempel temperatur och egenskaper, till exempel plats. Från den här enhetsmallen kan en operatör skapa och ansluta verkliga enheter.

Följande skärmbild visar ett exempel på en enhetsmall:

Skärmbild som visar en enhetsmall.

Enhetsmallen innehåller följande avsnitt:

  • Modell – Använd modellen för att definiera hur enheten interagerar med ditt IoT Central-program. Varje modell har ett unikt modell-ID och definierar enhetens funktioner. Funktionerna grupperas i gränssnitt. Med gränssnitt kan du återanvända komponenter mellan modeller eller använda arv för att utöka uppsättningen funktioner.
  • Rådata – Visa rådata som skickas av din avsedda förhandsgranskningsenhet. Den här vyn är användbar när du felsöker eller felsöker en enhetsmall.
  • Vyer – Använd vyer för att visualisera data från enheten och formulären för att hantera och kontrollera en enhet.

Mer information finns i Vad är enhetsmallar?.

Information om hur du hanterar enhetsmallar med hjälp av REST API :et för IoT Central finns i Så här använder du REST-API:et för IoT Central för att hantera enhetsmallar.

Skapa en enhetsmall

Du har flera alternativ för att skapa enhetsmallar:

  • Utforma enhetsmallen i IoT Central-gränssnittet.
  • Importera en enhetsmall från listan över aktuella enhetsmallar. Du kan också anpassa enhetsmallen efter dina krav i IoT Central.
  • När enheten ansluter till IoT Central ska den skicka modell-ID:t för den modell som den implementerar. IoT Central använder modell-ID:t för att hämta modellen från modelllagringsplatsen och för att skapa en enhetsmall. Lägg till eventuella molnegenskaper och vyer som ditt IoT Central-program behöver i enhetsmallen.
  • När enheten ansluter till IoT Central låter du IoT Central automatiskt generera en enhetsmallsdefinition från de data som enheten skickar.
  • Skapa en enhetsmodell med DTDL-tillägget (Digital Twin Definition Language) V2 och IoT Central DTDL. Importera enhetsmodellen manuellt till ditt IoT Central-program. Lägg sedan till molnegenskaperna och vyerna för dina IoT Central-programbehov.
  • Du kan också lägga till enhetsmallar i ett IoT Central-program med hjälp av REST-API:et för IoT Central för att hantera enhetsmallar.

Kommentar

I varje fall måste enhetskoden implementera de funktioner som definierats i modellen. Implementeringen av enhetskoden påverkas inte av molnegenskaperna och vyerna i enhetsmallen.

Det här avsnittet visar hur du importerar en enhetsmall från listan över aktuella enhetsmallar och hur du anpassar den med hjälp av IoT Central GUI. I det här exemplet används enhetsmallen Onset Hobo MX-100 Temp Sensor från listan över aktuella enhetsmallar:

  1. Om du vill lägga till en ny enhetsmall väljer du + Nysidan Enhetsmallar .
  2. På sidan Välj typ rullar du nedåt tills du hittar panelen Debuthäll MX-100 Temp Sensor i avsnittet Aktuella enhetsmallar.
  3. Välj panelen Debuthäll MX-100 Temp Sensor och välj sedan Nästa: Granska.
  4. På sidan Granska väljer du Skapa. Namnet på mallen du skapade är Hobo MX-100. Modellen innehåller komponenter som Hobo MX-100 och IotDevice. Komponenter definierar funktionerna i en Hobo MX-100-enhet. Funktionerna kan omfatta telemetri, egenskaper och kommandon. Den här enheten har bara telemetrifunktioner.

Skärmbild som visar en enhetsmall.

Skapa en enhetsmall automatiskt

Du kan också automatiskt skapa en enhetsmall från en enhet som för närvarande inte har tilldelats. IoT Central använder telemetri- och egenskapsvärdena som enheten skickar för att härleda en enhetsmodell.

Kommentar

För närvarande kan den här förhandsgranskningsfunktionen inte använda telemetri och egenskaper från komponenter. Den kan bara generera funktioner från rottelemetri och egenskaper.

Följande steg visar hur du använder den här funktionen:

  1. Anslut enheten till IoT Central och börja skicka data. När du ser data i vyn Rådata väljer du Skapa mall automatiskt i listrutan Hantera mall :

    Skärmbild som visar rådata från otilldelade enheter.

  2. På sidan Dataförhandsgranskning gör du nödvändiga ändringar i rådata och väljer Skapa mall:

    Skärmbild som visar ändringar i dataförhandsgranskningen som gör att du kan redigera data som IoT Central använder för att generera enhetsmallen.

  3. IoT Central genererar en mall baserat på dataformatet som visas på sidan Dataförhandsgranskning och tilldelar enheten till den. Du kan göra ytterligare ändringar i enhetsmallen, till exempel byta namn på den eller lägga till funktioner, på sidan Enhetsmallar :

    Skärmbild som visar hur du byter namn på den automatiskt genererade enhetsmallen.

Hantera en enhetsmall

Du kan byta namn på eller ta bort en mall från mallens redigeringssida.

När du har definierat mallen kan du publicera den. Innan mallen har publicerats kan du inte ansluta en enhet till den och den visas inte på sidan Enheter .

Mer information om hur du ändrar och versionshanterar enhetsmallar finns i Redigera en befintlig enhetsmall.

Modeller

Modellen definierar hur enheten interagerar med ditt IoT Central-program. Anpassa din modell med fler funktioner, lägg till gränssnitt för att ärva funktioner eller lägg till nya komponenter som baseras på andra gränssnitt.

Om du vill skapa en enhetsmodell kan du:

  • Använd IoT Central för att skapa en anpassad modell från grunden.
  • Importera en DTDL-modell från en JSON-fil. En enhetsbyggare kan använda Visual Studio Code för att skapa en enhetsmodell för ditt program.
  • Välj en av enheterna i listan över aktuella enhetsmallar. Det här alternativet importerar enhetsmodellen som tillverkaren publicerade för den här enheten. En enhetsmodell som importeras så här publiceras automatiskt.
  1. Om du vill visa modell-ID:t väljer du rotgränssnittet i modellen och väljer Redigera identitet:

    Skärmbild som visar modell-ID för rotgränssnittet för enhetsmallar.

  2. Om du vill visa komponent-ID:t väljer du Redigera identitet på något av komponentgränssnitten i modellen.

Mer information finns i modelleringsguiden för IoT Plug and Play.

Gränssnitt och komponenter

Så här visar och hanterar du gränssnitten i enhetsmodellen:

  1. Gå till sidan Enhetsmallar och välj den enhetsmall som du skapade. Gränssnitten visas i avsnittet Modeller i enhetsmallen. Följande skärmbild visar ett exempel på rotgränssnittet för sensorstyrenheten i en enhetsmall:

    Skärmbild som visar rotgränssnittet för en modell

  2. Välj ellipsen för att lägga till ett ärvt gränssnitt eller en komponent i rotgränssnittet. Mer information om gränssnitt och komponenter finns i flera komponenter i modelleringsguiden.

    Skärmbild som visar hur du lägger till gränssnitt eller komponent.

  3. Om du vill exportera en modell eller ett gränssnitt väljer du Exportera.

  4. Om du vill visa eller redigera DTDL för ett gränssnitt eller en funktion väljer du Redigera DTDL.

Funktioner

Välj + Lägg till kapacitet för att lägga till funktioner i ett gränssnitt eller en komponent. Du kan till exempel lägga till funktionen Måltemperatur till en SensorTemp-komponent .

Skärmbild som visar hur du lägger till funktioner.

Telemetri

Telemetri är en ström av värden som skickas från enheten, vanligtvis från en sensor. En sensor kan till exempel rapportera omgivningstemperaturen enligt följande skärmbild:

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

I följande tabell visas konfigurationsinställningarna för en telemetrifunktion:

Fält Description
Visningsnamn Visningsnamnet för telemetrivärdet som används i vyer och formulär.
Name Namnet på fältet i telemetrimeddelandet. IoT Central genererar ett värde för det här fältet från visningsnamnet, men du kan välja ditt eget värde om det behövs. Det här fältet måste vara alfanumeriskt.
Typ av kapacitet Telemetri.
Semantiktyp Telemetrins semantiska typ, till exempel temperatur, tillstånd eller händelse. Valet av semantisk typ avgör vilka av följande fält som är tillgängliga.
Schema Telemetridatatypen, till exempel dubbel, sträng eller vektor. Den semantiska typen avgör vilka alternativ som är tillgängliga. Schemat är inte tillgängligt för händelse- och tillståndssemantiktyperna.
Allvarlighet Endast tillgängligt för händelsesemantisk typ. Allvarlighetsgraden är Fel, Information eller Varning.
Tillståndsvärden Endast tillgängligt för tillståndssemantisk typ. Definiera möjliga tillståndsvärden, som var och en har visningsnamn, namn, uppräkningstyp och värde.
Enhet En enhet för telemetrivärdet, till exempel mph, %, eller °C.
Visningsenhet En visningsenhet för användning i vyer och formulär.
Kommentar Eventuella kommentarer om telemetrifunktionen.
beskrivning En beskrivning av telemetrifunktionen.

Egenskaper

Egenskaper representerar punkt-i-tid-värden. Du kan ange skrivbara egenskaper från IoT Central. En enhet kan till exempel använda en skrivbar egenskap för att låta en operatör ange måltemperaturen enligt följande skärmbild:

Skärmbild som visar hur du lägger till egenskapen.

I följande tabell visas konfigurationsinställningarna för en egenskapsfunktion:

Fält Description
Visningsnamn Visningsnamnet för egenskapsvärdet som används i vyer och formulär.
Name Namnet på egenskapen. IoT Central genererar ett värde för det här fältet från visningsnamnet, men du kan välja ditt eget värde om det behövs. Det här fältet måste vara alfanumeriskt.
Typ av kapacitet Egenskapen.
Semantiktyp Egenskapens semantiska typ, till exempel temperatur, tillstånd eller händelse. Valet av semantisk typ avgör vilka av följande fält som är tillgängliga.
Schema Egenskapsdatatypen, till exempel dubbel, sträng eller vektor. Den semantiska typen avgör vilka alternativ som är tillgängliga. Schemat är inte tillgängligt för händelse- och tillståndssemantiktyperna.
Skrivbar Om egenskapen inte kan skrivas kan enheten rapportera egenskapsvärden till IoT Central. Om egenskapen är skrivbar kan enheten rapportera egenskapsvärden till IoT Central och IoT Central kan skicka egenskapsuppdateringar till enheten.
Allvarlighet Endast tillgängligt för händelsesemantisk typ. Allvarlighetsgraden är Fel, Information eller Varning.
Tillståndsvärden Endast tillgängligt för tillståndssemantisk typ. Definiera möjliga tillståndsvärden, som var och en har visningsnamn, namn, uppräkningstyp och värde.
Enhet En enhet för egenskapsvärdet, till exempel mph, %, eller °C.
Visningsenhet En visningsenhet för användning i vyer och formulär.
Kommentar Eventuella kommentarer om egenskapsfunktionen.
beskrivning En beskrivning av egenskapsfunktionen.
Färg Ett IoT Central-tillägg till DTDL.
Minvärde Ange minimivärde – ett IoT Central-tillägg till DTDL.
Maxvärde Ange maximalt värde – ett IoT Central-tillägg till DTDL.
Decimaler Ett IoT Central-tillägg till DTDL.

Kommandon

Du kan anropa enhetskommandon från IoT Central. Kommandon kan också skicka parametrar till enheten och ta emot ett svar från enheten. Du kan till exempel anropa ett kommando för att starta om en enhet på 10 sekunder enligt följande skärmbild:

Skärmbild som visar hur du lägger till kommandon.

I följande tabell visas konfigurationsinställningarna för en kommandofunktion:

Fält Description
Visningsnamn Visningsnamnet för kommandot som används i vyer och formulär.
Name Namnet på kommandot. IoT Central genererar ett värde för det här fältet från visningsnamnet, men du kan välja ditt eget värde om det behövs. Det här fältet måste vara alfanumeriskt.
Typ av kapacitet Kommando.
Köa om den är offline Om det är aktiverat kan du anropa kommandot även om enheten är offline. Om det inte är aktiverat kan du bara anropa kommandot när enheten är online.
Kommentar Eventuella kommentarer om kommandofunktionen.
beskrivning En beskrivning av kommandofunktionen.
Förfrågan Om aktiverad, en definition av parametern för begäran, inklusive: namn, visningsnamn, schema, enhet och visningsenhet.
Response Om aktiverad, en definition av kommandosvaret, inklusive: namn, visningsnamn, schema, enhet och visningsenhet.
Initialt värde Standardparametervärdet. Den här parametern är ett IoT Central-tillägg till DTDL.

Mer information om hur enheter implementerar kommandon finns i Telemetri, egenskap och kommandonyttolaster > kommandon och tidskrävande kommandon.

Offlinekommandon

Du kan välja kökommandon om en enhet för närvarande är offline genom att aktivera alternativet Kö om offline för ett kommando i enhetsmallen.

Det här alternativet använder IoT Hub-meddelanden från moln till enhet för att skicka meddelanden till enheter. Mer information finns i IoT Hub-artikeln Skicka meddelanden från moln till enhet.

Meddelanden från moln till enhet:

  • Är enkelriktade meddelanden till enheten från din lösning.
  • Garantera leverans av meddelanden minst en gång. IoT Hub bevarar meddelanden från moln till enhet i köer per enhet, vilket garanterar återhämtning mot anslutnings- och enhetsfel.
  • Kräv att enheten implementerar en meddelandehanterare för att bearbeta meddelandet från moln till enhet.

Kommentar

Offlinekommandon markeras som durable om du exporterar modellen som DTDL.

Molnegenskaper

Använd molnegenskaper för att lagra information om enheter i IoT Central. Molnegenskaper skickas aldrig till en enhet. Du kan till exempel använda molnegenskaper för att lagra namnet på kunden som installerade enheten eller enhetens senaste servicedatum.

Skärmbild som visar hur du lägger till molnegenskaper.

Dricks

Du kan bara lägga till molnegenskaper i rotkomponenten i modellen.

I följande tabell visas konfigurationsinställningarna för en molnegenskap:

Fält Description
Visningsnamn Visningsnamnet för molnegenskapsvärdet som används i vyer och formulär.
Name Namnet på molnegenskapen. IoT Central genererar ett värde för det här fältet från visningsnamnet, men du kan välja ditt eget värde om det behövs.
Semantiktyp Egenskapens semantiska typ, till exempel temperatur, tillstånd eller händelse. Valet av semantisk typ avgör vilka av följande fält som är tillgängliga.
Schema Datatypen molnegenskap, till exempel dubbel, sträng eller vektor. Den semantiska typen avgör vilka alternativ som är tillgängliga.

Vyer

Med vyer kan du definiera vyer och formulär som låter en operatör övervaka och interagera med en enhet. Vyer använder visualiseringar som diagram för att visa telemetri- och egenskapsvärden.

Att generera standardvyer är ett snabbt sätt att visualisera viktig enhetsinformation. De tre standardvyerna är:

Standardvyer

  • Kommandon: En vy med enhetskommandon och låter operatören skicka dem till enheten.
  • Översikt: En vy med enhetstelemetri som visar diagram och mått.
  • Om: En vy med enhetsinformation som visar enhetsegenskaper.

När du har valt Generera standardvyer läggs de automatiskt till under avsnittet Vyer i enhetsmallen.

Anpassade vyer

Lägg till vyer i en enhetsmall så att operatorer kan visualisera en enhet med hjälp av diagram och mått. Du kan lägga till egna anpassade vyer i en enhetsmall.

Så här lägger du till en vy i en enhetsmall:

  1. Gå till enhetsmallen och välj Vyer.
  2. Välj Visualisera enheten.
  3. Ange ett namn för vyn i Visningsnamn.
  4. Välj Börja med ett visuellt objekt under Lägg till paneler och välj typ av visuellt objekt för din panel. Välj sedan Lägg till panel eller dra och släpp det visuella objektet på arbetsytan. Om du vill konfigurera panelen väljer du kugghjulsikonen.

Skärmbild som visar hur du börjar med ett visuellt objekt.

Skärmbild som visar hur du konfigurerar en panel.

Om du vill testa vyn väljer du Konfigurera förhandsgranskningsenhet. Med den här funktionen kan du se vyn som en operatör ser den när den har publicerats. Använd den här funktionen för att verifiera att dina vyer visar rätt data. Välj bland följande alternativ:

  • Ingen förhandsgranskningsenhet.
  • Den verkliga testenheten som du konfigurerade för enhetsmallen.
  • En befintlig enhet i ditt program med hjälp av enhets-ID:t.

Formulär

Lägg till formulär i en enhetsmall så att operatorer kan hantera en enhet genom att visa och ange egenskaper. Operatörer kan bara redigera molnegenskaper och skrivbara enhetsegenskaper. Du kan ha flera formulär för en enhetsmall.

  1. Välj noden Vyer och välj sedan panelen Redigera enhet och molndata för att lägga till en ny vy.

  2. Ändra formulärnamnet till Hantera enhet.

  3. Välj de egenskaper och molnegenskaper som ska läggas till i formuläret. Välj sedan Lägg till avsnitt.

  4. Välj Spara för att spara det nya formuläret.

Skärmbild som visar hur du konfigurerar ett formulär.

Publicera en enhetsmall

Innan du kan ansluta en enhet som implementerar din enhetsmodell måste du publicera enhetsmallen.

Om du vill publicera en enhetsmall går du till enhetsmallen och väljer Publicera.

När du har publicerat en enhetsmall kan en operatör gå till sidan Enheter och lägga till verkliga eller simulerade enheter som använder enhetsmallen. Du kan fortsätta att ändra och spara enhetsmallen när du gör ändringar. När du vill skicka ut ändringarna till operatorn som ska visas under sidan Enheter måste du välja Publicera varje gång.