Skapa en enhetsmall i ditt Azure IoT Central-program
En enhetsmall är en ritning som definierar egenskaper och beteenden för en typ av enhet som ansluter till ett Azure IoT Central-program. Du kan till exempel skapa en enhetsmall för en sensor som skickar telemetri, till exempel temperatur och egenskaper, till exempel plats. Mer information finns i Vad är enhetsmallar?.
Den här artikeln beskriver några av sätten att skapa en enhetsmall i IoT Central, till exempel att automatiskt generera en enhetsmall från ett telemetrimeddelande eller definiera en i IoT Central-användargränssnittet.
Från en enhetsmall kan en operatör skapa och ansluta verkliga enheter.
Följande skärmbild visar ett exempel på 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.
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.
Du har flera alternativ för att skapa enhetsmallar:
- Utforma enhetsmallen i IoT Central-användargrä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 (Digital Twin Definition Language) v2 och IoT Central DTDL-tillägget. 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.
Importera en enhetsmall
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-användargränssnittet. I det här exemplet används enhetsmallen Onset Hobo MX-100 Temp Sensor från listan över aktuella enhetsmallar:
- Om du vill lägga till en ny enhetsmall väljer du + Ny på sidan Enhetsmallar .
- På sidan Välj typ rullar du nedåt tills du hittar panelen Debuthäll MX-100 Temp Sensor i avsnittet Aktuella enhetsmallar.
- Välj panelen Debuthäll MX-100 Temp Sensor och välj sedan Nästa: Granska.
- 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.
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:
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 :
På sidan Dataförhandsgranskning gör du nödvändiga ändringar i rådata och väljer Skapa mall:
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 :
Hantera enhetsmallar i användargränssnittet
Du kan skapa, redigera, 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.
Om du vill visa modell-ID:t väljer du rotgränssnittet i modellen och väljer Redigera identitet:
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:
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:
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.
Om du vill exportera en modell eller ett gränssnitt väljer du Exportera.
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 .
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:
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:
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 | Egenskap. |
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:
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.
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:
- Gå till enhetsmallen och välj Vyer.
- Välj Visualisera enheten.
- Ange ett namn för vyn i Visningsnamn.
- 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.
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.
Välj noden Vyer och välj sedan panelen Redigera enhet och molndata för att lägga till en ny vy.
Ändra formulärnamnet till Hantera enhet.
Välj de egenskaper och molnegenskaper som ska läggas till i formuläret. Välj sedan Lägg till avsnitt.
Välj Spara för att spara det nya formuläret.
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.