IoT Central för enhetsutveckling

Med IoT Central program kan du övervaka och hantera miljontals enheter under hela livscykeln. Den här guiden är avsedd för enhetsutvecklare som implementerar kod som ska köras på enheter som ansluter till IoT Central.

Enheter interagerar med IoT Central program med hjälp av följande primitiver:

  • Telemetri är data som en enhet skickar till IoT Central. Till exempel en ström med temperaturvärden från en inbyggd sensor.
  • Egenskaper är tillståndsvärden som en enhet rapporterar till IoT Central. Till exempel enhetens aktuella version av den inbyggda programvaran. Du kan också ha skrivbara egenskaper som IoT Central kan uppdatera på enheten, till exempel en måltemperatur.
  • Kommandon anropas från IoT Central för att styra beteendet för en enhet. Till exempel kan ditt IoT Central anropa ett kommando för att starta om en enhet.

En lösningsbyggare ansvarar för att konfigurera instrumentpaneler och enhetsvyer i IoT Central webbgränssnitt för att visualisera telemetri, hantera egenskaper och anropa kommandon.

Typer av enheter

I följande avsnitt beskrivs de viktigaste typerna av enheter som du kan ansluta till IoT Central program:

IoT-enhet

En IoT-enhet är en fristående enhet som ansluter direkt till IoT Central. En IoT-enhet skickar vanligtvis telemetri från dess registrering eller anslutna sensorer till ditt IoT Central program. Fristående enheter kan också rapportera egenskapsvärden, ta emot skrivbara egenskapsvärden och svara på kommandon.

IoT Edge-enhet

En IoT Edge enhet ansluter direkt till IoT Central. En IoT Edge enhet kan skicka sin egen telemetri, rapportera dess egenskaper och svara på skrivbara egenskapsuppdateringar och kommandon. IoT Edge kan bearbeta data lokalt på den IoT Edge enheten. En IoT Edge-enhet kan också fungera som mellanhand för andra enheter som kallas lövenheter. Scenarier som använder IoT Edge enheter är:

  • Aggregera eller filtrera telemetri innan den skickas till IoT Central. Den här metoden kan minska kostnaderna för att skicka data till IoT Central.
  • Aktivera enheter som inte kan ansluta direkt till IoT Central ansluta via den IoT Edge enheten. En lövenhet kan till exempel använda Bluetooth för att ansluta IoT Edge enhet, som sedan ansluter via Internet till IoT Central.
  • Kontrollera lövenheter lokalt för att undvika den svarstid som är associerad med att ansluta IoT Central via Internet.

IoT Central ser bara IoT Edge enheten, inte lövenheterna som är anslutna till IoT Edge enheten.

Mer information finns i Lägga till en Azure IoT Edge enhet i ditt Azure IoT Central program.

Gateways

En gatewayenhet hanterar en eller flera underordnade enheter som ansluter till ditt IoT Central program. Du använder IoT Central för att konfigurera relationerna mellan nedströmsenheterna och gatewayenheten. Både IoT-enheter och IoT Edge-enheter kan fungera som gatewayer. Mer information finns i Definiera en ny IoT-gatewayenhetstyp i ditt Azure IoT Central program.

Ansluta en enhet

Azure IoT Central använder Azure IoT Hub Device Provisioning Service (DPS) för att hantera all enhetsregistrering och -anslutning.

Genom att använda DPS aktiveras:

  • IoT Central stöd för registrering och anslutning av enheter i stor skala.
  • Du kan generera enhetsautentiseringsuppgifter och konfigurera enheterna offline utan att registrera enheterna via IoT Central användargränssnitt.
  • Du kan använda dina egna enhets-ID:er för att registrera enheter i IoT Central. Med egna enhets-ID:er förenklas integreringen med befintliga back office-system.
  • Ett enda, konsekvent sätt att ansluta enheter till IoT Central.

Mer information finns i Anslut till Azure IoT Central metodtips.

Säkerhet

Anslutningen mellan en enhet och ditt IoT Central skyddas med hjälp av signaturer för delad åtkomst eller X.509-certifikatsom är branschstandard.

Kommunikationsprotokoll

Kommunikationsprotokoll som en enhet kan använda för att ansluta till IoT Central omfattar MQTT, AMQP och HTTPS. Internt använder IoT Central IoT-hubb för att aktivera enhetsanslutning. Mer information om de kommunikationsprotokoll som IoT Hub stöder för enhetsanslutning finns i Välj ett kommunikationsprotokoll.

Implementera enheten

En IoT Central-enhetsmall innehåller en modell som anger de beteenden som en enhet av den typen ska implementera. Beteenden omfattar telemetri, egenskaper och kommandon.

Mer information om metodtips för att redigera en modell finns i Redigera en befintlig enhetsmall.

Tips

Du kan exportera modellen från IoT Central som en Digital Twins DTDL (Definition Language) v2 JSON-fil.

Varje modell har en unik enhetstvillingmodellidentifierare (DTMI), till exempel dtmi:com:example:Thermostat;1 . När en enhet ansluter till IoT Central skickar den DTMI för den modell som den implementerar. IoT Central sedan associera rätt enhetsmall med enheten.

IoT Plug and Play definierar en uppsättning konventioner som en enhet ska följa när den implementerar en DTDL-modell.

Azure IoT-enhets-SDK:er har stöd för IoT-Plug and Play konventionerna.

Enhetsmodell

En enhetsmodell definieras med hjälp av DTDL. Med det här språket kan du definiera:

  • Telemetrin som enheten skickar. Definitionen innehåller telemetrinamnet och datatypen. Till exempel skickar en enhet temperaturtelemetri som en dubbel.
  • Egenskaperna som enheten rapporterar till IoT Central. En egenskapsdefinition innehåller dess namn och datatyp. En enhet rapporterar till exempel tillståndet för en valvet som ett booleskt tillstånd.
  • Egenskaperna som enheten kan ta emot från IoT Central. Du kan också markera en egenskap som skrivbar. Till exempel IoT Central skickar en måltemperatur som en dubbel till en enhet.
  • De kommandon som en enhet svarar på. Definitionen innehåller namnet på kommandot och namn och datatyper för alla parametrar. En enhet svarar till exempel på ett omstartskommando som anger hur många sekunder som ska vänta innan omstarten.

En DTDL-modell kan vara en modell utan komponent eller flera komponenter:

  • Ingen komponentmodell: En enkel modell använder inte inbäddade eller överlappande komponenter. All telemetri, egenskaper och kommandon definieras som en enda rotkomponent. Ett exempel finns i termostatmodellen.
  • Modell med flera komponenter. En mer komplex modell som innehåller två eller flera komponenter. Dessa komponenter innehåller en enda rotkomponent och en eller flera ytterligare kapslade komponenter. Ett exempel finns i temperaturkontrollantmodellen.

Mer information finns i IoT Plug and Play modeling guide (Guide för IoT-modellering)

Konventioner

En enhet bör följa IoT-Plug and Play när den utbyter data med IoT Central. Konventionerna omfattar:

  • Skicka DTMI när den ansluter till IoT Central.
  • Skicka korrekt formaterade JSON-nyttolaster och metadata till IoT Central.
  • Svara korrekt på skrivbara egenskaper och kommandon från IoT Central.
  • Följ namngivningskonventionerna för komponentkommandon.

Anteckning

För närvarande IoT Central inte fullständigt stöd för DTDL-matris- och geospatiala datatyper.

Mer information om formatet för JSON-meddelanden som en enhet utbyter med IoT Central finns i Telemetri, egenskap och kommandonyttolaster.

Mer information om IoT-Plug and Play finns i IoT-Plug and Play konventioner.

Enhets-SDK:er

Använd en av Azure IoT-enhets-SDK:erna för att implementera enhetens beteende. Koden bör:

  • Registrera enheten med DPS och använd informationen från DPS för att ansluta till den interna IoT-hubben i ditt IoT Central program.
  • Meddela DTMI för modellen som enheten implementerar.
  • Skicka telemetri i det format som enhetsmodellen anger. IoT Central använder modellen i enhetsmallen för att avgöra hur telemetrin ska användas för visualiseringar och analys.
  • Synkronisera egenskapsvärden mellan enheten och IoT Central. Modellen anger egenskapsnamn och datatyper så att IoT Central kan visa informationen.
  • Implementera kommandohanterare för de kommandon som anges i modellen. Modellen anger de kommandonamn och parametrar som enheten ska använda.

Mer information om enhetsmallars roll finns i Vad är enhetsmallar?.

Exempelkod finns i Skapa och ansluta ett klientprogram.

Språk och SDK:er

Mer information om de språk och SDK:er som stöds finns i Understand and use Azure IoT Hub device SDKs (Förstå och använda enhets-SDK:er).

Nästa steg

Om du är enhetsutvecklare och vill gå in på lite kod föreslår vi att du går vidare med att skapa och ansluta ett klientprogram till ditt Azure IoT Central program.

Om du vill lära dig mer om hur du använder IoT Central är nästa steg att prova snabbstarterna, från och med Skapa ett Azure IoT Central-program.