Anslutningsguide för IoT Central-enheter
Med ett IoT Central-program kan du övervaka och hantera hundratusentals enheter under hela livscykeln. Den här guiden är avsedd för enhetsutvecklare som implementerar koden som ska köras på enheter som ansluter till IoT Central.
Enheter interagerar med ett 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 av temperaturvärden från en ombordsensor.
- Egenskaper är tillståndsvärden som en enhet rapporterar till IoT Central. Till exempel den aktuella versionen av enhetens inbyggda programvara. 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. Ditt IoT Central-program kan till exempel anropa ett kommando för att starta om en enhet.
Typer av enhet
I följande avsnitt beskrivs de viktigaste typerna av enheter som du kan ansluta till ett 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 sina inbyggda 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-moduler bearbetar data lokalt på IoT Edge-enheten. En IoT Edge-enhet kan också fungera som mellanhand för andra enheter som kallas underordnade enheter. Scenarier som använder IoT Edge-enheter är:
- Aggregera eller filtrera telemetri innan du skickar den 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 för att ansluta via IoT Edge-enheten. En nedströmsenhet kan till exempel använda bluetooth för att ansluta till IoT Edge-enheten, som sedan ansluter via Internet till IoT Central.
- Kontrollera underordnade enheter lokalt för att undvika svarstiden som är associerad med att ansluta till IoT Central via Internet.
IoT Central ser bara IoT Edge-enheten, inte underordnade enheter 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. En gatewayenhet kan bearbeta telemetrin från de underordnade enheterna innan den vidarebefordras till ditt IoT Central-program. 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 och Så här ansluter du enheter via en transparent IoT Edge-gateway.
Så här ansluter enheter
När du ansluter en enhet till IoT Central går den igenom följande steg: registrerad, etablerad och ansluten.
Information om varför enheter alltid ska använda Enhetsetableringstjänsten för att ansluta till IoT Central finns i Enhetsimplementering och metodtips för IoT Central.
Information om hur du övervakar status för en enhet finns i Övervaka dina enheter.
Registrera en enhet
När du registrerar en enhet med IoT Central meddelar du IoT Central det unika ID:t för den enhet som du vill ansluta till programmet. I det här skedet kan du tilldela enheten till en enhetsmall som deklarerar enhetens funktioner till ditt program.
Dricks
Ett enhets-ID kan innehålla bokstäver, siffror och -
tecknet.
Det finns tre sätt att registrera en enhet i ett IoT Central-program:
Registrera enheter automatiskt när de försöker ansluta. Det här scenariot gör det möjligt för OEM-tillverkare att masstillverka enheter som kan ansluta utan att registreras först. Mer information finns i Registrera enheter automatiskt.
Lägg till enheter i bulk från en CSV-fil. Mer information finns i Importera enheter.
Använd sidan Enheter i ditt IoT Central-program för att registrera enheter individuellt. Mer information finns i Lägga till en enhet.
Du kan också kräva att en operatör godkänner enheten innan den börjar skicka data.
Dricks
På sidan Behörigheter > Enhetsanslutningsgrupper styr alternativet Godkänn automatiskt om en operatör måste godkänna enheten manuellt innan den kan börja skicka data.
Du behöver bara registrera en enhet en gång i IoT Central-programmet.
Etablera en enhet
När en enhet först försöker ansluta till ditt IoT Central-program startar den processen genom att ansluta till Device Provisioning Service (DPS). DPS kontrollerar enhetens autentiseringsuppgifter och, om de är giltiga, etablerar enheten med anslutningssträng för en av IoT Centrals interna IoT-hubbar. DPS använder konfigurationerna för gruppregistrering i ditt IoT Central-program för att hantera den här etableringsprocessen åt dig.
Dricks
Enheten skickar också ID-omfångsvärdet som talar om för DPS vilket IoT Central-program som enheten ansluter till. Du kan söka efter ID-omfånget i ditt IoT Central-program på sidan Behörigheter > Enhetsanslutningsgrupper.
Vanligtvis ska en enhet cachelagrar anslutningssträng den tar emot från DPS men bör vara beredd att hämta ny anslutningsinformation om den aktuella anslutningen misslyckas. Mer information finns i Hantera anslutningsfel.
Med DPS kan du:
- IoT Central för att registrera och ansluta enheter i stor skala.
- Du kan generera autentiseringsuppgifter för enheten och konfigurera enheterna offline utan att registrera enheterna via IoT Central-användargränssnittet.
- Du kan använda dina egna enhets-ID:n för att registrera enheter i IoT Central. Genom att använda egna enhets-ID:n förenklas integreringen med befintliga back-office-system.
- Ett enda, konsekvent sätt att ansluta enheter till IoT Central.
Autentisera och ansluta enhet
En enhet använder sina autentiseringsuppgifter och den anslutningssträng den tog emot från DPS för att ansluta till och autentisera med ditt IoT Central-program. En enhet bör också skicka ett modell-ID som identifierar enhetsmallen som den är tilldelad till.
IoT Central stöder två typer av enhetsautentiseringsuppgifter:
- Signaturer för delad åtkomst
- X.509-certifikat
Mer information finns i Begrepp för enhetsautentisering.
Alla data som utbyts mellan enheter och Azure IoT Central krypteras. IoT Hub autentiserar varje begäran från en enhet som ansluter till någon av de enhetsriktade IoT Hub-slutpunkterna. För att undvika utbyte av autentiseringsuppgifter via kabeln använder en enhet signerade token för att autentisera. Mer information finns i Kontrollera åtkomst till IoT Hub.
Anslutningsmönster
Enhetsutvecklare använder vanligtvis en av enhetens SDK:er för att implementera enheter som ansluter till ett IoT Central-program. Vissa scenarier, till exempel för enheter som inte kan ansluta till Internet, kräver också en gateway.
En lösningsdesign måste ta hänsyn till det nödvändiga enhetsanslutningsmönstret. Dessa mönster är indelade i två breda kategorier. Båda kategorierna omfattar enheter som skickar telemetri till ditt IoT Central-program:
Beständiga anslutningar
Beständiga anslutningar krävs för att lösningen ska ha kommando- och kontrollfunktioner . I kommando- och kontrollscenarier skickar IoT Central-programmet kommandon till enheter för att styra deras beteende nästan i realtid. Beständiga anslutningar underhåller en nätverksanslutning till molnet och återansluter när det uppstår ett avbrott. Använd antingen MQTT- eller AMQP-protokollet för beständiga enhetsanslutningar till IoT Central.
Följande alternativ stöder beständiga enhetsanslutningar:
Använd IoT-enhetens SDK:er för att ansluta enheter och skicka telemetri:
Enhets-SDK:erna aktiverar både MQTT- och AMQP-protokollen för att skapa beständiga anslutningar till IoT Central.
Ansluta enheter via ett lokalt nätverk till en IoT Edge-enhet som vidarebefordrar telemetri till IoT Central:
En IoT Edge-enhet kan göra en beständig anslutning till IoT Central. För enheter som inte kan ansluta till Internet eller som kräver nätverksisolering använder du en IoT Edge-enhet som en lokal gateway. Gatewayen vidarebefordrar enhetens telemetri till IoT Central. Det här alternativet aktiverar kommando och kontroll över de underordnade enheter som är anslutna till IoT Edge-enheten.
Mer information finns i Ansluta Azure IoT Edge-enheter till ett Azure IoT Central-program.
Använd IoT Central Device Bridge för att ansluta enheter som använder ett anpassat protokoll:
Vissa enheter använder ett protokoll eller kodning, till exempel LWM2M eller COAP, som IoT Central för närvarande inte stöder. IoT Central Device Bridge fungerar som en översättare som vidarebefordrar telemetri till IoT Central.
Mer information finns i GitHub-lagringsplatsen för Azure IoT Central Device Bridge .
Tillfälliga anslutningar
Tillfälliga anslutningar är korta anslutningar för enheter som skickar telemetri till ditt IoT Central-program. När en enhet har skickat telemetrin avbryts anslutningen. Enheten återansluts när den har mer telemetri att skicka. Tillfälliga anslutningar är inte lämpliga för kommando- och kontrollscenarier.
Följande alternativ stöder tillfälliga enhetsanslutningar:
Anslut enheter och skicka telemetri med hjälp av HTTP:
IoT Central stöder enhetsklienter som använder HTTP-API:et för att skicka telemetri. Mer information finns i dokumentationen skicka api för enhetshändelse .
Kommentar
Använd DPS för att etablera och registrera din enhet med IoT Central innan du använder HTTP-API:et för att skicka telemetri.
Använd IoT Central Device Bridge i tillståndslöst läge för att ansluta enheter:
Distribuera IoT Central Device Bridge som en Azure-funktion. Funktionen accepterar inkommande telemetridata som HTTP-begäranden och vidarebefordrar dem till IoT Central. IoT Central Device Bridge integreras med DPS och hanterar automatiskt enhetsetablering åt dig.
Mer information finns i GitHub-lagringsplatsen för Azure IoT Central Device Bridge .
Använd IoT Central Device Bridge i tillståndslöst läge för att ansluta externa moln:
Använd Azure IoT Central Device Bridge för att vidarebefordra meddelanden till IoT Central från andra IoT-moln, till exempel SigFox, Particle och The Things Network.
Mer information finns i GitHub-lagringsplatsen för Azure IoT Central Device Bridge .
Datatransformering och anpassad beräkning vid ingress
Vissa scenarier kräver enhetstelemetri som utökas med data från externa system eller lager. Om du utökar telemetrin innan den når IoT Central kan funktioner som instrumentpaneler och regler använda förhöjda data.
Vissa scenarier kräver att du transformerar telemetri innan den når IoT Central. Till exempel transformera telemetri från äldre format.
Följande alternativ är tillgängliga för anpassade transformeringar eller beräkningar innan IoT Central matar in telemetrin:
Använd IoT Edge:
Använd anpassade moduler i IoT Edge för anpassade omvandlingar och beräkningar. Använd IoT Edge när dina enheter använder Azure IoT-enhets-SDK:er.
Använd IoT Central Device Bridge:
Använd IoT Central Device Bridge-kort för anpassade omvandlingar och beräkningar.
Mer information finns i Transformera data för IoT Central.
Nästa steg
Om du är enhetsutvecklare och vill gå in på kod är nästa steg att skapa och ansluta ett klientprogram till ditt Azure IoT Central-program.
Mer information om enhetsimplementering finns i Enhetsimplementering och metodtips för IoT Central.
Om du vill veta mer om hur du använder IoT Central är de föreslagna nästa stegen att prova snabbstarterna, med början i Skapa ett Azure IoT Central-program.