Enhetshantering och -kontroll
Den här översikten beskriver viktiga begrepp kring hantering och kontroll av enheter i en typisk Azure IoT-lösning. Varje avsnitt innehåller länkar till innehåll som ger mer information och vägledning.
IoT Central-program använder IoT Hub- och DPS-tjänsterna (Device Provisioning Service) internt. Därför gäller begreppen i den här artikeln oavsett om du använder IoT Central för att utforska ett IoT-scenario eller skapa din lösning med hjälp av IoT Hub och DPS.
Följande diagram visar en översikt över komponenterna i en typisk IoT-lösning. Den här artikeln fokuserar på enhetshanterings- och kontrollkomponenterna i en IoT-lösning.
I Azure IoT refererar enhetshantering till processer som etablering och uppdatering av enheter. Enhetshantering omfattar följande uppgifter:
- Enhetsregistrering
- Enhetsetablering
- Enhetsdistribution
- Enhetsuppdateringar
- Hantering och rotation av enhetsnycklar
- Enhetsövervakning
- Aktivera och inaktivera enheter
I Azure IoT refererar kommando och kontroll till de processer som gör att du kan skicka kommandon till enheter och ta emot svar från dem. Du kan till exempel skicka ett kommando till en enhet för att:
- Ange en måltemperatur.
- Begär högsta och lägsta temperaturvärden för de senaste två timmarna.
- Ange telemetriintervallet till 10 sekunder.
Primitiver
Azure IoT-lösningar kan använda följande primitiver för både enhetshantering och kommando och kontroll:
- Enhetstvillingar för att dela och synkronisera tillståndsdata med molnet. En enhet kan till exempel använda enhetstvillingen för att rapportera det aktuella tillståndet för en ventil som den styr till molnet och för att få en önskad måltemperatur från molnet.
- Digitala tvillingar som representerar en enhet i den digitala världen. En digital tvilling kan till exempel representera en enhets fysiska plats, dess funktioner och dess relationer med andra enheter. Mer information om skillnaderna mellan enhetstvillingar och digitala tvillingar finns i Förstå digitala tvillingar i IoT Plug and Play.
- Direkta metoder för att ta emot kommandon från molnet. En direktmetod kan ha parametrar och returnera ett svar. Molnet kan till exempel anropa en direktmetod för att begära att enheten startas om på 30 sekunder.
- Meddelanden från moln till enhet för att ta emot enkelriktade meddelanden från molnet. Till exempel ett meddelande om att en uppdatering är redo att laddas ned.
Mer information finns i Vägledning för kommunikation från moln till enhet.
Enhetsregistrering
Innan en enhet kan ansluta till en IoT-hubb måste den registreras. Enhetsregistrering är processen att skapa en enhetsidentitet i molnet. Varje IoT-hubb har ett eget internt enhetsregister. Enhetsidentiteten används för att autentisera enheten när den ansluter till Azure IoT. En enhetsregistreringspost innehåller följande egenskaper:
- Ett unikt enhets-ID.
- Autentiseringsinformation som symmetriska nycklar eller X.509-certifikat.
- Typ av enhet. Är det en IoT Edge-enhet eller inte?
Om du tror att en enhet har komprometterats eller inte fungerar korrekt kan du inaktivera den i enhetsregistret för att förhindra att den ansluter till molnet. Om du vill tillåta att en enhet ansluter tillbaka till ett moln när problemet har lösts kan du återaktivera det i enhetsregistret. Du kan också ta bort en enhet permanent från enhetsregistret för att helt förhindra att den ansluter till molnet.
Mer information finns i Förstå identitetsregistret i din IoT-hubb.
IoT Central tillhandahåller ett användargränssnitt för att hantera enhetsregistret i den underliggande IoT-hubben. Mer information finns i Lägga till en enhet (IoT Central).
Enhetsetablering
Du måste konfigurera varje enhet i lösningen med information om den IoT-hubb som den ska ansluta till. Du kan konfigurera varje enhet manuellt i din lösning, men den här metoden kanske inte är praktisk för ett stort antal enheter. För att komma runt det här problemet kan du använda Device Provisioning Service (DPS) för att automatiskt registrera varje enhet med en IoT-hubb och sedan etablera varje enhet med nödvändig anslutningsinformation. Om din IoT-lösning använder flera IoT-hubbar kan du använda DPS för att etablera enheter till en hubb baserat på kriterier som den närmaste hubben till enheten. Du kan konfigurera din DPS med regler för att registrera och etablera dina enheter innan du distribuerar enheten fysiskt i fältet.
Om din IoT-lösning använder IoT Hub är det valfritt att använda DPS. Om du använder IoT Central använder din lösning automatiskt en DPS-instans som IoT Central hanterar.
Mer information finns i Översikt över enhetsetableringstjänsten.
Enhetsdistribution
I Azure IoT refererar enhetsdistribution vanligtvis till processen att installera programvara på en IoT Edge-enhet. När en IoT Edge-enhet ansluter till en IoT-hubb får den ett distributionsmanifest som innehåller information om de moduler som ska köras på enheten. Distributionsmanifestet innehåller också konfigurationsinformation för modulerna. Det finns ett antal tillgängliga standardmoduler för IoT Edge-enheter. Du kan också skapa egna anpassade moduler.
Mer information finns i Vad är Azure IoT Edge?
Om du använder IoT Central kan du hantera dina distributionsmanifest med hjälp av användargränssnittet för IoT Central.
Enhetsuppdateringar
Vanligtvis måste din IoT-lösning innehålla ett sätt att uppdatera enhetsprogramvaran. För en IoT Edge-enhet kan du uppdatera modulerna som körs på enheten genom att uppdatera distributionsmanifestet.
För en icke-IoT Edge-enhet måste du ha ett sätt att uppdatera enhetens inbyggda programvara. Den här uppdateringsprocessen kan använda ett meddelande från moln till enhet för att meddela enheten att en uppdatering av den inbyggda programvaran är tillgänglig. Sedan kör enheten anpassad kod för att ladda ned och installera uppdateringen.
Enhetsuppdatering för IoT Hub-tjänsten tillhandahåller en hanterad lösning för att uppdatera enheter. Det gör att du kan ladda upp uppdateringar av inbyggd programvara till molnet och sedan distribuera dem till enheter. Du kan också övervaka uppdateringsprocessen och återställa till en tidigare version om uppdateringen misslyckas.
Hantering och rotation av enhetsnycklar
Under livscykeln för din IoT-lösning kan du behöva rulla över de nycklar som används för att autentisera enheter. Du kan till exempel behöva rulla över dina nycklar om du misstänker att en nyckel har komprometterats eller om ett certifikat upphör att gälla:
- Rulla över de nycklar som används för att autentisera enheter i IoT Hub och DPS
- Rulla över de nycklar som används för att autentisera enheter i IoT Central
Enhetsövervakning
Som en del av den övergripande lösningsövervakningen kanske du vill övervaka hälsotillståndet för dina enheter. Du kanske till exempel vill övervaka hälsotillståndet för dina enheter eller identifiera när en enhet inte längre är ansluten till molnet. Alternativen för övervakning av enheter är:
- Enheter använder enhetstvillingen för att rapportera sitt aktuella tillstånd till molnet. En enhet kan till exempel rapportera den aktuella interna temperaturen eller den aktuella batterinivån.
- Enheter kan skapa aviseringar genom att skicka telemetrimeddelanden till molnet.
- IoT Hub kan generera händelser när enheter ansluter eller kopplar från molnet.
- IoT Central kan använda regler för att köra åtgärder när angivna villkor uppfylls.
- Använd maskininlärningsverktyg för att analysera enhetens telemetriströmmar för att identifiera avvikelser som tyder på ett problem med enheten.
Mer information finns i Övervaka enhetsanslutningsstatus (IoT Hub).
Enhetsmigrering
Om du behöver migrera en enhet från IoT Central till IoT Hub kan du använda verktyget Enhetsmigrering. Mer information finns i Migrera enheter från IoT Central till IoT Hub.
Kommando och kontroll
Om du vill skicka kommandon till dina enheter för att kontrollera deras beteende använder du:
Direkta metoder för kommunikation som kräver omedelbar bekräftelse av resultatet. Direkta metoder används ofta för interaktiv kontroll av enheter, till exempel att aktivera en fläkt.
Önskade egenskaper för enhetstvillingar för långvariga kommandon som är avsedda att försätta enheten i ett visst önskat tillstånd. Ange till exempel telemetrins sändningsintervall till 30 minuter.
Meddelanden från moln till enhet för enkelriktade meddelanden till enheten.
Mer information finns i Vägledning för kommunikation från moln till enhet.
I vissa scenarier kan du automatisera enhetskontrollen baserat på feedbackslingor. Om enhetstemperaturen till exempel är för hög kan logik som körs i molnet skicka ett kommando för att aktivera en fläkt. Molnprocessen kan sedan skicka ett kommando för att stänga av fläkten när temperaturen är tillbaka till det normala.
Det går också att köra den här typen av automatisering lokalt. Om du till exempel använder IoT Edge för att implementera din gatewayenhet kan du köra logiken som styr enheten i en IoT Edge-modul. Om du kör den här typen av logik på gränsen kan du minska svarstiden och ge motståndskraft om det uppstår ett nätverksstopp.
Projekt
Du kan använda direkta metoder, önskade egenskaper och meddelanden från moln till enhet för att skicka kommandon till enskilda enheter. Om du behöver skicka kommandon till flera enheter kan du använda jobb. Med jobb kan du schemalägga och skicka kommandon och önskade egenskapsuppdateringar till flera enheter samtidigt. Du kan också använda jobb för att övervaka förloppet för kommandona och återställa till ett tidigare tillstånd om kommandona misslyckas.
Mer information finns i:
- Schemalägga jobb på flera enheter (IoT Hub)
- Hantera enheter i grupp i ditt Azure IoT Central-program
Nästa steg
Nu när du har sett en översikt över enhetshantering och kontroll i Azure IoT-lösningar kan några föreslagna nästa steg vara: